From 6529e7245d0990ef097b3ddcc972c2ea24d7cb01 Mon Sep 17 00:00:00 2001 From: Quantumlyy Date: Sat, 9 Dec 2023 00:53:21 +0100 Subject: [PATCH] correctly check for the species --- src/main/java/magicbees/bees/BeeSpecies.java | 2 +- src/main/java/magicbees/main/Config.java | 11 ++++------- .../tileentity/TileEntityPhialingCabinet.java | 19 ++++++++++--------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/main/java/magicbees/bees/BeeSpecies.java b/src/main/java/magicbees/bees/BeeSpecies.java index 8381549..60716f7 100644 --- a/src/main/java/magicbees/bees/BeeSpecies.java +++ b/src/main/java/magicbees/bees/BeeSpecies.java @@ -459,12 +459,12 @@ public enum BeeSpecies { BeeProductHelper.initThaumcraftProducts(); if (!ThaumcraftHelper.isActive()) { TC_CHAOS.setInactive(); - TC_ESSENTIA.setInactive(); TC_AIR.setInactive(); TC_FIRE.setInactive(); TC_WATER.setInactive(); TC_EARTH.setInactive(); TC_ORDER.setInactive(); + TC_ESSENTIA.setInactive(); TC_VIS.setInactive(); TC_REJUVENATING.setInactive(); diff --git a/src/main/java/magicbees/main/Config.java b/src/main/java/magicbees/main/Config.java index d73633f..6ffa8ff 100644 --- a/src/main/java/magicbees/main/Config.java +++ b/src/main/java/magicbees/main/Config.java @@ -215,7 +215,6 @@ public class Config { voidCapsule = new ItemCapsule(CapsuleType.VOID, capsuleStackSizeMax); setupThaumcraftItems(); - setupPhialingCabinet(); setupBotaniaItems(); setupOreDictionaryEntries(); @@ -503,6 +502,10 @@ public class Config { visAuraProvider = new BlockVisAuraProvider(); GameRegistry.registerBlock(visAuraProvider, "visAuraProvider"); GameRegistry.registerTileEntity(TileEntityVisAuraProvider.class, "visAuraProvider"); + + phialingCabinet = new BlockPhialingCabinet(); + GameRegistry.registerBlock(phialingCabinet, "phialingCabinet"); + GameRegistry.registerTileEntity(TileEntityPhialingCabinet.class, TileEntityPhialingCabinet.tileEntityName); } } @@ -525,12 +528,6 @@ public class Config { } } - public void setupPhialingCabinet() { - phialingCabinet = new BlockPhialingCabinet(); - GameRegistry.registerBlock(phialingCabinet, "phialingCabinet"); - GameRegistry.registerTileEntity(TileEntityPhialingCabinet.class, TileEntityPhialingCabinet.tileEntityName); - } - private void setupThaumcraftBackpacks() { try { // 0x8700C6 is a purple-y colour, which is associated with Thaumcraft. diff --git a/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java b/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java index 38cf806..8977a08 100644 --- a/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java +++ b/src/main/java/magicbees/tileentity/TileEntityPhialingCabinet.java @@ -6,9 +6,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -import forestry.api.apiculture.IBee; +import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.apiculture.IBeeHousing; -import magicbees.bees.BeeManager; +import forestry.apiculture.genetics.BeeGenome; import magicbees.bees.BeeSpecies; import magicbees.main.Config; import thaumcraft.api.aspects.Aspect; @@ -37,16 +37,17 @@ public class TileEntityPhialingCabinet extends TileEntity implements IAspectCont try { TileEntity above = worldObj.getTileEntity(this.xCoord, this.yCoord + 1, this.zCoord); if (IBeeHousing.class.isAssignableFrom(above.getClass())) { - IBeeHousing heeHousing = (IBeeHousing) above; - ItemStack queenStack = heeHousing.getBeeInventory().getQueen(); + IBeeHousing beeHousing = (IBeeHousing) above; + ItemStack queenStack = beeHousing.getBeeInventory().getQueen(); - // If the bee isn't a queen then what are we even doing? - if (!BeeManager.beeRoot.isMated(queenStack)) return; + // This performs all the checks to see if the bee is a living queen and if the species conditions + // are met. + if (!beeHousing.getBeekeepingLogic().canWork()) return; - IBee queen = BeeManager.beeRoot.getMember(queenStack); - String queenUID = queen.getGenome().getPrimary().getUID(); + IAlleleBeeSpecies queenSpecies = BeeGenome.getSpecies(queenStack); + if (queenSpecies == null) return; - if (Objects.equals(queenUID, BeeSpecies.TC_ESSENTIA.getSpecies().getUID())) { + if (Objects.equals(queenSpecies.getUID(), BeeSpecies.TC_ESSENTIA.getSpecies().getUID())) { addToContainer(aspect, Config.thaumcraftEssentiaBeePhialingCabinetAmount); increment = 0; }