From 095275bb367e5e2529a4e66c5eb742a3320c1d39 Mon Sep 17 00:00:00 2001 From: vlad20012 Date: Tue, 10 Jan 2017 11:20:35 +0300 Subject: [PATCH 1/2] Fix #851 --- .../java/gregtech/common/items/armor/ModularArmor_Item.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/common/items/armor/ModularArmor_Item.java b/src/main/java/gregtech/common/items/armor/ModularArmor_Item.java index bc611e64..40d91734 100644 --- a/src/main/java/gregtech/common/items/armor/ModularArmor_Item.java +++ b/src/main/java/gregtech/common/items/armor/ModularArmor_Item.java @@ -338,7 +338,7 @@ public class ModularArmor_Item extends ItemArmor implements ISpecialArmor, IGogg if (stepup > 1) { aPlayer.stepHeight = 1.0f; } - if (GameSettings.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindJump)) { + if (aWorld.isRemote && GameSettings.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindJump)) { if (stepup > 0 && jumpticks > 0) { if (data.maxWeight > 2000) { stepup *= 2000.0D / data.maxWeight; From 5af9a6718cec09a5955b88aefd7142e16bc040c8 Mon Sep 17 00:00:00 2001 From: vlad20012 Date: Tue, 10 Jan 2017 11:34:46 +0300 Subject: [PATCH 2/2] Fix #816 obfuscated field name --- .../metatileentity/BaseMetaTileEntity.java | 27 ++++++++++++++++--- 1 file 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 60e918de..3b2f3708 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; }