From ae21012d216df71f31aed6fbc9d76215fc24ceed Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Sat, 4 Mar 2017 12:58:47 +1000 Subject: + New texture for the slow builders ring. + Added the Alkalus Disk. $ Fixed Frame Box Assembler Recipes. $ Fixed Missing 7Li material. $ Fixed Tiered Tanks not showing their capacity in the tooltip. $ Fixed tooltips for alloys containing Bronze or Steel. $ Fixed Clay Pipe Extruder Recipes. - Removed a handful of Plasma cells for misc. materials. % Changed the Industrial Coke Oven's tooltip, to better describe the input/output requirements. % Cleaned up The Entire Project. --- .../gregtech/api/items/tools/GT_MetaGenTool.java | 417 +++++++++++++-------- 1 file changed, 256 insertions(+), 161 deletions(-) (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api/items/tools') diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java b/src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java index ac40f47d23..a980a299d5 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/items/tools/GT_MetaGenTool.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.api.items.tools; +import java.util.*; +import java.util.Map.Entry; + import gregtech.api.GregTech_API; import gregtech.api.enchants.Enchantment_Radioactivity; import gregtech.api.enums.Materials; @@ -8,10 +11,6 @@ import gregtech.api.interfaces.IToolStats; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.util.*; import gtPlusPlus.xmod.gregtech.api.interfaces.internal.Interface_ToolStats; - -import java.util.*; -import java.util.Map.Entry; - import net.minecraft.block.Block; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -38,41 +37,45 @@ public abstract class GT_MetaGenTool extends GT_MetaGenerated_Tool { *

* You can also use the unlocalized Name gotten from getUnlocalizedName() as Key if you want to get a specific Item. */ - public static final HashMap sInstances = new HashMap(); + public static final HashMap sInstances = new HashMap<>(); /* ---------- CONSTRUCTOR AND MEMBER VARIABLES ---------- */ - public final HashMap mToolStats = new HashMap(); + public final HashMap mToolStats = new HashMap<>(); /** * Creates the Item using these Parameters. * * @param aUnlocalized The Unlocalized Name of this Item. */ - public GT_MetaGenTool(String aUnlocalized) { + public GT_MetaGenTool(final String aUnlocalized) { super(aUnlocalized); GT_ModHandler.registerBoxableItemToToolBox(this); - setCreativeTab(GregTech_API.TAB_GREGTECH); - setMaxStackSize(1); - sInstances.put(getUnlocalizedName(), this); + this.setCreativeTab(GregTech_API.TAB_GREGTECH); + this.setMaxStackSize(1); + sInstances.put(this.getUnlocalizedName(), this); } /* ---------- FOR ADDING CUSTOM ITEMS INTO THE REMAINING 766 RANGE ---------- */ - public static final Materials getPrimaryMaterialEx(ItemStack aStack) { + public static final Materials getPrimaryMaterialEx(final ItemStack aStack) { NBTTagCompound aNBT = aStack.getTagCompound(); if (aNBT != null) { aNBT = aNBT.getCompoundTag("GT.ToolStats"); - if (aNBT != null) return Materials.getRealMaterial(aNBT.getString("PrimaryMaterial")); + if (aNBT != null) { + return Materials.getRealMaterial(aNBT.getString("PrimaryMaterial")); + } } return Materials._NULL; } - public static final Materials getSecondaryMaterialEx(ItemStack aStack) { + public static final Materials getSecondaryMaterialEx(final ItemStack aStack) { NBTTagCompound aNBT = aStack.getTagCompound(); if (aNBT != null) { aNBT = aNBT.getCompoundTag("GT.ToolStats"); - if (aNBT != null) return Materials.getRealMaterial(aNBT.getString("SecondaryMaterial")); + if (aNBT != null) { + return Materials.getRealMaterial(aNBT.getString("SecondaryMaterial")); + } } return Materials._NULL; } @@ -87,26 +90,30 @@ public abstract class GT_MetaGenTool extends GT_MetaGenerated_Tool { * @param aOreDictNamesAndAspects The OreDict Names you want to give the Item. Also used to assign Thaumcraft Aspects. * @return An ItemStack containing the newly created Item, but without specific Stats. */ - public final ItemStack addToolEx(int aID, String aEnglish, String aToolTip, IToolStats aToolStats, Object... aOreDictNamesAndAspects) { - if (aToolTip == null) aToolTip = ""; - if (aID >= 0 && aID < 32766 && aID % 2 == 0) { - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + aID + ".name", aEnglish); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + aID + ".tooltip", aToolTip); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (aID + 1) + ".name", aEnglish + " (Empty)"); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (aID + 1) + ".tooltip", "You need to recharge it"); - mToolStats.put((short) aID, aToolStats); - mToolStats.put((short) (aID + 1), aToolStats); + public final ItemStack addToolEx(final int aID, final String aEnglish, String aToolTip, final IToolStats aToolStats, final Object... aOreDictNamesAndAspects) { + if (aToolTip == null) { + aToolTip = ""; + } + if ((aID >= 0) && (aID < 32766) && ((aID % 2) == 0)) { + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + "." + aID + ".name", aEnglish); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + "." + aID + ".tooltip", aToolTip); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + "." + (aID + 1) + ".name", aEnglish + " (Empty)"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + "." + (aID + 1) + ".tooltip", "You need to recharge it"); + this.mToolStats.put((short) aID, aToolStats); + this.mToolStats.put((short) (aID + 1), aToolStats); aToolStats.onStatsAddedToTool(this, aID); - ItemStack rStack = new ItemStack(this, 1, aID); - List tAspects = new ArrayList(); - for (Object tOreDictNameOrAspect : aOreDictNamesAndAspects) { - if (tOreDictNameOrAspect instanceof TC_AspectStack) + final ItemStack rStack = new ItemStack(this, 1, aID); + final List tAspects = new ArrayList<>(); + for (final Object tOreDictNameOrAspect : aOreDictNamesAndAspects) { + if (tOreDictNameOrAspect instanceof TC_AspectStack) { ((TC_AspectStack) tOreDictNameOrAspect).addToAspectList(tAspects); - else + } else { GT_OreDictUnificator.registerOre(tOreDictNameOrAspect, rStack); + } } - if (GregTech_API.sThaumcraftCompat != null) + if (GregTech_API.sThaumcraftCompat != null) { GregTech_API.sThaumcraftCompat.registerThaumcraftAspectsToItem(rStack, tAspects, false); + } return rStack; } return null; @@ -121,16 +128,18 @@ public abstract class GT_MetaGenTool extends GT_MetaGenerated_Tool { * @param aSecondaryMaterial Secondary (Rod/Handle) Material of this Tool * @param aElectricArray The Electric Stats of this Tool (or null if not electric) */ - public final ItemStack getToolWithStatsEx(int aToolID, int aAmount, Materials aPrimaryMaterial, Materials aSecondaryMaterial, long[] aElectricArray) { - ItemStack rStack = new ItemStack(this, aAmount, aToolID); - IToolStats tToolStats = getToolStats(rStack); + public final ItemStack getToolWithStatsEx(final int aToolID, final int aAmount, final Materials aPrimaryMaterial, final Materials aSecondaryMaterial, final long[] aElectricArray) { + final ItemStack rStack = new ItemStack(this, aAmount, aToolID); + final IToolStats tToolStats = this.getToolStats(rStack); if (tToolStats != null) { - NBTTagCompound tMainNBT = new NBTTagCompound(), tToolNBT = new NBTTagCompound(); + final NBTTagCompound tMainNBT = new NBTTagCompound(), tToolNBT = new NBTTagCompound(); if (aPrimaryMaterial != null) { tToolNBT.setString("PrimaryMaterial", aPrimaryMaterial.toString()); tToolNBT.setLong("MaxDamage", 100L * (long) (aPrimaryMaterial.mDurability * tToolStats.getMaxDurabilityMultiplier())); } - if (aSecondaryMaterial != null) tToolNBT.setString("SecondaryMaterial", aSecondaryMaterial.toString()); + if (aSecondaryMaterial != null) { + tToolNBT.setString("SecondaryMaterial", aSecondaryMaterial.toString()); + } if (aElectricArray != null) { tToolNBT.setBoolean("Electric", true); @@ -143,114 +152,152 @@ public abstract class GT_MetaGenTool extends GT_MetaGenerated_Tool { tMainNBT.setTag("GT.ToolStats", tToolNBT); rStack.setTagCompound(tMainNBT); } - isItemStackUsable(rStack); + this.isItemStackUsable(rStack); return rStack; } /** * Called by the Block Harvesting Event within the GT_Proxy */ - public void onHarvestBlockEvent(ArrayList aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) { - IToolStats tStats = getToolStats(aStack); - if (isItemStackUsable(aStack) && getDigSpeed(aStack, aBlock, aMetaData) > 0.0F) - doDamage(aStack, tStats.convertBlockDrops(aDrops, aStack, aPlayer, aBlock, aX, aY, aZ, aMetaData, aFortune, aSilkTouch, aEvent) * tStats.getToolDamagePerDropConversion()); + @Override + public void onHarvestBlockEvent(final ArrayList aDrops, final ItemStack aStack, final EntityPlayer aPlayer, final Block aBlock, final int aX, final int aY, final int aZ, final byte aMetaData, final int aFortune, final boolean aSilkTouch, final BlockEvent.HarvestDropsEvent aEvent) { + final IToolStats tStats = this.getToolStats(aStack); + if (this.isItemStackUsable(aStack) && (this.getDigSpeed(aStack, aBlock, aMetaData) > 0.0F)) { + this.doDamage(aStack, tStats.convertBlockDrops(aDrops, aStack, aPlayer, aBlock, aX, aY, aZ, aMetaData, aFortune, aSilkTouch, aEvent) * tStats.getToolDamagePerDropConversion()); + } } @Override - public boolean onLeftClickEntity(ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { - IToolStats tStats = getToolStats(aStack); - if (tStats == null || !isItemStackUsable(aStack)) return true; + public boolean onLeftClickEntity(final ItemStack aStack, final EntityPlayer aPlayer, final Entity aEntity) { + final IToolStats tStats = this.getToolStats(aStack); + if ((tStats == null) || !this.isItemStackUsable(aStack)) { + return true; + } GT_Utility.doSoundAtClient(tStats.getEntityHitSound(), 1, 1.0F); - if (super.onLeftClickEntity(aStack, aPlayer, aEntity)) return true; + if (super.onLeftClickEntity(aStack, aPlayer, aEntity)) { + return true; + } if (aEntity.canAttackWithItem() && !aEntity.hitByEntity(aPlayer)) { - float tMagicDamage = tStats.getMagicDamageAgainstEntity(aEntity instanceof EntityLivingBase ? EnchantmentHelper.getEnchantmentModifierLiving(aPlayer, (EntityLivingBase) aEntity) : 0.0F, aEntity, aStack, aPlayer), tDamage = tStats.getNormalDamageAgainstEntity((float) aPlayer.getEntityAttribute(SharedMonsterAttributes.attackDamage).getAttributeValue() + getToolCombatDamage(aStack), aEntity, aStack, aPlayer); - if (tDamage + tMagicDamage > 0.0F) { - boolean tCriticalHit = aPlayer.fallDistance > 0.0F && !aPlayer.onGround && !aPlayer.isOnLadder() && !aPlayer.isInWater() && !aPlayer.isPotionActive(Potion.blindness) && aPlayer.ridingEntity == null && aEntity instanceof EntityLivingBase; - if (tCriticalHit && tDamage > 0.0F) tDamage *= 1.5F; + final float tMagicDamage = tStats.getMagicDamageAgainstEntity(aEntity instanceof EntityLivingBase ? EnchantmentHelper.getEnchantmentModifierLiving(aPlayer, (EntityLivingBase) aEntity) : 0.0F, aEntity, aStack, aPlayer); + float tDamage = tStats.getNormalDamageAgainstEntity((float) aPlayer.getEntityAttribute(SharedMonsterAttributes.attackDamage).getAttributeValue() + this.getToolCombatDamage(aStack), aEntity, aStack, aPlayer); + if ((tDamage + tMagicDamage) > 0.0F) { + final boolean tCriticalHit = (aPlayer.fallDistance > 0.0F) && !aPlayer.onGround && !aPlayer.isOnLadder() && !aPlayer.isInWater() && !aPlayer.isPotionActive(Potion.blindness) && (aPlayer.ridingEntity == null) && (aEntity instanceof EntityLivingBase); + if (tCriticalHit && (tDamage > 0.0F)) { + tDamage *= 1.5F; + } tDamage += tMagicDamage; if (aEntity.attackEntityFrom(tStats.getDamageSource(aPlayer, aEntity), tDamage)) { - if (aEntity instanceof EntityLivingBase) + if (aEntity instanceof EntityLivingBase) { aEntity.setFire(EnchantmentHelper.getFireAspectModifier(aPlayer) * 4); - int tKnockcack = (aPlayer.isSprinting() ? 1 : 0) + (aEntity instanceof EntityLivingBase ? EnchantmentHelper.getKnockbackModifier(aPlayer, (EntityLivingBase) aEntity) : 0); + } + final int tKnockcack = (aPlayer.isSprinting() ? 1 : 0) + (aEntity instanceof EntityLivingBase ? EnchantmentHelper.getKnockbackModifier(aPlayer, (EntityLivingBase) aEntity) : 0); if (tKnockcack > 0) { - aEntity.addVelocity(-MathHelper.sin(aPlayer.rotationYaw * (float) Math.PI / 180.0F) * tKnockcack * 0.5F, 0.1D, MathHelper.cos(aPlayer.rotationYaw * (float) Math.PI / 180.0F) * tKnockcack * 0.5F); + aEntity.addVelocity(-MathHelper.sin((aPlayer.rotationYaw * (float) Math.PI) / 180.0F) * tKnockcack * 0.5F, 0.1D, MathHelper.cos((aPlayer.rotationYaw * (float) Math.PI) / 180.0F) * tKnockcack * 0.5F); aPlayer.motionX *= 0.6D; aPlayer.motionZ *= 0.6D; aPlayer.setSprinting(false); } - if (tCriticalHit) aPlayer.onCriticalHit(aEntity); - if (tMagicDamage > 0.0F) aPlayer.onEnchantmentCritical(aEntity); - if (tDamage >= 18.0F) aPlayer.triggerAchievement(AchievementList.overkill); + if (tCriticalHit) { + aPlayer.onCriticalHit(aEntity); + } + if (tMagicDamage > 0.0F) { + aPlayer.onEnchantmentCritical(aEntity); + } + if (tDamage >= 18.0F) { + aPlayer.triggerAchievement(AchievementList.overkill); + } aPlayer.setLastAttacker(aEntity); - if (aEntity instanceof EntityLivingBase) + if (aEntity instanceof EntityLivingBase) { EnchantmentHelper.func_151384_a((EntityLivingBase) aEntity, aPlayer); + } EnchantmentHelper.func_151385_b(aPlayer, aEntity); - if (aEntity instanceof EntityLivingBase) + if (aEntity instanceof EntityLivingBase) { aPlayer.addStat(StatList.damageDealtStat, Math.round(tDamage * 10.0F)); + } aEntity.hurtResistantTime = Math.max(1, tStats.getHurtResistanceTime(aEntity.hurtResistantTime, aEntity)); aPlayer.addExhaustion(0.3F); - doDamage(aStack, tStats.getToolDamagePerEntityAttack()); + this.doDamage(aStack, tStats.getToolDamagePerEntityAttack()); } } } - if (aStack.stackSize <= 0) aPlayer.destroyCurrentEquippedItem(); + if (aStack.stackSize <= 0) { + aPlayer.destroyCurrentEquippedItem(); + } return true; } @Override - public ItemStack onItemRightClick(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - IToolStats tStats = getToolStats(aStack); - if (tStats != null && tStats.canBlock()) aPlayer.setItemInUse(aStack, 72000); + public ItemStack onItemRightClick(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { + final IToolStats tStats = this.getToolStats(aStack); + if ((tStats != null) && tStats.canBlock()) { + aPlayer.setItemInUse(aStack, 72000); + } return super.onItemRightClick(aStack, aWorld, aPlayer); } - + @Override - public Long[] getFluidContainerStats(ItemStack aStack) { + public Long[] getFluidContainerStats(final ItemStack aStack) { return null; } @Override - public Long[] getElectricStats(ItemStack aStack) { + public Long[] getElectricStats(final ItemStack aStack) { NBTTagCompound aNBT = aStack.getTagCompound(); if (aNBT != null) { aNBT = aNBT.getCompoundTag("GT.ToolStats"); - if (aNBT != null && aNBT.getBoolean("Electric")) + if ((aNBT != null) && aNBT.getBoolean("Electric")) { return new Long[]{aNBT.getLong("MaxCharge"), aNBT.getLong("Voltage"), aNBT.getLong("Tier"), aNBT.getLong("SpecialData")}; + } } return null; } - public float getToolCombatDamage(ItemStack aStack) { - IToolStats tStats = getToolStats(aStack); - if (tStats == null) return 0; + @Override + public float getToolCombatDamage(final ItemStack aStack) { + final IToolStats tStats = this.getToolStats(aStack); + if (tStats == null) { + return 0; + } return tStats.getBaseDamage() + getPrimaryMaterial(aStack).mToolQuality; } @Override - public float getDigSpeed(ItemStack aStack, Block aBlock, int aMetaData) { - if (!isItemStackUsable(aStack)) return 0.0F; - IToolStats tStats = getToolStats(aStack); - if (tStats == null || Math.max(0, getHarvestLevel(aStack, "")) < aBlock.getHarvestLevel(aMetaData)) return 0.0F; + public float getDigSpeed(final ItemStack aStack, final Block aBlock, final int aMetaData) { + if (!this.isItemStackUsable(aStack)) { + return 0.0F; + } + final IToolStats tStats = this.getToolStats(aStack); + if ((tStats == null) || (Math.max(0, this.getHarvestLevel(aStack, "")) < aBlock.getHarvestLevel(aMetaData))) { + return 0.0F; + } return tStats.isMinableBlock(aBlock, (byte) aMetaData) ? Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed) : 0.0F; } @Override - public boolean onBlockDestroyed(ItemStack aStack, World aWorld, Block aBlock, int aX, int aY, int aZ, EntityLivingBase aPlayer) { - if (!isItemStackUsable(aStack)) return false; - IToolStats tStats = getToolStats(aStack); - if (tStats == null) return false; + public boolean onBlockDestroyed(final ItemStack aStack, final World aWorld, final Block aBlock, final int aX, final int aY, final int aZ, final EntityLivingBase aPlayer) { + if (!this.isItemStackUsable(aStack)) { + return false; + } + final IToolStats tStats = this.getToolStats(aStack); + if (tStats == null) { + return false; + } GT_Utility.doSoundAtClient(tStats.getMiningSound(), 1, 1.0F); - doDamage(aStack, (int) Math.max(1, aBlock.getBlockHardness(aWorld, aX, aY, aZ) * tStats.getToolDamagePerBlockBreak())); - return getDigSpeed(aStack, aBlock, aWorld.getBlockMetadata(aX, aY, aZ)) > 0.0F; + this.doDamage(aStack, (int) Math.max(1, aBlock.getBlockHardness(aWorld, aX, aY, aZ) * tStats.getToolDamagePerBlockBreak())); + return this.getDigSpeed(aStack, aBlock, aWorld.getBlockMetadata(aX, aY, aZ)) > 0.0F; } - private ItemStack getContainerItem(ItemStack aStack, boolean playSound) { - if (!isItemStackUsable(aStack)) return null; + private ItemStack getContainerItem(ItemStack aStack, final boolean playSound) { + if (!this.isItemStackUsable(aStack)) { + return null; + } aStack = GT_Utility.copyAmount(1, aStack); - IToolStats tStats = getToolStats(aStack); - if (tStats == null) return null; - doDamage(aStack, tStats.getToolDamagePerContainerCraft()); + final IToolStats tStats = this.getToolStats(aStack); + if (tStats == null) { + return null; + } + this.doDamage(aStack, tStats.getToolDamagePerContainerCraft()); aStack = aStack.stackSize > 0 ? aStack : null; if (playSound) { //String sound = (aStack == null) ? tStats.getBreakingSound() : tStats.getCraftingSound(); @@ -259,96 +306,129 @@ public abstract class GT_MetaGenTool extends GT_MetaGenerated_Tool { return aStack; } - public Interface_ToolStats getToolStats(ItemStack aStack) { - isItemStackUsable(aStack); - return getToolStatsInternal(aStack); + @Override + public Interface_ToolStats getToolStats(final ItemStack aStack) { + this.isItemStackUsable(aStack); + return this.getToolStatsInternal(aStack); } - private Interface_ToolStats getToolStatsInternal(ItemStack aStack) { - return (Interface_ToolStats) (aStack == null ? null : mToolStats.get((short) aStack.getItemDamage())); + private Interface_ToolStats getToolStatsInternal(final ItemStack aStack) { + return (Interface_ToolStats) (aStack == null ? null : this.mToolStats.get((short) aStack.getItemDamage())); } @Override - public float getSaplingModifier(ItemStack aStack, World aWorld, EntityPlayer aPlayer, int aX, int aY, int aZ) { - IToolStats tStats = getToolStats(aStack); - return tStats != null && tStats.isGrafter() ? Math.min(100.0F, (1 + getHarvestLevel(aStack, "")) * 20.0F) : 0.0F; + public float getSaplingModifier(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer, final int aX, final int aY, final int aZ) { + final IToolStats tStats = this.getToolStats(aStack); + return (tStats != null) && tStats.isGrafter() ? Math.min(100.0F, (1 + this.getHarvestLevel(aStack, "")) * 20.0F) : 0.0F; } @Override - public boolean canWhack(EntityPlayer aPlayer, ItemStack aStack, int aX, int aY, int aZ) { - if (!isItemStackUsable(aStack)) return false; - IToolStats tStats = getToolStats(aStack); - return tStats != null && tStats.isCrowbar(); + public boolean canWhack(final EntityPlayer aPlayer, final ItemStack aStack, final int aX, final int aY, final int aZ) { + if (!this.isItemStackUsable(aStack)) { + return false; + } + final IToolStats tStats = this.getToolStats(aStack); + return (tStats != null) && tStats.isCrowbar(); } @Override - public void onWhack(EntityPlayer aPlayer, ItemStack aStack, int aX, int aY, int aZ) { - IToolStats tStats = getToolStats(aStack); - if (tStats != null) doDamage(aStack, tStats.getToolDamagePerEntityAttack()); + public void onWhack(final EntityPlayer aPlayer, final ItemStack aStack, final int aX, final int aY, final int aZ) { + final IToolStats tStats = this.getToolStats(aStack); + if (tStats != null) { + this.doDamage(aStack, tStats.getToolDamagePerEntityAttack()); + } } - public boolean canWrench(EntityPlayer player, int x, int y, int z) { + public boolean canWrench(final EntityPlayer player, final int x, final int y, final int z) { System.out.println("canWrench"); - if(player==null)return false; - if(player.getCurrentEquippedItem()==null)return false; - if (!isItemStackUsable(player.getCurrentEquippedItem())) return false; - Interface_ToolStats tStats = getToolStats(player.getCurrentEquippedItem()); - return tStats != null && tStats.isWrench(); + if(player==null) { + return false; + } + if(player.getCurrentEquippedItem()==null) { + return false; + } + if (!this.isItemStackUsable(player.getCurrentEquippedItem())) { + return false; + } + final Interface_ToolStats tStats = this.getToolStats(player.getCurrentEquippedItem()); + return (tStats != null) && tStats.isWrench(); } - public void wrenchUsed(EntityPlayer player, int x, int y, int z) { - if(player==null)return; - if(player.getCurrentEquippedItem()==null)return; - IToolStats tStats = getToolStats(player.getCurrentEquippedItem()); - if (tStats != null) doDamage(player.getCurrentEquippedItem(), tStats.getToolDamagePerEntityAttack()); + public void wrenchUsed(final EntityPlayer player, final int x, final int y, final int z) { + if(player==null) { + return; + } + if(player.getCurrentEquippedItem()==null) { + return; + } + final IToolStats tStats = this.getToolStats(player.getCurrentEquippedItem()); + if (tStats != null) { + this.doDamage(player.getCurrentEquippedItem(), tStats.getToolDamagePerEntityAttack()); + } } - public boolean canUse(ItemStack stack, EntityPlayer player, int x, int y, int z){ - return canWrench(player, x, y, z); + public boolean canUse(final ItemStack stack, final EntityPlayer player, final int x, final int y, final int z){ + return this.canWrench(player, x, y, z); } - public void used(ItemStack stack, EntityPlayer player, int x, int y, int z){ - wrenchUsed(player, x, y, z); + public void used(final ItemStack stack, final EntityPlayer player, final int x, final int y, final int z){ + this.wrenchUsed(player, x, y, z); } - public boolean shouldHideFacades(ItemStack stack, EntityPlayer player) { - if(player==null)return false; - if(player.getCurrentEquippedItem()==null)return false; - if (!isItemStackUsable(player.getCurrentEquippedItem())) return false; - Interface_ToolStats tStats = getToolStats(player.getCurrentEquippedItem()); + public boolean shouldHideFacades(final ItemStack stack, final EntityPlayer player) { + if(player==null) { + return false; + } + if(player.getCurrentEquippedItem()==null) { + return false; + } + if (!this.isItemStackUsable(player.getCurrentEquippedItem())) { + return false; + } + final Interface_ToolStats tStats = this.getToolStats(player.getCurrentEquippedItem()); return tStats.isWrench(); } @Override - public boolean canLink(EntityPlayer aPlayer, ItemStack aStack, EntityMinecart cart) { - if (!isItemStackUsable(aStack)) return false; - IToolStats tStats = getToolStats(aStack); - return tStats != null && tStats.isCrowbar(); + public boolean canLink(final EntityPlayer aPlayer, final ItemStack aStack, final EntityMinecart cart) { + if (!this.isItemStackUsable(aStack)) { + return false; + } + final IToolStats tStats = this.getToolStats(aStack); + return (tStats != null) && tStats.isCrowbar(); } @Override - public void onLink(EntityPlayer aPlayer, ItemStack aStack, EntityMinecart cart) { - IToolStats tStats = getToolStats(aStack); - if (tStats != null) doDamage(aStack, tStats.getToolDamagePerEntityAttack()); + public void onLink(final EntityPlayer aPlayer, final ItemStack aStack, final EntityMinecart cart) { + final IToolStats tStats = this.getToolStats(aStack); + if (tStats != null) { + this.doDamage(aStack, tStats.getToolDamagePerEntityAttack()); + } } @Override - public boolean canBoost(EntityPlayer aPlayer, ItemStack aStack, EntityMinecart cart) { - if (!isItemStackUsable(aStack)) return false; - IToolStats tStats = getToolStats(aStack); - return tStats != null && tStats.isCrowbar(); + public boolean canBoost(final EntityPlayer aPlayer, final ItemStack aStack, final EntityMinecart cart) { + if (!this.isItemStackUsable(aStack)) { + return false; + } + final IToolStats tStats = this.getToolStats(aStack); + return (tStats != null) && tStats.isCrowbar(); } @Override - public void onBoost(EntityPlayer aPlayer, ItemStack aStack, EntityMinecart cart) { - IToolStats tStats = getToolStats(aStack); - if (tStats != null) doDamage(aStack, tStats.getToolDamagePerEntityAttack()); + public void onBoost(final EntityPlayer aPlayer, final ItemStack aStack, final EntityMinecart cart) { + final IToolStats tStats = this.getToolStats(aStack); + if (tStats != null) { + this.doDamage(aStack, tStats.getToolDamagePerEntityAttack()); + } } @Override - public void onCreated(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - IToolStats tStats = getToolStats(aStack); - if (tStats != null && aPlayer != null) tStats.onToolCrafted(aStack, aPlayer); + public void onCreated(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) { + final IToolStats tStats = this.getToolStats(aStack); + if ((tStats != null) && (aPlayer != null)) { + tStats.onToolCrafted(aStack, aPlayer); + } super.onCreated(aStack, aWorld, aPlayer); } @@ -358,38 +438,46 @@ public abstract class GT_MetaGenTool extends GT_MetaGenerated_Tool { } @Override - public boolean isItemStackUsable(ItemStack aStack) { - IToolStats tStats = getToolStatsInternal(aStack); - if (aStack.getItemDamage() % 2 == 1 || tStats == null) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) aNBT.removeTag("ench"); + public boolean isItemStackUsable(final ItemStack aStack) { + final IToolStats tStats = this.getToolStatsInternal(aStack); + if (((aStack.getItemDamage() % 2) == 1) || (tStats == null)) { + final NBTTagCompound aNBT = aStack.getTagCompound(); + if (aNBT != null) { + aNBT.removeTag("ench"); + } return false; } - Materials aMaterial = getPrimaryMaterial(aStack); - HashMap tMap = new HashMap(), tResult = new HashMap(); + final Materials aMaterial = getPrimaryMaterial(aStack); + final HashMap tMap = new HashMap<>(), tResult = new HashMap<>(); if (aMaterial.mEnchantmentTools != null) { tMap.put(aMaterial.mEnchantmentTools.effectId, (int) aMaterial.mEnchantmentToolsLevel); - if (aMaterial.mEnchantmentTools == Enchantment.fortune) + if (aMaterial.mEnchantmentTools == Enchantment.fortune) { tMap.put(Enchantment.looting.effectId, (int) aMaterial.mEnchantmentToolsLevel); - if (aMaterial.mEnchantmentTools == Enchantment.knockback) + } + if (aMaterial.mEnchantmentTools == Enchantment.knockback) { tMap.put(Enchantment.power.effectId, (int) aMaterial.mEnchantmentToolsLevel); - if (aMaterial.mEnchantmentTools == Enchantment.fireAspect) + } + if (aMaterial.mEnchantmentTools == Enchantment.fireAspect) { tMap.put(Enchantment.flame.effectId, (int) aMaterial.mEnchantmentToolsLevel); + } } - Enchantment[] tEnchants = tStats.getEnchantments(aStack); - int[] tLevels = tStats.getEnchantmentLevels(aStack); - for (int i = 0; i < tEnchants.length; i++) + final Enchantment[] tEnchants = tStats.getEnchantments(aStack); + final int[] tLevels = tStats.getEnchantmentLevels(aStack); + for (int i = 0; i < tEnchants.length; i++) { if (tLevels[i] > 0) { - Integer tLevel = tMap.get(tEnchants[i].effectId); + final Integer tLevel = tMap.get(tEnchants[i].effectId); tMap.put(tEnchants[i].effectId, tLevel == null ? tLevels[i] : tLevel == tLevels[i] ? tLevel + 1 : Math.max(tLevel, tLevels[i])); } - for (Entry tEntry : tMap.entrySet()) { - if (tEntry.getKey() == 33 || (tEntry.getKey() == 20 && tEntry.getValue() > 2) || tEntry.getKey() == Enchantment_Radioactivity.INSTANCE.effectId) + } + for (final Entry tEntry : tMap.entrySet()) { + if ((tEntry.getKey() == 33) || ((tEntry.getKey() == 20) && (tEntry.getValue() > 2)) || (tEntry.getKey() == Enchantment_Radioactivity.INSTANCE.effectId)) { tResult.put(tEntry.getKey(), tEntry.getValue()); - else + } else { switch (Enchantment.enchantmentsList[tEntry.getKey()].type) { case weapon: - if (tStats.isWeapon()) tResult.put(tEntry.getKey(), tEntry.getValue()); + if (tStats.isWeapon()) { + tResult.put(tEntry.getKey(), tEntry.getValue()); + } break; case all: tResult.put(tEntry.getKey(), tEntry.getValue()); @@ -401,31 +489,38 @@ public abstract class GT_MetaGenTool extends GT_MetaGenerated_Tool { case armor_torso: break; case bow: - if (tStats.isRangedWeapon()) tResult.put(tEntry.getKey(), tEntry.getValue()); + if (tStats.isRangedWeapon()) { + tResult.put(tEntry.getKey(), tEntry.getValue()); + } break; case breakable: break; case fishing_rod: break; case digger: - if (tStats.isMiningTool()) tResult.put(tEntry.getKey(), tEntry.getValue()); + if (tStats.isMiningTool()) { + tResult.put(tEntry.getKey(), tEntry.getValue()); + } break; } + } } EnchantmentHelper.setEnchantments(tResult, aStack); return true; } @Override - public short getChargedMetaData(ItemStack aStack) { + public short getChargedMetaData(final ItemStack aStack) { return (short) (aStack.getItemDamage() - (aStack.getItemDamage() % 2)); } @Override - public short getEmptyMetaData(ItemStack aStack) { - NBTTagCompound aNBT = aStack.getTagCompound(); - if (aNBT != null) aNBT.removeTag("ench"); - return (short) (aStack.getItemDamage() + 1 - (aStack.getItemDamage() % 2)); + public short getEmptyMetaData(final ItemStack aStack) { + final NBTTagCompound aNBT = aStack.getTagCompound(); + if (aNBT != null) { + aNBT.removeTag("ench"); + } + return (short) ((aStack.getItemDamage() + 1) - (aStack.getItemDamage() % 2)); } @Override @@ -434,12 +529,12 @@ public abstract class GT_MetaGenTool extends GT_MetaGenerated_Tool { } @Override - public boolean isBookEnchantable(ItemStack aStack, ItemStack aBook) { + public boolean isBookEnchantable(final ItemStack aStack, final ItemStack aBook) { return false; } @Override - public boolean getIsRepairable(ItemStack aStack, ItemStack aMaterial) { + public boolean getIsRepairable(final ItemStack aStack, final ItemStack aMaterial) { return false; } } \ No newline at end of file -- cgit