mirror of
https://github.com/webbukkit/dynmap.git
synced 2025-02-26 00:31:44 +01:00
Replaced onPlayerCommand by onCommand (server-consoles can now also be used to execute commands).
This commit is contained in:
parent
ccf6f2ac49
commit
b99f487567
@ -1,10 +1,5 @@
|
|||||||
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.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;
|
||||||
@ -16,59 +11,6 @@ public class DynmapPlayerListener extends PlayerListener {
|
|||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPlayerCommand(PlayerChatEvent event) {
|
|
||||||
String[] split = event.getMessage().split(" ");
|
|
||||||
if (split[0].equalsIgnoreCase("/dynmap")) {
|
|
||||||
if (split.length > 1) {
|
|
||||||
if (split[1].equals("render")) {
|
|
||||||
Player player = event.getPlayer();
|
|
||||||
plugin.mapManager.touch(player.getLocation());
|
|
||||||
event.setCancelled(true);
|
|
||||||
} else if (split[1].equals("hide")) {
|
|
||||||
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++) {
|
|
||||||
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) {
|
|
||||||
plugin.playerList.show(player.getName());
|
|
||||||
player.sendMessage("You are now visible on Dynmap.");
|
|
||||||
} else {
|
|
||||||
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 == 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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerChat(PlayerChatEvent event) {
|
public void onPlayerChat(PlayerChatEvent event) {
|
||||||
plugin.mapManager.pushUpdate(new Client.ChatMessage(event.getPlayer().getName(), event.getMessage()));
|
plugin.mapManager.pushUpdate(new Client.ChatMessage(event.getPlayer().getName(), event.getMessage()));
|
||||||
|
@ -9,7 +9,11 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.event.Event;
|
||||||
import org.bukkit.event.Event.Priority;
|
import org.bukkit.event.Event.Priority;
|
||||||
import org.bukkit.event.block.BlockListener;
|
import org.bukkit.event.block.BlockListener;
|
||||||
@ -129,7 +133,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(this);
|
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);
|
||||||
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
|
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
|
||||||
@ -154,10 +158,10 @@ public class DynmapPlugin extends JavaPlugin {
|
|||||||
Object debuggersConfiguration = configuration.getProperty("debuggers");
|
Object debuggersConfiguration = configuration.getProperty("debuggers");
|
||||||
Debug.clearDebuggers();
|
Debug.clearDebuggers();
|
||||||
if (debuggersConfiguration != null) {
|
if (debuggersConfiguration != null) {
|
||||||
for(Object debuggerConfiguration : (List<?>)debuggersConfiguration) {
|
for (Object debuggerConfiguration : (List<?>) debuggersConfiguration) {
|
||||||
Map<?, ?> debuggerConfigurationMap = (Map<?, ?>)debuggerConfiguration;
|
Map<?, ?> debuggerConfigurationMap = (Map<?, ?>) debuggerConfiguration;
|
||||||
try {
|
try {
|
||||||
Class<?> debuggerClass = Class.forName((String)debuggerConfigurationMap.get("class"));
|
Class<?> debuggerClass = Class.forName((String) debuggerConfigurationMap.get("class"));
|
||||||
Constructor<?> constructor = debuggerClass.getConstructor(JavaPlugin.class, Map.class);
|
Constructor<?> constructor = debuggerClass.getConstructor(JavaPlugin.class, Map.class);
|
||||||
Debugger debugger = (Debugger) constructor.newInstance(this, debuggerConfigurationMap);
|
Debugger debugger = (Debugger) constructor.newInstance(this, debuggerConfigurationMap);
|
||||||
Debug.addDebugger(debugger);
|
Debug.addDebugger(debugger);
|
||||||
@ -170,4 +174,62 @@ public class DynmapPlugin extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
|
||||||
|
if (!cmd.getName().equalsIgnoreCase("dynmap"))
|
||||||
|
return false;
|
||||||
|
Player player = null;
|
||||||
|
if (sender instanceof Player)
|
||||||
|
player = (Player) sender;
|
||||||
|
if (args.length > 0) {
|
||||||
|
if (args[0].equals("render")) {
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
mapManager.touch(((Player) sender).getLocation());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else if (args[0].equals("hide")) {
|
||||||
|
if (args.length == 1 && player != null) {
|
||||||
|
playerList.hide(player.getName());
|
||||||
|
sender.sendMessage("You are now hidden on Dynmap.");
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
for (int i = 1; i < args.length; i++) {
|
||||||
|
playerList.hide(args[i]);
|
||||||
|
sender.sendMessage(args[i] + " is now hidden on Dynmap.");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else if (args[0].equals("show")) {
|
||||||
|
if (args.length == 1 && player != null) {
|
||||||
|
playerList.show(player.getName());
|
||||||
|
sender.sendMessage("You are now visible on Dynmap.");
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
for (int i = 1; i < args.length; i++) {
|
||||||
|
playerList.show(args[i]);
|
||||||
|
sender.sendMessage(args[i] + " is now visible on Dynmap.");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else if (args[0].equals("fullrender")) {
|
||||||
|
if (player == null || player.isOp()) {
|
||||||
|
if (args.length > 2) {
|
||||||
|
for (int i = 1; i < args.length; i++) {
|
||||||
|
World w = getServer().getWorld(args[i]);
|
||||||
|
mapManager.renderFullWorld(new Location(w, 0, 0, 0));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} else if (player != null) {
|
||||||
|
mapManager.renderFullWorld(player.getLocation());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} else if (player != null) {
|
||||||
|
player.sendMessage("Only OPs are allowed to use this command!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user