aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java')
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
index 60e918de4c..3b2f37085a 100644
--- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
@@ -66,6 +66,26 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
private String mOwnerName = "";
private NBTTagCompound mRecipeStuff = new NBTTagCompound();
+ private static final Field ENTITY_ITEM_HEALTH_FIELD;
+ static
+ {
+ Field f = null;
+
+ try {
+ f = EntityItem.class.getDeclaredField("field_70291_e");
+ f.setAccessible(true);
+ } catch (Exception e1) {
+ try {
+ f = EntityItem.class.getDeclaredField("health");
+ f.setAccessible(true);
+ } catch (Exception e2) {
+ e1.printStackTrace();
+ e2.printStackTrace();
+ }
+ }
+ ENTITY_ITEM_HEALTH_FIELD = f;
+ }
+
public BaseMetaTileEntity() {
}
@@ -1144,10 +1164,9 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
tItemEntity.hurtResistantTime = 999999;
tItemEntity.lifespan = 60000;
try {
- Field tField = tItemEntity.getClass().getDeclaredField("health");
- tField.setAccessible(true);
- tField.setInt(tItemEntity, 99999999);
- } catch (Exception e) {e.printStackTrace();}
+ if(ENTITY_ITEM_HEALTH_FIELD != null)
+ ENTITY_ITEM_HEALTH_FIELD.setInt(tItemEntity, 99999999);
+ } catch (Exception ignored) {}
this.worldObj.spawnEntityInWorld(tItemEntity);
tItem.stackSize = 0;
}