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 658aa09aecf8d64145feedb82dc9be2a55201450..1df158d30622ea71fcc937140c682d0e994d54c1 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -2644,6 +2644,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++; @@ -3569,6 +3570,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);