From cc29ebbbc986505aec5976d7cb52125be29b025d 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 8828fb0868e62c2a412da63ea38ed8ce4486ca71 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 4bb1185bd569726160d398dbd98a0ae89a272d89 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 --- lib/VanishNoPickup.jar | Bin 0 -> 33416 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/VanishNoPickup.jar diff --git a/lib/VanishNoPickup.jar b/lib/VanishNoPickup.jar new file mode 100644 index 0000000000000000000000000000000000000000..e3cb1eb76f859849956cb80b217356bd432c8f7f GIT binary patch literal 33416 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 literal 0 HcmV?d00001 From 2530a5018fb698aa1140a407d3bea3634abab8f3 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 feb1c53004feb2b258adbb990b1f1153fb323582 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 06dc9c25af8805243c8b24743d08c215fe8800b3 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 83b71eef5ed18ee352707c06b40d4c2133f0cdf6. 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(); }