From ec4491994c6fdfb6ae53a06880c3ba98d334c421 Mon Sep 17 00:00:00 2001 From: Quantumlyy Date: Tue, 12 Dec 2023 21:30:11 +0100 Subject: [PATCH] add bee ageing --- .../java/magicbees/block/BlockPhialingCabinet.java | 1 + src/main/java/magicbees/main/Config.java | 4 ++-- .../tileentity/TileEntityPhialingCabinet.java | 13 ++++++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/magicbees/block/BlockPhialingCabinet.java b/src/main/java/magicbees/block/BlockPhialingCabinet.java index f72bd7f..c21c780 100644 --- a/src/main/java/magicbees/block/BlockPhialingCabinet.java +++ b/src/main/java/magicbees/block/BlockPhialingCabinet.java @@ -71,6 +71,7 @@ public class BlockPhialingCabinet extends BlockContainer { } else return false; } } + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { diff --git a/src/main/java/magicbees/main/Config.java b/src/main/java/magicbees/main/Config.java index 1033a2b..cb2ecae 100644 --- a/src/main/java/magicbees/main/Config.java +++ b/src/main/java/magicbees/main/Config.java @@ -341,7 +341,7 @@ public class Config { p = configuration.get( CATEGORY_GENERAL, "thaumcraftEssentiaBeePhialingCabinetTimeBetween", - 10, + 200, "The time in ticks between Phialing Cabinet essentia generation", 1, 32767); @@ -349,7 +349,7 @@ public class Config { p = configuration.get( CATEGORY_GENERAL, "thaumcraftEssentiaBeePhialingCabinetAmount", - 2, + 1, "The amount that the Phialing Cabinet generates on every round", 1, 32767); diff --git a/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java b/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java index 9fb2210..95f7896 100644 --- a/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java +++ b/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java @@ -62,13 +62,14 @@ public class TileEntityPhialingCabinet extends TileEntity implements IAspectCont IBeeModifier modifier = BeeManager.beeRoot.createBeeHousingModifier(beeHousing); IBee queen = BeeManager.beeRoot.getMember(queenStack); IBeeGenome queenGenome = queen.getGenome(); - float productionMultiplier = Math.abs(modifier.getProductionModifier(queenGenome, 1.0F)); + float productionMultiplier = modifier.getProductionModifier(queenGenome, 1.0F); int amount = (int) Math.ceil( Config.thaumcraftEssentiaBeePhialingCabinetAmount * Math.max(productionMultiplier, 1.0F)); addToContainer(aspect, amount); + drainQueen(beeHousing, modifier, queen); } } } catch (Exception ignored) {} @@ -77,6 +78,16 @@ public class TileEntityPhialingCabinet extends TileEntity implements IAspectCont increment++; } + private void drainQueen(IBeeHousing housing, IBeeModifier modifier, IBee queen) { + float lifespanModifier = modifier.getLifespanModifier(queen.getGenome(), queen.getMate(), 1.0f); + queen.age(housing.getWorld(), lifespanModifier); + + // Write the changed queen back into the item stack. + NBTTagCompound nbttagcompound = new NBTTagCompound(); + queen.writeToNBT(nbttagcompound); + housing.getBeeInventory().getQueen().setTagCompound(nbttagcompound); + } + @Override public AspectList getAspects() { return this.essentia;