From 1cbc997be37cf8b950afd79c397c84c64ab4d834 Mon Sep 17 00:00:00 2001 From: rjnasers Date: Sat, 29 Apr 2023 13:20:38 -0500 Subject: [PATCH] Adding fix that should make calls only once per second and acts the same. After testing it seems to work, but if somewhere an effect is implemented very weird it might not. --- src/main/java/magicbees/item/ItemBeeRing.java | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/main/java/magicbees/item/ItemBeeRing.java b/src/main/java/magicbees/item/ItemBeeRing.java index ceb76ec..37b634e 100644 --- a/src/main/java/magicbees/item/ItemBeeRing.java +++ b/src/main/java/magicbees/item/ItemBeeRing.java @@ -77,17 +77,19 @@ public class ItemBeeRing extends Item implements IBauble { @Override public void onWornTick(ItemStack itemStack, EntityLivingBase entityLivingBase) { - if (!(entityLivingBase instanceof EntityPlayer)) { - return; - } + if (entityLivingBase.worldObj.getWorldTime()% 20 == 0) { + if (!(entityLivingBase instanceof EntityPlayer)) { + return; + } - EntityPlayer player = (EntityPlayer) entityLivingBase; - InventoryBeeRing inventoryBeeRing = new InventoryBeeRing(itemStack, player); + EntityPlayer player = (EntityPlayer) entityLivingBase; + InventoryBeeRing inventoryBeeRing = new InventoryBeeRing(itemStack, player); - if (inventoryBeeRing.hasQueen()) { - tickQueen(player, inventoryBeeRing); - } else if (inventoryBeeRing.hasDrone()) { - createQueenFromDrone(inventoryBeeRing); + if (inventoryBeeRing.hasQueen()) { + tickQueen(player, inventoryBeeRing); + } else if (inventoryBeeRing.hasDrone()) { + createQueenFromDrone(inventoryBeeRing); + } } } @@ -124,6 +126,13 @@ public class ItemBeeRing extends Item implements IBauble { int index = inventoryBeeRing.getRingSlotIndex(); RingHousing housingLogic = new RingHousing(player, inventoryBeeRing); effects[index] = queen.doEffect(effects[index], housingLogic); + + try { + effects[index][0].setInteger(0, effects[index][0].getInteger(index) + 20); + effects[index][1].setInteger(0, effects[index][1].getInteger(index) + 20); + } + catch (Exception ignored) {} + if (player.worldObj.isRemote && player.worldObj.getWorldTime() % 5 == 0) { effects[index] = queen.doFX(effects[index], housingLogic); } @@ -143,7 +152,7 @@ public class ItemBeeRing extends Item implements IBauble { inventoryBeeRing.setQueen(queenStack); } } else { - inventoryBeeRing.setThrottle(throttle + 1); + inventoryBeeRing.setThrottle(throttle + 20); } }