From fae5014b4e7a8d7b1c316dce0f23ceb88b2f2777 Mon Sep 17 00:00:00 2001 From: FrozenCow Date: Tue, 22 Feb 2011 00:42:37 +0100 Subject: [PATCH] Added commands to plugin.yml, removed disabledcommands and added fullrender . --- configuration.txt | 3 - .../java/org/dynmap/DynmapPlayerListener.java | 96 +++++++++---------- src/main/java/org/dynmap/DynmapPlugin.java | 10 +- src/main/resources/plugin.yml | 1 + 4 files changed, 50 insertions(+), 60 deletions(-) diff --git a/configuration.txt b/configuration.txt index 13316cd0..a0bfceb0 100644 --- a/configuration.txt +++ b/configuration.txt @@ -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 diff --git a/src/main/java/org/dynmap/DynmapPlayerListener.java b/src/main/java/org/dynmap/DynmapPlayerListener.java index 9c01e86e..f3cbbeb6 100644 --- a/src/main/java/org/dynmap/DynmapPlayerListener.java +++ b/src/main/java/org/dynmap/DynmapPlayerListener.java @@ -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)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)); + } } \ No newline at end of file diff --git a/src/main/java/org/dynmap/DynmapPlugin.java b/src/main/java/org/dynmap/DynmapPlugin.java index 2c3f27ca..99b45dc4 100644 --- a/src/main/java/org/dynmap/DynmapPlugin.java +++ b/src/main/java/org/dynmap/DynmapPlugin.java @@ -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); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 34595fca..0707bb08 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -11,3 +11,4 @@ commands: / show TheDude - shows the player 'TheDude' from the map. / render - Renders the tile at your location. / fullrender - (Attempts to) render entire world from your location. + / fullrender world - (Attempts to) render entire world 'world'.