From fb98d686fb52b3d7a44641c31737a099df37833a Mon Sep 17 00:00:00 2001 From: Quantumlyy Date: Wed, 13 Dec 2023 08:32:13 +0100 Subject: [PATCH] create method for detecting if housing is present --- .../tileentity/TileEntityPhialingCabinet.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java b/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java index 2578c9a..52299e6 100644 --- a/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java +++ b/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java @@ -50,12 +50,9 @@ public class TileEntityPhialingCabinet extends TileEntity implements IAspectCont if (increment >= Config.thaumcraftEssentiaBeePhialingCabinetTimeBetween) { increment = 0; try { - TileEntity above = worldObj.getTileEntity(this.xCoord, this.yCoord + 1, this.zCoord); - Set classes = ClassUtils.getAllInterfaces(above.getClass()).stream().map(Class::getName) - .collect(Collectors.toSet()); - if (classes.contains("forestry.api.apiculture.IBeeHousing")) { + IBeeHousing beeHousing = beeHousing(); + if (beeHousing != null) { LogHelper.warn("is housing"); - IBeeHousing beeHousing = (IBeeHousing) above; IBeekeepingLogic beekeepingLogic = beeHousing.getBeekeepingLogic(); // This performs all the checks to see if the bee is a living queen and if the species conditions @@ -91,6 +88,16 @@ public class TileEntityPhialingCabinet extends TileEntity implements IAspectCont increment++; } + protected IBeeHousing beeHousing() { + TileEntity above = worldObj.getTileEntity(this.xCoord, this.yCoord + 1, this.zCoord); + // TODO: Revert once Industrial Apiary is working + Set classes = ClassUtils.getAllInterfaces(above.getClass()).stream().map(Class::getName) + .collect(Collectors.toSet()); + LogHelper.warn(classes); + + return classes.contains("forestry.api.apiculture.IBeeHousing") ? above : null; + } + private void drainQueen(IBeeHousing housing, IBeeModifier modifier, IBee queen) { float lifespanModifier = modifier.getLifespanModifier(queen.getGenome(), queen.getMate(), 1.0f); queen.age(housing.getWorld(), lifespanModifier);