add bee ageing

This commit is contained in:
Quantumlyy committed 2023-12-12 21:30:11 +01:00
1 parent 89acb72f0b
commit ec4491994c
3 files changed
+15 -3

No files matched your search

@@ -71,6 +71,7 @@ public class BlockPhialingCabinet extends BlockContainer {
} else return false;
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
+2 -2
View File
@@ -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);
@@ -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;