ソースを参照

Mod Support - Item Tiers.

1 is Wood, 2 is Stone, 3 is Iron, 4 is Diamond.
GJ 13 年 前
コミット
d17fe6bb7a

+ 3 - 2
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);

+ 11 - 1
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;
+    }
 }

+ 2 - 2
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())) {

+ 6 - 2
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;
     }

+ 12 - 0
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