From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: kidofcubes Date: Fri, 8 Nov 2024 00:22:44 +0800 Subject: [PATCH] Lithium: Skip unnecessary calculations if player is not flying or swing This patch is based on the following mixins: * "net/caffeinemc/mods/lithium/mixin/entity/fast_elytra_check/LivingEntityMixin.java" * "net/caffeinemc/mods/lithium/mixin/entity/fast_hand_swing/LivingEntityMixin.java" By: 2No2Name <2No2Name@web.de> As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java index 68241d1d488bc2848e3c0d167270c1788e573c37..b3e9ad0669bb4b91d5d991f106b225e914a4e68f 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -2796,6 +2796,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected void updateSwingTime() { + if (!this.swinging && this.swingTime == 0) return; // Leaf - Lithium - entity.fast_hand_swing int currentSwingDuration = this.getCurrentSwingDuration(); if (this.swinging) { this.swingTime++; @@ -3704,6 +3705,7 @@ public abstract class LivingEntity extends Entity implements Attackable { protected void updateFallFlying() { this.checkSlowFallDistance(); if (!this.level().isClientSide) { + if (!this.isFallFlying() && this.fallFlyTicks == 0) return; // Leaf - Lithium - entity.fast_elytra_check if (!this.canGlide()) { if (this.getSharedFlag(7) != false && !CraftEventFactory.callToggleGlideEvent(this, false).isCancelled()) // CraftBukkit this.setSharedFlag(7, false);