Make /speed persist on world change if permissions exist.

This commit is contained in:
KHobbits 2014-01-26 20:00:41 +00:00
parent 1c035457bb
commit b9d09dd7b0

View file

@ -162,8 +162,7 @@ public class EssentialsPlayerListener implements Listener
event.setQuitMessage( event.setQuitMessage(
ess.getSettings().getCustomQuitMessage() ess.getSettings().getCustomQuitMessage()
.replace("{PLAYER}", player.getDisplayName()) .replace("{PLAYER}", player.getDisplayName())
.replace("{USERNAME}", player.getName()) .replace("{USERNAME}", player.getName()));
);
} }
if (ess.getSettings().removeGodOnDisconnect() && user.isGodModeEnabled()) if (ess.getSettings().removeGodOnDisconnect() && user.isGodModeEnabled())
@ -261,8 +260,7 @@ public class EssentialsPlayerListener implements Listener
ess.getServer().broadcastMessage( ess.getServer().broadcastMessage(
ess.getSettings().getCustomJoinMessage() ess.getSettings().getCustomJoinMessage()
.replace("{PLAYER}", player.getDisplayName()) .replace("{PLAYER}", player.getDisplayName())
.replace("{USERNAME}", player.getName()) .replace("{USERNAME}", player.getName()));
);
} }
else if (ess.getSettings().allowSilentJoinQuit()) else if (ess.getSettings().allowSilentJoinQuit())
{ {
@ -474,9 +472,24 @@ public class EssentialsPlayerListener implements Listener
user.setFallDistance(0f); user.setFallDistance(0f);
user.setAllowFlight(false); user.setAllowFlight(false);
} }
if (!user.isAuthorized("essentials.speed"))
{
user.setFlySpeed(0.1f); user.setFlySpeed(0.1f);
user.setWalkSpeed(0.2f); user.setWalkSpeed(0.2f);
} }
else
{
if (user.getFlySpeed() > ess.getSettings().getMaxFlySpeed() && !user.isAuthorized("essentials.speed.bypass"))
{
user.setFlySpeed((float)ess.getSettings().getMaxFlySpeed());
}
if (user.getWalkSpeed() > ess.getSettings().getMaxWalkSpeed() && !user.isAuthorized("essentials.speed.bypass"))
{
user.setWalkSpeed((float)ess.getSettings().getMaxWalkSpeed());
}
}
}
@EventHandler(priority = EventPriority.MONITOR) @EventHandler(priority = EventPriority.MONITOR)
public void onPlayerChangedWorld(final PlayerChangedWorldEvent event) public void onPlayerChangedWorld(final PlayerChangedWorldEvent event)