diff options
Diffstat (limited to 'src/Java/gtPlusPlus')
4 files changed, 33 insertions, 11 deletions
diff --git a/src/Java/gtPlusPlus/core/block/machine/DecayablesChest.java b/src/Java/gtPlusPlus/core/block/machine/DecayablesChest.java index efd6f88885..15d330defc 100644 --- a/src/Java/gtPlusPlus/core/block/machine/DecayablesChest.java +++ b/src/Java/gtPlusPlus/core/block/machine/DecayablesChest.java @@ -52,6 +52,8 @@ public class DecayablesChest extends BlockContainer implements ITileTooltip super(Material.iron); this.setBlockName("blockDecayablesChest"); this.setCreativeTab(AddToCreativeTab.tabMachines); + this.setHardness(5f); + this.setResistance(1f); GameRegistry.registerBlock(this, ItemBlockBasicTile.class, "blockDecayablesChest"); LanguageRegistry.addName(this, "Lead Lined Box"); this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); diff --git a/src/Java/gtPlusPlus/core/util/minecraft/EnergyUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/EnergyUtils.java index 51bedaf64b..ef68436f21 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/EnergyUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/EnergyUtils.java @@ -1,6 +1,9 @@ package gtPlusPlus.core.util.minecraft; +import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_ModHandler; +import gtPlusPlus.api.objects.Logger; +import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; import ic2.api.item.IElectricItemManager; import ic2.api.item.ISpecialElectricItem; @@ -33,8 +36,16 @@ public class EnergyUtils { return 0 != GT_ModHandler.chargeElectricItem(aStack, aEnergyToInsert, aTier, true, false); } - public static boolean discharge(ItemStack aStack, int aEnergyToInsert, int aTier) { - return 0 != GT_ModHandler.dischargeElectricItem(aStack, -aEnergyToInsert, aTier, true, false, true); + public static boolean discharge(ItemStack aStack, int aEnergyToDrain, int aTier) { + if (isElectricItem(aStack)) { + int tTier = ((IElectricItem) aStack.getItem()).getTier(aStack); + int aDischargeValue = GT_ModHandler.dischargeElectricItem(aStack, aEnergyToDrain, tTier, true, false, false); + Logger.INFO("Trying to drain "+aDischargeValue); + return aDischargeValue > 0; + } + else { + return false; + } } public static long getMaxStorage(ItemStack aStack) { diff --git a/src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java index 8f12d20494..aaa81a0057 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java @@ -17,10 +17,14 @@ public class InventoryUtils { public static void dropInventoryItems(World world, int x, int y, int z, Block block) { TileEntity tileentity = world.getTileEntity(x, y, z); - if (tileentity != null && tileentity instanceof IInventory - && ((IInventory) tileentity).getSizeInventory() > 0) { - for (int i1 = 0; i1 < ((IInventory) tileentity).getSizeInventory(); ++i1) { - ItemStack itemstack = ((IInventory) tileentity).getStackInSlot(i1); + if (tileentity != null && tileentity instanceof IInventory && ((IInventory) tileentity).getSizeInventory() > 0) { + + IInventory aTileInv = (IInventory) tileentity; + int aMinSlot = 0; + int aMaxSlot = aTileInv.getSizeInventory()-1; + + for (int i1 = aMinSlot; i1 < aMaxSlot; ++i1) { + ItemStack itemstack = aTileInv.getStackInSlot(i1); if (itemstack != null) { float f = mRandom.nextFloat() * 0.8F + 0.1F; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java index 9fb9e3514e..5791cfbf73 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java @@ -3,6 +3,7 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; import java.util.concurrent.ScheduledExecutorService; import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; import gregtech.api.enums.TAE; import gregtech.api.enums.Textures; import gregtech.api.interfaces.IIconContainer; @@ -291,23 +292,27 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase long tVoltage = getMaxInputVoltage(); byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); if (EU.getCharge(invItem) >= tVoltage) { - if (EU.discharge(invItem, (int) tVoltage, tTier)) { + Logger.WARNING("Can drain."); + if (EU.discharge(invItem, (int) tVoltage, -1)) { + Logger.WARNING("Drained Power."); + didElectricDamage = true; } else { + Logger.WARNING("Failed when draining Power."); this.getBaseMetaTileEntity().disableWorking(); } - didElectricDamage = true; } } } + Logger.WARNING("Drained Power? "+didElectricDamage); - //Logger.INFO("dmg: "+aDmg+" | max: "+aDmgMax); - if (!didElectricDamage) { + if (!didElectricDamage && invItem.getItem() instanceof GT_MetaGenerated_Tool) { long aDmg = GT_MetaGenerated_Tool.getToolDamage(invItem); long aDmgMax = GT_MetaGenerated_Tool.getToolMaxDamage(invItem); - if (aDmg < aDmgMax && invItem.isItemStackDamageable()) { + if (aDmg < aDmgMax && GT_MetaGenerated_Tool.getPrimaryMaterial(invItem) != Materials._NULL) { + Logger.WARNING("dmg: "+aDmg+" | max: "+aDmgMax); GT_MetaGenerated_Tool.setToolDamage(invItem, aDmg+getDamageToComponent(invItem)); } else if (aDmg >= aDmgMax) { |