From 818a3d7c2ba4a56a8f2ac16352df953ff476deaa Mon Sep 17 00:00:00 2001 From: bush-did-711 Date: Mon, 19 Apr 2021 18:07:17 -0700 Subject: [PATCH] Added ElytraDisable option to NoFall --- .../impl/module/movement/NoFallModule.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/rigamortis/seppuku/impl/module/movement/NoFallModule.java b/src/main/java/me/rigamortis/seppuku/impl/module/movement/NoFallModule.java index d62e60d..991028a 100644 --- a/src/main/java/me/rigamortis/seppuku/impl/module/movement/NoFallModule.java +++ b/src/main/java/me/rigamortis/seppuku/impl/module/movement/NoFallModule.java @@ -3,6 +3,7 @@ package me.rigamortis.seppuku.impl.module.movement; import me.rigamortis.seppuku.api.event.EventStageable; import me.rigamortis.seppuku.api.event.network.EventSendPacket; import me.rigamortis.seppuku.api.module.Module; +import me.rigamortis.seppuku.api.value.Value; import net.minecraft.client.Minecraft; import net.minecraft.network.play.client.CPacketPlayer; import team.stiff.pomelo.impl.annotated.handler.annotation.Listener; @@ -13,18 +14,32 @@ import team.stiff.pomelo.impl.annotated.handler.annotation.Listener; */ public final class NoFallModule extends Module { + public final Value elytraDisable = new Value("ElytraDisable", new String[]{"noelytra", "elytra", "disableonelytrafly"}, "Disables NoFall when the player is flying.", true); + public NoFallModule() { super("NoFall", new String[]{"NoFallDamage"}, "Prevents fall damage", "NONE", -1, ModuleType.MOVEMENT); } + private boolean isFlying() { + if (this.elytraDisable.getValue()) { + if (Minecraft.getMinecraft().player.isElytraFlying()) { + return true; + } else { + return false; + } + } else { + return false; + } + } + @Listener public void sendPacket(EventSendPacket event) { if (event.getStage() == EventStageable.EventStage.PRE) { - if (event.getPacket() instanceof CPacketPlayer && Minecraft.getMinecraft().player.fallDistance >= 3.0f) { + if (event.getPacket() instanceof CPacketPlayer && Minecraft.getMinecraft().player.fallDistance >= 3.0f && !this.isFlying()) { final CPacketPlayer packet = (CPacketPlayer) event.getPacket(); packet.onGround = true; } } } -} +} \ No newline at end of file