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. # The TCP-port the webserver will listen on.
webserver-port: 8123 webserver-port: 8123
disabledcommands:
- fullrender
# The maptypes Dynmap will use to render. # The maptypes Dynmap will use to render.
worlds: worlds:
- name: world - name: world

View File

@ -1,20 +1,19 @@
package org.dynmap; package org.dynmap;
import java.util.logging.Logger;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerEvent; import org.bukkit.event.player.PlayerEvent;
import org.bukkit.event.player.PlayerListener; import org.bukkit.event.player.PlayerListener;
import org.bukkit.util.config.ConfigurationNode;
public class DynmapPlayerListener extends PlayerListener { public class DynmapPlayerListener extends PlayerListener {
private MapManager mgr; DynmapPlugin plugin;
private PlayerList playerList;
private ConfigurationNode configuration;
public DynmapPlayerListener(MapManager mgr, PlayerList playerList, ConfigurationNode configuration) { public DynmapPlayerListener(DynmapPlugin plugin) {
this.mgr = mgr; this.plugin = plugin;
this.playerList = playerList;
this.configuration = configuration;
} }
@Override @Override
@ -22,26 +21,18 @@ public class DynmapPlayerListener extends PlayerListener {
String[] split = event.getMessage().split(" "); String[] split = event.getMessage().split(" ");
if (split[0].equalsIgnoreCase("/dynmap")) { if (split[0].equalsIgnoreCase("/dynmap")) {
if (split.length > 1) { 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")) { if (split[1].equals("render")) {
Player player = event.getPlayer(); Player player = event.getPlayer();
mgr.touch(player.getLocation()); plugin.mapManager.touch(player.getLocation());
event.setCancelled(true); event.setCancelled(true);
} else if (split[1].equals("hide")) { } else if (split[1].equals("hide")) {
Player player = event.getPlayer(); Player player = event.getPlayer();
if (split.length == 2) { if (split.length == 2) {
playerList.hide(player.getName()); plugin.playerList.hide(player.getName());
player.sendMessage("You are now hidden on Dynmap."); player.sendMessage("You are now hidden on Dynmap.");
} else { } else {
for (int i = 2; i < split.length; i++) { for (int i = 2; i < split.length; i++) {
playerList.hide(split[i]); plugin.playerList.hide(split[i]);
player.sendMessage(split[i] + " is now hidden on Dynmap."); player.sendMessage(split[i] + " is now hidden on Dynmap.");
} }
} }
@ -49,51 +40,52 @@ public class DynmapPlayerListener extends PlayerListener {
} else if (split[1].equals("show")) { } else if (split[1].equals("show")) {
Player player = event.getPlayer(); Player player = event.getPlayer();
if (split.length == 2) { if (split.length == 2) {
playerList.show(player.getName()); plugin.playerList.show(player.getName());
player.sendMessage("You are now visible on Dynmap."); player.sendMessage("You are now visible on Dynmap.");
} else { } else {
for (int i = 2; i < split.length; i++) { for (int i = 2; i < split.length; i++) {
playerList.show(split[i]); plugin.playerList.show(split[i]);
player.sendMessage(split[i] + " is now visible on Dynmap."); player.sendMessage(split[i] + " is now visible on Dynmap.");
} }
} }
event.setCancelled(true); event.setCancelled(true);
} else if (split[1].equals("fullrender")) { } else if (split[1].equals("fullrender")) {
Player player = event.getPlayer(); Player player = event.getPlayer();
if (player.isOp() == true) { if (player == null || player.isOp()) {
player.sendMessage("Starting fullrender on this world..."); if (split.length > 3) {
mgr.renderFullWorld(player.getLocation()); for (int i = 2; i < split.length; i++) {
event.setCancelled(true); World w = plugin.getServer().getWorld(split[i]);
} else { 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!"); player.sendMessage("Only OPs are allowed to use this command!");
} }
event.setCancelled(true);
} }
} }
} }
} }
/** @Override
* Called when a player sends a chat message
*
* @param event
* Relevant event details
*/
public void onPlayerChat(PlayerChatEvent event) { 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()));
} }
/** @Override
* Called when a player joins or quits the server
*/
public void onPlayerJoin(PlayerEvent event) { public void onPlayerJoin(PlayerEvent event) {
String joinMessage = configuration.getString("joinmessage", "%playername% joined"); String joinMessage = plugin.configuration.getString("joinmessage", "%playername% joined");
joinMessage = joinMessage.replaceAll("%playername%", event.getPlayer().getName()); joinMessage = joinMessage.replaceAll("%playername%", event.getPlayer().getName());
mgr.pushUpdate(new Client.ChatMessage("Server", joinMessage)); plugin.mapManager.pushUpdate(new Client.ChatMessage("Server", joinMessage));
} }
@Override
public void onPlayerQuit(PlayerEvent event) { public void onPlayerQuit(PlayerEvent event) {
String quitMessage = configuration.getString("quitmessage", "%playername% quit"); String quitMessage = plugin.configuration.getString("quitmessage", "%playername% quit");
quitMessage = quitMessage.replaceAll("%playername%", event.getPlayer().getName()); quitMessage = quitMessage.replaceAll("%playername%", event.getPlayer().getName());
mgr.pushUpdate(new Client.ChatMessage("Server", quitMessage)); 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"); protected static final Logger log = Logger.getLogger("Minecraft");
private HttpServer webServer = null; public HttpServer webServer = null;
private MapManager mapManager = null; public MapManager mapManager = null;
private PlayerList playerList; public PlayerList playerList;
private Configuration configuration; public Configuration configuration;
public static File tilesDirectory; public static File tilesDirectory;
@ -128,7 +128,7 @@ public class DynmapPlugin extends JavaPlugin {
}; };
getServer().getPluginManager().registerEvent(Event.Type.WORLD_LOADED, worldListener, Priority.Monitor, this); 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_COMMAND, playerListener, Priority.Normal, this);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_CHAT, 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); 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> show TheDude - shows the player 'TheDude' from the map.
/<command> render - Renders the tile at your location. /<command> render - Renders the tile at your location.
/<command> fullrender - (Attempts to) render entire world from your location. /<command> fullrender - (Attempts to) render entire world from your location.
/<command> fullrender world - (Attempts to) render entire world 'world'.