diff options
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal')
7 files changed, 174 insertions, 281 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java index 472808f9b2..62b3aa9bcc 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java @@ -5,133 +5,90 @@ import net.minecraftforge.fluids.FluidStack; public interface IGregtech_RecipeAdder { /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) + * Adds a Coke Oven Recipe * - * @param aInput - * = ItemStack[] (not null, and respects StackSize) - * @param aFluidOutput - * = Output of the UU-Matter (not null, and respects StackSize) - * @param aChances - * = Output Change (can be == 0) - * @param aDuration - * = Duration (must be >= 0) - * @param aEUt - * = EU needed for heating up (must be >= 0) + * @param aInput1 = first Input (not null, and respects StackSize) + * @param aInputb = second Input (can be null, and respects StackSize) + * @param aFluidOutput = Output of the Creosote (not null, and respects StackSize) + * @param aFluidInput = fluid Input (can be null, and respects StackSize) + * @param aOutput = Output of the Coal/coke (can be null, and respects StackSize) + * @param aDuration = Duration (must be >= 0) + * @param aEUt = EU needed for heating up (must be >= 0) * @return true if the Recipe got added, otherwise false. */ - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aOutput, int aChance, int aDuration, int aEUt); + //public boolean addCokeOvenRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue); + public boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt); + + public boolean addFuel(ItemStack aInput1, ItemStack aOutput1, int aEU, int aType); + /** - * Adds a Coke Oven Recipe + * Adds a Matter Fabricator Recipe * - * @param aInput1 - * = first Input (not null, and respects StackSize) - * @param aInputb - * = second Input (can be null, and respects StackSize) - * @param aFluidOutput - * = Output of the Creosote (not null, and respects StackSize) - * @param aFluidInput - * = fluid Input (can be null, and respects StackSize) - * @param aOutput - * = Output of the Coal/coke (can be null, and respects - * StackSize) - * @param aDuration - * = Duration (must be >= 0) - * @param aEUt - * = EU needed for heating up (must be >= 0) + * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize) + * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize) + * @param aDuration = Duration (must be >= 0) + * @param aEUt = EU needed for heating up (must be >= 0) * @return true if the Recipe got added, otherwise false. */ - // public boolean addCokeOvenRecipe(boolean aOptimize, ItemStack[] aInputs, - // ItemStack[] aOutputs, Object aSpecial, FluidStack[] aFluidInputs, - // FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue); - public boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt); + public boolean addMatterFabricatorRecipe(FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt); /** - * Adds a Recipe for the Dehydrator. (up to 9 Outputs) + * Adds a Matter Fabricator Recipe * - * @param aInput - * = Input itemstack (not null, and respects StackSize) - * @param aFluidInput - * = fluid Input (can be UU_Amp or null, and respects StackSize) - * @param aOutputItems - * = Itemstack[] (not null, and respects StackSize) - * @param aDuration - * = Duration (must be >= 0) - * @param aEUt - * = EU needed for heating up (must be >= 0) + * @param aItemInput = ItemStack Input, can be null I assume. + * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize) + * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize) + * @param aDuration = Duration (must be >= 0) + * @param aEUt = EU needed for heating up (must be >= 0) * @return true if the Recipe got added, otherwise false. */ + public boolean addMatterFabricatorRecipe(ItemStack aItemInput, FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt); + + - public boolean addDehydratorRecipe(ItemStack aInput, FluidStack aFluid, ItemStack[] aOutputItems, int aDuration, - int aEUt); - /* - * public boolean addDehydratorRecipe(FluidStack aFluid, FluidStack - * aOutputFluid, ItemStack[] aOutputItems, int aDuration, int aEUt); - */ - /* - * public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, - * ItemStack[] aOutputItems, int aDuration, int aEUt); public boolean - * addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, FluidStack - * aFluid, ItemStack[] aOutputItems, FluidStack aOutputFluid, int aDuration, - * int aEUt); - */ /** * Adds a Recipe for the Dehydrator. (up to 9 Outputs) * - * @param aInput - * = ItemStack[] (not null, and respects StackSize) - * @param aFluidInput - * = fluid Input (can be UU_Amp or null, and respects StackSize) - * @param aFluidOutput - * = Output of the UU-Matter (not null, and respects StackSize) - * @param aOutputItems - * = ItemStack[] (not null, and respects StackSize) - * @param aChances - * = Output Change (can be == 0) - * @param aDuration - * = Duration (must be >= 0) - * @param aEUt - * = EU needed for heating up (must be >= 0) + * @param aInput = Input itemstack (not null, and respects StackSize) + * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize) + * @param aOutputItems = Itemstack[] (not null, and respects StackSize) + * @param aDuration = Duration (must be >= 0) + * @param aEUt = EU needed for heating up (must be >= 0) * @return true if the Recipe got added, otherwise false. */ - public boolean addDehydratorRecipe(ItemStack[] aInput, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack[] aOutputItems, int[] aChances, int aDuration, int aEUt); - public boolean addFuel(ItemStack aInput1, ItemStack aOutput1, int aEU, int aType); + public boolean addDehydratorRecipe(ItemStack aInput, FluidStack aFluid, ItemStack[] aOutputItems, int aDuration, int aEUt); + /*public boolean addDehydratorRecipe(FluidStack aFluid, FluidStack aOutputFluid, ItemStack[] aOutputItems, int aDuration, int aEUt);*/ + /*public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, ItemStack[] aOutputItems, int aDuration, int aEUt); + public boolean addDehydratorRecipe(ItemStack aItemA, ItemStack aItemB, FluidStack aFluid, ItemStack[] aOutputItems, FluidStack aOutputFluid, int aDuration, int aEUt);*/ /** - * Adds a Matter Fabricator Recipe + * Adds a Recipe for the Dehydrator. (up to 9 Outputs) * - * @param aFluidOutput - * = Output of the UU-Matter (not null, and respects StackSize) - * @param aFluidInput - * = fluid Input (can be UU_Amp or null, and respects StackSize) - * @param aDuration - * = Duration (must be >= 0) - * @param aEUt - * = EU needed for heating up (must be >= 0) + * @param aInput = ItemStack[] (not null, and respects StackSize) + * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize) + * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize) + * @param aOutputItems = ItemStack[] (not null, and respects StackSize) + * @param aChances = Output Change (can be == 0) + * @param aDuration = Duration (must be >= 0) + * @param aEUt = EU needed for heating up (must be >= 0) * @return true if the Recipe got added, otherwise false. */ - public boolean addMatterFabricatorRecipe(FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt); + public boolean addDehydratorRecipe(ItemStack[] aInput, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack[] aOutputItems, int[] aChances, int aDuration, int aEUt); + /** - * Adds a Matter Fabricator Recipe + * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) * - * @param aItemInput - * = ItemStack Input, can be null I assume. - * @param aFluidInput - * = fluid Input (can be UU_Amp or null, and respects StackSize) - * @param aFluidOutput - * = Output of the UU-Matter (not null, and respects StackSize) - * @param aDuration - * = Duration (must be >= 0) - * @param aEUt - * = EU needed for heating up (must be >= 0) + * @param aInput = ItemStack[] (not null, and respects StackSize) + * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize) + * @param aChances = Output Change (can be == 0) + * @param aDuration = Duration (must be >= 0) + * @param aEUt = EU needed for heating up (must be >= 0) * @return true if the Recipe got added, otherwise false. */ - public boolean addMatterFabricatorRecipe(ItemStack aItemInput, FluidStack aFluidInput, FluidStack aFluidOutput, - int aDuration, int aEUt); + public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aOutput, int aChance, int aDuration, int aEUt); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java index b6c36483af..8e1715caf5 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_IconContainer.java @@ -4,18 +4,18 @@ import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; public interface Interface_IconContainer { - /** - * @return A regular Icon. - */ - public IIcon getIcon(); + /** + * @return A regular Icon. + */ + public IIcon getIcon(); - /** - * @return Icon of the Overlay (or null if there is no Icon) - */ - public IIcon getOverlayIcon(); + /** + * @return Icon of the Overlay (or null if there is no Icon) + */ + public IIcon getOverlayIcon(); - /** - * @return the Default Texture File for this Icon. - */ - public ResourceLocation getTextureFile(); + /** + * @return the Default Texture File for this Icon. + */ + public ResourceLocation getTextureFile(); }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java index 31a97604e7..03f7b1bd1e 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java @@ -1,9 +1,10 @@ package gtPlusPlus.xmod.gregtech.api.interfaces.internal; -import java.util.List; - import gregtech.api.enums.SubTag; import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaItem_Base; + +import java.util.List; + import net.minecraft.dispenser.IBlockSource; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -14,31 +15,27 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public interface Interface_ItemBehaviour<E extends Item> { - public boolean canDispense(E aItem, IBlockSource aSource, ItemStack aStack); + public boolean onLeftClickEntity(E aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity); - public List<String> getAdditionalToolTips(E aItem, List<String> aList, ItemStack aStack); + public boolean onItemUse(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ); - public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, - double aY, double aZ); + public boolean onItemUseFirst(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ); - public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, - EntityLivingBase aEntity, float aSpeed); + public ItemStack onItemRightClick(E aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer); - public boolean hasProjectile(Gregtech_MetaItem_Base aItem, SubTag aProjectileType, ItemStack aStack); + public List<String> getAdditionalToolTips(E aItem, List<String> aList, ItemStack aStack); - public boolean isItemStackUsable(E aItem, ItemStack aStack); + public void onUpdate(E aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand); - public ItemStack onDispense(E aItem, IBlockSource aSource, ItemStack aStack); + public boolean isItemStackUsable(E aItem, ItemStack aStack); - public ItemStack onItemRightClick(E aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer); + public boolean canDispense(E aItem, IBlockSource aSource, ItemStack aStack); - public boolean onItemUse(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, - int aSide, float hitX, float hitY, float hitZ); + public ItemStack onDispense(E aItem, IBlockSource aSource, ItemStack aStack); - public boolean onItemUseFirst(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, - int aSide, float hitX, float hitY, float hitZ); + public boolean hasProjectile(Gregtech_MetaItem_Base aItem, SubTag aProjectileType, ItemStack aStack); - public boolean onLeftClickEntity(E aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity); + public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ); - public void onUpdate(E aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand); + public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed); }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java index 99348d1900..d4e37ee476 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator.java @@ -6,21 +6,14 @@ import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; import net.minecraft.item.ItemStack; public interface Interface_OreRecipeRegistrator { - /** - * Contains a Code Fragment, used in the OrePrefix to register Recipes. - * Better than using a switch/case, like I did before. - * - * @param aPrefix - * always != null - * @param aMaterial - * always != null, and can be == _NULL if the Prefix is Self - * Referencing or not Material based! - * @param aStack - * always != null - */ - public void registerOre(GregtechOrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, - ItemStack aStack); + /** + * Contains a Code Fragment, used in the OrePrefix to register Recipes. Better than using a switch/case, like I did before. + * + * @param aPrefix always != null + * @param aMaterial always != null, and can be == _NULL if the Prefix is Self Referencing or not Material based! + * @param aStack always != null + */ + public void registerOre(GregtechOrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack); - public void registerOre(GregtechOrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, - ItemStack copyAmount); + public void registerOre(GregtechOrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack copyAmount); }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java index 8a06d5ae7a..ed276ad3f9 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_OreRecipeRegistrator_GT.java @@ -5,18 +5,12 @@ import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; import net.minecraft.item.ItemStack; public interface Interface_OreRecipeRegistrator_GT { - /** - * Contains a Code Fragment, used in the OrePrefix to register Recipes. - * Better than using a switch/case, like I did before. - * - * @param aPrefix - * always != null - * @param aMaterial - * always != null, and can be == _NULL if the Prefix is Self - * Referencing or not Material based! - * @param aStack - * always != null - */ - public void registerOre(OrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, - ItemStack aStack); + /** + * Contains a Code Fragment, used in the OrePrefix to register Recipes. Better than using a switch/case, like I did before. + * + * @param aPrefix always != null + * @param aMaterial always != null, and can be == _NULL if the Prefix is Self Referencing or not Material based! + * @param aStack always != null + */ + public void registerOre(OrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack); }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java index f0845eb751..76c5113186 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_Texture.java @@ -4,17 +4,17 @@ import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; public interface Interface_Texture { - public boolean isValidTexture(); + public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); - public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); + public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); - public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); + public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); - public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); + public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); - public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); + public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); - public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); + public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); - public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ); + public boolean isValidTexture(); }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java index 41e9d7f640..26b8dc1d3d 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/Interface_ToolStats.java @@ -1,11 +1,12 @@ package gtPlusPlus.xmod.gregtech.api.interfaces.internal; -import java.util.List; - import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.IToolStats; import gregtech.api.items.GT_MetaGenerated_Tool; import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool; + +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.Entity; @@ -18,193 +19,144 @@ import net.minecraftforge.event.world.BlockEvent; /** * The Stats for GT Tools. Not including any Material Modifiers. * <p/> - * And this is supposed to not have any ItemStack Parameters as these are - * generic Stats. + * And this is supposed to not have any ItemStack Parameters as these are generic Stats. */ -public interface Interface_ToolStats extends IToolStats { +public interface Interface_ToolStats extends IToolStats{ /** - * @return If this Tool can be used for blocking Damage like a Sword. + * Called when aPlayer crafts this Tool */ - @Override - public boolean canBlock(); + public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer); /** - * This lets you modify the Drop List, when this type of Tool has been used. - * - * @return the Amount of modified Items. + * Called when this gets added to a Tool Item */ - @Override - public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, - int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent); + public void onStatsAddedToTool(Gregtech_MetaTool gregtech_MetaTool, int aID); /** - * @return The Damage Bonus for this Type of Tool against Mobs. 1.0F is - * normal punch. + * @return Damage the Tool receives when breaking a Block. 100 is one Damage Point (or 100 EU). */ - @Override - public float getBaseDamage(); + public int getToolDamagePerBlockBreak(); /** - * @return Basic Quality of the Tool, 0 is normal. If increased, it will - * increase the general quality of all Tools of this Type. - * Decreasing is also possible. + * @return Damage the Tool receives when converting the drops of a Block. 100 is one Damage Point (or 100 EU). */ - @Override - public int getBaseQuality(); - - @Override - public String getBreakingSound(); + public int getToolDamagePerDropConversion(); /** - * @return Returns a broken Version of the Item. + * @return Damage the Tool receives when being used as Container Item. 100 is one use, however it is usually 8 times more than normal. */ - @Override - public ItemStack getBrokenItem(ItemStack aStack); - - @Override - public String getCraftingSound(); - - @Override - public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity); + public int getToolDamagePerContainerCraft(); - @Override - public int[] getEnchantmentLevels(ItemStack aStack); + /** + * @return Damage the Tool receives when being used as Weapon, 200 is the normal Value, 100 for actual Weapons. + */ + public int getToolDamagePerEntityAttack(); - @Override - public Enchantment[] getEnchantments(ItemStack aStack); + /** + * @return Basic Quality of the Tool, 0 is normal. If increased, it will increase the general quality of all Tools of this Type. Decreasing is also possible. + */ + public int getBaseQuality(); - @Override - public String getEntityHitSound(); + /** + * @return The Damage Bonus for this Type of Tool against Mobs. 1.0F is normal punch. + */ + public float getBaseDamage(); /** - * @return This gets the Hurt Resistance time for Entities getting hit. - * (always does 1 as minimum) + * @return This gets the Hurt Resistance time for Entities getting hit. (always does 1 as minimum) */ - @Override public int getHurtResistanceTime(int aOriginalHurtResistance, Entity aEntity); - @Override - public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack); - /** - * @return the Damage actually done to the Mob. + * @return This is a multiplier for the Tool Speed. 1.0F = no special Speed. */ - @Override - public float getMagicDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, - EntityPlayer aPlayer); + public float getSpeedMultiplier(); /** - * @return This is a multiplier for the Tool Speed. 1.0F = no special - * Durability. + * @return This is a multiplier for the Tool Speed. 1.0F = no special Durability. */ - @Override public float getMaxDurabilityMultiplier(); - @Override + public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity); + public String getMiningSound(); - /** - * @return the Damage actually done to the Mob. - */ - @Override - public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, - EntityPlayer aPlayer); + public String getCraftingSound(); - @Override - public short[] getRGBa(boolean aIsToolHead, ItemStack aStack); + public String getEntityHitSound(); + + public String getBreakingSound(); + + public Enchantment[] getEnchantments(ItemStack aStack); + + public int[] getEnchantmentLevels(ItemStack aStack); /** - * @return This is a multiplier for the Tool Speed. 1.0F = no special Speed. + * @return If this Tool can be used for blocking Damage like a Sword. */ - @Override - public float getSpeedMultiplier(); + public boolean canBlock(); /** - * @return Damage the Tool receives when breaking a Block. 100 is one Damage - * Point (or 100 EU). + * @return If this Tool can be used as an RC Crowbar. */ - @Override - public int getToolDamagePerBlockBreak(); + public boolean isCrowbar(); /** - * @return Damage the Tool receives when being used as Container Item. 100 - * is one use, however it is usually 8 times more than normal. + * @return If this Tool can be used as an BC Wrench. */ - @Override - public int getToolDamagePerContainerCraft(); + public boolean isWrench(); /** - * @return Damage the Tool receives when converting the drops of a Block. - * 100 is one Damage Point (or 100 EU). + * @return If this Tool can be used as Weapon i.e. if that is the main purpose. */ - @Override - public int getToolDamagePerDropConversion(); + public boolean isWeapon(); /** - * @return Damage the Tool receives when being used as Weapon, 200 is the - * normal Value, 100 for actual Weapons. + * @return If this Tool is a Ranged Weapon. Return false at isWeapon unless you have a Blade attached to your Bow/Gun or something */ - @Override - public int getToolDamagePerEntityAttack(); + public boolean isRangedWeapon(); /** - * @return If this Tool can be used as an RC Crowbar. + * @return If this Tool can be used as Weapon i.e. if that is the main purpose. */ - @Override - public boolean isCrowbar(); + public boolean isMiningTool(); /** - * aBlock.getHarvestTool(aMetaData) can return the following Values for - * example. "axe", "pickaxe", "sword", "shovel", "hoe", "grafter", "saw", - * "wrench", "crowbar", "file", "hammer", "plow", "plunger", "scoop", - * "screwdriver", "sense", "scythe", "softhammer", "cutter", "plasmatorch" + * aBlock.getHarvestTool(aMetaData) can return the following Values for example. + * "axe", "pickaxe", "sword", "shovel", "hoe", "grafter", "saw", "wrench", "crowbar", "file", "hammer", "plow", "plunger", "scoop", "screwdriver", "sense", "scythe", "softhammer", "cutter", "plasmatorch" * - * @return If this is a minable Block. Tool Quality checks (like Diamond - * Tier or something) are separate from this check. + * @return If this is a minable Block. Tool Quality checks (like Diamond Tier or something) are separate from this check. */ - @Override public boolean isMinableBlock(Block aBlock, byte aMetaData); /** - * @return If this Tool can be used as Weapon i.e. if that is the main - * purpose. + * This lets you modify the Drop List, when this type of Tool has been used. + * + * @return the Amount of modified Items. */ - @Override - public boolean isMiningTool(); + public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX, int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent); /** - * @return If this Tool is a Ranged Weapon. Return false at isWeapon unless - * you have a Blade attached to your Bow/Gun or something + * @return Returns a broken Version of the Item. */ - @Override - public boolean isRangedWeapon(); + public ItemStack getBrokenItem(ItemStack aStack); /** - * @return If this Tool can be used as Weapon i.e. if that is the main - * purpose. + * @return the Damage actually done to the Mob. */ - @Override - public boolean isWeapon(); + public float getNormalDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer); /** - * @return If this Tool can be used as an BC Wrench. + * @return the Damage actually done to the Mob. */ - public boolean isWrench(); + public float getMagicDamageAgainstEntity(float aOriginalDamage, Entity aEntity, ItemStack aStack, EntityPlayer aPlayer); - /** - * Called when this gets added to a Tool Item - */ - public void onStatsAddedToTool(Gregtech_MetaTool gregtech_MetaTool, int aID); + public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack); + public short[] getRGBa(boolean aIsToolHead, ItemStack aStack); + /** * Called when this gets added to a Tool Item */ - @Override public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID); - - /** - * Called when aPlayer crafts this Tool - */ - @Override - public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer); }
\ No newline at end of file |