From 18ddcc7560532617cb4ba89d4c0d27e8b4809aea Mon Sep 17 00:00:00 2001 From: Steven Lawson Date: Sun, 25 Sep 2011 19:00:14 -0400 Subject: [PATCH] No Message --- .../TotalFreedomMod/TotalFreedomMod.java | 1120 +++++++++-------- .../TotalFreedomModBlockListener.java | 93 +- .../TotalFreedomModEntityListener.java | 4 +- src/plugin.yml | 11 +- 4 files changed, 660 insertions(+), 568 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java index de48096..47e6b56 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java +++ b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java @@ -20,571 +20,581 @@ import org.bukkit.util.config.Configuration; public class TotalFreedomMod extends JavaPlugin { - private final TotalFreedomModEntityListener entityListener = new TotalFreedomModEntityListener(this); - private final TotalFreedomModBlockListener blockListener = new TotalFreedomModBlockListener(this); - //private final TotalFreedomModPlayerListener playerListener = new TotalFreedomModPlayerListener(this); - private static final Logger log = Logger.getLogger("Minecraft"); - protected static Configuration CONFIG; - private List superadmins = new ArrayList(); - public Boolean allowExplosions = false; - public Boolean allowLavaDamage = false; - public Boolean allowFire = false; - public final static String MSG_NO_PERMS = ChatColor.YELLOW + "You do not have permission to use this command."; - public final static String YOU_ARE_OP = ChatColor.YELLOW + "You are now op!"; - public final static String YOU_ARE_NOT_OP = ChatColor.YELLOW + "You are no longer op!"; + private final TotalFreedomModEntityListener entityListener = new TotalFreedomModEntityListener(this); + private final TotalFreedomModBlockListener blockListener = new TotalFreedomModBlockListener(this); + //private final TotalFreedomModPlayerListener playerListener = new TotalFreedomModPlayerListener(this); + private static final Logger log = Logger.getLogger("Minecraft"); + protected static Configuration CONFIG; + private List superadmins = new ArrayList(); + public Boolean allowExplosions = false; + public Boolean allowLavaDamage = false; + public Boolean allowFire = false; + public double explosiveRadius = 1.0; + public final static String MSG_NO_PERMS = ChatColor.YELLOW + "You do not have permission to use this command."; + public final static String YOU_ARE_OP = ChatColor.YELLOW + "You are now op!"; + public final static String YOU_ARE_NOT_OP = ChatColor.YELLOW + "You are no longer op!"; - public void onEnable() - { - CONFIG = getConfiguration(); - CONFIG.load(); - if (CONFIG.getString("superadmins", null) == null) //Generate config file: - { - log.log(Level.INFO, "[Total Freedom Mod] - Generating default config file (plugins/TotalFreedomMod/config.yml)..."); - CONFIG.setProperty("superadmins", new String[] - { - "Madgeek1450", "markbyron" - }); - CONFIG.setProperty("allow_explosions", false); - CONFIG.setProperty("allow_lava_damage", false); - CONFIG.setProperty("allow_fire", false); - CONFIG.save(); - CONFIG.load(); - } - superadmins = CONFIG.getStringList("superadmins", null); - allowExplosions = CONFIG.getBoolean("allow_explosions", false); - allowLavaDamage = CONFIG.getBoolean("allow_lava_damage", false); - allowFire = CONFIG.getBoolean("allow_fire", false); + public void onEnable() + { + CONFIG = getConfiguration(); + CONFIG.load(); + if (CONFIG.getString("superadmins", null) == null) //Generate config file: + { + log.log(Level.INFO, "[Total Freedom Mod] - Generating default config file (plugins/TotalFreedomMod/config.yml)..."); + CONFIG.setProperty("superadmins", new String[] + { + "Madgeek1450", "markbyron" + }); + CONFIG.setProperty("allow_explosions", false); + CONFIG.setProperty("allow_lava_damage", false); + CONFIG.setProperty("allow_fire", false); + CONFIG.setProperty("explosiveRadius", 2.0); + CONFIG.save(); + CONFIG.load(); + } + superadmins = CONFIG.getStringList("superadmins", null); + allowExplosions = CONFIG.getBoolean("allow_explosions", false); + allowLavaDamage = CONFIG.getBoolean("allow_lava_damage", false); + allowFire = CONFIG.getBoolean("allow_fire", false); + explosiveRadius = CONFIG.getDouble("explosiveRadius", 2.0); - PluginManager pm = this.getServer().getPluginManager(); - pm.registerEvent(Event.Type.ENTITY_EXPLODE, entityListener, Event.Priority.High, this); - pm.registerEvent(Event.Type.ENTITY_COMBUST, entityListener, Event.Priority.High, this); - pm.registerEvent(Event.Type.ENTITY_DAMAGE, entityListener, Event.Priority.High, this); - pm.registerEvent(Event.Type.BLOCK_IGNITE, blockListener, Event.Priority.High, this); - pm.registerEvent(Event.Type.BLOCK_BURN, blockListener, Event.Priority.High, this); + PluginManager pm = this.getServer().getPluginManager(); + pm.registerEvent(Event.Type.ENTITY_EXPLODE, entityListener, Event.Priority.Highest, this); + pm.registerEvent(Event.Type.ENTITY_COMBUST, entityListener, Event.Priority.Highest, this); + pm.registerEvent(Event.Type.ENTITY_DAMAGE, entityListener, Event.Priority.Highest, this); + pm.registerEvent(Event.Type.BLOCK_IGNITE, blockListener, Event.Priority.Highest, this); + pm.registerEvent(Event.Type.BLOCK_BURN, blockListener, Event.Priority.Highest, this); + //pm.registerEvent(Event.Type.BLOCK_PLACE, blockListener, Event.Priority.Highest, this); - log.log(Level.INFO, "[Total Freedom Mod] - Enabled! - Version: " + this.getDescription().getVersion() + " by Madgeek1450"); - log.log(Level.INFO, "[Total Freedom Mod] - Loaded superadmins: " + implodeStringList(", ", superadmins)); - } + log.log(Level.INFO, "[Total Freedom Mod] - Enabled! - Version: " + this.getDescription().getVersion() + " by Madgeek1450"); + log.log(Level.INFO, "[Total Freedom Mod] - Loaded superadmins: " + implodeStringList(", ", superadmins)); + } - public void onDisable() - { - log.log(Level.INFO, "[Total Freedom Mod] - Disabled."); - } + public void onDisable() + { + log.log(Level.INFO, "[Total Freedom Mod] - Disabled."); + } - public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) - { - Player player = null; - if (sender instanceof Player) - { - player = (Player) sender; - log.log(Level.INFO, String.format("[PLAYER_COMMAND] %s(%s): /%s %s", player.getName(), player.getDisplayName().replaceAll("\\xA7.", ""), commandLabel, implodeStringList(" ", Arrays.asList(args)))); - } - else - { - log.log(Level.INFO, String.format("[CONSOLE_COMMAND] %s: /%s %s", sender.getName(), commandLabel, implodeStringList(" ", Arrays.asList(args)))); - } + public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) + { + Player player = null; + if (sender instanceof Player) + { + player = (Player) sender; + log.log(Level.INFO, String.format("[PLAYER_COMMAND] %s(%s): /%s %s", player.getName(), player.getDisplayName().replaceAll("\\xA7.", ""), commandLabel, implodeStringList(" ", Arrays.asList(args)))); + } + else + { + log.log(Level.INFO, String.format("[CONSOLE_COMMAND] %s: /%s %s", sender.getName(), commandLabel, implodeStringList(" ", Arrays.asList(args)))); + } - if (cmd.getName().equalsIgnoreCase("opme")) - { - if (player == null) - { - sender.sendMessage("This command only works in-game."); - } - else - { - if (isUserSuperadmin(sender.getName())) - { - tfBroadcastMessage(String.format("(%s: Opping %s)", sender.getName(), sender.getName()), ChatColor.GRAY); - sender.setOp(true); - sender.sendMessage(YOU_ARE_OP); - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } - } + if (cmd.getName().equalsIgnoreCase("opme")) + { + if (player == null) + { + sender.sendMessage("This command only works in-game."); + } + else + { + if (isUserSuperadmin(sender.getName())) + { + tfBroadcastMessage(String.format("(%s: Opping %s)", sender.getName(), sender.getName()), ChatColor.GRAY); + sender.setOp(true); + sender.sendMessage(YOU_ARE_OP); + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("listreal") || cmd.getName().equalsIgnoreCase("list")) - { - StringBuilder onlineStats = new StringBuilder(); - StringBuilder onlineUsers = new StringBuilder(); + return true; + } + else if (cmd.getName().equalsIgnoreCase("listreal") || cmd.getName().equalsIgnoreCase("list")) + { + StringBuilder onlineStats = new StringBuilder(); + StringBuilder onlineUsers = new StringBuilder(); - if (player == null) - { - onlineStats.append(String.format("There are %d out of a maximum %d players online.", Bukkit.getOnlinePlayers().length, Bukkit.getMaxPlayers())); + if (player == null) + { + onlineStats.append(String.format("There are %d out of a maximum %d players online.", Bukkit.getOnlinePlayers().length, Bukkit.getMaxPlayers())); - onlineUsers.append("Connected players: "); - boolean first = true; - for (Player p : Bukkit.getOnlinePlayers()) - { - if (first) - { - first = false; - } - else - { - onlineUsers.append(", "); - } + onlineUsers.append("Connected players: "); + boolean first = true; + for (Player p : Bukkit.getOnlinePlayers()) + { + if (first) + { + first = false; + } + else + { + onlineUsers.append(", "); + } - if (sender.getName().equalsIgnoreCase("remotebukkit")) - { - onlineUsers.append(p.getName()); - } - else - { - if (p.isOp()) - { - onlineUsers.append("[OP]").append(p.getName()); - } - else - { - onlineUsers.append(p.getName()); - } - } - } - } - else - { - onlineStats.append(ChatColor.BLUE).append("There are ").append(ChatColor.RED).append(Bukkit.getOnlinePlayers().length); - onlineStats.append(ChatColor.BLUE).append(" out of a maximum ").append(ChatColor.RED).append(Bukkit.getMaxPlayers()); - onlineStats.append(ChatColor.BLUE).append(" players online."); + if (sender.getName().equalsIgnoreCase("remotebukkit")) + { + onlineUsers.append(p.getName()); + } + else + { + if (p.isOp()) + { + onlineUsers.append("[OP]").append(p.getName()); + } + else + { + onlineUsers.append(p.getName()); + } + } + } + } + else + { + onlineStats.append(ChatColor.BLUE).append("There are ").append(ChatColor.RED).append(Bukkit.getOnlinePlayers().length); + onlineStats.append(ChatColor.BLUE).append(" out of a maximum ").append(ChatColor.RED).append(Bukkit.getMaxPlayers()); + onlineStats.append(ChatColor.BLUE).append(" players online."); - onlineUsers.append("Connected players: "); - boolean first = true; - for (Player p : Bukkit.getOnlinePlayers()) - { - if (first) - { - first = false; - } - else - { - onlineUsers.append(", "); - } + onlineUsers.append("Connected players: "); + boolean first = true; + for (Player p : Bukkit.getOnlinePlayers()) + { + if (first) + { + first = false; + } + else + { + onlineUsers.append(", "); + } - if (p.isOp()) - { - onlineUsers.append(ChatColor.RED).append(p.getName()); - } - else - { - onlineUsers.append(p.getName()); - } + if (p.isOp()) + { + onlineUsers.append(ChatColor.RED).append(p.getName()); + } + else + { + onlineUsers.append(p.getName()); + } - onlineUsers.append(ChatColor.WHITE); - } - } + onlineUsers.append(ChatColor.WHITE); + } + } - sender.sendMessage(onlineStats.toString()); - sender.sendMessage(onlineUsers.toString()); + sender.sendMessage(onlineStats.toString()); + sender.sendMessage(onlineUsers.toString()); - return true; - } - else if (cmd.getName().equalsIgnoreCase("deopall")) - { - if (isUserSuperadmin(sender.getName()) || player == null) - { - tfBroadcastMessage(String.format("(%s: De-opping everyone)", sender.getName()), ChatColor.GRAY); + return true; + } + else if (cmd.getName().equalsIgnoreCase("deopall")) + { + if (isUserSuperadmin(sender.getName()) || player == null) + { + tfBroadcastMessage(String.format("(%s: De-opping everyone)", sender.getName()), ChatColor.GRAY); - for (Player p : Bukkit.getOnlinePlayers()) - { - if (!isUserSuperadmin(p.getName()) && !p.getName().equals(sender.getName())) - { - p.setOp(false); - p.sendMessage(YOU_ARE_NOT_OP); - } - } - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + for (Player p : Bukkit.getOnlinePlayers()) + { + if (!isUserSuperadmin(p.getName()) && !p.getName().equals(sender.getName())) + { + p.setOp(false); + p.sendMessage(YOU_ARE_NOT_OP); + } + } + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("opall")) - { - if (isUserSuperadmin(sender.getName()) || player == null) - { - tfBroadcastMessage(String.format("(%s: Opping everyone)", sender.getName()), ChatColor.GRAY); + return true; + } + else if (cmd.getName().equalsIgnoreCase("opall")) + { + if (isUserSuperadmin(sender.getName()) || player == null) + { + tfBroadcastMessage(String.format("(%s: Opping everyone)", sender.getName()), ChatColor.GRAY); - boolean doSetGamemode = false; - GameMode targetGamemode = GameMode.CREATIVE; - if (args.length != 0) - { - if (args[0].equals("-c")) - { - doSetGamemode = true; - targetGamemode = GameMode.CREATIVE; - } - else if (args[0].equals("-s")) - { - doSetGamemode = true; - targetGamemode = GameMode.SURVIVAL; - } - } + boolean doSetGamemode = false; + GameMode targetGamemode = GameMode.CREATIVE; + if (args.length != 0) + { + if (args[0].equals("-c")) + { + doSetGamemode = true; + targetGamemode = GameMode.CREATIVE; + } + else if (args[0].equals("-s")) + { + doSetGamemode = true; + targetGamemode = GameMode.SURVIVAL; + } + } - for (Player p : Bukkit.getOnlinePlayers()) - { - p.setOp(true); - p.sendMessage(YOU_ARE_OP); + for (Player p : Bukkit.getOnlinePlayers()) + { + p.setOp(true); + p.sendMessage(YOU_ARE_OP); - if (doSetGamemode) - { - p.setGameMode(targetGamemode); - } - } - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + if (doSetGamemode) + { + p.setGameMode(targetGamemode); + } + } + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("qop")) //Quick OP - { - if (args.length != 1) - { - return false; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("qop")) //Quick OP + { + if (args.length != 1) + { + return false; + } - if (sender.isOp() || player == null || isUserSuperadmin(sender.getName())) - { - boolean matched_player = false; - for (Player p : Bukkit.matchPlayer(args[0])) - { - matched_player = true; + if (sender.isOp() || player == null || isUserSuperadmin(sender.getName())) + { + boolean matched_player = false; + for (Player p : Bukkit.matchPlayer(args[0])) + { + matched_player = true; - tfBroadcastMessage(String.format("(%s: Opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); - p.setOp(true); - p.sendMessage(YOU_ARE_OP); - } - if (!matched_player) - { - sender.sendMessage("No targets matched."); - } - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + tfBroadcastMessage(String.format("(%s: Opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); + p.setOp(true); + p.sendMessage(YOU_ARE_OP); + } + if (!matched_player) + { + sender.sendMessage("No targets matched."); + } + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("qdeop")) //Quick De-op - { - if (args.length != 1) - { - return false; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("qdeop")) //Quick De-op + { + if (args.length != 1) + { + return false; + } - if (sender.isOp() || player == null || isUserSuperadmin(sender.getName())) - { - boolean matched_player = false; - for (Player p : Bukkit.matchPlayer(args[0])) - { - matched_player = true; + if (sender.isOp() || player == null || isUserSuperadmin(sender.getName())) + { + boolean matched_player = false; + for (Player p : Bukkit.matchPlayer(args[0])) + { + matched_player = true; - tfBroadcastMessage(String.format("(%s: De-opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); - p.setOp(false); - p.sendMessage(YOU_ARE_NOT_OP); - } - if (!matched_player) - { - sender.sendMessage("No targets matched."); - } - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + tfBroadcastMessage(String.format("(%s: De-opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); + p.setOp(false); + p.sendMessage(YOU_ARE_NOT_OP); + } + if (!matched_player) + { + sender.sendMessage("No targets matched."); + } + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("survival")) - { - if (player == null) - { - if (args.length == 0) - { - sender.sendMessage("When used from the console, you must define a target user to change gamemode on."); - return true; - } - } - else - { - if (!sender.isOp()) - { - sender.sendMessage(MSG_NO_PERMS); - return true; - } - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("survival")) + { + if (player == null) + { + if (args.length == 0) + { + sender.sendMessage("When used from the console, you must define a target user to change gamemode on."); + return true; + } + } + else + { + if (!sender.isOp()) + { + sender.sendMessage(MSG_NO_PERMS); + return true; + } + } - Player p; - if (args.length == 0) - { - p = Bukkit.getPlayerExact(sender.getName()); - } - else - { - List matches = Bukkit.matchPlayer(args[0]); - if (matches.isEmpty()) - { - sender.sendMessage("Can't find user " + args[0]); - return true; - } - else - { - p = matches.get(0); - } - } + Player p; + if (args.length == 0) + { + p = Bukkit.getPlayerExact(sender.getName()); + } + else + { + List matches = Bukkit.matchPlayer(args[0]); + if (matches.isEmpty()) + { + sender.sendMessage("Can't find user " + args[0]); + return true; + } + else + { + p = matches.get(0); + } + } - sender.sendMessage("Setting " + p.getName() + " to game mode 'Survival'."); - p.sendMessage(sender.getName() + " set your game mode to 'Survival'."); - p.setGameMode(GameMode.SURVIVAL); + sender.sendMessage("Setting " + p.getName() + " to game mode 'Survival'."); + p.sendMessage(sender.getName() + " set your game mode to 'Survival'."); + p.setGameMode(GameMode.SURVIVAL); - return true; - } - else if (cmd.getName().equalsIgnoreCase("creative")) - { - if (player == null) - { - if (args.length == 0) - { - sender.sendMessage("When used from the console, you must define a target user to change gamemode on."); - return true; - } - } - else - { - if (!sender.isOp()) - { - sender.sendMessage(MSG_NO_PERMS); - return true; - } - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("creative")) + { + if (player == null) + { + if (args.length == 0) + { + sender.sendMessage("When used from the console, you must define a target user to change gamemode on."); + return true; + } + } + else + { + if (!sender.isOp()) + { + sender.sendMessage(MSG_NO_PERMS); + return true; + } + } - Player p; - if (args.length == 0) - { - p = Bukkit.getPlayerExact(sender.getName()); - } - else - { - List matches = Bukkit.matchPlayer(args[0]); - if (matches.isEmpty()) - { - sender.sendMessage("Can't find user " + args[0]); - return true; - } - else - { - p = matches.get(0); - } - } + Player p; + if (args.length == 0) + { + p = Bukkit.getPlayerExact(sender.getName()); + } + else + { + List matches = Bukkit.matchPlayer(args[0]); + if (matches.isEmpty()) + { + sender.sendMessage("Can't find user " + args[0]); + return true; + } + else + { + p = matches.get(0); + } + } - sender.sendMessage("Setting " + p.getName() + " to game mode 'Creative'."); - p.sendMessage(sender.getName() + " set your game mode to 'Creative'."); - p.setGameMode(GameMode.CREATIVE); + sender.sendMessage("Setting " + p.getName() + " to game mode 'Creative'."); + p.sendMessage(sender.getName() + " set your game mode to 'Creative'."); + p.setGameMode(GameMode.CREATIVE); - return true; - } - else if (cmd.getName().equalsIgnoreCase("wildcard")) - { - if (player == null || isUserSuperadmin(sender.getName())) - { - if (args[0].equals("wildcard")) - { - sender.sendMessage("What the hell are you trying to do, you stupid idiot..."); - return true; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("wildcard")) + { + if (player == null || isUserSuperadmin(sender.getName())) + { + if (args[0].equals("wildcard")) + { + sender.sendMessage("What the hell are you trying to do, you stupid idiot..."); + return true; + } - String base_command = implodeStringList(" ", Arrays.asList(args)); + String base_command = implodeStringList(" ", Arrays.asList(args)); - for (Player p : Bukkit.getOnlinePlayers()) - { - String out_command = base_command.replaceAll("\\x3f", p.getName()); - sender.sendMessage("Running Command: " + out_command); - Bukkit.getServer().dispatchCommand(sender, out_command); - } - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + for (Player p : Bukkit.getOnlinePlayers()) + { + String out_command = base_command.replaceAll("\\x3f", p.getName()); + sender.sendMessage("Running Command: " + out_command); + Bukkit.getServer().dispatchCommand(sender, out_command); + } + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("say")) - { - if (args.length == 0) - { - return false; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("say")) + { + if (args.length == 0) + { + return false; + } - if (player == null || sender.isOp()) - { - String message = implodeStringList(" ", Arrays.asList(args)); - tfBroadcastMessage(String.format("[Server:%s] %s", sender.getName(), message), ChatColor.LIGHT_PURPLE); - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + if (player == null || sender.isOp()) + { + String message = implodeStringList(" ", Arrays.asList(args)); + tfBroadcastMessage(String.format("[Server:%s] %s", sender.getName(), message), ChatColor.LIGHT_PURPLE); + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("gtfo")) - { - if (args.length != 1) - { - return false; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("gtfo")) + { + if (args.length != 1) + { + return false; + } - if (player == null || isUserSuperadmin(sender.getName())) - { - Player p; - List matches = Bukkit.matchPlayer(args[0]); - if (matches.isEmpty()) - { - sender.sendMessage("Can't find user " + args[0]); - return true; - } - else - { - p = matches.get(0); - } + if (player == null || isUserSuperadmin(sender.getName())) + { + Player p; + List matches = Bukkit.matchPlayer(args[0]); + if (matches.isEmpty()) + { + sender.sendMessage("Can't find user " + args[0]); + return true; + } + else + { + p = matches.get(0); + } - Bukkit.getServer().dispatchCommand(sender, "smite " + p.getName()); + Bukkit.getServer().dispatchCommand(sender, "smite " + p.getName()); - p.setOp(false); + p.setOp(false); - String user_ip = p.getAddress().getAddress().toString().replaceAll("/", "").trim(); + String user_ip = p.getAddress().getAddress().toString().replaceAll("/", "").trim(); - tfBroadcastMessage(String.format("Banning: %s, IP: %s.", p.getName(), user_ip), ChatColor.RED); - Bukkit.banIP(user_ip); - Bukkit.getOfflinePlayer(p.getName()).setBanned(true); + tfBroadcastMessage(String.format("Banning: %s, IP: %s.", p.getName(), user_ip), ChatColor.RED); + Bukkit.banIP(user_ip); + Bukkit.getOfflinePlayer(p.getName()).setBanned(true); - p.kickPlayer("GTFO"); - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + p.kickPlayer("GTFO"); + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("stop")) - { - if (player == null || isUserSuperadmin(sender.getName())) - { - tfBroadcastMessage("Server is going offline.", ChatColor.GRAY); + return true; + } + else if (cmd.getName().equalsIgnoreCase("stop")) + { + if (player == null || isUserSuperadmin(sender.getName())) + { + tfBroadcastMessage("Server is going offline.", ChatColor.GRAY); - for (Player p : Bukkit.getOnlinePlayers()) - { - p.kickPlayer("Server is going offline, come back in a few minutes."); - } + for (Player p : Bukkit.getOnlinePlayers()) + { + p.kickPlayer("Server is going offline, come back in a few minutes."); + } - Bukkit.shutdown(); - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + Bukkit.shutdown(); + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("explosives")) - { - if (player == null || isUserSuperadmin(sender.getName())) - { - if (args.length != 1) - { - return false; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("explosives")) + { + if (player == null || isUserSuperadmin(sender.getName())) + { + if (args.length == 0) + { + return false; + } + + if (args.length == 2) + { + explosiveRadius = Double.parseDouble(args[1]); + } - if (args[0].equalsIgnoreCase("on")) - { - this.allowExplosions = true; - sender.sendMessage("Explosives are now enabled."); - } - else - { - this.allowExplosions = false; - sender.sendMessage("Explosives are now disabled."); - } - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + if (args[0].equalsIgnoreCase("on")) + { + this.allowExplosions = true; + //sender.sendMessage("Explosives are now enabled, radius set to " + explosiveRadius + " blocks."); + sender.sendMessage("Explosives are now enabled."); + } + else + { + this.allowExplosions = false; + sender.sendMessage("Explosives are now disabled."); + } + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("fire")) - { - if (player == null || isUserSuperadmin(sender.getName())) - { - if (args.length != 1) - { - return false; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("fire")) + { + if (player == null || isUserSuperadmin(sender.getName())) + { + if (args.length != 1) + { + return false; + } - if (args[0].equalsIgnoreCase("on")) - { - this.allowFire = true; - sender.sendMessage("Fire is now enabled."); - } - else - { - this.allowFire = false; - sender.sendMessage("Fire is now disabled."); - } - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + if (args[0].equalsIgnoreCase("on")) + { + this.allowFire = true; + sender.sendMessage("Fire is now enabled."); + } + else + { + this.allowFire = false; + sender.sendMessage("Fire is now disabled."); + } + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("lavadmg")) - { - if (player == null || isUserSuperadmin(sender.getName())) - { - if (args.length != 1) - { - return false; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("lavadmg")) + { + if (player == null || isUserSuperadmin(sender.getName())) + { + if (args.length != 1) + { + return false; + } - if (args[0].equalsIgnoreCase("on")) - { - this.allowLavaDamage = true; - sender.sendMessage("Lava damage is now enabled."); - } - else - { - this.allowLavaDamage = false; - sender.sendMessage("Lava damage is now disabled."); - } - } - else - { - sender.sendMessage(MSG_NO_PERMS); - } + if (args[0].equalsIgnoreCase("on")) + { + this.allowLavaDamage = true; + sender.sendMessage("Lava damage is now enabled."); + } + else + { + this.allowLavaDamage = false; + sender.sendMessage("Lava damage is now disabled."); + } + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - return true; - } - else if (cmd.getName().equalsIgnoreCase("radar")) - { - if (player == null) - { + return true; + } + else if (cmd.getName().equalsIgnoreCase("radar")) + { + if (player == null) + { sender.sendMessage("This command can only be used in-game."); return true; - } + } Player sender_player = Bukkit.getPlayerExact(sender.getName()); Location sender_pos = sender_player.getLocation(); @@ -594,7 +604,7 @@ public class TotalFreedomMod extends JavaPlugin for (Player p : Bukkit.getOnlinePlayers()) { - if (sender_world.equals(p.getWorld().getName())) + if (sender_world.equals(p.getWorld().getName()) && !p.getName().equals(sender.getName())) { radar_data.add(new RadarData(p, sender_pos.distance(p.getLocation()))); } @@ -621,38 +631,70 @@ public class TotalFreedomMod extends JavaPlugin sender.sendMessage(ChatColor.YELLOW + String.format("%s - %d", i.player.getName(), Math.round(i.distance))); } - return true; - } + return true; + } + else if (cmd.getName().equalsIgnoreCase("rd")) + { + if (player == null) + { + sender.sendMessage("This command can only be used in-game."); + return true; + } - return false; - } + if (sender.isOp()) + { + sender.sendMessage(ChatColor.GRAY + "Using WorldEdit to remove all entity drops."); - public static void tfBroadcastMessage(String message, ChatColor color) - { - log.info(message); + Bukkit.getServer().dispatchCommand(sender, "remove arrows -1"); + Bukkit.getServer().dispatchCommand(sender, "remove items -1"); + Bukkit.getServer().dispatchCommand(sender, "remove drops -1"); + } + else + { + sender.sendMessage(MSG_NO_PERMS); + } - for (Player p : Bukkit.getOnlinePlayers()) - { - p.sendMessage(color + message); - } - } + return true; + } - private static String implodeStringList(String glue, List pieces) - { - StringBuilder output = new StringBuilder(); - for (int i = 0; i < pieces.size(); i++) - { - if (i != 0) - { - output.append(glue); - } - output.append(pieces.get(i)); - } - return output.toString(); - } + return false; + } - private boolean isUserSuperadmin(String userName) - { - return superadmins.contains(userName); - } + public void tfBroadcastMessage(String message, ChatColor color) + { + log.info(message); + + for (Player p : Bukkit.getOnlinePlayers()) + { + p.sendMessage(color + message); + } + } + + public String implodeStringList(String glue, List pieces) + { + StringBuilder output = new StringBuilder(); + for (int i = 0; i < pieces.size(); i++) + { + if (i != 0) + { + output.append(glue); + } + output.append(pieces.get(i)); + } + return output.toString(); + } + + public String formatLocation(Location in_loc) + { + return String.format("%s: (%d, %d, %d)", + in_loc.getWorld().getName(), + Math.round(in_loc.getX()), + Math.round(in_loc.getY()), + Math.round(in_loc.getZ())); + } + + public boolean isUserSuperadmin(String userName) + { + return superadmins.contains(userName); + } } diff --git a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomModBlockListener.java b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomModBlockListener.java index a544bbc..3e9d904 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomModBlockListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomModBlockListener.java @@ -1,35 +1,80 @@ package me.StevenLawson.TotalFreedomMod; +//import org.bukkit.ChatColor; +//import org.bukkit.Material; +//import org.bukkit.entity.Player; import org.bukkit.event.block.BlockBurnEvent; import org.bukkit.event.block.BlockIgniteEvent; import org.bukkit.event.block.BlockListener; +//import org.bukkit.event.block.BlockPlaceEvent; +//import org.bukkit.inventory.ItemStack; public class TotalFreedomModBlockListener extends BlockListener { - public static TotalFreedomMod plugin; - - TotalFreedomModBlockListener(TotalFreedomMod instance) - { - plugin = instance; - } + public static TotalFreedomMod plugin; - @Override - public void onBlockBurn(BlockBurnEvent event) - { - if (!plugin.allowFire) - { - event.setCancelled(true); - return; - } - } + TotalFreedomModBlockListener(TotalFreedomMod instance) + { + plugin = instance; + } - @Override - public void onBlockIgnite(BlockIgniteEvent event) - { - if (!plugin.allowFire) - { - event.setCancelled(true); - return; - } - } + @Override + public void onBlockBurn(BlockBurnEvent event) + { + if (!plugin.allowFire) + { + event.setCancelled(true); + return; + } + } + + @Override + public void onBlockIgnite(BlockIgniteEvent event) + { + if (!plugin.allowFire) + { + event.setCancelled(true); + return; + } + } + +// @Override +// public void onBlockPlace(BlockPlaceEvent event) +// { +// ItemStack is = new ItemStack(event.getBlockPlaced().getType(), 1, (short) 0, event.getBlockPlaced().getData()); +// if (is.getType() == Material.LAVA || is.getType() == Material.STATIONARY_LAVA || is.getType() == Material.LAVA_BUCKET) +// { +// Player p = event.getPlayer(); +// +// plugin.tfBroadcastMessage(String.format("%s placed lava @ %s", +// p.getName(), +// plugin.formatLocation(p.getLocation()) +// ), ChatColor.GRAY); +// } +// else if (is.getType() == Material.WATER || is.getType() == Material.STATIONARY_WATER || is.getType() == Material.WATER_BUCKET) +// { +// Player p = event.getPlayer(); +// +// plugin.tfBroadcastMessage(String.format("%s placed water @ %s", +// p.getName(), +// plugin.formatLocation(p.getLocation()) +// ), ChatColor.GRAY); +// } +// else if (is.getType() == Material.TNT) +// { +// Player p = event.getPlayer(); +// +// plugin.tfBroadcastMessage(String.format("%s placed TNT @ %s", +// p.getName(), +// plugin.formatLocation(p.getLocation()) +// ), ChatColor.GRAY); +// +// if (!plugin.allowExplosions) +// { +// p.sendMessage(ChatColor.GRAY + "TNT is currently disabled."); +// event.setCancelled(true); +// return; +// } +// } +// } } diff --git a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomModEntityListener.java b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomModEntityListener.java index 7f9e77b..b919706 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomModEntityListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomModEntityListener.java @@ -23,8 +23,10 @@ public class TotalFreedomModEntityListener extends EntityListener event.setCancelled(true); return; } + + //event.setYield((float)plugin.explosiveRadius); } - + @Override public void onEntityCombust(EntityCombustEvent event) { diff --git a/src/plugin.yml b/src/plugin.yml index 45fef6b..0b6abcb 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -11,17 +11,17 @@ commands: description: Superadmin command - Deop everyone on the server. usage: / explosives: - description: Superadmin command - Enable/disable explosives. - usage: / [on|off] + description: Superadmin command - Enable/disable explosives and set yield radius. + usage: / [radius] fire: description: Superadmin command - Enable/disable fire. - usage: / [on|off] + usage: / gtfo: description: Superadmin command - Makes someone GTFO (deop and ip ban by username). usage: / [partialname] lavadmg: description: Superadmin command - Enable/disable lava damage. - usage: / [on|off] + usage: / list: description: Lists the real names of all online players. usage: / @@ -43,6 +43,9 @@ commands: radar: description: Shows nearby people sorted by distance. usage: / + rd: + description: Removes drops, arrows, etc. + usage: / say: description: Broadcasts the given message as the console, includes sender. usage: /