fixed root cause of knockback issue in high ground

This commit is contained in:
jannis committed 2026-10-28 22:07:45 +01:00
1 parent f23495ecdd
commit 9d779a4879
1 file changed
+10 -9
@@ -9,6 +9,7 @@ import io.github.togar2.pvp.events.FinalAttackEvent;
import io.github.togar2.pvp.events.PrepareAttackEvent; import io.github.togar2.pvp.events.PrepareAttackEvent;
import io.github.togar2.pvp.feature.CombatFeatures; import io.github.togar2.pvp.feature.CombatFeatures;
import io.github.togar2.pvp.feature.knockback.KnockbackSettings; import io.github.togar2.pvp.feature.knockback.KnockbackSettings;
import net.minestom.server.ServerFlag;
import net.minestom.server.coordinate.Pos; import net.minestom.server.coordinate.Pos;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.event.instance.InstanceTickEvent; import net.minestom.server.event.instance.InstanceTickEvent;
@@ -52,16 +53,16 @@ class HighGround extends StatelessGame {
this.eventNode().addListener( this.eventNode().addListener(
EntityKnockbackEvent.class, EntityKnockbackEvent.class,
entityKnockbackEvent -> { entityKnockbackEvent -> {
if(entityKnockbackEvent.getEntity().getVelocity().y() > 4) { entityKnockbackEvent.setCancelled(true); return; } double tps = ServerFlag.SERVER_TICKS_PER_SECOND;
entityKnockbackEvent.setSettings( entityKnockbackEvent.setSettings(
KnockbackSettings.builder() KnockbackSettings.builder()
.horizontal(1.1) .horizontal(1.1)
.vertical(0) .vertical(KnockbackSettings.DEFAULT.vertical() / tps)
.verticalLimit(0) .verticalLimit(KnockbackSettings.DEFAULT.verticalLimit() / tps)
.extraHorizontal(0.5) .extraHorizontal(KnockbackSettings.DEFAULT.extraHorizontal() / tps)
.extraVertical(0) .extraVertical(KnockbackSettings.DEFAULT.extraVertical() / tps)
.build() .build()
); );
} }
); );