From 1b725c79990e542e8bd9736c4131592bf7f5b0a6 Mon Sep 17 00:00:00 2001 From: ementalo Date: Wed, 29 Aug 2012 11:51:36 +0100 Subject: Fixing speed and enderchest on 3.0 --- Essentials/src/net/ess3/api/IUser.java | 4 ++++ .../src/net/ess3/commands/Commandenderchest.java | 14 +++++------ Essentials/src/net/ess3/commands/Commandspeed.java | 28 ++++++++++++---------- .../src/net/ess3/permissions/Permissions.java | 5 +++- Essentials/src/net/ess3/settings/Commands.java | 1 + .../src/net/ess3/settings/commands/Speed.java | 17 +++++++++++++ Essentials/src/net/ess3/user/User.java | 3 +++ 7 files changed, 51 insertions(+), 21 deletions(-) create mode 100644 Essentials/src/net/ess3/settings/commands/Speed.java diff --git a/Essentials/src/net/ess3/api/IUser.java b/Essentials/src/net/ess3/api/IUser.java index b2ef0ff5e..800c8aa64 100644 --- a/Essentials/src/net/ess3/api/IUser.java +++ b/Essentials/src/net/ess3/api/IUser.java @@ -114,6 +114,10 @@ public interface IUser extends OfflinePlayer, CommandSender, IStorageObjectHolde boolean isInvSee(); void setInvSee(boolean invsee); + + boolean isEnderSee(); + + void setEnderSee(boolean endersee); boolean hasInvulnerabilityAfterTeleport(); diff --git a/Essentials/src/net/ess3/commands/Commandenderchest.java b/Essentials/src/net/ess3/commands/Commandenderchest.java index bfff72a62..8fc725835 100644 --- a/Essentials/src/net/ess3/commands/Commandenderchest.java +++ b/Essentials/src/net/ess3/commands/Commandenderchest.java @@ -1,24 +1,24 @@ package net.ess3.commands; -import net.ess3.user.User; -import org.bukkit.Server; +import net.ess3.api.IUser; +import net.ess3.permissions.Permissions; public class Commandenderchest extends EssentialsCommand { @Override - protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception + protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception { - if (args.length > 0 && user.isAuthorized("essentials.enderchest.others")) + if (args.length > 0 && Permissions.ENDERCHEST_OTHERS.isAuthorized(user)) { - final User invUser = getPlayer(server, args, 0); - user.openInventory(invUser.getEnderChest()); + final IUser invUser = ess.getUserMap().getUser(args[0]); + user.getPlayer().openInventory(invUser.getPlayer().getEnderChest()); user.setEnderSee(true); } else { - user.openInventory(user.getEnderChest()); + user.getPlayer().openInventory(user.getPlayer().getEnderChest()); user.setEnderSee(false); } diff --git a/Essentials/src/net/ess3/commands/Commandspeed.java b/Essentials/src/net/ess3/commands/Commandspeed.java index e724580da..cb20da50b 100644 --- a/Essentials/src/net/ess3/commands/Commandspeed.java +++ b/Essentials/src/net/ess3/commands/Commandspeed.java @@ -1,6 +1,8 @@ package net.ess3.commands; -import net.ess3.user.User; +import static net.ess3.I18n._; +import net.ess3.api.IUser; +import net.ess3.permissions.Permissions; import org.bukkit.Server; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -10,7 +12,7 @@ public class Commandspeed extends EssentialsCommand { @Override - protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception + protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception { if (args.length < 2) { @@ -22,7 +24,7 @@ public class Commandspeed extends EssentialsCommand } @Override - protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception + protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception { if (args.length < 1) { @@ -31,7 +33,7 @@ public class Commandspeed extends EssentialsCommand boolean isFly; float speed; - boolean isBypass = user.isAuthorized("essentials.speed.bypass"); + boolean isBypass = Permissions.SPEED_BYPASS.isAuthorized(user); if (args.length == 1) { //isFly = user.isFlying(); @@ -49,7 +51,7 @@ public class Commandspeed extends EssentialsCommand //} isFly = true; speed = getMoveSpeed(args[0]); - if (user.isAuthorized("essentials.speed.others")) + if (Permissions.SPEED_OTHERS.isAuthorized(user)) { speedOtherPlayers(server, user, isFly, isBypass, speed, args[1]); return; @@ -58,8 +60,8 @@ public class Commandspeed extends EssentialsCommand //if (isFly) //{ - user.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass)); - user.sendMessage(_("moveSpeed", _("flying"), speed, user.getDisplayName())); + user.getPlayer().setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass)); + user.sendMessage(_("moveSpeed", _("flying"), speed, user.getPlayer().getDisplayName())); //} //else //{ @@ -77,11 +79,11 @@ public class Commandspeed extends EssentialsCommand matchPlayer.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass)); sender.sendMessage(_("moveSpeed", _("flying"), speed, matchPlayer.getDisplayName())); } - else - { - matchPlayer.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass)); - sender.sendMessage(_("moveSpeed", _("walking"), speed, matchPlayer.getDisplayName())); - } + //else + // { + // matchPlayer.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass)); + // sender.sendMessage(_("moveSpeed", _("walking"), speed, matchPlayer.getDisplayName())); + // } } } @@ -132,7 +134,7 @@ public class Commandspeed extends EssentialsCommand float maxSpeed = 1f; if (!isBypass) { - maxSpeed = (float)(isFly ? ess.getSettings().getMaxFlySpeed() : ess.getSettings().getMaxWalkSpeed()); + maxSpeed = ess.getSettings().getData().getCommands().getSpeed().getMaxFlySpeed();// : ess.getSettings().ess.getSettings().getData().getCommands().getSpeed()getMaxWalkSpeed()); } if (userSpeed < 1f) diff --git a/Essentials/src/net/ess3/permissions/Permissions.java b/Essentials/src/net/ess3/permissions/Permissions.java index a005dab38..a71ae6fa0 100644 --- a/Essentials/src/net/ess3/permissions/Permissions.java +++ b/Essentials/src/net/ess3/permissions/Permissions.java @@ -25,6 +25,7 @@ public enum Permissions implements IPermission CLEARINVENTORY_OTHERS, DELHOME_OTHERS, ECO_LOAN(PermissionDefault.FALSE), + ENDERCHEST_OTHERS, EXP_GIVE, EXP_GIVE_OTHERS, EXP_SET, @@ -72,6 +73,8 @@ public enum Permissions implements IPermission SETHOME_OTHERS, SLEEPINGIGNORED, SPAWN_OTHERS, + SPEED_BYPASS, + SPEED_OTHERS, SUDO_EXEMPT, TELEPORT_COOLDOWN_BYPASS, TELEPORT_HIDDEN, @@ -101,7 +104,7 @@ public enum Permissions implements IPermission } private Permissions(final PermissionDefault defaultPerm) - { + { permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.'); this.defaultPerm = defaultPerm; } diff --git a/Essentials/src/net/ess3/settings/Commands.java b/Essentials/src/net/ess3/settings/Commands.java index c67ca2da3..5aeca1590 100644 --- a/Essentials/src/net/ess3/settings/Commands.java +++ b/Essentials/src/net/ess3/settings/Commands.java @@ -23,6 +23,7 @@ public class Commands implements StorageObject private net.ess3.settings.commands.List list = new net.ess3.settings.commands.List(); private Spawnmob spawnmob = new Spawnmob(); private Tpa tpa = new Tpa(); + private Speed speed = new Speed(); @ListType @Comment( { diff --git a/Essentials/src/net/ess3/settings/commands/Speed.java b/Essentials/src/net/ess3/settings/commands/Speed.java new file mode 100644 index 000000000..61872fa5e --- /dev/null +++ b/Essentials/src/net/ess3/settings/commands/Speed.java @@ -0,0 +1,17 @@ +package net.ess3.settings.commands; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import net.ess3.storage.Comment; +import net.ess3.storage.StorageObject; + +@Data +@EqualsAndHashCode(callSuper = false) +public class Speed implements StorageObject +{ + @Comment({"#Set the max fly speed, values range from 0.1 to 1.0"}) + private float maxFlySpeed = 1.0f; + + /*@Comment({"#Set the max walk speed, values range from 0.1 to 1.0"}) + private float maxWalkSpeed = 0.8f;*/ +} diff --git a/Essentials/src/net/ess3/user/User.java b/Essentials/src/net/ess3/user/User.java index d1ee9b1e5..9409fa321 100644 --- a/Essentials/src/net/ess3/user/User.java +++ b/Essentials/src/net/ess3/user/User.java @@ -48,6 +48,9 @@ public class User extends UserBase implements IUser @Getter @Setter private boolean invSee = false; + @Getter + @Setter + private boolean enderSee = false; private transient Location afkPosition; private AtomicBoolean gotMailInfo = new AtomicBoolean(false); private WeakReference playerCache; -- cgit v1.2.3