From fbc8d20fda4868e0ed340232d441650b1a40f97b Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 15:57:39 +0100 Subject: [PATCH 01/12] Minimal Stuff --- .../TotalFreedomMod/Commands/Command_fuckoff.java | 1 - src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fuckoff.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fuckoff.java index 90ef2e4b..39254b58 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fuckoff.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fuckoff.java @@ -1,7 +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.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java index a49e6dcd..9e81d2a0 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java @@ -15,7 +15,11 @@ import org.bukkit.World; public class TFM_ProtectedArea implements Serializable { - public static final double MAX_RADIUS = 50.0D; + // Serializable Classes need one of these apperantly + private static final long serialVersionUID = 1L; + + + public static final double MAX_RADIUS = 50.0D; private static Map protectedAreas = new HashMap(); private final SerializableLocation center_location; private final double radius; From 488d721a93fad6955a57501c58d54a031eb1fd93 Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 16:16:09 +0100 Subject: [PATCH 02/12] Fixed Auto-Decaps not working Added Removal of excessive exclamation marks --- .../Listener/TFM_PlayerListener.java | 16 ++++++++++++++-- .../TotalFreedomMod/TFM_ProtectedArea.java | 9 ++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index ed22a20b..e127100c 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -325,21 +325,33 @@ public class TFM_PlayerListener implements Listener TFM_Util.playerMsg(p, "Message was shortened because it was too long to send."); } - // check for caps + + // check for caps and exclamation marks if (message.length() >= 6) { int caps = 0; + int excl = 0; for (char c : message.toCharArray()) { if (Character.isUpperCase(c)) { caps++; } + + if(c == '!') + { + excl++; + } } - if (((float) caps / (float) message.length()) > 0.75) //Compute a ratio so that longer sentences can have more caps. + if (caps > 6 || caps > 3 && ((float) caps / (float) message.length()) > 0.55) { message = message.toLowerCase(); } + + if(excl++ > 3) + { + message = message.replaceAll("!", "") + '!'; + } } // finally, set message diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java index 9e81d2a0..b0362d28 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java @@ -15,11 +15,10 @@ import org.bukkit.World; public class TFM_ProtectedArea implements Serializable { - // Serializable Classes need one of these apperantly - private static final long serialVersionUID = 1L; - - - public static final double MAX_RADIUS = 50.0D; + // Serializable Classes need one of these apperantly + private static final long serialVersionUID = 1L; + + public static final double MAX_RADIUS = 50.0D; private static Map protectedAreas = new HashMap(); private final SerializableLocation center_location; private final double radius; From 09c0208de5b7c929a908380f09769bb53fe282d5 Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 16:20:54 +0100 Subject: [PATCH 03/12] Fixed players being able to use /qdeop --- .../StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java index 82bd69a3..5b2fb0e2 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_qdeop.java @@ -1,5 +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.command.Command; @@ -16,7 +17,7 @@ public class Command_qdeop extends TFM_Command return false; } - if (!(senderIsConsole || sender.isOp())) + if (!(TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole)) { sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); return true; From 68a225ed7efef43fcacaad894f715c86dddfa100 Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 16:25:34 +0100 Subject: [PATCH 04/12] hehe --- .../TotalFreedomMod/Listener/TFM_PlayerListener.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index e127100c..5b3492a8 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -99,7 +99,10 @@ public class TFM_PlayerListener implements Listener } case BLAZE_ROD: { - if (TotalFreedomMod.allowExplosions && (player.getName().equals("Madgeek1450") || player.getName().equals("markbyron"))) + if (TotalFreedomMod.allowExplosions && ( + player.getName().equals("Madgeek1450") + || player.getName().equals("markbyron") + || player.getName().equals("DarthSalamon"))) { Block target_block = null; From a1047b1811478fe3465cc2f8ea4804ad92b291cb Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 16:40:17 +0100 Subject: [PATCH 05/12] Prevent Muted players from using certain commands Prevent non-superadmins from using /socialspy --- .../Listener/TFM_PlayerListener.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 5b3492a8..24cd762b 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -26,6 +26,8 @@ import org.bukkit.util.Vector; public class TFM_PlayerListener implements Listener { private static final SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z"); + + private static final String[] MutedCommands = {"^/msg", "^/m","^/reply", "^/r", "^/tell", "^/me"}; @EventHandler(priority = EventPriority.HIGH) public void onPlayerInteract(PlayerInteractEvent event) @@ -472,6 +474,14 @@ public class TFM_PlayerListener implements Listener { block_command = true; } + else if (Pattern.compile("^/clear").matcher(command).find()) + { + block_command = true; + } + else if (TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/socialspy").matcher(command).find()) + { + block_command = true; + } } if (block_command) @@ -480,6 +490,20 @@ public class TFM_PlayerListener implements Listener event.setCancelled(true); return; } + + // block muted commands + if(playerdata.isMuted()) + { + for(String mc : MutedCommands) + { + if (Pattern.compile(mc).matcher(command).find()) + { + p.sendMessage(ChatColor.RED + "You are muted, STFU!"); + event.setCancelled(true); + return; + } + } + } } @EventHandler(priority = EventPriority.NORMAL) From a696a8b23bfd4fee24b865afd2fb3ff0df62c788 Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 16:48:23 +0100 Subject: [PATCH 06/12] Make commands guess players by nickname --- .../StevenLawson/TotalFreedomMod/Commands/TFM_Command.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/TFM_Command.java b/src/me/StevenLawson/TotalFreedomMod/Commands/TFM_Command.java index b493e3e6..ba4d5828 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/TFM_Command.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/TFM_Command.java @@ -36,6 +36,13 @@ public class TFM_Command List matches = server.matchPlayer(partialname); if (matches.isEmpty()) { + for(Player p : server.getOnlinePlayers()) + { + if(p.getDisplayName().toLowerCase().indexOf(partialname) != -1) + { + return p; + } + } throw new CantFindPlayerException(partialname); } else From 477c8ffdd030dbb0f8229084adb206913b7d35ad Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 17:03:00 +0100 Subject: [PATCH 07/12] minor changes --- .../TotalFreedomMod/Commands/Command_cage.java | 4 ++-- .../TotalFreedomMod/Commands/Command_fuckoff.java | 8 +------- .../TotalFreedomMod/Commands/Command_gadmin.java | 15 +++++++-------- .../TotalFreedomMod/Commands/Command_list.java | 6 +++--- .../TotalFreedomMod/Commands/Command_orbit.java | 5 ++--- .../TotalFreedomMod/Commands/Command_permban.java | 10 ++-------- .../TotalFreedomMod/Commands/Command_rank.java | 2 +- .../TotalFreedomMod/Commands/Command_rd.java | 3 ++- .../TotalFreedomMod/Commands/Command_stop.java | 2 +- src/me/StevenLawson/TotalFreedomMod/TFM_Util.java | 6 +----- 10 files changed, 22 insertions(+), 39 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cage.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cage.java index 3bf3cf20..30405353 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cage.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_cage.java @@ -43,6 +43,7 @@ public class Command_cage extends TFM_Command { if (TFM_Util.isStopCommand(args[1])) { + TFM_Util.adminAction(sender.getName(), "Uncaging " + p.getName(), true); playerdata.setCaged(false); playerdata.regenerateHistory(); playerdata.clearHistory(); @@ -80,8 +81,7 @@ public class Command_cage extends TFM_Command TFM_Util.generateCube(target_pos, 1, playerdata.getCageMaterial(TFM_UserInfo.CageLayer.INNER)); p.setGameMode(GameMode.SURVIVAL); - - TFM_Util.bcastMsg(sender.getName() + " caged " + p.getName() + "!", ChatColor.YELLOW); + TFM_Util.adminAction(sender.getName(), "Caging " + p.getName(), true); } else { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fuckoff.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fuckoff.java index 39254b58..451bf3ff 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fuckoff.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_fuckoff.java @@ -17,13 +17,7 @@ public class Command_fuckoff extends TFM_Command return true; } - if (!TFM_SuperadminList.isUserSuperadmin(sender)) - { - sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); - return true; - } - - if (!TFM_SuperadminList.isSeniorAdmin(sender_p)) + if (!(TFM_SuperadminList.isUserSuperadmin(sender) || !TFM_SuperadminList.isSeniorAdmin(sender_p))) { sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gadmin.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gadmin.java index d94c57b9..579ffaf7 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gadmin.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_gadmin.java @@ -34,7 +34,6 @@ public class Command_gadmin extends TFM_Command if (mode.equals("list")) { sender.sendMessage(ChatColor.GRAY + String.format("[ %s ] : [ %s ] - %s", - p.getName(), ChatColor.stripColor(p.getDisplayName()), hash)); } @@ -42,13 +41,14 @@ public class Command_gadmin extends TFM_Command { if (mode.equals("kick")) { + TFM_Util.adminAction(sender.getName(), "Kicking " + p.getName(), true); 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); + TFM_Util.adminAction(sender.getName(), "Banning name: " + p.getName(), true); p.kickPlayer("Username banned by Administrator."); } else if (mode.equals("ipban")) @@ -59,7 +59,7 @@ public class Command_gadmin extends TFM_Command { 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.adminAction(sender.getName(), "Banning name: " + p.getName(), true); //server.banIP(user_ip); TFM_Util.banIP(user_ip, null, null, null); p.kickPlayer("IP address banned by Administrator."); @@ -72,8 +72,7 @@ public class Command_gadmin extends TFM_Command { 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); + TFM_Util.adminAction(sender.getName(), "Banning " + p.getName() + ", IP " + user_ip, true); //server.getOfflinePlayer(p.getName()).setBanned(true); TFM_Util.banIP(user_ip, null, null, null); TFM_Util.banUsername(p.getName(), null, null, null); @@ -81,13 +80,13 @@ public class Command_gadmin extends TFM_Command } else if (mode.equals("op")) { - TFM_Util.bcastMsg(String.format("(%s: Opping %s)", sender.getName(), p.getName()), ChatColor.GRAY); + TFM_Util.adminAction(sender.getName(), "Opping " + p.getName(), false); 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); + TFM_Util.adminAction(sender.getName(), "De-opping " + p.getName(), false); p.setOp(false); p.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP); } @@ -100,7 +99,7 @@ public class Command_gadmin extends TFM_Command TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); playerdata.setFrozen(!playerdata.isFrozen()); - sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); + TFM_Util.adminAction(sender.getName(), "Freezing " + p.getName(), false); p.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java index 671d6470..ec3215c0 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java @@ -33,13 +33,13 @@ public class Command_list extends TFM_Command { if (TFM_SuperadminList.isUserSuperadmin(p)) { - if (p.isOp()) + if(TFM_SuperadminList.isSeniorAdmin(p)) { - prefix = (ChatColor.GOLD + "[SA+OP]"); + prefix = (ChatColor.GOLD + "[SenAdmin]"); } else { - prefix = (ChatColor.GOLD + "[SA]"); + prefix = (ChatColor.RED + "[SupAdmin]"); } } else diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_orbit.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_orbit.java index f7139193..59c0bbbf 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_orbit.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_orbit.java @@ -4,7 +4,6 @@ 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; import org.bukkit.command.CommandSender; @@ -42,7 +41,7 @@ public class Command_orbit extends TFM_Command { if (TFM_Util.isStopCommand(args[1])) { - sender.sendMessage(ChatColor.GRAY + "Stopped orbiting " + p.getName()); + TFM_Util.adminAction(sender.getName(), "Stopping " + p.getName() + "'s Orbit", true); playerdata.stopOrbiting(); return true; } @@ -61,7 +60,7 @@ public class Command_orbit extends TFM_Command p.setVelocity(new Vector(0, strength, 0)); - sender.sendMessage(ChatColor.GRAY + "Orbiting " + p.getName()); + TFM_Util.adminAction(sender.getName(), "Orbiting " + p.getName(), true); } else { diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_permban.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_permban.java index 5039397b..3e789ec3 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_permban.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_permban.java @@ -55,10 +55,7 @@ public class Command_permban extends TFM_Command else { TFM_Util.playerMsg(sender, TotalFreedomMod.permbanned_players.size() + " permanently banned players:"); - for (String player_name : TotalFreedomMod.permbanned_players) - { - TFM_Util.playerMsg(sender, "- " + player_name); - } + TFM_Util.playerMsg(sender, ChatColor.GRAY + TFM_Util.implodeStringList(", ", TotalFreedomMod.permbanned_players)); } if (TotalFreedomMod.permbanned_ips.isEmpty()) @@ -68,10 +65,7 @@ public class Command_permban extends TFM_Command else { TFM_Util.playerMsg(sender, TotalFreedomMod.permbanned_ips.size() + " permanently banned IPs:"); - for (String ip_address : TotalFreedomMod.permbanned_ips) - { - TFM_Util.playerMsg(sender, "- " + ip_address); - } + TFM_Util.playerMsg(sender, ChatColor.GRAY + TFM_Util.implodeStringList(", ", TotalFreedomMod.permbanned_ips)); } } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rank.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rank.java index b7603c1c..211c011e 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rank.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rank.java @@ -27,7 +27,7 @@ public class Command_rank extends TFM_Command if (args.length == 0) { - TFM_Util.playerMsg(sender, sender.getName() + " is " + TFM_Util.getRank(sender), ChatColor.AQUA); + TFM_Util.bcastMsg(sender.getName() + " is " + TFM_Util.getRank(sender), ChatColor.AQUA); return true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rd.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rd.java index 7f510601..0877cf92 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rd.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_rd.java @@ -19,7 +19,8 @@ public class Command_rd extends TFM_Command return true; } - //This terminology is wrong, this doesn't remove *all* entities, by far. - Madgeek + // This terminology is wrong, this doesn't remove *all* entities, by far. - Madgeek + // Back when I was just a player, I didn't even know what "entity" meant... :P - Darth 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_stop.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java index fa9bdc60..e6c38ccc 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java @@ -15,7 +15,7 @@ public class Command_stop extends TFM_Command { if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)) { - TFM_Util.bcastMsg("Server is going offline.", ChatColor.GRAY); + TFM_Util.bcastMsg("Server is going offline!", ChatColor.LIGHT_PURPLE); for (Player p : server.getOnlinePlayers()) { diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java index 62d74a95..f497ff2d 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java @@ -68,19 +68,16 @@ public class TFM_Util TFM_Util.bcastMsg(message, null); } - //JeromSar public static void playerMsg(CommandSender sender, String message, ChatColor color) { sender.sendMessage(color + message); } - //JeromSar public static void playerMsg(CommandSender sender, String message) { TFM_Util.playerMsg(sender, message, ChatColor.GRAY); } - //JeromSar public static void adminAction(String adminName, String action, boolean isRed) { TFM_Util.bcastMsg(adminName + " - " + action, (isRed ? ChatColor.RED : ChatColor.AQUA)); @@ -544,7 +541,6 @@ public class TFM_Util return TFM_SuperadminList.isSuperadminImpostor(user); } - //JeromSar public static String getRank(CommandSender sender) { if (TFM_SuperadminList.isSuperadminImpostor(sender)) @@ -574,7 +570,7 @@ public class TFM_Util } else { - return "an " + ChatColor.RED + "admin" + ChatColor.AQUA + "."; + return "a " + ChatColor.RED + "super admin" + ChatColor.AQUA + "."; } } } From ea151d63e4dcbe5192cb45a55a1e49a4309ec27e Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 19:27:54 +0100 Subject: [PATCH 08/12] Fix for ops using /packet for spamming Need appinfo,properties, Eclipse doesnt generate it Fixed SerialVersion UID Made SuperAdmin Stand out in /list --- .gitignore | 1 - .../StevenLawson/TotalFreedomMod/Commands/Command_list.java | 4 ++-- .../TotalFreedomMod/Listener/TFM_PlayerListener.java | 6 +++++- src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java | 5 ++--- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 3910da63..d9bf3150 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ /nbproject/private/ /dist/ /build/ -appinfo.properties buildnumber.properties # eclipse excludes (JeromSar) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java index ec3215c0..2d94e897 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java @@ -35,11 +35,11 @@ public class Command_list extends TFM_Command { if(TFM_SuperadminList.isSeniorAdmin(p)) { - prefix = (ChatColor.GOLD + "[SenAdmin]"); + prefix = (ChatColor.LIGHT_PURPLE + "[SenAdmin]"); } else { - prefix = (ChatColor.RED + "[SupAdmin]"); + prefix = (ChatColor.GOLD + "[SupAdmin]"); } } else diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 24cd762b..4c7230f3 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -478,7 +478,11 @@ public class TFM_PlayerListener implements Listener { block_command = true; } - else if (TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/socialspy").matcher(command).find()) + else if (!TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/socialspy").matcher(command).find()) + { + block_command = true; + } + else if (!TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/packet").matcher(command).find()) { block_command = true; } diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java index b0362d28..3bae4181 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java @@ -15,10 +15,9 @@ import org.bukkit.World; public class TFM_ProtectedArea implements Serializable { - // Serializable Classes need one of these apperantly - private static final long serialVersionUID = 1L; - public static final double MAX_RADIUS = 50.0D; + private static final long serialVersionUID = -3270338811000937254L; + public static final double MAX_RADIUS = 50.0D; private static Map protectedAreas = new HashMap(); private final SerializableLocation center_location; private final double radius; From feaac20a5a3b87c022fc05d232aba6c2d959cc72 Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Tue, 27 Nov 2012 17:00:18 +0100 Subject: [PATCH 09/12] Minor Changes --- .gitignore | 1 + build.xml | 9 --------- nbproject/genfiles.properties | 2 +- nbproject/project.properties | 17 ++++++++++------- .../TotalFreedomMod/TFM_ProtectedArea.java | 4 ++-- .../StevenLawson/TotalFreedomMod/TFM_Util.java | 4 ++-- 6 files changed, 16 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index d9bf3150..9abe1582 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /dist/ /build/ buildnumber.properties +appinfo.properties # eclipse excludes (JeromSar) .project diff --git a/build.xml b/build.xml index 41876061..14ce5c6f 100644 --- a/build.xml +++ b/build.xml @@ -71,13 +71,4 @@ nbproject/build-impl.xml file. --> - - - - - - - - - diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index 947ef47f..932e837d 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -1,6 +1,6 @@ build.xml.data.CRC32=7bf70ec5 build.xml.script.CRC32=b1031e10 -build.xml.stylesheet.CRC32=28e38971@1.44.1.45 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=7bf70ec5 diff --git a/nbproject/project.properties b/nbproject/project.properties index 276473c3..bc9f8125 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -4,7 +4,7 @@ annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output application.title=TotalFreedomMod -application.vendor=Michael +application.vendor=Jerom build.classes.dir=${build.dir}/classes build.classes.excludes=**/*.java,**/*.form # This directory is removed when the project is cleaned: @@ -27,14 +27,17 @@ dist.jar=${dist.dir}/TotalFreedomMod.jar dist.javadoc.dir=${dist.dir}/javadoc endorsed.classpath= excludes= +file.reference.bukkit-1.4.5-R0.2.jar=C:\\Users\\Jerom\\Desktop\\Jerom\\Java\\Libaries\\bukkit-1.4.5-R0.2.jar +file.reference.craftbukkit-TF.jar=C:\\Users\\Jerom\\Desktop\\Jerom\\Java\\Libaries\\craftbukkit-TF.jar includes=** jar.archive.disabled=${jnlp.enabled} jar.compress=false jar.index=${jnlp.enabled} javac.classpath=\ - ${libs.CraftBukkit.classpath} + ${file.reference.craftbukkit-TF.jar}:\ + ${file.reference.bukkit-1.4.5-R0.2.jar} # Space-separated list of extra javac options -javac.compilerargs=-Xlint:unchecked -Xlint:deprecation +javac.compilerargs= javac.deprecation=false javac.processorpath=\ ${javac.classpath} @@ -65,7 +68,7 @@ jnlp.signed=false jnlp.signing= jnlp.signing.alias= jnlp.signing.keystore= -main.class=totalfreedommod.TotalFreedomMod +main.class= manifest.file=manifest.mf meta.inf.dir=${src.dir}/META-INF mkdist.disabled=false @@ -73,9 +76,9 @@ platform.active=default_platform run.classpath=\ ${javac.classpath}:\ ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project -# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value -# or test-sys-prop.name=value to set system properties for unit tests): +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: run.jvmargs= run.test.classpath=\ ${javac.test.classpath}:\ diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java index 3bae4181..9c1b1ed6 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java @@ -15,9 +15,9 @@ import org.bukkit.World; public class TFM_ProtectedArea implements Serializable { + private static final long serialVersionUID = -3270338811000937254L; - private static final long serialVersionUID = -3270338811000937254L; - public static final double MAX_RADIUS = 50.0D; + public static final double MAX_RADIUS = 50.0D; private static Map protectedAreas = new HashMap(); private final SerializableLocation center_location; private final double radius; diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java index f497ff2d..db0aa7d5 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java @@ -566,11 +566,11 @@ public class TFM_Util if (admin_entry.isSeniorAdmin()) { - return "a " + ChatColor.GOLD + "senior admin" + ChatColor.AQUA + "."; + return "a " + ChatColor.GOLD + "Senior Admin" + ChatColor.AQUA + "."; } else { - return "a " + ChatColor.RED + "super admin" + ChatColor.AQUA + "."; + return "a " + ChatColor.RED + "Super Admin" + ChatColor.AQUA + "."; } } } From 878199c2d5731a88cd7b9ce25acc06e4bd33276a Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Tue, 27 Nov 2012 17:20:09 +0100 Subject: [PATCH 10/12] Let me figure this out --- .gitignore | 5 +++-- build.xml | 9 +++++++++ nbproject/project.properties | 11 ++++------- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 9abe1582..b7fb9a96 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,12 @@ -# netbeans excludes (StevenLawson) +# netbeans excludes - StevenLawson & JeromSar /nbproject/private/ /dist/ /build/ buildnumber.properties appinfo.properties +manifest.mf -# eclipse excludes (JeromSar) +# eclipse excludes - JeromSar (old) .project .classpath /bin/ diff --git a/build.xml b/build.xml index 14ce5c6f..27eaefae 100644 --- a/build.xml +++ b/build.xml @@ -71,4 +71,13 @@ nbproject/build-impl.xml file. --> + + + + + + + + + diff --git a/nbproject/project.properties b/nbproject/project.properties index bc9f8125..629deeea 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -4,7 +4,7 @@ annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output application.title=TotalFreedomMod -application.vendor=Jerom +application.vendor=Madgeek1450/DarthSalamon build.classes.dir=${build.dir}/classes build.classes.excludes=**/*.java,**/*.form # This directory is removed when the project is cleaned: @@ -27,17 +27,14 @@ dist.jar=${dist.dir}/TotalFreedomMod.jar dist.javadoc.dir=${dist.dir}/javadoc endorsed.classpath= excludes= -file.reference.bukkit-1.4.5-R0.2.jar=C:\\Users\\Jerom\\Desktop\\Jerom\\Java\\Libaries\\bukkit-1.4.5-R0.2.jar -file.reference.craftbukkit-TF.jar=C:\\Users\\Jerom\\Desktop\\Jerom\\Java\\Libaries\\craftbukkit-TF.jar includes=** jar.archive.disabled=${jnlp.enabled} jar.compress=false jar.index=${jnlp.enabled} javac.classpath=\ - ${file.reference.craftbukkit-TF.jar}:\ - ${file.reference.bukkit-1.4.5-R0.2.jar} -# Space-separated list of extra javac options -javac.compilerargs= + \# Space-separated list of extra javac options:\ + ${libs.CraftBukkit.classpath} +javac.compilerargs=-Xlint:unchecked -Xlint:deprecation javac.deprecation=false javac.processorpath=\ ${javac.classpath} From 92a6bbce946dd45b7bae12363b778a7b29707a48 Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Tue, 27 Nov 2012 20:02:39 +0100 Subject: [PATCH 11/12] Added message repeat prevention --- .../Listener/TFM_PlayerListener.java | 16 +++++++++++++--- .../TotalFreedomMod/TFM_UserInfo.java | 11 +++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 4c7230f3..49b48210 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -208,7 +208,7 @@ public class TFM_PlayerListener implements Listener { Location target_pos = p.getLocation().add(0, 1, 0); - boolean out_of_cage = false; + boolean out_of_cage; if (!target_pos.getWorld().equals(playerdata.getCagePos().getWorld())) { out_of_cage = true; @@ -287,10 +287,22 @@ public class TFM_PlayerListener implements Listener try { final Player p = event.getPlayer(); + String message = event.getMessage().trim(); TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); playerdata.incrementMsgCount(); + // check for message repeat + if(playerdata.getLastMessage().equalsIgnoreCase(message)) + { + TFM_Util.playerMsg(p, "Please do not repeat messages."); + event.setCancelled(true); + playerdata.setLastMessage(message); + return; + } + + playerdata.setLastMessage(message); + // check for spam if (playerdata.getMsgCount() > 10) { @@ -318,8 +330,6 @@ public class TFM_PlayerListener implements Listener } } - String message = event.getMessage().trim(); - // strip color from messages message = ChatColor.stripColor(message); diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_UserInfo.java b/src/me/StevenLawson/TotalFreedomMod/TFM_UserInfo.java index be8a351b..f2e1f3e6 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_UserInfo.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_UserInfo.java @@ -45,6 +45,7 @@ public class TFM_UserInfo private boolean mp44_armed = false; private boolean mp44_firing = false; private int lockup_schedule_id = -1; + private String last_message = ""; public TFM_UserInfo(Player player) { @@ -406,4 +407,14 @@ public class TFM_UserInfo { this.lockup_schedule_id = lockup_schedule_id; } + + public void setLastMessage(String last_message) + { + this.last_message = last_message; + } + + public String getLastMessage() + { + return this.last_message; + } } From e0cf28a0552c4e158111f9f0a58d3f7079bd5d20 Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 28 Nov 2012 17:35:31 +0100 Subject: [PATCH 12/12] Added /ro --- .../Commands/Command_explosives.java | 3 + .../Commands/Command_list.java | 4 +- .../TotalFreedomMod/Commands/Command_ro.java | 81 +++++++++++++++++++ .../TotalFreedomMod/TFM_Util.java | 4 +- src/plugin.yml | 5 +- 5 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 src/me/StevenLawson/TotalFreedomMod/Commands/Command_ro.java diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_explosives.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_explosives.java index 78ca75cc..5c6f9758 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_explosives.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_explosives.java @@ -1,5 +1,6 @@ package me.StevenLawson.TotalFreedomMod.Commands; +import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -24,6 +25,8 @@ public class Command_explosives extends TFM_Command } catch (NumberFormatException nfex) { + TFM_Util.playerMsg(sender, nfex.getMessage()); + return true; } } diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java index e21f2794..2b50f9e3 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_list.java @@ -36,11 +36,11 @@ public class Command_list extends TFM_Command { if(TFM_SuperadminList.isSeniorAdmin(p)) { - prefix = (ChatColor.LIGHT_PURPLE + "[SenAdmin]"); + prefix = (ChatColor.LIGHT_PURPLE + "[SrA]"); } else { - prefix = (ChatColor.GOLD + "[SupAdmin]"); + prefix = (ChatColor.GOLD + "[SA]"); } } else diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ro.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ro.java new file mode 100644 index 00000000..480d4f22 --- /dev/null +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_ro.java @@ -0,0 +1,81 @@ +package me.StevenLawson.TotalFreedomMod.Commands; + +import me.StevenLawson.TotalFreedomMod.TFM_Util; +import org.bukkit.ChatColor; +import org.bukkit.Material; +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, block_web_console = false, ignore_permissions = false) +public class Command_ro extends TFM_Command +{ + @Override + public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) + { + if(args.length < 1 || args.length > 3) { + return false; + } + + int radius = 50; + Player target_player = null; + Material target_block = Material.matchMaterial(args[0]); + + if (target_block == null) + { + TFM_Util.playerMsg(sender, "Invalid block!"); + return true; + } + + if(args.length >= 2) + { + try + { + radius = Integer.parseInt(args[1]); + } + catch(NumberFormatException nfex) + { + TFM_Util.playerMsg(sender, nfex.getMessage()); + return true; + } + if(radius > 3000) + { + TFM_Util.playerMsg(sender, "What the hell are you trying to do, you stupid idiot!", ChatColor.RED); + return true; + } + } + + if(args.length == 3) + { + try + { + target_player = getPlayer(args[2]); + } + catch (CantFindPlayerException ex) + { + sender.sendMessage(ex.getMessage()); + return true; + } + } + + + if(target_player == null) + { + for(Player p : server.getOnlinePlayers()) + { + boolean is_Op = p.isOp(); + p.setOp(true); + server.dispatchCommand(p, "/removenear " + target_block.getId() + " " + radius); + p.setOp(is_Op); + } + } + else + { + boolean is_Op = target_player.isOp(); + target_player.setOp(true); + server.dispatchCommand(target_player, "/removenear " + target_block.getId() + " " + radius); + target_player.setOp(is_Op); + } + return true; + } +} \ No newline at end of file diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java index 97cc3eb0..1ac70d6b 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_Util.java @@ -567,11 +567,11 @@ public class TFM_Util if (admin_entry.isSeniorAdmin()) { - return "a " + ChatColor.GOLD + "Senior Admin" + ChatColor.AQUA + "."; + return "a " + ChatColor.LIGHT_PURPLE + "Senior Admin" + ChatColor.AQUA + "."; } else { - return "a " + ChatColor.RED + "Super Admin" + ChatColor.AQUA + "."; + return "a " + ChatColor.GOLD + "Super Admin" + ChatColor.AQUA + "."; } } } diff --git a/src/plugin.yml b/src/plugin.yml index bdd5ab5c..4896985c 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -162,8 +162,11 @@ commands: description: Owner Command - Broadcasts the given message with no extra formatting. usage: / rd: - description: Remove all projectiles, dropped items, experience orbs, primed explosives, and minecarts. Minecarts are optional, based on if "carts" is included after the command. + description: Superadmin command - Remove all projectiles, dropped items, experience orbs, primed explosives, and minecarts. Minecarts are optional, based on if "carts" is included after the command. usage: / + ro: + description: Superadmin Command - Remove all blocks of a certain type in the radius of certain players. + usage: / [radius (default=50)] [player] saconfig: description: Owner command - Manage superadmins. usage: / >