diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/CustomSword.java b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/CustomSword.java index daa4113f..d660e084 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/CustomSword.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/CustomSword.java @@ -68,34 +68,34 @@ public class CustomSword extends ItemSword implements WeaponNBT { public void onUpdate(ItemStack stack, World world, Entity playerin, int itemSlot, boolean isSelected) { if(!world.isRemote){ if(isSelected) { - - //System.out.println( + stack.getMaxDamage() * 0.6 + " : " + stack.getItemDamage() + " : " + stack.getMaxDamage() * 0.5); - //System.out.println(stack.getItemDamage() + ">" + stack.getMaxDamage() * 0.5); - //System.out.println(stack.getItemDamage() + "<" + stack.getMaxDamage() * 0.6); - //System.out.println(WeaponNBT.getSharpnessLevel(stack)); - if (stack.getItemDamage() < stack.getMaxDamage() * 0.5){ - WeaponNBT.setSharpnessLevel(stack, 5); - //System.out.println("Sharpness = 5"); + if(!stack.hasTagCompound()) { + WeaponNBT.setDefaultNBT(stack); } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.5 && stack.getItemDamage() < stack.getMaxDamage() * 0.6){ - WeaponNBT.setSharpnessLevel(stack, 4); - //System.out.println("Sharpness = 4"); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.6 && stack.getItemDamage() < stack.getMaxDamage() * 0.7){ - WeaponNBT.setSharpnessLevel(stack, 3); - //System.out.println("Sharpness = 3"); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.7 && stack.getItemDamage() < stack.getMaxDamage() * 0.8){ - WeaponNBT.setSharpnessLevel(stack, 2); - //System.out.println("Sharpness = 2"); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.8 && stack.getItemDamage() < stack.getMaxDamage() * 0.9){ - WeaponNBT.setSharpnessLevel(stack, 1); - //System.out.println("Sharpness = 1"); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.9 && stack.getItemDamage() < stack.getMaxDamage()){ - WeaponNBT.setSharpnessLevel(stack, 0); - //System.out.println("Sharpness = 0"); + if(stack.hasTagCompound()) { + if (stack.getItemDamage() < stack.getMaxDamage() * 0.5) { + WeaponNBT.setSharpnessLevel(stack, 5); + //System.out.println("Sharpness = 5"); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.5 && stack.getItemDamage() < stack.getMaxDamage() * 0.6) { + WeaponNBT.setSharpnessLevel(stack, 4); + //System.out.println("Sharpness = 4"); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.6 && stack.getItemDamage() < stack.getMaxDamage() * 0.7) { + WeaponNBT.setSharpnessLevel(stack, 3); + //System.out.println("Sharpness = 3"); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.7 && stack.getItemDamage() < stack.getMaxDamage() * 0.8) { + WeaponNBT.setSharpnessLevel(stack, 2); + //System.out.println("Sharpness = 2"); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.8 && stack.getItemDamage() < stack.getMaxDamage() * 0.9) { + WeaponNBT.setSharpnessLevel(stack, 1); + //System.out.println("Sharpness = 1"); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.9 && stack.getItemDamage() < stack.getMaxDamage()) { + WeaponNBT.setSharpnessLevel(stack, 0); + //System.out.println("Sharpness = 0"); + } } //System.out.println(WeaponNBT.getSharpnessLevel(stack)); } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/SlayerSword.java b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/SlayerSword.java index d7f4994f..c04f3028 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/SlayerSword.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/SlayerSword.java @@ -31,26 +31,32 @@ public class SlayerSword extends CustomSword { if(isSelected){ EntityPlayer player = (EntityPlayer) ent; + if(!stack.hasTagCompound()) { + WeaponNBT.setDefaultNBT(stack); + } + if(!player.inventory.offHandInventory.isEmpty()) { ent.setSprinting(false); } - if (stack.getItemDamage() < stack.getMaxDamage() * 0.5){ - WeaponNBT.setSharpnessLevel(stack, 5); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.5 && stack.getItemDamage() < stack.getMaxDamage() * 0.6){ - WeaponNBT.setSharpnessLevel(stack, 4); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.6 && stack.getItemDamage() < stack.getMaxDamage() * 0.7){ - WeaponNBT.setSharpnessLevel(stack, 3); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.7 && stack.getItemDamage() < stack.getMaxDamage() * 0.8){ - WeaponNBT.setSharpnessLevel(stack, 2); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.8 && stack.getItemDamage() < stack.getMaxDamage() * 0.9){ - WeaponNBT.setSharpnessLevel(stack, 1); - } - if (stack.getItemDamage() > stack.getMaxDamage() * 0.9 && stack.getItemDamage() < stack.getMaxDamage()){ - WeaponNBT.setSharpnessLevel(stack, 0); + if(stack.hasTagCompound()) { + if (stack.getItemDamage() < stack.getMaxDamage() * 0.5) { + WeaponNBT.setSharpnessLevel(stack, 5); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.5 && stack.getItemDamage() < stack.getMaxDamage() * 0.6) { + WeaponNBT.setSharpnessLevel(stack, 4); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.6 && stack.getItemDamage() < stack.getMaxDamage() * 0.7) { + WeaponNBT.setSharpnessLevel(stack, 3); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.7 && stack.getItemDamage() < stack.getMaxDamage() * 0.8) { + WeaponNBT.setSharpnessLevel(stack, 2); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.8 && stack.getItemDamage() < stack.getMaxDamage() * 0.9) { + WeaponNBT.setSharpnessLevel(stack, 1); + } + if (stack.getItemDamage() > stack.getMaxDamage() * 0.9 && stack.getItemDamage() < stack.getMaxDamage()) { + WeaponNBT.setSharpnessLevel(stack, 0); + } } } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileWorkbenchRender.java b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileWorkbenchRender.java index e6862199..92e2dfd2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileWorkbenchRender.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileWorkbenchRender.java @@ -14,6 +14,7 @@ import net.minecraft.util.math.BlockPos; import nmd.primal.core.common.helper.RecipeHelper; import nmd.primal.forgecraft.blocks.machine.Workbench; import nmd.primal.forgecraft.items.parts.WeaponPart; +import nmd.primal.forgecraft.items.weapons.CustomSword; import nmd.primal.forgecraft.tiles.TileWorkbench; import org.lwjgl.opengl.GL11; @@ -134,13 +135,15 @@ public class TileWorkbenchRender extends TileEntitySpecialRenderer