Added commands to plugin.yml, removed disabledcommands and added fullrender <worldname>.

This commit is contained in:
FrozenCow 2011-02-22 00:42:37 +01:00
parent 0fbd0c0a44
commit fae5014b4e
4 changed files with 50 additions and 60 deletions

View File

@ -15,9 +15,6 @@ webserver-bindaddress: 0.0.0.0
# The TCP-port the webserver will listen on.
webserver-port: 8123
disabledcommands:
- fullrender
# The maptypes Dynmap will use to render.
worlds:
- name: world

View File

@ -1,20 +1,19 @@
package org.dynmap;
import java.util.logging.Logger;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerEvent;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.util.config.ConfigurationNode;
public class DynmapPlayerListener extends PlayerListener {
private MapManager mgr;
private PlayerList playerList;
private ConfigurationNode configuration;
DynmapPlugin plugin;
public DynmapPlayerListener(MapManager mgr, PlayerList playerList, ConfigurationNode configuration) {
this.mgr = mgr;
this.playerList = playerList;
this.configuration = configuration;
public DynmapPlayerListener(DynmapPlugin plugin) {
this.plugin = plugin;
}
@Override
@ -22,78 +21,71 @@ public class DynmapPlayerListener extends PlayerListener {
String[] split = event.getMessage().split(" ");
if (split[0].equalsIgnoreCase("/dynmap")) {
if (split.length > 1) {
if (configuration.getProperty("disabledcommands") instanceof Iterable<?>) {
for(String s : (Iterable<String>)configuration.getProperty("disabledcommands")) {
if (split[1].equals(s)) {
return;
}
}
}
if (split[1].equals("render")) {
Player player = event.getPlayer();
mgr.touch(player.getLocation());
plugin.mapManager.touch(player.getLocation());
event.setCancelled(true);
} else if (split[1].equals("hide")) {
Player player = event.getPlayer();
if (split.length == 2) {
playerList.hide(player.getName());
Player player = event.getPlayer();
if (split.length == 2) {
plugin.playerList.hide(player.getName());
player.sendMessage("You are now hidden on Dynmap.");
} else {
for (int i = 2; i < split.length; i++) {
playerList.hide(split[i]);
for (int i = 2; i < split.length; i++) {
plugin.playerList.hide(split[i]);
player.sendMessage(split[i] + " is now hidden on Dynmap.");
}
}
event.setCancelled(true);
} else if (split[1].equals("show")) {
Player player = event.getPlayer();
if (split.length == 2) {
playerList.show(player.getName());
Player player = event.getPlayer();
if (split.length == 2) {
plugin.playerList.show(player.getName());
player.sendMessage("You are now visible on Dynmap.");
} else {
for (int i = 2; i < split.length; i++) {
playerList.show(split[i]);
for (int i = 2; i < split.length; i++) {
plugin.playerList.show(split[i]);
player.sendMessage(split[i] + " is now visible on Dynmap.");
}
}
event.setCancelled(true);
} else if (split[1].equals("fullrender")) {
Player player = event.getPlayer();
if (player.isOp() == true) {
player.sendMessage("Starting fullrender on this world...");
mgr.renderFullWorld(player.getLocation());
event.setCancelled(true);
} else {
player.sendMessage("Only OPs are allowed to use this command!");
if (player == null || player.isOp()) {
if (split.length > 3) {
for (int i = 2; i < split.length; i++) {
World w = plugin.getServer().getWorld(split[i]);
plugin.mapManager.renderFullWorld(new Location(w, 0, 0, 0));
}
} else if (player != null) {
plugin.mapManager.renderFullWorld(player.getLocation());
}
} else if (player != null) {
player.sendMessage("Only OPs are allowed to use this command!");
}
event.setCancelled(true);
}
}
}
}
/**
* Called when a player sends a chat message
*
* @param event
* Relevant event details
*/
@Override
public void onPlayerChat(PlayerChatEvent event) {
mgr.pushUpdate(new Client.ChatMessage(event.getPlayer().getName(), event.getMessage()));
plugin.mapManager.pushUpdate(new Client.ChatMessage(event.getPlayer().getName(), event.getMessage()));
}
/**
* Called when a player joins or quits the server
*/
@Override
public void onPlayerJoin(PlayerEvent event) {
String joinMessage = configuration.getString("joinmessage", "%playername% joined");
joinMessage = joinMessage.replaceAll("%playername%", event.getPlayer().getName());
mgr.pushUpdate(new Client.ChatMessage("Server", joinMessage));
}
public void onPlayerQuit(PlayerEvent event) {
String quitMessage = configuration.getString("quitmessage", "%playername% quit");
quitMessage = quitMessage.replaceAll("%playername%", event.getPlayer().getName());
mgr.pushUpdate(new Client.ChatMessage("Server", quitMessage));
}
String joinMessage = plugin.configuration.getString("joinmessage", "%playername% joined");
joinMessage = joinMessage.replaceAll("%playername%", event.getPlayer().getName());
plugin.mapManager.pushUpdate(new Client.ChatMessage("Server", joinMessage));
}
@Override
public void onPlayerQuit(PlayerEvent event) {
String quitMessage = plugin.configuration.getString("quitmessage", "%playername% quit");
quitMessage = quitMessage.replaceAll("%playername%", event.getPlayer().getName());
plugin.mapManager.pushUpdate(new Client.ChatMessage("Server", quitMessage));
}
}

View File

@ -32,10 +32,10 @@ public class DynmapPlugin extends JavaPlugin {
protected static final Logger log = Logger.getLogger("Minecraft");
private HttpServer webServer = null;
private MapManager mapManager = null;
private PlayerList playerList;
private Configuration configuration;
public HttpServer webServer = null;
public MapManager mapManager = null;
public PlayerList playerList;
public Configuration configuration;
public static File tilesDirectory;
@ -128,7 +128,7 @@ public class DynmapPlugin extends JavaPlugin {
};
getServer().getPluginManager().registerEvent(Event.Type.WORLD_LOADED, worldListener, Priority.Monitor, this);
PlayerListener playerListener = new DynmapPlayerListener(mapManager, playerList, configuration);
PlayerListener playerListener = new DynmapPlayerListener(this);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_COMMAND, playerListener, Priority.Normal, this);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_CHAT, playerListener, Priority.Normal, this);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_LOGIN, playerListener, Priority.Normal, this);

View File

@ -11,3 +11,4 @@ commands:
/<command> show TheDude - shows the player 'TheDude' from the map.
/<command> render - Renders the tile at your location.
/<command> fullrender - (Attempts to) render entire world from your location.
/<command> fullrender world - (Attempts to) render entire world 'world'.