From f3f191a987696dac39c204faa4b8972e147e25c1 Mon Sep 17 00:00:00 2001 From: guneykabel Date: Thu, 2 Apr 2026 13:49:19 +0200 Subject: [PATCH] fix: stop re-applying Haste every tick in Ring of Mantle The ring was removing and adding Haste II every single tick for no reason, tanking FPS. Now it checks if the player already has the effect before touching it. Fixes GTNewHorizons/GT-New-Horizons-Modpack#23501 --- .../common/item/equipment/bauble/ItemMiningRing.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemMiningRing.java b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemMiningRing.java index 0a6f6f8c4f..52c6c00994 100644 --- a/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemMiningRing.java +++ b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemMiningRing.java @@ -36,10 +36,9 @@ public void onWornTick(ItemStack stack, EntityLivingBase player) { if(!hasMana) onUnequipped(stack, player); else { - if(player.getActivePotionEffect(Potion.digSpeed) != null) - player.removePotionEffect(Potion.digSpeed.id); - - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, Integer.MAX_VALUE, 1, true)); + PotionEffect currentEffect = player.getActivePotionEffect(Potion.digSpeed); + if(currentEffect == null || currentEffect.getAmplifier() < 1) + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, Integer.MAX_VALUE, 1, true)); } if(player.swingProgress == 0.25F)