From 8aa519a116879298195bfe4206451ee24c855d2a Mon Sep 17 00:00:00 2001 From: Jakub <53441451+kuba6000@users.noreply.github.com> Date: Thu, 17 Aug 2023 20:45:21 +0200 Subject: Allow EEC to get drops that have requirements (e.g. skulls) (#92) * Update dependencies.gradle * Update build.gradle * Use the new API * Update dependencies.gradle --- .../GT_MetaTileEntity_ExtremeExterminationChamber.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/main/java/kubatech/tileentity') diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java index bea621232f..ce311dfc3a 100644 --- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java +++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java @@ -209,7 +209,7 @@ public class GT_MetaTileEntity_ExtremeExterminationChamber private EntityRenderer entityRenderer = null; private boolean renderEntity = false; - private EECFakePlayer EECPlayer = null; + public EECFakePlayer EECPlayer = null; @Override public void saveNBTData(NBTTagCompound aNBT) { @@ -549,24 +549,27 @@ public class GT_MetaTileEntity_ExtremeExterminationChamber } if (weaponCache.isValid) attackDamage += weaponCache.attackDamage; + if (EECPlayer == null) EECPlayer = new EECFakePlayer(this); + EECPlayer.currentWeapon = lootingHolder; + this.mOutputItems = recipe.generateOutputs( rand, this, attackDamage, weaponCache.isValid ? weaponCache.looting : 0, mIsProducingInfernalDrops); + + EECPlayer.currentWeapon = null; + this.mOutputFluids = new FluidStack[] { FluidRegistry.getFluidStack("xpjuice", 120) }; int times = this.calculatePerfectOverclock(this.lEUt, this.mMaxProgresstime); - // noinspection ConstantConditions if (weaponCache.isValid && lootingHolder.isItemStackDamageable()) { - if (EECPlayer == null) EECPlayer = new EECFakePlayer(this); EECPlayer.currentWeapon = lootingHolder; Item lootingHolderItem = lootingHolder.getItem(); for (int i = 0; i < times + 1; i++) { // noinspection ConstantConditions if (!lootingHolderItem.hitEntity(lootingHolder, recipe.recipe.entity, EECPlayer)) break; if (lootingHolder.stackSize == 0) { - // noinspection ConstantConditions inputbus.setInventorySlotContents(0, null); break; } @@ -880,5 +883,10 @@ public class GT_MetaTileEntity_ExtremeExterminationChamber public ItemStack getCurrentEquippedItem() { return currentWeapon; } + + @Override + public ItemStack getHeldItem() { + return currentWeapon; + } } } -- cgit