Exempt players in creative mode from NoFall handling.

This commit is contained in:
asofold 2012-08-13 16:24:44 +02:00
parent 7cd74f38d4
commit 204e416a96

View File

@ -7,6 +7,7 @@ import net.minecraft.server.DamageSource;
import net.minecraft.server.EntityPlayer;
import net.minecraft.server.Packet10Flying;
import org.bukkit.GameMode;
import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.entity.Player;
@ -51,10 +52,19 @@ public class NoFall extends Check {
final MovingConfig cc = MovingConfig.getConfig(player);
final MovingData data = MovingData.getData(player);
// Exempt players with creative mode from checks.
if (player.getGameMode() == GameMode.CREATIVE){
// Reset his fall distance.
data.noFallFallDistance = data.noFallNewFallDistance = 0D;
data.noFallVL *= 0.95D;
return;
}
// If the player has just started falling, is falling into a liquid, in web or is on a ladder.
if (to.isInLiquid() || to.isInWeb() || to.isOnLadder())
// Reset his fall distance.
data.noFallFallDistance = data.noFallNewFallDistance = 0D;
// If the player just touched the ground for the server, but no for the client.
if (!data.noFallWasOnGroundServer && data.noFallOnGroundServer