From d17fe6bb7a74aad9a33ccbfee9615603557476f4 Mon Sep 17 00:00:00 2001 From: GJ Date: Thu, 17 May 2012 21:19:17 -0400 Subject: [PATCH] Mod Support - Item Tiers. 1 is Wood, 2 is Stone, 3 is Iron, 4 is Diamond. --- .../gmail/nossr50/config/mods/CustomToolsConfig.java | 5 +++-- .../com/gmail/nossr50/datatypes/mods/CustomTool.java | 12 +++++++++++- src/main/java/com/gmail/nossr50/util/ItemChecks.java | 4 ++-- src/main/java/com/gmail/nossr50/util/Misc.java | 8 ++++++-- src/main/resources/tools.yml | 12 ++++++++++++ 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/config/mods/CustomToolsConfig.java b/src/main/java/com/gmail/nossr50/config/mods/CustomToolsConfig.java index 35a1fc803..e0afdfab5 100644 --- a/src/main/java/com/gmail/nossr50/config/mods/CustomToolsConfig.java +++ b/src/main/java/com/gmail/nossr50/config/mods/CustomToolsConfig.java @@ -72,6 +72,7 @@ public class CustomToolsConfig extends ModConfigLoader { int id = config.getInt(toolType + "." + toolName + ".ID", 0); double multiplier = config.getDouble(toolType + "." + toolName + ".XP_Modifier", 1.0); boolean abilityEnabled = config.getBoolean(toolType + "." + toolName + ".Ability_Enabled", true); + int tier = config.getInt(toolType + "." + toolName + ".Tier", 1); boolean repairable = config.getBoolean(toolType + "." + toolName + ".Repairable"); int repairID = config.getInt(toolType + "." + toolName + ".Repair_Material_ID", 0); byte repairData = (byte) config.getInt(toolType + "." + toolName + ".Repair_Material_Data_Value", 0); @@ -92,10 +93,10 @@ public class CustomToolsConfig extends ModConfigLoader { if (repairable) { ItemStack repairMaterial = new ItemStack(repairID, 1, (short) 0, repairData); - tool = new CustomTool(durability, repairMaterial, repairQuantity, repairable, abilityEnabled, multiplier, id); + tool = new CustomTool(durability, repairMaterial, repairQuantity, repairable, tier, abilityEnabled, multiplier, id); } else { - tool = new CustomTool(durability, null, 0, repairable, abilityEnabled, multiplier, id); + tool = new CustomTool(durability, null, 0, repairable, tier, abilityEnabled, multiplier, id); } idList.add(id); diff --git a/src/main/java/com/gmail/nossr50/datatypes/mods/CustomTool.java b/src/main/java/com/gmail/nossr50/datatypes/mods/CustomTool.java index 1ec12e981..c7a85d932 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/mods/CustomTool.java +++ b/src/main/java/com/gmail/nossr50/datatypes/mods/CustomTool.java @@ -5,11 +5,13 @@ import org.bukkit.inventory.ItemStack; public class CustomTool extends CustomItem { private double xpMultiplier; private boolean abilityEnabled; + private int tier; - public CustomTool(short durability, ItemStack repairMaterial, int repairQuantity, boolean repairable, boolean abilityEnabled, double xpMultiplier, int itemID) { + public CustomTool(short durability, ItemStack repairMaterial, int repairQuantity, boolean repairable, int tier, boolean abilityEnabled, double xpMultiplier, int itemID) { super(durability, repairMaterial, repairQuantity, repairable, itemID); this.xpMultiplier = xpMultiplier; this.abilityEnabled = abilityEnabled; + this.tier = tier; } public double getXpMultiplier() { @@ -27,4 +29,12 @@ public class CustomTool extends CustomItem { public void setAbilityEnabled(boolean abilityEnabled) { this.abilityEnabled = abilityEnabled; } + + public int getTier() { + return tier; + } + + public void setTier(int tier) { + this.tier = tier; + } } diff --git a/src/main/java/com/gmail/nossr50/util/ItemChecks.java b/src/main/java/com/gmail/nossr50/util/ItemChecks.java index 228cfdeba..722b86cb6 100644 --- a/src/main/java/com/gmail/nossr50/util/ItemChecks.java +++ b/src/main/java/com/gmail/nossr50/util/ItemChecks.java @@ -243,10 +243,10 @@ public class ItemChecks { } /** - * Checks to see if an item is a custom tool. + * Checks to see if an item is custom armor. * * @param is Item to check - * @return true if the item is a custom tool, false otherwise + * @return true if the item is custom armor, false otherwise */ public static boolean isCustomArmor(ItemStack is) { if (customArmorEnabled && CustomArmorConfig.getInstance().customIDs.contains(is.getTypeId())) { diff --git a/src/main/java/com/gmail/nossr50/util/Misc.java b/src/main/java/com/gmail/nossr50/util/Misc.java index c2cb6a915..f252f7c71 100644 --- a/src/main/java/com/gmail/nossr50/util/Misc.java +++ b/src/main/java/com/gmail/nossr50/util/Misc.java @@ -140,11 +140,15 @@ public class Misc { else if (ItemChecks.isIronTool(inHand)) { tier = 3; } - else if(ItemChecks.isGoldTool(inHand)) { + else if (ItemChecks.isGoldTool(inHand)) { tier = 1; } - else if(ItemChecks.isDiamondTool(inHand)) + else if (ItemChecks.isDiamondTool(inHand)) { tier = 4; + } + else if (ItemChecks.isCustomTool(inHand)) { + tier = ModChecks.getToolFromItemStack(inHand).getTier(); + } return tier; } diff --git a/src/main/resources/tools.yml b/src/main/resources/tools.yml index 0766c6c09..6fa579749 100644 --- a/src/main/resources/tools.yml +++ b/src/main/resources/tools.yml @@ -6,6 +6,7 @@ Axes: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -15,6 +16,7 @@ Axes: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -29,6 +31,7 @@ Bows: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -38,6 +41,7 @@ Bows: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -52,6 +56,7 @@ Hoes: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -61,6 +66,7 @@ Hoes: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -75,6 +81,7 @@ Pickaxes: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -84,6 +91,7 @@ Pickaxes: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -98,6 +106,7 @@ Shovels: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -107,6 +116,7 @@ Shovels: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -121,6 +131,7 @@ Swords: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0 @@ -130,6 +141,7 @@ Swords: ID: 999 XP_Modifer: 1.0 Ability_Enabled: true + Tier: 1 Repairable: true Repair_Material_ID: 99 Repair_Material_Data_Value: 0