From 21cf1c658c8eebe6cce75627444334cf5774a555 Mon Sep 17 00:00:00 2001 From: Alexander Behrhof Date: Thu, 7 Aug 2014 22:27:07 -0400 Subject: [PATCH] Fixing Morph issues with Tinkers Construct. --- .../java/tconstruct/armor/ArmorAbilities.java | 27 ++++++++++++------- .../armor/ArmorAbilitiesClient.java | 15 ++++++++++- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/src/main/java/tconstruct/armor/ArmorAbilities.java b/src/main/java/tconstruct/armor/ArmorAbilities.java index f51d7ebf972..a5846fd7e3b 100644 --- a/src/main/java/tconstruct/armor/ArmorAbilities.java +++ b/src/main/java/tconstruct/armor/ArmorAbilities.java @@ -67,16 +67,16 @@ public void playerTick (TickEvent.PlayerTickEvent event) prevFeet = feet; }*/ boolean stepBoosted = stepBoostedPlayers.contains(player.getGameProfile().getName()); - if(stepBoosted) - player.stepHeight = 1.1f; - if(!stepBoosted && feet!=null && feet.getItem() instanceof TravelGear) + if (stepBoosted) + player.stepHeight = 1.1f; + if (!stepBoosted && feet != null && feet.getItem() instanceof TravelGear) { - stepBoostedPlayers.add(player.getGameProfile().getName()); + stepBoostedPlayers.add(player.getGameProfile().getName()); } - else if(stepBoosted && (feet==null || !(feet.getItem() instanceof TravelGear))) + else if (stepBoosted && (feet == null || !(feet.getItem() instanceof TravelGear))) { - stepBoostedPlayers.remove(player.getGameProfile().getName()); - player.stepHeight -= 0.6f; + stepBoostedPlayers.remove(player.getGameProfile().getName()); + player.stepHeight -= 0.6f; } //TODO: Proper minimap support /*ItemStack stack = player.inventory.getStackInSlot(8); @@ -84,12 +84,21 @@ else if(stepBoosted && (feet==null || !(feet.getItem() instanceof TravelGear))) { stack.getItem().onUpdate(stack, player.worldObj, player, 8, true); }*/ + + if (morphLoaded) + { + if (morph.api.Api.getMorphEntity(player.getDisplayName(), true) != null) + { + morphed = true; + } + } + if (!player.isPlayerSleeping()) { ItemStack chest = player.getCurrentArmor(2); if (chest == null || !(chest.getItem() instanceof IModifyable)) { - if (!morphLoaded || !morphed) + if (!morphLoaded && !morphed) PlayerAbilityHelper.setEntitySize(player, 0.6F, 1.8F); } else @@ -98,7 +107,7 @@ else if(stepBoosted && (feet==null || !(feet.getItem() instanceof TravelGear))) int dodge = tag.getInteger("Perfect Dodge"); if (dodge > 0) { - if (!morphLoaded || !morphed) + if (!morphLoaded && !morphed) PlayerAbilityHelper.setEntitySize(player, Math.max(0.15F, 0.6F - (dodge * 0.09f)), 1.8F - (dodge * 0.04f)); } } diff --git a/src/main/java/tconstruct/armor/ArmorAbilitiesClient.java b/src/main/java/tconstruct/armor/ArmorAbilitiesClient.java index 4cbcac8fab8..7de3cafb4dc 100644 --- a/src/main/java/tconstruct/armor/ArmorAbilitiesClient.java +++ b/src/main/java/tconstruct/armor/ArmorAbilitiesClient.java @@ -7,6 +7,7 @@ import tconstruct.armor.player.TPlayerStats; import tconstruct.client.TControls; import tconstruct.library.modifier.IModifyable; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; @@ -17,10 +18,13 @@ public class ArmorAbilitiesClient ItemStack prevFeet; double prevMotionY; + boolean morphed; + boolean morphLoaded = Loader.isModLoaded("Morph"); + float prevMouseSensitivity; boolean sprint; - + public ArmorAbilitiesClient(Minecraft mc, TControls p) { this.mc = mc; @@ -95,6 +99,15 @@ else if (sprint) gs.mouseSensitivity = prevMouseSensitivity; } }*/ + + if (morphLoaded) + { + if (morph.api.Api.getMorphEntity(player.getDisplayName(), true) != null) + { + morphed = true; + } + } + if (!player.isPlayerSleeping() && !morphed) { ItemStack chest = player.getCurrentArmor(2);