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.

This commit is contained in:
rjnasers committed 2023-04-29 13:20:38 -05:00
1 parent f3d3a0a2df
commit 1cbc997be3
1 file changed
+19 -10
+19 -10
View File
@@ -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);
}
}