aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/DecayablesChest.java2
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/EnergyUtils.java15
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/InventoryUtils.java12
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java15
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) {