From 9c05e8e2fbf4d51d91833aaef084e987f25c8706 Mon Sep 17 00:00:00 2001 From: Steven Lawson Date: Fri, 23 Nov 2012 20:22:52 -0500 Subject: [PATCH] Finished implementation of CommandPermissions and conversion of all commands. --- .../Commands/Command_cake.java | 33 ++-- .../Commands/Command_cartsit.java | 1 + .../Commands/Command_clearall.java | 26 +-- .../Commands/Command_cmdlist.java | 5 +- .../Commands/Command_creative.java | 8 +- .../Commands/Command_csay.java | 22 +-- .../Commands/Command_deop.java | 13 +- .../Commands/Command_deopall.java | 17 +- .../Commands/Command_doom.java | 8 +- .../Commands/Command_enchant.java | 22 +-- .../Commands/Command_ender.java | 1 + .../Commands/Command_expel.java | 96 +++++------ .../Commands/Command_explosives.java | 43 ++--- .../Commands/Command_fireplace.java | 27 ++- .../Commands/Command_firespread.java | 27 ++- .../Commands/Command_flatlands.java | 1 + .../Commands/Command_fluidspread.java | 27 ++- .../TotalFreedomMod/Commands/Command_fr.java | 91 +++++----- .../Commands/Command_gadmin.java | 155 ++++++++---------- .../Commands/Command_gcmd.java | 80 ++++----- .../Commands/Command_glist.java | 143 ++++++++-------- .../Commands/Command_gtfo.java | 115 ++++++------- .../Commands/Command_halt.java | 10 +- .../Commands/Command_kicknoob.java | 12 +- .../Commands/Command_landmine.java | 15 +- .../Commands/Command_lavadmg.java | 27 ++- .../Commands/Command_lavaplace.java | 27 ++- .../Commands/Command_list.java | 1 + .../Commands/Command_lockup.java | 9 +- .../Commands/Command_moblimiter.java | 9 +- .../TotalFreedomMod/Commands/Command_mp.java | 29 ++-- .../Commands/Command_mp44.java | 46 +++--- .../Commands/Command_nether.java | 1 + .../Commands/Command_nonuke.java | 10 +- .../Commands/Command_onlinemode.java | 8 +- .../TotalFreedomMod/Commands/Command_op.java | 11 +- .../Commands/Command_opall.java | 49 +++--- .../Commands/Command_opme.java | 21 +-- .../TotalFreedomMod/Commands/Command_ops.java | 7 +- .../Commands/Command_orbit.java | 80 ++++----- .../Commands/Command_permban.java | 24 +-- .../Commands/Command_potion.java | 8 +- .../Commands/Command_prelog.java | 27 ++- .../Commands/Command_protectarea.java | 16 +- .../Commands/Command_qdeop.java | 8 +- .../TotalFreedomMod/Commands/Command_qop.java | 8 +- .../Commands/Command_radar.java | 8 +- .../Commands/Command_rank.java | 1 + .../Commands/Command_rawsay.java | 18 +- .../TotalFreedomMod/Commands/Command_rd.java | 9 +- .../Commands/Command_saconfig.java | 1 + .../TotalFreedomMod/Commands/Command_say.java | 22 +-- .../Commands/Command_setlevel.java | 22 +-- .../Commands/Command_setspawnworld.java | 18 +- .../Commands/Command_smite.java | 10 +- .../Commands/Command_status.java | 1 + .../Commands/Command_stfu.java | 9 +- .../Commands/Command_stop.java | 20 +-- .../Commands/Command_survival.java | 8 +- .../Commands/Command_tempban.java | 9 +- .../Commands/Command_terminal.java | 8 +- .../Commands/Command_tfbanlist.java | 1 + .../Commands/Command_tfipbanlist.java | 1 + .../Commands/Command_tossmob.java | 106 ++++++------ .../Commands/Command_uall.java | 22 +-- .../Commands/Command_waterplace.java | 29 ++-- .../Commands/Command_whitelist.java | 7 +- .../Commands/Command_wildcard.java | 33 ++-- .../Commands/Command_wipeflatlands.java | 9 +- .../Commands/Command_ziptool.java | 118 +++++++------ .../TotalFreedomMod/TFM_Util.java | 1 + .../TotalFreedomMod/TotalFreedomMod.java | 5 +- 72 files changed, 737 insertions(+), 1183 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cake.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cake.java index d8949522..024a483a 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cake.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cake.java @@ -1,7 +1,6 @@ package me.StevenLawson.TotalFreedomMod.Commands; import java.util.Random; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.Material; @@ -10,35 +9,29 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_cake extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + StringBuilder output = new StringBuilder(); + Random randomGenerator = new Random(); + + for (String word : TotalFreedomMod.CAKE_LYRICS.split(" ")) { - StringBuilder output = new StringBuilder(); - Random randomGenerator = new Random(); - - for (String word : TotalFreedomMod.CAKE_LYRICS.split(" ")) - { - String color_code = Integer.toHexString(1 + randomGenerator.nextInt(14)); - output.append("§").append(color_code).append(word).append(" "); - } - - for (Player p : server.getOnlinePlayers()) - { - ItemStack heldItem = new ItemStack(Material.CAKE, 1); - p.getInventory().setItem(p.getInventory().firstEmpty(), heldItem); - } - - TFM_Util.bcastMsg(output.toString()); + String color_code = Integer.toHexString(1 + randomGenerator.nextInt(14)); + output.append("§").append(color_code).append(word).append(" "); } - else + + for (Player p : server.getOnlinePlayers()) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + ItemStack heldItem = new ItemStack(Material.CAKE, 1); + p.getInventory().setItem(p.getInventory().firstEmpty(), heldItem); } + TFM_Util.bcastMsg(output.toString()); + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cartsit.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cartsit.java index e1ac4f23..0b05da32 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cartsit.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cartsit.java @@ -6,6 +6,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Minecart; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = true) public class Command_cartsit extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_clearall.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_clearall.java index 3a38471e..b9f36770 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_clearall.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_clearall.java @@ -1,36 +1,18 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -//This command was coded initially by JeromSar - +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_clearall extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole)) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - } - - CommandSender cSender; - if (senderIsConsole) - { - cSender = server.getConsoleSender(); - } - else - { - cSender = sender; - } - - server.dispatchCommand(cSender, "rd"); // remove entities - server.dispatchCommand(cSender, "denick"); // remove nicks - server.dispatchCommand(cSender, "uall"); // undisguise all + server.dispatchCommand(sender, "rd"); + server.dispatchCommand(sender, "denick"); + server.dispatchCommand(sender, "uall"); return true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cmdlist.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cmdlist.java index 8bac97b2..1a90456d 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cmdlist.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cmdlist.java @@ -5,13 +5,14 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import me.StevenLawson.TotalFreedomMod.TFM_Util; +import org.apache.commons.lang.StringUtils; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = true) public class Command_cmdlist extends TFM_Command { @Override @@ -42,7 +43,7 @@ public class Command_cmdlist extends TFM_Command Collections.sort(commands); - sender.sendMessage(TFM_Util.implodeStringList(",", commands)); + sender.sendMessage(StringUtils.join(commands, ",")); return true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_creative.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_creative.java index 7770e37c..c4a716a5 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_creative.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_creative.java @@ -1,12 +1,12 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.GameMode; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_creative extends TFM_Command { @Override @@ -21,12 +21,6 @@ public class Command_creative extends TFM_Command } } - if (!sender.isOp()) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - Player p; if (args.length == 0) { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_csay.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_csay.java index ce978777..b7772fe8 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_csay.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_csay.java @@ -1,35 +1,21 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; +import org.apache.commons.lang.StringUtils; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, ignore_permissions = false) public class Command_csay extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) + if (args.length > 0) { - String sender_name = sender.getName(); - - sender_name = sender_name.split("-")[0]; - - StringBuilder outmessage_bldr = new StringBuilder(); - for (int i = 0; i < args.length; i++) - { - outmessage_bldr.append(args[i]).append(" "); - } - - TFM_Util.bcastMsg(String.format("§7[CONSOLE]§f<§c%s§f> %s", sender_name, outmessage_bldr.toString().trim())); + TFM_Util.bcastMsg(String.format("§7[CONSOLE]§f<§c%s§f> %s", sender.getName(), StringUtils.join(args, " "))); } - else - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - } - return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_deop.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_deop.java index 74c49abe..b854e048 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_deop.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_deop.java @@ -1,26 +1,17 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -//This command was coded initially by JeromSar - +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_deop extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole)) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length != 1) { return false; @@ -43,7 +34,7 @@ public class Command_deop extends TFM_Command } TFM_Util.adminAction(sender.getName(), "De-opping " + p.getName(), false); - + p.setOp(false); return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_deopall.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_deopall.java index 1341273b..4cb49692 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_deopall.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_deopall.java @@ -1,30 +1,23 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_deopall extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole) - { - TFM_Util.adminAction(sender.getName(), "De-opping all players on the server", true); + TFM_Util.adminAction(sender.getName(), "De-opping all players on the server", true); - for (Player p : server.getOnlinePlayers()) - { - p.setOp(false); - p.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP); - } - } - else + for (Player p : server.getOnlinePlayers()) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + p.setOp(false); + p.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_doom.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_doom.java index 7c80c694..01aa5be7 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_doom.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_doom.java @@ -2,24 +2,18 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, ignore_permissions = false) public class Command_doom extends TFM_Command { @Override public boolean run(final CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(senderIsConsole && TFM_SuperadminList.isSeniorAdmin(sender))) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length != 1) { return false; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_enchant.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_enchant.java index 8e82d606..61c04d11 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_enchant.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_enchant.java @@ -1,29 +1,17 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_enchant extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); - return true; - } - - if (!sender.isOp()) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length < 1) { return false; @@ -78,7 +66,7 @@ public class Command_enchant extends TFM_Command { itemInHand.removeEnchantment(ench); } - + sender.sendMessage("Removed all enchantments."); } else @@ -109,18 +97,18 @@ public class Command_enchant extends TFM_Command if (ench.canEnchantItem(itemInHand)) { itemInHand.addEnchantment(ench, ench.getMaxLevel()); - + sender.sendMessage("Added enchantment: " + ench.getName()); } else { sender.sendMessage("Can't use this enchantment on held item."); - } + } } else if (args[0].equalsIgnoreCase("remove")) { itemInHand.removeEnchantment(ench); - + sender.sendMessage("Removed enchantment: " + ench.getName()); } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ender.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ender.java index b4b869e1..c2ef84e1 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ender.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ender.java @@ -5,6 +5,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = true) public class Command_ender extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_expel.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_expel.java index 3759bab4..e8beba98 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_expel.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_expel.java @@ -1,77 +1,65 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_expel extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) + double radius = 50.0; + double strength = 100.0; + + if (args.length >= 1) { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); - } - else if (TFM_SuperadminList.isUserSuperadmin(sender)) - { - double radius = 50.0; - double strength = 100.0; - - if (args.length >= 1) + try { - try - { - radius = Math.max(1.0, Math.min(200.0, Double.parseDouble(args[0]))); - } - catch (NumberFormatException nfex) - { - } + radius = Math.max(1.0, Math.min(200.0, Double.parseDouble(args[0]))); } - - if (args.length >= 2) + catch (NumberFormatException nfex) { - try - { - strength = Math.max(0.0, Math.min(200.0, Double.parseDouble(args[1]))); - } - catch (NumberFormatException nfex) - { - } - } - - Location sender_pos = sender_p.getLocation(); - for (Player p : sender_pos.getWorld().getPlayers()) - { - if (!p.equals(sender_p)) - { - Location target_pos = p.getLocation(); - - boolean in_range = false; - try - { - in_range = target_pos.distanceSquared(sender_pos) < (radius * radius); - } - catch (IllegalArgumentException ex) - { - } - - if (in_range) - { - sender.sendMessage("Pushing " + p.getName()); - Vector expel_direction = target_pos.subtract(sender_pos).toVector().normalize(); - p.setVelocity(expel_direction.multiply(strength)); - } - } } } - else + + if (args.length >= 2) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + try + { + strength = Math.max(0.0, Math.min(200.0, Double.parseDouble(args[1]))); + } + catch (NumberFormatException nfex) + { + } + } + + Location sender_pos = sender_p.getLocation(); + for (Player p : sender_pos.getWorld().getPlayers()) + { + if (!p.equals(sender_p)) + { + Location target_pos = p.getLocation(); + + boolean in_range = false; + try + { + in_range = target_pos.distanceSquared(sender_pos) < (radius * radius); + } + catch (IllegalArgumentException ex) + { + } + + if (in_range) + { + sender.sendMessage("Pushing " + p.getName()); + Vector expel_direction = target_pos.subtract(sender_pos).toVector().normalize(); + p.setVelocity(expel_direction.multiply(strength)); + } + } } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_explosives.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_explosives.java index 8b58341c..78ca75cc 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_explosives.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_explosives.java @@ -1,48 +1,41 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_explosives extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length == 0) { - if (args.length == 0) - { - return false; - } + return false; + } - if (args.length == 2) + if (args.length == 2) + { + try { - try - { - TotalFreedomMod.explosiveRadius = Math.max(1.0, Math.min(30.0, Double.parseDouble(args[1]))); - } - catch (NumberFormatException nfex) - { - } + TotalFreedomMod.explosiveRadius = Math.max(1.0, Math.min(30.0, Double.parseDouble(args[1]))); } + catch (NumberFormatException nfex) + { + } + } - if (args[0].equalsIgnoreCase("on")) - { - TotalFreedomMod.allowExplosions = true; - sender.sendMessage("Explosives are now enabled, radius set to " + TotalFreedomMod.explosiveRadius + " blocks."); - } - else - { - TotalFreedomMod.allowExplosions = false; - sender.sendMessage("Explosives are now disabled."); - } + if (args[0].equalsIgnoreCase("on")) + { + TotalFreedomMod.allowExplosions = true; + sender.sendMessage("Explosives are now enabled, radius set to " + TotalFreedomMod.explosiveRadius + " blocks."); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TotalFreedomMod.allowExplosions = false; + sender.sendMessage("Explosives are now disabled."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fireplace.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fireplace.java index 95c384be..72af02e6 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fireplace.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fireplace.java @@ -1,37 +1,30 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_fireplace extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length != 1) { - if (args.length != 1) - { - return false; - } + return false; + } - if (args[0].equalsIgnoreCase("on")) - { - TotalFreedomMod.allowFirePlace = true; - sender.sendMessage("Fire placement is now enabled."); - } - else - { - TotalFreedomMod.allowFirePlace = false; - sender.sendMessage("Fire placement is now disabled."); - } + if (args[0].equalsIgnoreCase("on")) + { + TotalFreedomMod.allowFirePlace = true; + sender.sendMessage("Fire placement is now enabled."); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TotalFreedomMod.allowFirePlace = false; + sender.sendMessage("Fire placement is now disabled."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_firespread.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_firespread.java index 011efc5d..ed148790 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_firespread.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_firespread.java @@ -1,37 +1,30 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_firespread extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length != 1) { - if (args.length != 1) - { - return false; - } + return false; + } - if (args[0].equalsIgnoreCase("on")) - { - TotalFreedomMod.allowFireSpread = true; - sender.sendMessage("Fire spread is now enabled."); - } - else - { - TotalFreedomMod.allowFireSpread = false; - sender.sendMessage("Fire spread is now disabled."); - } + if (args[0].equalsIgnoreCase("on")) + { + TotalFreedomMod.allowFireSpread = true; + sender.sendMessage("Fire spread is now enabled."); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TotalFreedomMod.allowFireSpread = false; + sender.sendMessage("Fire spread is now disabled."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_flatlands.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_flatlands.java index a9935457..338519cf 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_flatlands.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_flatlands.java @@ -7,6 +7,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = true) public class Command_flatlands extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fluidspread.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fluidspread.java index 3ba7e0d7..b26e5725 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fluidspread.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fluidspread.java @@ -1,37 +1,30 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_fluidspread extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length != 1) { - if (args.length != 1) - { - return false; - } + return false; + } - if (args[0].equalsIgnoreCase("on")) - { - TotalFreedomMod.allowFliudSpread = true; - sender.sendMessage("Lava and water spread is now enabled."); - } - else - { - TotalFreedomMod.allowFliudSpread = false; - sender.sendMessage("Lava and water spread is now disabled."); - } + if (args[0].equalsIgnoreCase("on")) + { + TotalFreedomMod.allowFliudSpread = true; + sender.sendMessage("Lava and water spread is now enabled."); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TotalFreedomMod.allowFliudSpread = false; + sender.sendMessage("Lava and water spread is now disabled."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fr.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fr.java index 89b16948..52e5a8bc 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fr.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fr.java @@ -1,6 +1,5 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; @@ -9,68 +8,62 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_fr extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length == 0) { - if (args.length == 0) - { - TotalFreedomMod.allPlayersFrozen = !TotalFreedomMod.allPlayersFrozen; + TotalFreedomMod.allPlayersFrozen = !TotalFreedomMod.allPlayersFrozen; - if (TotalFreedomMod.allPlayersFrozen) - { - TotalFreedomMod.allPlayersFrozen = true; - sender.sendMessage("Players are now frozen."); - TFM_Util.adminAction(sender.getName(), "Freezing all players", false); - } - else - { - TotalFreedomMod.allPlayersFrozen = false; - sender.sendMessage("Players are now free to move."); - TFM_Util.adminAction(sender.getName(), "Unfreezing all players", false); - } + if (TotalFreedomMod.allPlayersFrozen) + { + TotalFreedomMod.allPlayersFrozen = true; + sender.sendMessage("Players are now frozen."); + TFM_Util.adminAction(sender.getName(), "Freezing all players", false); } else { - if (args[0].toLowerCase().equals("purge")) - { - TotalFreedomMod.allPlayersFrozen = false; - - for (Player p : server.getOnlinePlayers()) - { - TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); - playerdata.setFrozen(false); - } - - TFM_Util.adminAction(sender.getName(), "Lifting all global and player freezes", false); - } - else - { - Player p; - try - { - p = getPlayer(args[0]); - } - catch (CantFindPlayerException ex) - { - sender.sendMessage(ex.getMessage()); - return true; - } - - TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); - playerdata.setFrozen(!playerdata.isFrozen()); - - sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); - p.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); - } + TotalFreedomMod.allPlayersFrozen = false; + sender.sendMessage("Players are now free to move."); + TFM_Util.adminAction(sender.getName(), "Unfreezing all players", false); } } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + if (args[0].toLowerCase().equals("purge")) + { + TotalFreedomMod.allPlayersFrozen = false; + + for (Player p : server.getOnlinePlayers()) + { + TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); + playerdata.setFrozen(false); + } + + TFM_Util.adminAction(sender.getName(), "Lifting all global and player freezes", false); + } + else + { + Player p; + try + { + p = getPlayer(args[0]); + } + catch (CantFindPlayerException ex) + { + sender.sendMessage(ex.getMessage()); + return true; + } + + TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); + playerdata.setFrozen(!playerdata.isFrozen()); + + sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); + p.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); + } } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gadmin.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gadmin.java index d94c57b9..499d680f 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gadmin.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gadmin.java @@ -1,6 +1,5 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; @@ -9,6 +8,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_gadmin extends TFM_Command { @Override @@ -21,101 +21,90 @@ public class Command_gadmin extends TFM_Command String mode = args[0].toLowerCase(); - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (mode.equals("list")) { + sender.sendMessage(ChatColor.GRAY + "[ Real Name ] : [ Display Name ] - Hash:"); + } + + for (Player p : server.getOnlinePlayers()) + { + String hash = p.getUniqueId().toString().substring(0, 4); if (mode.equals("list")) { - sender.sendMessage(ChatColor.GRAY + "[ Real Name ] : [ Display Name ] - Hash:"); + sender.sendMessage(ChatColor.GRAY + String.format("[ %s ] : [ %s ] - %s", + p.getName(), + ChatColor.stripColor(p.getDisplayName()), + hash)); } - - for (Player p : server.getOnlinePlayers()) + else if (hash.equalsIgnoreCase(args[1])) { - String hash = p.getUniqueId().toString().substring(0, 4); - if (mode.equals("list")) + if (mode.equals("kick")) { - sender.sendMessage(ChatColor.GRAY + String.format("[ %s ] : [ %s ] - %s", - p.getName(), - ChatColor.stripColor(p.getDisplayName()), - hash)); + p.kickPlayer("Kicked by Administrator"); } - else if (hash.equalsIgnoreCase(args[1])) + else if (mode.equals("nameban")) { - if (mode.equals("kick")) - { - p.kickPlayer("Kicked by Administrator"); - } - else if (mode.equals("nameban")) - { - //server.getOfflinePlayer(p.getName()).setBanned(true); - TFM_Util.banUsername(p.getName(), null, null, null); - TFM_Util.bcastMsg(String.format("Banning Name: %s.", p.getName()), ChatColor.RED); - p.kickPlayer("Username banned by Administrator."); - } - else if (mode.equals("ipban")) - { - String user_ip = p.getAddress().getAddress().getHostAddress(); - String[] ip_parts = user_ip.split("\\."); - if (ip_parts.length == 4) - { - user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]); - } - TFM_Util.bcastMsg(String.format("Banning IP: %s.", p.getName(), user_ip), ChatColor.RED); - //server.banIP(user_ip); - TFM_Util.banIP(user_ip, null, null, null); - p.kickPlayer("IP address banned by Administrator."); - } - else if (mode.equals("ban")) - { - String user_ip = p.getAddress().getAddress().getHostAddress(); - String[] ip_parts = user_ip.split("\\."); - if (ip_parts.length == 4) - { - user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]); - } - TFM_Util.bcastMsg(String.format("Banning Name: %s, IP: %s.", p.getName(), user_ip), ChatColor.RED); - //server.banIP(user_ip); - //server.getOfflinePlayer(p.getName()).setBanned(true); - TFM_Util.banIP(user_ip, null, null, null); - TFM_Util.banUsername(p.getName(), null, null, null); - p.kickPlayer("IP and username banned by Administrator."); - } - else if (mode.equals("op")) - { - TFM_Util.bcastMsg(String.format("(%s: Opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); - p.setOp(false); - p.sendMessage(TotalFreedomMod.YOU_ARE_OP); - } - else if (mode.equals("deop")) - { - TFM_Util.bcastMsg(String.format("(%s: De-opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); - p.setOp(false); - p.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP); - } - else if (mode.equals("ci")) - { - p.getInventory().clear(); - } - else if (mode.equals("fr")) - { - TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); - playerdata.setFrozen(!playerdata.isFrozen()); - - sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); - p.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); - } - - return true; + TFM_Util.banUsername(p.getName(), null, null, null); + TFM_Util.bcastMsg(String.format("Banning Name: %s.", p.getName()), ChatColor.RED); + p.kickPlayer("Username banned by Administrator."); } - } + else if (mode.equals("ipban")) + { + String user_ip = p.getAddress().getAddress().getHostAddress(); + String[] ip_parts = user_ip.split("\\."); + if (ip_parts.length == 4) + { + user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]); + } + TFM_Util.bcastMsg(String.format("Banning IP: %s.", p.getName(), user_ip), ChatColor.RED); + TFM_Util.banIP(user_ip, null, null, null); + p.kickPlayer("IP address banned by Administrator."); + } + else if (mode.equals("ban")) + { + String user_ip = p.getAddress().getAddress().getHostAddress(); + String[] ip_parts = user_ip.split("\\."); + if (ip_parts.length == 4) + { + user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]); + } + TFM_Util.bcastMsg(String.format("Banning Name: %s, IP: %s.", p.getName(), user_ip), ChatColor.RED); + TFM_Util.banIP(user_ip, null, null, null); + TFM_Util.banUsername(p.getName(), null, null, null); + p.kickPlayer("IP and username banned by Administrator."); + } + else if (mode.equals("op")) + { + TFM_Util.bcastMsg(String.format("(%s: Opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); + p.setOp(false); + p.sendMessage(TotalFreedomMod.YOU_ARE_OP); + } + else if (mode.equals("deop")) + { + TFM_Util.bcastMsg(String.format("(%s: De-opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); + p.setOp(false); + p.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP); + } + else if (mode.equals("ci")) + { + p.getInventory().clear(); + } + else if (mode.equals("fr")) + { + TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); + playerdata.setFrozen(!playerdata.isFrozen()); - if (!mode.equals("list")) - { - sender.sendMessage(ChatColor.RED + "Invalid hash."); + sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); + p.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); + } + + return true; } } - else + + if (!mode.equals("list")) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + sender.sendMessage(ChatColor.RED + "Invalid hash."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gcmd.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gcmd.java index b073d3dd..833e538f 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gcmd.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gcmd.java @@ -1,71 +1,63 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_gcmd extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length < 2) { - if (args.length < 2) - { - return false; - } + return false; + } - Player p; - try - { - p = getPlayer(args[0]); - } - catch (CantFindPlayerException ex) - { - sender.sendMessage(ex.getMessage()); - return true; - } + Player p; + try + { + p = getPlayer(args[0]); + } + catch (CantFindPlayerException ex) + { + sender.sendMessage(ex.getMessage()); + return true; + } - String outcommand = ""; - try + String outcommand = ""; + try + { + StringBuilder outcommand_bldr = new StringBuilder(); + for (int i = 1; i < args.length; i++) { - StringBuilder outcommand_bldr = new StringBuilder(); - for (int i = 1; i < args.length; i++) - { - outcommand_bldr.append(args[i]).append(" "); - } - outcommand = outcommand_bldr.toString().trim(); - } - catch (Throwable ex) - { - sender.sendMessage(ChatColor.GRAY + "Error building command: " + ex.getMessage()); - return true; + outcommand_bldr.append(args[i]).append(" "); } + outcommand = outcommand_bldr.toString().trim(); + } + catch (Throwable ex) + { + sender.sendMessage(ChatColor.GRAY + "Error building command: " + ex.getMessage()); + return true; + } - try + try + { + sender.sendMessage(ChatColor.GRAY + "Sending command as " + p.getName() + ": " + outcommand); + if (server.dispatchCommand(p, outcommand)) { - sender.sendMessage(ChatColor.GRAY + "Sending command as " + p.getName() + ": " + outcommand); - if (server.dispatchCommand(p, outcommand)) - { - sender.sendMessage(ChatColor.GRAY + "Command sent."); - } - else - { - sender.sendMessage(ChatColor.GRAY + "Unknown error sending command."); - } + sender.sendMessage(ChatColor.GRAY + "Command sent."); } - catch (Throwable ex) + else { - sender.sendMessage(ChatColor.GRAY + "Error sending command: " + ex.getMessage()); + sender.sendMessage(ChatColor.GRAY + "Unknown error sending command."); } } - else + catch (Throwable ex) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + sender.sendMessage(ChatColor.GRAY + "Error sending command: " + ex.getMessage()); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_glist.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_glist.java index ec1db969..dc3b45bd 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_glist.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_glist.java @@ -2,15 +2,15 @@ package me.StevenLawson.TotalFreedomMod.Commands; import java.util.ArrayList; import java.util.List; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_UserList; import me.StevenLawson.TotalFreedomMod.TFM_UserList.TFM_UserListEntry; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; +import org.apache.commons.lang.StringUtils; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_glist extends TFM_Command { @Override @@ -21,97 +21,90 @@ public class Command_glist extends TFM_Command return false; } - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length == 1) { - if (args.length == 1) + if (args[0].equalsIgnoreCase("purge")) { - if (args[0].equalsIgnoreCase("purge")) - { - //Purge does not clear the banlist! This is not for clearing bans! This is for clearing the yaml file that stores the player/IP database! - TFM_UserList.getInstance(plugin).purge(); - return true; - } - else - { - return false; - } + //Purge does not clear the banlist! This is not for clearing bans! This is for clearing the yaml file that stores the player/IP database! + TFM_UserList.getInstance(plugin).purge(); + return true; } - else if (args.length != 2) + else { return false; } + } + else if (args.length != 2) + { + return false; + } - String username; - List ip_addresses = new ArrayList(); + String username; + List ip_addresses = new ArrayList(); - try + try + { + Player p = getPlayer(args[1]); + + username = p.getName(); + ip_addresses.add(p.getAddress().getAddress().getHostAddress()); + } + catch (CantFindPlayerException ex) + { + TFM_UserListEntry entry = TFM_UserList.getInstance(plugin).getEntry(args[1]); + + if (entry == null) { - Player p = getPlayer(args[1]); - - username = p.getName(); - ip_addresses.add(p.getAddress().getAddress().getHostAddress()); - } - catch (CantFindPlayerException ex) - { - TFM_UserListEntry entry = TFM_UserList.getInstance(plugin).getEntry(args[1]); - - if (entry == null) - { - sender.sendMessage("Can't find that user. If target is not logged in, make sure that you spelled the name exactly."); - return true; - } - - username = entry.getUsername(); - ip_addresses = entry.getIpAddresses(); + sender.sendMessage("Can't find that user. If target is not logged in, make sure that you spelled the name exactly."); + return true; } - String mode = args[0].toLowerCase(); - if (mode.equalsIgnoreCase("ban")) + username = entry.getUsername(); + ip_addresses = entry.getIpAddresses(); + } + + String mode = args[0].toLowerCase(); + if (mode.equalsIgnoreCase("ban")) + { + TFM_Util.adminAction(sender.getName(), "Banning " + username + " and IPs: " + StringUtils.join(ip_addresses, ","), true); + + Player p = server.getPlayerExact(username); + if (p != null) { - TFM_Util.adminAction(sender.getName(), "Banning " + username + " and IPs: " + TFM_Util.implodeStringList(",", ip_addresses), true); - - Player p = server.getPlayerExact(username); - if (p != null) - { - //p.setBanned(true); - TFM_Util.banUsername(p.getName(), null, null, null); - p.kickPlayer("IP and username banned by Administrator."); - } - else - { - //server.getOfflinePlayer(username).setBanned(true); - TFM_Util.banUsername(username, null, null, null); - } - - for (String ip_address : ip_addresses) - { - //server.banIP(ip_address); - TFM_Util.banIP(ip_address, null, null, null); - String[] ip_address_parts = ip_address.split("\\."); - //server.banIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*"); - TFM_Util.banIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*", null, null, null); - } + //p.setBanned(true); + TFM_Util.banUsername(p.getName(), null, null, null); + p.kickPlayer("IP and username banned by Administrator."); } - else if (mode.equalsIgnoreCase("unban")) + else { - TFM_Util.adminAction(sender.getName(), "Unbanning " + username + " and IPs: " + TFM_Util.implodeStringList(",", ip_addresses), true); + //server.getOfflinePlayer(username).setBanned(true); + TFM_Util.banUsername(username, null, null, null); + } - //server.getOfflinePlayer(username).setBanned(false); - TFM_Util.unbanUsername(username); - - for (String ip_address : ip_addresses) - { - //server.unbanIP(ip_address); - TFM_Util.unbanIP(ip_address); - String[] ip_address_parts = ip_address.split("\\."); - //server.unbanIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*"); - TFM_Util.unbanIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*"); - } + for (String ip_address : ip_addresses) + { + //server.banIP(ip_address); + TFM_Util.banIP(ip_address, null, null, null); + String[] ip_address_parts = ip_address.split("\\."); + //server.banIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*"); + TFM_Util.banIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*", null, null, null); } } - else + else if (mode.equalsIgnoreCase("unban")) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TFM_Util.adminAction(sender.getName(), "Unbanning " + username + " and IPs: " + StringUtils.join(ip_addresses, ","), true); + + //server.getOfflinePlayer(username).setBanned(false); + TFM_Util.unbanUsername(username); + + for (String ip_address : ip_addresses) + { + //server.unbanIP(ip_address); + TFM_Util.unbanIP(ip_address); + String[] ip_address_parts = ip_address.split("\\."); + //server.unbanIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*"); + TFM_Util.unbanIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*"); + } } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gtfo.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gtfo.java index 95e4e6eb..bdf9785e 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gtfo.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gtfo.java @@ -1,8 +1,6 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Location; @@ -10,6 +8,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_gtfo extends TFM_Command { @Override @@ -20,74 +19,66 @@ public class Command_gtfo extends TFM_Command return false; } - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + Player p; + try { - Player p; - try - { - p = getPlayer(args[0]); - } - catch (CantFindPlayerException ex) - { - sender.sendMessage(ex.getMessage()); - return true; - } + p = getPlayer(args[0]); + } + catch (CantFindPlayerException ex) + { + sender.sendMessage(ex.getMessage()); + return true; + } - TFM_Util.bcastMsg(p.getName() + " has been a VERY naughty, naughty boy.", ChatColor.RED); + TFM_Util.bcastMsg(p.getName() + " has been a VERY naughty, naughty boy.", ChatColor.RED); - //Undo WorldEdits: - if (senderIsConsole) - { - } - else - { - server.dispatchCommand(sender, String.format("/undo %d %s", 15, p.getName())); - } - - // deop - p.setOp(false); - - // set gamemode to survival: - p.setGameMode(GameMode.SURVIVAL); - - // clear inventory: - p.getInventory().clear(); - - // strike with lightning effect: - final Location target_pos = p.getLocation(); - for (int x = -1; x <= 1; x++) - { - for (int z = -1; z <= 1; z++) - { - final Location strike_pos = new Location(target_pos.getWorld(), target_pos.getBlockX() + x, target_pos.getBlockY(), target_pos.getBlockZ() + z); - target_pos.getWorld().strikeLightning(strike_pos); - } - } - - // ban IP address: - String user_ip = p.getAddress().getAddress().getHostAddress(); - String[] ip_parts = user_ip.split("\\."); - if (ip_parts.length == 4) - { - user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]); - } - TFM_Util.bcastMsg(String.format("Banning: %s, IP: %s.", p.getName(), user_ip), ChatColor.RED); - //server.banIP(user_ip); - TFM_Util.banIP(user_ip, null, null, null); - - // ban username: - // server.getOfflinePlayer(p.getName()).setBanned(true); - TFM_Util.banUsername(p.getName(), null, null, null); - - // kick Player: - p.kickPlayer("GTFO"); + //Undo WorldEdits: + if (senderIsConsole) + { } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + server.dispatchCommand(sender, String.format("/undo %d %s", 15, p.getName())); } - return true; + // deop + p.setOp(false); + // set gamemode to survival: + p.setGameMode(GameMode.SURVIVAL); + + // clear inventory: + p.getInventory().clear(); + + // strike with lightning effect: + final Location target_pos = p.getLocation(); + for (int x = -1; x <= 1; x++) + { + for (int z = -1; z <= 1; z++) + { + final Location strike_pos = new Location(target_pos.getWorld(), target_pos.getBlockX() + x, target_pos.getBlockY(), target_pos.getBlockZ() + z); + target_pos.getWorld().strikeLightning(strike_pos); + } + } + + // ban IP address: + String user_ip = p.getAddress().getAddress().getHostAddress(); + String[] ip_parts = user_ip.split("\\."); + if (ip_parts.length == 4) + { + user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]); + } + TFM_Util.bcastMsg(String.format("Banning: %s, IP: %s.", p.getName(), user_ip), ChatColor.RED); + //server.banIP(user_ip); + TFM_Util.banIP(user_ip, null, null, null); + + // ban username: + // server.getOfflinePlayer(p.getName()).setBanned(true); + TFM_Util.banUsername(p.getName(), null, null, null); + + // kick Player: + p.kickPlayer("GTFO"); + + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_halt.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_halt.java index c420fe8d..c1917407 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_halt.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_halt.java @@ -3,23 +3,17 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.GameMode; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_halt extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole)) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length != 1) { return false; @@ -107,7 +101,7 @@ public class Command_halt extends TFM_Command } } - private void setHalted(Player p, boolean is_halted) + private static void setHalted(Player p, boolean is_halted) { TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_kicknoob.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_kicknoob.java index 5ebcb389..95e06bba 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_kicknoob.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_kicknoob.java @@ -2,24 +2,18 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.BOTH, block_web_console = true, ignore_permissions = false) public class Command_kicknoob extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!senderIsConsole || TFM_Util.isFromClanforge(sender.getName())) - { - sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console."); - return true; - } - TFM_Util.adminAction(sender.getName(), "Disconnecting all non-superadmins.", true); - + for (Player p : server.getOnlinePlayers()) { if (!TFM_SuperadminList.isUserSuperadmin(p)) @@ -27,7 +21,7 @@ public class Command_kicknoob extends TFM_Command p.kickPlayer("Disconnected by admin."); } } - + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_landmine.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_landmine.java index 414e5281..d3a3c597 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_landmine.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_landmine.java @@ -10,16 +10,13 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_landmine extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); - } - else if (!TotalFreedomMod.landminesEnabled) + if (!TotalFreedomMod.landminesEnabled) { sender.sendMessage(ChatColor.GREEN + "The landmine is currently disabled."); } @@ -40,17 +37,13 @@ public class Command_landmine extends TFM_Command { } } - + Block landmine = sender_p.getLocation().getBlock().getRelative(BlockFace.DOWN); landmine.setType(Material.TNT); TFM_LandmineData.landmines.add(new TFM_LandmineData(landmine.getLocation(), sender_p, radius)); - + sender.sendMessage(ChatColor.GREEN + "Landmine planted. Radius: " + radius + " blocks."); } - else - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - } return true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lavadmg.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lavadmg.java index d2bbd918..45719b55 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lavadmg.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lavadmg.java @@ -1,37 +1,30 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_lavadmg extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length != 1) { - if (args.length != 1) - { - return false; - } + return false; + } - if (args[0].equalsIgnoreCase("on")) - { - TotalFreedomMod.allowLavaDamage = true; - sender.sendMessage("Lava damage is now enabled."); - } - else - { - TotalFreedomMod.allowLavaDamage = false; - sender.sendMessage("Lava damage is now disabled."); - } + if (args[0].equalsIgnoreCase("on")) + { + TotalFreedomMod.allowLavaDamage = true; + sender.sendMessage("Lava damage is now enabled."); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TotalFreedomMod.allowLavaDamage = false; + sender.sendMessage("Lava damage is now disabled."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lavaplace.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lavaplace.java index 9d5b7425..59c07ccf 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lavaplace.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lavaplace.java @@ -1,37 +1,30 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_lavaplace extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length != 1) { - if (args.length != 1) - { - return false; - } + return false; + } - if (args[0].equalsIgnoreCase("on")) - { - TotalFreedomMod.allowLavaPlace = true; - sender.sendMessage("Lava placement is now enabled."); - } - else - { - TotalFreedomMod.allowLavaPlace = false; - sender.sendMessage("Lava placement is now disabled."); - } + if (args[0].equalsIgnoreCase("on")) + { + TotalFreedomMod.allowLavaPlace = true; + sender.sendMessage("Lava placement is now enabled."); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TotalFreedomMod.allowLavaPlace = false; + sender.sendMessage("Lava placement is now disabled."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java index 671d6470..0677f6c8 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java @@ -10,6 +10,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = true) public class Command_list extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockup.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockup.java index 0bf2b829..71b435e7 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockup.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockup.java @@ -1,27 +1,20 @@ package me.StevenLawson.TotalFreedomMod.Commands; import java.util.Random; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitScheduler; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_lockup extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(senderIsConsole && TFM_SuperadminList.isSeniorAdmin(sender))) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length == 1) { if (args[0].equalsIgnoreCase("all")) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_moblimiter.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_moblimiter.java index 45e6d22f..67386b92 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_moblimiter.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_moblimiter.java @@ -1,23 +1,16 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; -import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, ignore_permissions = false) public class Command_moblimiter extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!senderIsConsole || TFM_Util.isFromClanforge(sender.getName())) - { - sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console."); - return true; - } - if (args.length < 1) { return false; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_mp.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_mp.java index 4240a643..302c4822 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_mp.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_mp.java @@ -1,40 +1,33 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.World; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.*; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_mp extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || sender.isOp()) - { - sender.sendMessage(ChatColor.GRAY + "Purging all mobs..."); + sender.sendMessage(ChatColor.GRAY + "Purging all mobs..."); - int removed = 0; - for (World world : server.getWorlds()) + int removed = 0; + for (World world : server.getWorlds()) + { + for (Entity ent : world.getLivingEntities()) { - for (Entity ent : world.getLivingEntities()) + if (ent instanceof Creature || ent instanceof Ghast || ent instanceof Slime || ent instanceof EnderDragon || ent instanceof Ambient) { - if (ent instanceof Creature || ent instanceof Ghast || ent instanceof Slime || ent instanceof EnderDragon || ent instanceof Ambient) - { - ent.remove(); - removed++; - } + ent.remove(); + removed++; } } + } - sender.sendMessage(ChatColor.GRAY + String.valueOf(removed) + " mobs removed."); - } - else - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - } + sender.sendMessage(ChatColor.GRAY + String.valueOf(removed) + " mobs removed."); return true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_mp44.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_mp44.java index ac548ade..29738c6f 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_mp44.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_mp44.java @@ -9,47 +9,39 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_mp44 extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); - } - else if (!TotalFreedomMod.mp44Enabled) + if (!TotalFreedomMod.mp44Enabled) { sender.sendMessage(ChatColor.GREEN + "The mp44 is currently disabled."); + return true; } - else if (sender.isOp()) + + if (args.length == 0) { - if (args.length == 0) - { - return false; - } + return false; + } - TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(sender_p); + TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(sender_p); - if (args[0].equalsIgnoreCase("draw")) - { - playerdata.armMP44(); - - sender.sendMessage(ChatColor.GREEN + "mp44 is ARMED! Left click with gunpowder to start firing, left click again to quit."); - sender.sendMessage(ChatColor.GREEN + "Type /mp44 sling to disable. -by Madgeek1450"); - - sender_p.setItemInHand(new ItemStack(Material.SULPHUR, 1)); - } - else - { - playerdata.disarmMP44(); - - sender.sendMessage(ChatColor.GREEN + "mp44 Disarmed."); - } + if (args[0].equalsIgnoreCase("draw")) + { + playerdata.armMP44(); + + sender.sendMessage(ChatColor.GREEN + "mp44 is ARMED! Left click with gunpowder to start firing, left click again to quit."); + sender.sendMessage(ChatColor.GREEN + "Type /mp44 sling to disable. -by Madgeek1450"); + + sender_p.setItemInHand(new ItemStack(Material.SULPHUR, 1)); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + playerdata.disarmMP44(); + + sender.sendMessage(ChatColor.GREEN + "mp44 Disarmed."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_nether.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_nether.java index 037be2a0..e4d3d5a9 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_nether.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_nether.java @@ -5,6 +5,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = true) public class Command_nether extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_nonuke.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_nonuke.java index ff096a22..cf2cd481 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_nonuke.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_nonuke.java @@ -1,23 +1,17 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_nonuke extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!senderIsConsole || TFM_Util.isFromClanforge(sender.getName())) - { - sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console."); - return true; - } - if (args.length < 1) { return false; @@ -57,7 +51,7 @@ public class Command_nonuke extends TFM_Command TotalFreedomMod.nukeMonitor = false; sender.sendMessage("Nuke monitor is disabled."); } - + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_onlinemode.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_onlinemode.java index 932cae78..639ba39f 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_onlinemode.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_onlinemode.java @@ -2,24 +2,18 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_Log; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import net.minecraft.server.MinecraftServer; import net.minecraft.server.PropertyManager; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_onlinemode extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length < 1) { sender.sendMessage("Server is currently running with 'online-mode=" + (server.getOnlineMode() ? "true" : "false") + "'."); diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_op.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_op.java index 722bcc85..50a57f26 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_op.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_op.java @@ -2,26 +2,18 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -//This command was coded initially by JeromSar - +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_op extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!sender.isOp()) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length != 1) { return false; @@ -54,7 +46,6 @@ public class Command_op extends TFM_Command TFM_Util.playerMsg(sender, "That player is not online."); TFM_Util.playerMsg(sender, "You don't have permissions to OP offline players.", ChatColor.YELLOW); return true; - } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_opall.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_opall.java index 4ffd23b9..5aadbf32 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_opall.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_opall.java @@ -1,6 +1,5 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.GameMode; @@ -8,45 +7,39 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_opall extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole) + TFM_Util.adminAction(sender.getName(), "Opping all players on the server", false); + + boolean doSetGamemode = false; + GameMode targetGamemode = GameMode.CREATIVE; + if (args.length != 0) { - TFM_Util.adminAction(sender.getName(), "Opping all players on the server", false); - - boolean doSetGamemode = false; - GameMode targetGamemode = GameMode.CREATIVE; - if (args.length != 0) + if (args[0].equals("-c")) { - if (args[0].equals("-c")) - { - doSetGamemode = true; - targetGamemode = GameMode.CREATIVE; - } - else if (args[0].equals("-s")) - { - doSetGamemode = true; - targetGamemode = GameMode.SURVIVAL; - } + doSetGamemode = true; + targetGamemode = GameMode.CREATIVE; } - - for (Player p : server.getOnlinePlayers()) + else if (args[0].equals("-s")) { - p.setOp(true); - p.sendMessage(TotalFreedomMod.YOU_ARE_OP); - - if (doSetGamemode) - { - p.setGameMode(targetGamemode); - } + doSetGamemode = true; + targetGamemode = GameMode.SURVIVAL; } } - else + + for (Player p : server.getOnlinePlayers()) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + p.setOp(true); + p.sendMessage(TotalFreedomMod.YOU_ARE_OP); + + if (doSetGamemode) + { + p.setGameMode(targetGamemode); + } } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_opme.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_opme.java index b8d231fb..d50b0e52 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_opme.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_opme.java @@ -1,32 +1,21 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_opme extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); - } - else if (TFM_SuperadminList.isUserSuperadmin(sender)) - { - TFM_Util.adminAction(sender.getName(), "Opping " + sender.getName(), false); - sender.setOp(true); - sender.sendMessage(TotalFreedomMod.YOU_ARE_OP); - } - else - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - } - + TFM_Util.adminAction(sender.getName(), "Opping " + sender.getName(), false); + sender.setOp(true); + sender.sendMessage(TotalFreedomMod.YOU_ARE_OP); + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ops.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ops.java index 73044e07..66fcdfdc 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ops.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ops.java @@ -8,17 +8,12 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_ops extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(senderIsConsole || sender.isOp())) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length < 1 || args.length > 1) { return false; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_orbit.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_orbit.java index f7139193..40ef23af 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_orbit.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_orbit.java @@ -1,9 +1,7 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.command.Command; @@ -11,63 +9,57 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_orbit extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length == 0) { - if (args.length == 0) - { - return false; - } + return false; + } - Player p; - try + Player p; + try + { + p = getPlayer(args[0]); + } + catch (CantFindPlayerException ex) + { + sender.sendMessage(ex.getMessage()); + return true; + } + + TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); + + double strength = 10.0; + + if (args.length >= 2) + { + if (TFM_Util.isStopCommand(args[1])) { - p = getPlayer(args[0]); - } - catch (CantFindPlayerException ex) - { - sender.sendMessage(ex.getMessage()); + sender.sendMessage(ChatColor.GRAY + "Stopped orbiting " + p.getName()); + playerdata.stopOrbiting(); return true; } - TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); - - double strength = 10.0; - - if (args.length >= 2) + try + { + strength = Math.max(1.0, Math.min(150.0, Double.parseDouble(args[1]))); + } + catch (NumberFormatException nfex) { - if (TFM_Util.isStopCommand(args[1])) - { - sender.sendMessage(ChatColor.GRAY + "Stopped orbiting " + p.getName()); - playerdata.stopOrbiting(); - return true; - } - - try - { - strength = Math.max(1.0, Math.min(150.0, Double.parseDouble(args[1]))); - } - catch (NumberFormatException nfex) - { - } } - - p.setGameMode(GameMode.SURVIVAL); - playerdata.startOrbiting(strength); - - p.setVelocity(new Vector(0, strength, 0)); - - sender.sendMessage(ChatColor.GRAY + "Orbiting " + p.getName()); - } - else - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); } + p.setGameMode(GameMode.SURVIVAL); + playerdata.startOrbiting(strength); + + p.setVelocity(new Vector(0, strength, 0)); + + sender.sendMessage(ChatColor.GRAY + "Orbiting " + p.getName()); + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_permban.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_permban.java index 5039397b..4fa56b33 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_permban.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_permban.java @@ -7,17 +7,12 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_permban extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!sender.isOp()) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length != 1) { return false; @@ -26,24 +21,19 @@ public class Command_permban extends TFM_Command if (args[0].equalsIgnoreCase("list")) { dumplist(sender); - return true; } - - if (!senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - - if (args[0].equalsIgnoreCase("reload")) + else if (args[0].equalsIgnoreCase("reload")) { TFM_Util.playerMsg(sender, "Reloading permban list...", ChatColor.RED); plugin.loadPermbanConfig(); dumplist(sender); - return true; + } + else + { + return false; } - return false; + return true; } private void dumplist(CommandSender sender) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_potion.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_potion.java index 6d19d0da..85a8f0af 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_potion.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_potion.java @@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands; import java.util.ArrayList; import java.util.List; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.apache.commons.lang.StringUtils; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -12,17 +11,12 @@ import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_potion extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!sender.isOp()) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length == 1 || args.length == 2) { if (args[0].equalsIgnoreCase("list")) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_prelog.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_prelog.java index 6f581c5d..048dfae9 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_prelog.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_prelog.java @@ -1,37 +1,30 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_prelog extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args.length != 1) { - if (args.length != 1) - { - return false; - } + return false; + } - if (args[0].equalsIgnoreCase("on")) - { - TotalFreedomMod.preprocessLogEnabled = true; - sender.sendMessage("Command preprocess logging is now enabled. This will be spammy in the log."); - } - else - { - TotalFreedomMod.preprocessLogEnabled = false; - sender.sendMessage("Command preprocess logging is now disabled."); - } + if (args[0].equalsIgnoreCase("on")) + { + TotalFreedomMod.preprocessLogEnabled = true; + sender.sendMessage("Command preprocess logging is now enabled. This will be spammy in the log."); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TotalFreedomMod.preprocessLogEnabled = false; + sender.sendMessage("Command preprocess logging is now disabled."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_protectarea.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_protectarea.java index 558dc91c..7474f114 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_protectarea.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_protectarea.java @@ -1,24 +1,18 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.apache.commons.lang.StringUtils; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_protectarea extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!TFM_SuperadminList.isUserSuperadmin(sender)) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (!TotalFreedomMod.protectedAreasEnabled) { sender.sendMessage("Protected areas are currently disabled in the TotalFreedomMod configuration."); @@ -34,7 +28,7 @@ public class Command_protectarea extends TFM_Command else if (args[0].equalsIgnoreCase("clear")) { TFM_ProtectedArea.clearProtectedAreas(); - + sender.sendMessage("Protected Areas Cleared."); } else @@ -97,7 +91,9 @@ public class Command_protectarea extends TFM_Command return true; } - - return false; + else + { + return false; + } } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java index be6c71d6..f794caf4 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java @@ -1,12 +1,12 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_qdeop extends TFM_Command { @Override @@ -17,12 +17,6 @@ public class Command_qdeop extends TFM_Command return false; } - if (!(senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - boolean silent = false; if (args.length == 2) { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qop.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qop.java index f9272a0f..7dc01ca5 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qop.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qop.java @@ -1,12 +1,12 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_qop extends TFM_Command { @Override @@ -17,12 +17,6 @@ public class Command_qop extends TFM_Command return false; } - if (!(senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - boolean silent = false; if (args.length == 2) { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_radar.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_radar.java index 68d267e9..829fec04 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_radar.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_radar.java @@ -4,24 +4,18 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import me.StevenLawson.TotalFreedomMod.TFM_RadarData; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_radar extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); - return true; - } - Location sender_pos = sender_p.getLocation(); List radar_data = new ArrayList(); diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rank.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rank.java index b7603c1c..7f4711df 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rank.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rank.java @@ -6,6 +6,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = true) public class Command_rank extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rawsay.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rawsay.java index c506219a..13c143fd 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rawsay.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rawsay.java @@ -1,30 +1,22 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import java.util.Arrays; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import org.bukkit.ChatColor; +import org.apache.commons.lang.StringUtils; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_rawsay extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!senderIsConsole || TFM_Util.isFromClanforge(sender.getName())) + if (args.length > 0) { - sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console."); - return true; + TFM_Util.bcastMsg(StringUtils.join(args, " ")); } - - if (args.length == 0) - { - return false; - } - - TFM_Util.bcastMsg(TFM_Util.implodeStringList(" ", Arrays.asList(args))); - + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rd.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rd.java index 7f510601..4516992b 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rd.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rd.java @@ -1,24 +1,17 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_rd extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - //This terminology is wrong, this doesn't remove *all* entities, by far. - Madgeek TFM_Util.adminAction(sender.getName(), "Removing all server entities.", false); sender.sendMessage(ChatColor.GRAY + String.valueOf(TFM_Util.wipeEntities(true, true)) + " enties removed."); diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_saconfig.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_saconfig.java index 6c42b5f6..d9fc0898 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_saconfig.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_saconfig.java @@ -10,6 +10,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_saconfig extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_say.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_say.java index 1ab62b55..5ba41305 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_say.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_say.java @@ -1,14 +1,13 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import java.util.Arrays; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; +import org.apache.commons.lang.StringUtils; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_say extends TFM_Command { @Override @@ -18,12 +17,12 @@ public class Command_say extends TFM_Command { return false; } - - String message = TFM_Util.implodeStringList(" ", Arrays.asList(args)); - if (senderIsConsole && sender.getName().equals("Rcon")) + String message = StringUtils.join(args, " "); + + if (senderIsConsole && TFM_Util.isFromClanforge(sender.getName())) { - if (message.equals("WARNING: Server is restarting, you will be kicked")) + if (message.equalsIgnoreCase("WARNING: Server is restarting, you will be kicked")) { TFM_Util.bcastMsg("Server is going offline.", ChatColor.GRAY); @@ -38,14 +37,7 @@ public class Command_say extends TFM_Command } } - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) - { - TFM_Util.bcastMsg(String.format("[Server:%s] %s", sender.getName(), message), ChatColor.LIGHT_PURPLE); - } - else - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - } + TFM_Util.bcastMsg(String.format("[Server:%s] %s", sender.getName(), message), ChatColor.LIGHT_PURPLE); return true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_setlevel.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_setlevel.java index 31818314..7c38c507 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_setlevel.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_setlevel.java @@ -1,39 +1,27 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_setlevel extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); - return true; - } - - if (!sender.isOp()) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args.length != 1) { return false; } - + int new_level; try { new_level = Integer.parseInt(args[0]); - + if (new_level < 0) { new_level = 0; @@ -50,9 +38,9 @@ public class Command_setlevel extends TFM_Command } sender_p.setLevel(new_level); - + sender.sendMessage(ChatColor.AQUA + "You have been set to level " + Integer.toString(new_level)); - + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_setspawnworld.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_setspawnworld.java index 2a022514..a4436b20 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_setspawnworld.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_setspawnworld.java @@ -1,7 +1,6 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; @@ -10,33 +9,22 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_setspawnworld extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole) - { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); - return true; - } - - if (!TFM_SuperadminList.isUserSuperadmin(sender)) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - Location pos = sender_p.getLocation(); sender_p.getWorld().setSpawnLocation(pos.getBlockX(), pos.getBlockY(), pos.getBlockZ()); - + sender.sendMessage(ChatColor.GRAY + "Spawn location for this world set to: " + TFM_Util.formatLocation(sender_p.getWorld().getSpawnLocation())); if (TotalFreedomMod.protectedAreasEnabled && TotalFreedomMod.autoProtectSpawnpoints) { TFM_ProtectedArea.addProtectedArea("spawn_" + sender_p.getWorld().getName(), pos, TotalFreedomMod.autoProtectRadius); } - + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_smite.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_smite.java index 728db0f9..1099387f 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_smite.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_smite.java @@ -1,8 +1,6 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Location; @@ -11,7 +9,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -// readded by JeromSar +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_smite extends TFM_Command { @Override @@ -22,12 +20,6 @@ public class Command_smite extends TFM_Command return false; } - if (!TFM_SuperadminList.isUserSuperadmin(sender)) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - Player p; try { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_status.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_status.java index 5b8fb43e..3a7ee7d0 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_status.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_status.java @@ -7,6 +7,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.ALL, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = true) public class Command_status extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stfu.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stfu.java index fedaf056..8d8862a1 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stfu.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stfu.java @@ -3,12 +3,11 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -//This command was coded initially by JeromSar +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_stfu extends TFM_Command { @Override @@ -19,12 +18,6 @@ public class Command_stfu extends TFM_Command return false; } - if (!(senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - if (args[0].equalsIgnoreCase("list")) { TFM_Util.playerMsg(sender, "Muted players:"); diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java index fa9bdc60..10163dd2 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java @@ -1,34 +1,26 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_stop extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) - { - TFM_Util.bcastMsg("Server is going offline.", ChatColor.GRAY); + TFM_Util.bcastMsg("Server is going offline.", ChatColor.GRAY); - for (Player p : server.getOnlinePlayers()) - { - p.kickPlayer("Server is going offline, come back in a few minutes."); - } - - server.shutdown(); - } - else + for (Player p : server.getOnlinePlayers()) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + p.kickPlayer("Server is going offline, come back in a few minutes."); } + server.shutdown(); + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_survival.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_survival.java index 42f64bc6..6b3a03f4 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_survival.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_survival.java @@ -1,12 +1,12 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.GameMode; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_survival extends TFM_Command { @Override @@ -21,12 +21,6 @@ public class Command_survival extends TFM_Command } } - if (!sender.isOp()) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - Player p; if (args.length == 0) { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tempban.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tempban.java index f67e3da9..e7662f4e 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tempban.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tempban.java @@ -2,15 +2,14 @@ package me.StevenLawson.TotalFreedomMod.Commands; import java.text.SimpleDateFormat; import java.util.Date; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_tempban extends TFM_Command { private static final SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z"); @@ -23,12 +22,6 @@ public class Command_tempban extends TFM_Command return false; } - if (!(senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - Player p; try { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_terminal.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_terminal.java index f4fc622e..5ac1dbb0 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_terminal.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_terminal.java @@ -1,23 +1,17 @@ package me.StevenLawson.TotalFreedomMod.Commands; import me.StevenLawson.TotalFreedomMod.TFM_RunSystemCommand; -import me.StevenLawson.TotalFreedomMod.TFM_Util; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_terminal extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!senderIsConsole || TFM_Util.isFromClanforge(sender.getName())) - { - sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console."); - return true; - } - String command; try { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tfbanlist.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tfbanlist.java index ff7be72b..2d659c77 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tfbanlist.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tfbanlist.java @@ -10,6 +10,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_tfbanlist extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tfipbanlist.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tfipbanlist.java index fc93b647..27990d85 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tfipbanlist.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tfipbanlist.java @@ -12,6 +12,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_tfipbanlist extends TFM_Command { @Override diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tossmob.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tossmob.java index c3db8fd7..538f4466 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tossmob.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_tossmob.java @@ -12,6 +12,7 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.ONLY_IN_GAME, ignore_permissions = false) public class Command_tossmob extends TFM_Command { @Override @@ -23,74 +24,63 @@ public class Command_tossmob extends TFM_Command return true; } - if (senderIsConsole) + TFM_UserInfo playerData = TFM_UserInfo.getPlayerData(sender_p); + + EntityType creature = EntityType.PIG; + if (args.length >= 1) { - sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE); + if (TFM_Util.isStopCommand(args[0])) + { + playerData.disableMobThrower(); + sender.sendMessage(ChatColor.GREEN + "MobThrower is disabled."); + return true; + } + + if (args[0].equalsIgnoreCase("list")) + { + sender.sendMessage(ChatColor.GREEN + "Supported mobs: " + StringUtils.join(TFM_Util.mobtypes.keySet(), ", ")); + return true; + } + + try + { + creature = TFM_Util.getEntityType(args[0]); + } + catch (Exception ex) + { + sender.sendMessage(ChatColor.RED + args[0] + " is not a supported mob type. Using a pig instead."); + sender.sendMessage(ChatColor.RED + "By the way, you can type /tossmob list to see all possible mobs."); + creature = EntityType.PIG; + } } - else if (sender.isOp()) + + double speed = 1.0; + if (args.length >= 2) { - TFM_UserInfo playerData = TFM_UserInfo.getPlayerData(sender_p); - - EntityType creature = EntityType.PIG; - if (args.length >= 1) + try { - if (TFM_Util.isStopCommand(args[0])) - { - playerData.disableMobThrower(); - sender.sendMessage(ChatColor.GREEN + "MobThrower is disabled."); - return true; - } - - if (args[0].equalsIgnoreCase("list")) - { - sender.sendMessage(ChatColor.GREEN + "Supported mobs: " + StringUtils.join(TFM_Util.mobtypes.keySet(), ", ")); - return true; - } - - try - { - creature = TFM_Util.getEntityType(args[0]); - } - catch (Exception ex) - { - sender.sendMessage(ChatColor.RED + args[0] + " is not a supported mob type. Using a pig instead."); - sender.sendMessage(ChatColor.RED + "By the way, you can type /tossmob list to see all possible mobs."); - creature = EntityType.PIG; - } + speed = Double.parseDouble(args[1]); } - - double speed = 1.0; - if (args.length >= 2) + catch (NumberFormatException nfex) { - try - { - speed = Double.parseDouble(args[1]); - } - catch (NumberFormatException nfex) - { - } } - - if (speed < 1.0) - { - speed = 1.0; - } - else if (speed > 5.0) - { - speed = 5.0; - } - - playerData.enableMobThrower(creature, speed); - sender.sendMessage(ChatColor.GREEN + "MobThrower is enabled. Creature: " + creature + " - Speed: " + speed + "."); - sender.sendMessage(ChatColor.GREEN + "Left click while holding a stick to throw mobs!"); - sender.sendMessage(ChatColor.GREEN + "Type '/tossmob off' to disable. -By Madgeek1450"); - - sender_p.setItemInHand(new ItemStack(Material.STICK, 1)); } - else + + if (speed < 1.0) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + speed = 1.0; } + else if (speed > 5.0) + { + speed = 5.0; + } + + playerData.enableMobThrower(creature, speed); + sender.sendMessage(ChatColor.GREEN + "MobThrower is enabled. Creature: " + creature + " - Speed: " + speed + "."); + sender.sendMessage(ChatColor.GREEN + "Left click while holding a stick to throw mobs!"); + sender.sendMessage(ChatColor.GREEN + "Type '/tossmob off' to disable. -By Madgeek1450"); + + sender_p.setItemInHand(new ItemStack(Material.STICK, 1)); return true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_uall.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_uall.java index ae41c4f9..c0489eda 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_uall.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_uall.java @@ -1,37 +1,29 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; -import org.bukkit.ChatColor; +import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -//This command was coded initially by JeromSar - +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_uall extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole)) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - TFM_Util.adminAction(sender.getName(), "Undisguising all players", true); - try + + if (senderIsConsole) { - for (Player p : server.getOnlinePlayers()) + for (Player p : Bukkit.getOnlinePlayers()) { server.dispatchCommand(p, "u"); } } - catch (Throwable e) + else { - sender.sendMessage(ChatColor.GRAY + "Error sending command: " + e.getMessage()); + server.dispatchCommand(sender, "u *"); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_waterplace.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_waterplace.java index 0287f44b..e24445b9 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_waterplace.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_waterplace.java @@ -6,32 +6,27 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_waterplace extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) - { - if (args.length != 1) - { - return false; - } - if (args[0].equalsIgnoreCase("on")) - { - TotalFreedomMod.allowWaterPlace = true; - sender.sendMessage("Water placement is now enabled."); - } - else - { - TotalFreedomMod.allowWaterPlace = false; - sender.sendMessage("Water placement is now disabled."); - } + if (args.length != 1) + { + return false; + } + + if (args[0].equalsIgnoreCase("on")) + { + TotalFreedomMod.allowWaterPlace = true; + sender.sendMessage("Water placement is now enabled."); } else { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + TotalFreedomMod.allowWaterPlace = false; + sender.sendMessage("Water placement is now disabled."); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_whitelist.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_whitelist.java index 3caf587b..341d0e75 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_whitelist.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_whitelist.java @@ -11,6 +11,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.OP, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_whitelist extends TFM_Command { @Override @@ -21,12 +22,6 @@ public class Command_whitelist extends TFM_Command return false; } - if (!sender.isOp()) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - // list if (args[0].equalsIgnoreCase("list")) { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_wildcard.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_wildcard.java index a8cf476f..e2789130 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_wildcard.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_wildcard.java @@ -1,38 +1,29 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import java.util.Arrays; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; -import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; +import org.apache.commons.lang.StringUtils; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, ignore_permissions = false) public class Command_wildcard extends TFM_Command { @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) + if (args[0].equals("wildcard")) { - if (args[0].equals("wildcard")) - { - sender.sendMessage("What the hell are you trying to do, you stupid idiot..."); - return true; - } - - String base_command = TFM_Util.implodeStringList(" ", Arrays.asList(args)); - - for (Player p : server.getOnlinePlayers()) - { - String out_command = base_command.replaceAll("\\x3f", p.getName()); - sender.sendMessage("Running Command: " + out_command); - server.dispatchCommand(sender, out_command); - } + sender.sendMessage("What the hell are you trying to do, you stupid idiot..."); + return true; } - else + + String base_command = StringUtils.join(args, " "); + + for (Player p : server.getOnlinePlayers()) { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); + String out_command = base_command.replaceAll("\\x3f", p.getName()); + sender.sendMessage("Running Command: " + out_command); + server.dispatchCommand(sender, out_command); } return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_wipeflatlands.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_wipeflatlands.java index fb2f8666..0acfe4a8 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_wipeflatlands.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_wipeflatlands.java @@ -1,24 +1,17 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_wipeflatlands extends TFM_Command { @Override public boolean run(final CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(senderIsConsole && TFM_SuperadminList.isSeniorAdmin(sender))) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - TFM_Util.setSavedFlag("do_wipe_flatlands", true); TFM_Util.bcastMsg("Server is going offline for flatlands wipe.", ChatColor.GRAY); diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ziptool.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ziptool.java index af2a6a2b..574050a4 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ziptool.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ziptool.java @@ -4,80 +4,74 @@ import java.io.File; import java.io.IOException; import me.StevenLawson.TotalFreedomMod.TFM_Log; import me.StevenLawson.TotalFreedomMod.TFM_Util; -import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +@CommandPermissions(level = ADMIN_LEVEL.SENIOR, source = SOURCE_TYPE_ALLOWED.ONLY_CONSOLE, block_web_console = true, ignore_permissions = false) public class Command_ziptool extends TFM_Command { - @Override - public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) - { - if (!senderIsConsole || TFM_Util.isFromClanforge(sender.getName())) - { - sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console."); - return true; - } - - if (args.length <= 1) - { - return false; - } - - if (args[0].equalsIgnoreCase("zip")) - { - File directory = new File("./" + args[1]); - - if (!directory.isDirectory()) - { - sender.sendMessage(directory.getPath() + " is not a directory."); - return true; - } - - File output = new File(directory.getParent() + "/" + directory.getName() + ".zip"); - - sender.sendMessage("Zipping '" + directory.getPath() + "' to '" + output.getPath() + "'."); - - try - { - TFM_Util.zip(directory, output, true, sender); - } - catch (IOException ex) - { - TFM_Log.severe(ex); - } - + @Override + public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) + { + if (args.length <= 1) + { + return false; + } + + if (args[0].equalsIgnoreCase("zip")) + { + File directory = new File("./" + args[1]); + + if (!directory.isDirectory()) + { + sender.sendMessage(directory.getPath() + " is not a directory."); + return true; + } + + File output = new File(directory.getParent() + "/" + directory.getName() + ".zip"); + + sender.sendMessage("Zipping '" + directory.getPath() + "' to '" + output.getPath() + "'."); + + try + { + TFM_Util.zip(directory, output, true, sender); + } + catch (IOException ex) + { + TFM_Log.severe(ex); + } + sender.sendMessage("Zip finished."); - } - else if (args[0].equalsIgnoreCase("unzip")) - { + } + else if (args[0].equalsIgnoreCase("unzip")) + { File output = new File(args[1]); - + if (!output.exists() || !output.isFile()) { sender.sendMessage(output.getPath() + " is not a file."); return true; } - - sender.sendMessage("Unzipping '" + output.getPath() + "'."); - - try - { - TFM_Util.unzip(output, output.getParentFile()); - } - catch (IOException ex) - { - TFM_Log.severe(ex); - } - - sender.sendMessage("Unzip finished."); - } - else - { - return false; - } - return true; - } + sender.sendMessage("Unzipping '" + output.getPath() + "'."); + + try + { + TFM_Util.unzip(output, output.getParentFile()); + } + catch (IOException ex) + { + TFM_Log.severe(ex); + } + + sender.sendMessage("Unzip finished."); + } + else + { + return false; + } + + return true; + } } diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java index 6e0286a0..02cfd66c 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java @@ -86,6 +86,7 @@ public class TFM_Util TFM_Util.bcastMsg(adminName + " - " + action, (isRed ? ChatColor.RED : ChatColor.AQUA)); } + @Deprecated public static String implodeStringList(String glue, List pieces) { return StringUtils.join(pieces, glue); diff --git a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java index a51a6a0e..1d4b936e 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java +++ b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java @@ -8,6 +8,7 @@ import me.StevenLawson.TotalFreedomMod.Listener.TFM_BlockListener; import me.StevenLawson.TotalFreedomMod.Listener.TFM_EntityListener; import me.StevenLawson.TotalFreedomMod.Listener.TFM_PlayerListener; import me.StevenLawson.TotalFreedomMod.Listener.TFM_WeatherListener; +import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.exception.ExceptionUtils; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -122,7 +123,7 @@ public class TotalFreedomMod extends JavaPlugin sender_p.getName(), ChatColor.stripColor(sender_p.getDisplayName()), commandLabel, - TFM_Util.implodeStringList(" ", Arrays.asList(args))), true); + StringUtils.join(args, " ")), true); } else { @@ -130,7 +131,7 @@ public class TotalFreedomMod extends JavaPlugin TFM_Log.info(String.format("[CONSOLE_COMMAND] %s: /%s %s", sender.getName(), commandLabel, - TFM_Util.implodeStringList(" ", Arrays.asList(args))), true); + StringUtils.join(args, " ")), true); } TFM_Command dispatcher;