From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Taiyou06 Date: Fri, 9 May 2025 23:50:55 +0200 Subject: [PATCH] Only tick items at hand diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java index 7eb59771ac977aeeca33abd8d359b180a22215c5..4a39b4ee1ea860a8a47bdad67ac79c74157b6d07 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -846,12 +846,19 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc super.tick(); } + // Leaf start - Only tick items at hand + if (org.dreeam.leaf.config.modules.opt.OptimizeItemTicking.onlyTickItemsInHand) { + this.synchronizeSpecialItemUpdates(this.getMainHandItem()); + this.synchronizeSpecialItemUpdates(this.getOffhandItem()); + } else { for (int i = 0; i < this.getInventory().getContainerSize(); i++) { ItemStack item = this.getInventory().getItem(i); if (!item.isEmpty()) { this.synchronizeSpecialItemUpdates(item); } } + } + // Leaf end - Only tick items at hand if (this.getHealth() != this.lastSentHealth || this.lastSentFood != this.foodData.getFoodLevel() diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java index 2dcc4446f898124dfc9134f9fae892167256d724..34fefafa3d3ed9a336dd57c51d6549b470c22b3a 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java @@ -648,7 +648,14 @@ public abstract class Player extends LivingEntity { } this.tickRegeneration(); + // Leaf start - Only tick items at hand + if (org.dreeam.leaf.config.modules.opt.OptimizeItemTicking.onlyTickItemsInHand) { + this.getMainHandItem().inventoryTick(this.level(), this, EquipmentSlot.MAINHAND); + this.getOffhandItem().inventoryTick(this.level(), this, EquipmentSlot.OFFHAND); + } else { this.inventory.tick(); + } + // Leaf end - Only tick items at hand this.oBob = this.bob; if (this.abilities.flying && !this.isPassenger()) { this.resetFallDistance();