From 88b8baa4eec46d365e6ff61d5bc3b787734e5dfa Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 20 Jul 2011 17:10:55 +0200 Subject: [PATCH 1/6] Fix: Unmute players, even if they have essentials.mute.exempt permission --- .../src/com/earth2me/essentials/commands/Commandmute.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandmute.java b/Essentials/src/com/earth2me/essentials/commands/Commandmute.java index 8c8c2e6bf..c6022cc5c 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandmute.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandmute.java @@ -22,7 +22,7 @@ public class Commandmute extends EssentialsCommand } User p = getPlayer(server, args, 0, true); - if (p.isAuthorized("essentials.mute.exempt")) + if (!p.isMuted() && p.isAuthorized("essentials.mute.exempt")) { sender.sendMessage(Util.i18n("muteExempt")); return; From 4dc1c8a559c68695e7a70ee4e51de9da2fdad555 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 20 Jul 2011 17:11:59 +0200 Subject: [PATCH 2/6] Socialspy for aliases of commands Adding tell as alias of msg --- .../essentials/EssentialsPlayerListener.java | 76 ++++++++++--------- Essentials/src/plugin.yml | 2 +- 2 files changed, 41 insertions(+), 37 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java index 36654b91f..19affb252 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java @@ -1,5 +1,8 @@ package com.earth2me.essentials; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.logging.Level; @@ -34,13 +37,13 @@ public class EssentialsPlayerListener extends PlayerListener private static final Logger LOGGER = Logger.getLogger("Minecraft"); private final transient Server server; private final transient IEssentials ess; - + public EssentialsPlayerListener(final IEssentials parent) { this.ess = parent; this.server = parent.getServer(); } - + @Override public void onPlayerRespawn(final PlayerRespawnEvent event) { @@ -52,7 +55,7 @@ public class EssentialsPlayerListener extends PlayerListener user.setDisplayName(user.getNick()); } } - + @Override public void onPlayerChat(final PlayerChatEvent event) { @@ -82,7 +85,7 @@ public class EssentialsPlayerListener extends PlayerListener user.setDisplayName(user.getNick()); } } - + @Override public void onPlayerMove(final PlayerMoveEvent event) { @@ -91,28 +94,28 @@ public class EssentialsPlayerListener extends PlayerListener return; } final User user = ess.getUser(event.getPlayer()); - + if (user.isAfk()) { user.setAfk(false); ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName())); } - + if (!ess.getSettings().getNetherPortalsEnabled()) { return; } - + final Block block = event.getPlayer().getWorld().getBlockAt(event.getTo().getBlockX(), event.getTo().getBlockY(), event.getTo().getBlockZ()); final List worlds = server.getWorlds(); - + if (block.getType() == Material.PORTAL && worlds.size() > 1 && user.isAuthorized("essentials.portal")) { if (user.getJustPortaled()) { return; } - + World nether = server.getWorld(ess.getSettings().getNetherName()); if (nether == null) { @@ -130,7 +133,7 @@ public class EssentialsPlayerListener extends PlayerListener } } final World world = user.getWorld() == nether ? worlds.get(0) : nether; - + double factor; if (user.getWorld().getEnvironment() == World.Environment.NETHER && world.getEnvironment() == World.Environment.NORMAL) { @@ -144,12 +147,12 @@ public class EssentialsPlayerListener extends PlayerListener { factor = 1.0; } - + Location loc = event.getTo(); int x = loc.getBlockX(); int y = loc.getBlockY(); int z = loc.getBlockZ(); - + if (user.getWorld().getBlockAt(x, y, z - 1).getType() == Material.PORTAL) { z--; @@ -158,11 +161,11 @@ public class EssentialsPlayerListener extends PlayerListener { x--; } - + x = (int)(x * factor); z = (int)(z * factor); loc = new Location(world, x + .5, y, z + .5); - + Block dest = world.getBlockAt(x, y, z); NetherPortal portal = NetherPortal.findPortal(dest); if (portal == null) @@ -181,7 +184,7 @@ public class EssentialsPlayerListener extends PlayerListener user.sendMessage(Util.i18n("usingPortal")); loc = portal.getSpawn(); } - + event.setFrom(loc); event.setTo(loc); try @@ -194,14 +197,14 @@ public class EssentialsPlayerListener extends PlayerListener } user.setJustPortaled(true); user.sendMessage(Util.i18n("teleportingPortal")); - + event.setCancelled(true); return; } - + user.setJustPortaled(false); } - + @Override public void onPlayerQuit(final PlayerQuitEvent event) { @@ -244,7 +247,7 @@ public class EssentialsPlayerListener extends PlayerListener thread.setPriority(Thread.MIN_PRIORITY); thread.start(); } - + @Override public void onPlayerJoin(final PlayerJoinEvent event) { @@ -258,7 +261,7 @@ public class EssentialsPlayerListener extends PlayerListener user.kickPlayer(banReason != null && !banReason.isEmpty() ? banReason : Util.i18n("defaultBanReason")); return; } - + if (ess.getSettings().changeDisplayName()) { user.setDisplayName(user.getNick()); @@ -268,7 +271,7 @@ public class EssentialsPlayerListener extends PlayerListener { user.setSleepingIgnored(true); } - + if (!ess.getSettings().isCommandDisabled("motd") && user.isAuthorized("essentials.motd")) { for (String m : ess.getMotd(user, null)) @@ -280,7 +283,7 @@ public class EssentialsPlayerListener extends PlayerListener user.sendMessage(m); } } - + if (!ess.getSettings().isCommandDisabled("mail") && user.isAuthorized("essentials.mail")) { final List mail = user.getMails(); @@ -294,7 +297,7 @@ public class EssentialsPlayerListener extends PlayerListener } } } - + @Override public void onPlayerLogin(final PlayerLoginEvent event) { @@ -304,24 +307,24 @@ public class EssentialsPlayerListener extends PlayerListener } final User user = ess.getUser(event.getPlayer()); user.setNPC(false); - + if (user.isBanned()) { final String banReason = user.getBanReason(); event.disallow(Result.KICK_BANNED, banReason != null && !banReason.isEmpty() ? banReason : Util.i18n("defaultBanReason")); return; } - + if (server.getOnlinePlayers().length >= server.getMaxPlayers() && !user.isAuthorized("essentials.joinfullserver")) { event.disallow(Result.KICK_FULL, Util.i18n("serverFull")); return; } - + user.setLastLogin(System.currentTimeMillis()); updateCompass(user); } - + private void updateCompass(final User user) { try @@ -332,7 +335,7 @@ public class EssentialsPlayerListener extends PlayerListener { } } - + @Override public void onPlayerTeleport(PlayerTeleportEvent event) { @@ -347,7 +350,7 @@ public class EssentialsPlayerListener extends PlayerListener } updateCompass(user); } - + @Override public void onPlayerInteract(final PlayerInteractEvent event) { @@ -359,7 +362,7 @@ public class EssentialsPlayerListener extends PlayerListener { return; } - + if (ess.getSettings().getBedSetsHome() && event.getClickedBlock().getType() == Material.BED_BLOCK) { try @@ -373,7 +376,7 @@ public class EssentialsPlayerListener extends PlayerListener } } } - + @Override public void onPlayerEggThrow(final PlayerEggThrowEvent event) { @@ -385,7 +388,7 @@ public class EssentialsPlayerListener extends PlayerListener user.updateInventory(); } } - + @Override public void onPlayerBucketEmpty(final PlayerBucketEmptyEvent event) { @@ -402,13 +405,13 @@ public class EssentialsPlayerListener extends PlayerListener }); } } - + @Override public void onPlayerAnimation(final PlayerAnimationEvent event) { usePowertools(event); } - + private void usePowertools(final PlayerAnimationEvent event) { if (event.getAnimationType() != PlayerAnimationType.ARM_SWING) @@ -443,7 +446,7 @@ public class EssentialsPlayerListener extends PlayerListener user.getServer().dispatchCommand(user, command); } } - + @Override public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) { @@ -453,7 +456,8 @@ public class EssentialsPlayerListener extends PlayerListener } final User user = ess.getUser(event.getPlayer()); final String cmd = event.getMessage().toLowerCase().split(" ")[0].replace("/", "").toLowerCase(); - if (("msg".equals(cmd) || "r".equals(cmd) || "mail".equals(cmd))) + final List commands = Arrays.asList("msg", "r", "mail", "m" , "t","emsg","tell","er","reply","ereply","email"); + if (commands.contains(cmd)) { for (Player player : ess.getServer().getOnlinePlayers()) { diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index 26bcf5806..39dd25a45 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -179,7 +179,7 @@ commands: msg: description: Sends a private message to the specified player. usage: / - aliases: [m,t,emsg] + aliases: [m,t,emsg,tell] mute: description: Mutes or unmutes a player. usage: / [player] From 165a71cd238b7a774f89e25a3f365c9ac741efb1 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 20 Jul 2011 17:25:32 +0200 Subject: [PATCH 3/6] Added VanishNoPickup 1.9.12+essentials1 From 309a983d8ffe009256cccb84cdb085a63ffd56ea Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 20 Jul 2011 18:19:26 +0200 Subject: [PATCH 4/6] Cleanup --- .../essentials/EssentialsPlayerListener.java | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java index 19affb252..d6299f387 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java @@ -37,13 +37,13 @@ public class EssentialsPlayerListener extends PlayerListener private static final Logger LOGGER = Logger.getLogger("Minecraft"); private final transient Server server; private final transient IEssentials ess; - + public EssentialsPlayerListener(final IEssentials parent) { this.ess = parent; this.server = parent.getServer(); } - + @Override public void onPlayerRespawn(final PlayerRespawnEvent event) { @@ -55,7 +55,7 @@ public class EssentialsPlayerListener extends PlayerListener user.setDisplayName(user.getNick()); } } - + @Override public void onPlayerChat(final PlayerChatEvent event) { @@ -85,7 +85,7 @@ public class EssentialsPlayerListener extends PlayerListener user.setDisplayName(user.getNick()); } } - + @Override public void onPlayerMove(final PlayerMoveEvent event) { @@ -94,28 +94,28 @@ public class EssentialsPlayerListener extends PlayerListener return; } final User user = ess.getUser(event.getPlayer()); - + if (user.isAfk()) { user.setAfk(false); ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName())); } - + if (!ess.getSettings().getNetherPortalsEnabled()) { return; } - + final Block block = event.getPlayer().getWorld().getBlockAt(event.getTo().getBlockX(), event.getTo().getBlockY(), event.getTo().getBlockZ()); final List worlds = server.getWorlds(); - + if (block.getType() == Material.PORTAL && worlds.size() > 1 && user.isAuthorized("essentials.portal")) { if (user.getJustPortaled()) { return; } - + World nether = server.getWorld(ess.getSettings().getNetherName()); if (nether == null) { @@ -133,7 +133,7 @@ public class EssentialsPlayerListener extends PlayerListener } } final World world = user.getWorld() == nether ? worlds.get(0) : nether; - + double factor; if (user.getWorld().getEnvironment() == World.Environment.NETHER && world.getEnvironment() == World.Environment.NORMAL) { @@ -147,12 +147,12 @@ public class EssentialsPlayerListener extends PlayerListener { factor = 1.0; } - + Location loc = event.getTo(); int x = loc.getBlockX(); int y = loc.getBlockY(); int z = loc.getBlockZ(); - + if (user.getWorld().getBlockAt(x, y, z - 1).getType() == Material.PORTAL) { z--; @@ -161,11 +161,11 @@ public class EssentialsPlayerListener extends PlayerListener { x--; } - + x = (int)(x * factor); z = (int)(z * factor); loc = new Location(world, x + .5, y, z + .5); - + Block dest = world.getBlockAt(x, y, z); NetherPortal portal = NetherPortal.findPortal(dest); if (portal == null) @@ -184,7 +184,7 @@ public class EssentialsPlayerListener extends PlayerListener user.sendMessage(Util.i18n("usingPortal")); loc = portal.getSpawn(); } - + event.setFrom(loc); event.setTo(loc); try @@ -197,14 +197,14 @@ public class EssentialsPlayerListener extends PlayerListener } user.setJustPortaled(true); user.sendMessage(Util.i18n("teleportingPortal")); - + event.setCancelled(true); return; } - + user.setJustPortaled(false); } - + @Override public void onPlayerQuit(final PlayerQuitEvent event) { @@ -247,7 +247,7 @@ public class EssentialsPlayerListener extends PlayerListener thread.setPriority(Thread.MIN_PRIORITY); thread.start(); } - + @Override public void onPlayerJoin(final PlayerJoinEvent event) { @@ -261,7 +261,7 @@ public class EssentialsPlayerListener extends PlayerListener user.kickPlayer(banReason != null && !banReason.isEmpty() ? banReason : Util.i18n("defaultBanReason")); return; } - + if (ess.getSettings().changeDisplayName()) { user.setDisplayName(user.getNick()); @@ -271,7 +271,7 @@ public class EssentialsPlayerListener extends PlayerListener { user.setSleepingIgnored(true); } - + if (!ess.getSettings().isCommandDisabled("motd") && user.isAuthorized("essentials.motd")) { for (String m : ess.getMotd(user, null)) @@ -283,7 +283,7 @@ public class EssentialsPlayerListener extends PlayerListener user.sendMessage(m); } } - + if (!ess.getSettings().isCommandDisabled("mail") && user.isAuthorized("essentials.mail")) { final List mail = user.getMails(); @@ -297,7 +297,7 @@ public class EssentialsPlayerListener extends PlayerListener } } } - + @Override public void onPlayerLogin(final PlayerLoginEvent event) { @@ -307,24 +307,24 @@ public class EssentialsPlayerListener extends PlayerListener } final User user = ess.getUser(event.getPlayer()); user.setNPC(false); - + if (user.isBanned()) { final String banReason = user.getBanReason(); event.disallow(Result.KICK_BANNED, banReason != null && !banReason.isEmpty() ? banReason : Util.i18n("defaultBanReason")); return; } - + if (server.getOnlinePlayers().length >= server.getMaxPlayers() && !user.isAuthorized("essentials.joinfullserver")) { event.disallow(Result.KICK_FULL, Util.i18n("serverFull")); return; } - + user.setLastLogin(System.currentTimeMillis()); updateCompass(user); } - + private void updateCompass(final User user) { try @@ -335,7 +335,7 @@ public class EssentialsPlayerListener extends PlayerListener { } } - + @Override public void onPlayerTeleport(PlayerTeleportEvent event) { @@ -350,7 +350,7 @@ public class EssentialsPlayerListener extends PlayerListener } updateCompass(user); } - + @Override public void onPlayerInteract(final PlayerInteractEvent event) { @@ -362,7 +362,7 @@ public class EssentialsPlayerListener extends PlayerListener { return; } - + if (ess.getSettings().getBedSetsHome() && event.getClickedBlock().getType() == Material.BED_BLOCK) { try @@ -376,7 +376,7 @@ public class EssentialsPlayerListener extends PlayerListener } } } - + @Override public void onPlayerEggThrow(final PlayerEggThrowEvent event) { @@ -388,7 +388,7 @@ public class EssentialsPlayerListener extends PlayerListener user.updateInventory(); } } - + @Override public void onPlayerBucketEmpty(final PlayerBucketEmptyEvent event) { @@ -405,13 +405,13 @@ public class EssentialsPlayerListener extends PlayerListener }); } } - + @Override public void onPlayerAnimation(final PlayerAnimationEvent event) { usePowertools(event); } - + private void usePowertools(final PlayerAnimationEvent event) { if (event.getAnimationType() != PlayerAnimationType.ARM_SWING) @@ -446,7 +446,7 @@ public class EssentialsPlayerListener extends PlayerListener user.getServer().dispatchCommand(user, command); } } - + @Override public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) { @@ -456,7 +456,7 @@ public class EssentialsPlayerListener extends PlayerListener } final User user = ess.getUser(event.getPlayer()); final String cmd = event.getMessage().toLowerCase().split(" ")[0].replace("/", "").toLowerCase(); - final List commands = Arrays.asList("msg", "r", "mail", "m" , "t","emsg","tell","er","reply","ereply","email"); + final List commands = Arrays.asList("msg", "r", "mail", "m", "t", "emsg", "tell", "er", "reply", "ereply", "email"); if (commands.contains(cmd)) { for (Player player : ess.getServer().getOnlinePlayers()) From 4d830805eaf9f14f56a53d4ab303e7bd346c6132 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 20 Jul 2011 18:20:12 +0200 Subject: [PATCH 5/6] Spawnmob sign --- .../essentials/signs/SignSpawnmob.java | 47 +++++++++++++++++++ .../com/earth2me/essentials/signs/Signs.java | 1 + 2 files changed, 48 insertions(+) create mode 100644 Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java diff --git a/Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java b/Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java new file mode 100644 index 000000000..071b61be1 --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java @@ -0,0 +1,47 @@ +package com.earth2me.essentials.signs; + +import com.earth2me.essentials.ChargeException; +import com.earth2me.essentials.IEssentials; +import com.earth2me.essentials.Trade; +import com.earth2me.essentials.User; +import com.earth2me.essentials.commands.Commandspawnmob; + + +public class SignSpawnmob extends EssentialsSign +{ + + public SignSpawnmob() + { + super("Spawnmob"); + } + + @Override + protected boolean onSignCreate(ISign sign, User player, String username, IEssentials ess) throws SignException, ChargeException + { + validateInteger(sign, 1); + validateTrade(sign, 3, ess); + return true; + } + + @Override + protected boolean onSignInteract(ISign sign, User player, String username, IEssentials ess) throws SignException, ChargeException + { + final Trade charge = getTrade(sign, 3, ess); + charge.isAffordableFor(player); + Commandspawnmob command = new Commandspawnmob(); + command.setEssentials(ess); + String[] args = new String[] { + sign.getLine(2), sign.getLine(1) + }; + try + { + command.run(ess.getServer(), player, "spawnmob", args); + } + catch (Exception ex) + { + throw new SignException(ex.getMessage(), ex); + } + charge.charge(player); + return true; + } +} diff --git a/Essentials/src/com/earth2me/essentials/signs/Signs.java b/Essentials/src/com/earth2me/essentials/signs/Signs.java index 18913ff10..53ed1d6b0 100644 --- a/Essentials/src/com/earth2me/essentials/signs/Signs.java +++ b/Essentials/src/com/earth2me/essentials/signs/Signs.java @@ -11,6 +11,7 @@ public enum Signs MAIL(new SignMail()), PROTECTION(new SignProtection()), SELL(new SignSell()), + SPAWNMOB(new SignSpawnmob()), TIME(new SignTime()), TRADE(new SignTrade()), WARP(new SignWarp()), From 3fdda556d389d479e13a8df046cd8d02671102cf Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 20 Jul 2011 18:36:29 +0200 Subject: [PATCH 6/6] Revert "I don't think we need this anymore." This reverts commit afdc46e277090214a6ff233c4ed8477139d7f332. Also inverted it, so it works now again. --- Essentials/src/com/earth2me/essentials/User.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java index bba843999..b1392a2e6 100644 --- a/Essentials/src/com/earth2me/essentials/User.java +++ b/Essentials/src/com/earth2me/essentials/User.java @@ -251,6 +251,10 @@ public class User extends UserData implements Comparable, IReplyTo, IUser nickname.insert(0, prefix); nickname.append(suffix); + if (suffix.length() < 2 || !suffix.substring(suffix.length() - 2, suffix.length() - 1).equals("§")) + { + nickname.append("§f"); + } return nickname.toString(); }