浏览代码

Use doubles in config.yml where appropriate. Change item IDs to item names
in light of upcoming Minecraft changes that will remove access to item
IDs.

GJ 11 年之前
父节点
当前提交
4eba33a1c6

+ 22 - 23
src/main/java/com/gmail/nossr50/config/Config.java

@@ -92,8 +92,8 @@ public class Config extends AutoUpdateConfigLoader {
             reason.add("Items.Chimaera_Wing.Recipe_Cost only accepts values from 1 to 64!");
         }
 
-        if (getChimaeraItemId() < 1) {
-            reason.add("Items.Chimaera_Wing.Item_ID should be at least 1!");
+        if (getChimaeraItem() == null) {
+            reason.add("Items.Chimaera_Wing.Item_Name is invalid!");
         }
 
         /* Particles */
@@ -135,21 +135,20 @@ public class Config extends AutoUpdateConfigLoader {
             reason.add("Abilities.Limits.Tree_Feller_Threshold should be greater than 0!");
         }
 
-
-        if (getDetonatorItemID() < 1) {
-            reason.add("Skills.Mining.Detonator_ID should be at least 1!");
+        if (getDetonatorItem() == null) {
+            reason.add("Skills.Mining.Detonator_Item is invalid!");
         }
 
-        if (getRepairAnvilId() < 1) {
-            reason.add("Skills.Repair.Anvil_ID should be at least 1!");
+        if (getRepairAnvilMaterial() == null) {
+            reason.add("Skills.Repair.Anvil_Type is invalid!!");
         }
 
-        if (getSalvageAnvilId() < 1) {
-            reason.add("Skills.Repair.Salvage_Anvil_ID should be at least 1!");
+        if (getSalvageAnvilMaterial() == null) {
+            reason.add("Skills.Repair.Salvage_Anvil_Type is invalid!");
         }
 
-        if (getRepairAnvilId() == getSalvageAnvilId()) {
-            reason.add("Cannot use the same item ID for Repair and Salvage anvils!");
+        if (getRepairAnvilMaterial() == getSalvageAnvilMaterial()) {
+            reason.add("Cannot use the same item for Repair and Salvage anvils!");
         }
 
         if (getTamingCOTWWolfCost() < 1) {
@@ -265,13 +264,13 @@ public class Config extends AutoUpdateConfigLoader {
     public boolean getHardcoreStatLossEnabled(SkillType skillType) { return config.getBoolean("Hardcore.Death_Stat_Loss.Enabled." + StringUtils.getCapitalized(skillType.toString()), false); }
     public void setHardcoreStatLossEnabled(SkillType skillType, boolean enabled) { config.set("Hardcore.Death_Stat_Loss.Enabled." + StringUtils.getCapitalized(skillType.toString()), enabled); }
 
-    public double getHardcoreDeathStatPenaltyPercentage() { return config.getDouble("Hardcore.Death_Stat_Loss.Penalty_Percentage", 75.0); }
+    public double getHardcoreDeathStatPenaltyPercentage() { return config.getDouble("Hardcore.Death_Stat_Loss.Penalty_Percentage", 75.0D); }
     public void setHardcoreDeathStatPenaltyPercentage(double value) { config.set("Hardcore.Death_Stat_Loss.Penalty_Percentage", value); }
 
     public boolean getHardcoreVampirismEnabled(SkillType skillType) { return config.getBoolean("Hardcore.Vampirism.Enabled." + StringUtils.getCapitalized(skillType.toString()), false); }
     public void setHardcoreVampirismEnabled(SkillType skillType, boolean enabled) { config.set("Hardcore.Vampirism.Enabled." + StringUtils.getCapitalized(skillType.toString()), enabled); }
 
-    public double getHardcoreVampirismStatLeechPercentage() { return config.getDouble("Hardcore.Vampirism.Leech_Percentage", 5.0); }
+    public double getHardcoreVampirismStatLeechPercentage() { return config.getDouble("Hardcore.Vampirism.Leech_Percentage", 5.0D); }
     public void setHardcoreVampirismStatLeechPercentage(double value) { config.set("Hardcore.Vampirism.Leech_Percentage", value); }
 
     /* SMP Mods */
@@ -283,7 +282,7 @@ public class Config extends AutoUpdateConfigLoader {
     /* Items */
     public int getChimaeraUseCost() { return config.getInt("Items.Chimaera_Wing.Use_Cost", 1); }
     public int getChimaeraRecipeCost() { return config.getInt("Items.Chimaera_Wing.Recipe_Cost", 5); }
-    public int getChimaeraItemId() { return config.getInt("Items.Chimaera_Wing.Item_ID", 288); }
+    public Material getChimaeraItem() { return Material.matchMaterial(config.getString("Items.Chimaera_Wing.Item_Name", "Feather")); }
     public boolean getChimaeraEnabled() { return config.getBoolean("Items.Chimaera_Wing.Enabled", true); }
     public boolean getChimaeraPreventUseUnderground() { return config.getBoolean("Items.Chimaera_Wing.Prevent_Use_Underground", true); }
     public int getChimaeraCooldown() { return config.getInt("Items.Chimaera_Wing.Cooldown", 240); }
@@ -304,11 +303,11 @@ public class Config extends AutoUpdateConfigLoader {
     public int getAutoPartyKickInterval() { return config.getInt("Party.AutoKick_Interval", 12); }
     public int getAutoPartyKickTime() { return config.getInt("Party.Old_Party_Member_Cutoff", 7); }
     public boolean getExpShareEnabled() { return config.getBoolean("Party.Sharing.ExpShare_enabled", true); }
-    public double getPartyShareBonusBase() { return config.getDouble("Party.Sharing.ExpShare_bonus_base", 1.1); }
-    public double getPartyShareBonusIncrease() { return config.getDouble("Party.Sharing.ExpShare_bonus_increase", 0.05); }
-    public double getPartyShareBonusCap() { return config.getDouble("Party.Sharing.ExpShare_bonus_cap", 1.5); }
+    public double getPartyShareBonusBase() { return config.getDouble("Party.Sharing.ExpShare_bonus_base", 1.1D); }
+    public double getPartyShareBonusIncrease() { return config.getDouble("Party.Sharing.ExpShare_bonus_increase", 0.05D); }
+    public double getPartyShareBonusCap() { return config.getDouble("Party.Sharing.ExpShare_bonus_cap", 1.5D); }
     public boolean getItemShareEnabled() { return config.getBoolean("Party.Sharing.ItemShare_enabled", true); }
-    public double getPartyShareRange() { return config.getDouble("Party.Sharing.Range", 75.0); }
+    public double getPartyShareRange() { return config.getDouble("Party.Sharing.Range", 75.0D); }
 
     /* Party Teleport Settings */
     public int getPTPCommandCooldown() { return config.getInt("Commands.ptp.Cooldown", 120); }
@@ -319,7 +318,7 @@ public class Config extends AutoUpdateConfigLoader {
     public boolean getPTPCommandWorldPermissions() { return config.getBoolean("Commands.ptp.World_Based_Permissions", false); }
 
     /* Inspect command distance */
-    public double getInspectDistance() { return config.getDouble("Commands.inspect.Max_Distance", 30); }
+    public double getInspectDistance() { return config.getDouble("Commands.inspect.Max_Distance", 30.0D); }
 
     /*
      * ABILITY SETTINGS
@@ -368,12 +367,12 @@ public class Config extends AutoUpdateConfigLoader {
     public boolean getFishingDropsEnabled() { return config.getBoolean("Skills.Fishing.Drops_Enabled", true); }
 
     /* Mining */
-    public int getDetonatorItemID() { return config.getInt("Skills.Mining.Detonator_ID", 259); }
+    public Material getDetonatorItem() { return Material.matchMaterial(config.getString("Skills.Mining.Detonator_Name", "FLINT_AND_STEEL")); }
 
     /* Repair */
     public boolean getRepairAnvilMessagesEnabled() { return config.getBoolean("Skills.Repair.Anvil_Messages", true); }
-    public int getRepairAnvilId() { return config.getInt("Skills.Repair.Anvil_ID", 42); }
-    public int getSalvageAnvilId() { return config.getInt("Skills.Repair.Salvage_Anvil_ID", 41); }
+    public Material getRepairAnvilMaterial() { return Material.matchMaterial(config.getString("Skills.Repair.Anvil_Material", "IRON_BLOCK")); }
+    public Material getSalvageAnvilMaterial() { return Material.matchMaterial(config.getString("Skills.Repair.Salvage_Anvil_ID", "GOLD_BLOCK")); }
     public boolean getSalvageTools() { return config.getBoolean("Skills.Repair.Salvage_tools", true); }
     public boolean getSalvageArmor() { return config.getBoolean("Skills.Repair.Salvage_armor", true); }
     public boolean getRepairConfirmRequired() { return config.getBoolean("Skills.Repair.Confirm_Required", true); }
@@ -385,7 +384,7 @@ public class Config extends AutoUpdateConfigLoader {
     public int getTamingCOTWHorseCost() { return config.getInt("Skills.Taming.Call_Of_The_Wild.Apples_Required", 10); }
     public int getTamingCOTWWolfCost() { return config.getInt("Skills.Taming.Call_Of_The_Wild.Bones_Required", 10); }
     public int getTamingCOTWOcelotCost() { return config.getInt("Skills.Taming.Call_Of_The_Wild.Fish_Required", 10); }
-    public double getTamingCOTWRange() { return config.getDouble("Skills.Taming.Call_Of_The_Wild.Range", 40); }
+    public double getTamingCOTWRange() { return config.getDouble("Skills.Taming.Call_Of_The_Wild.Range", 40.0D); }
     public int getTamingCOTWAmount(EntityType type) { return config.getInt("Skills.Taming.Call_Of_The_Wild." + StringUtils.getPrettyEntityTypeString(type)+ "_Amount"); }
 
     /* Woodcutting */

+ 16 - 15
src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java

@@ -6,6 +6,7 @@ import java.util.Set;
 
 import org.bukkit.GameMode;
 import org.bukkit.Location;
+import org.bukkit.Material;
 import org.bukkit.entity.Player;
 
 import com.gmail.nossr50.mcMMO;
@@ -358,24 +359,24 @@ public class McMMOPlayer {
      * Repair Anvil Placement
      */
 
-    public boolean getPlacedAnvil(int anvilId) {
-        if (anvilId == Repair.repairAnvilId) {
+    public boolean getPlacedAnvil(Material anvilType) {
+        if (anvilType == Repair.repairAnvilMaterial) {
             return placedRepairAnvil;
         }
 
-        if (anvilId == Repair.salvageAnvilId) {
+        if (anvilType == Repair.salvageAnvilMaterial) {
             return placedSalvageAnvil;
         }
 
         return true;
     }
 
-    public void togglePlacedAnvil(int anvilId) {
-        if (anvilId == Repair.repairAnvilId) {
+    public void togglePlacedAnvil(Material anvilType) {
+        if (anvilType == Repair.repairAnvilMaterial) {
             placedRepairAnvil = !placedRepairAnvil;
         }
 
-        if (anvilId == Repair.salvageAnvilId) {
+        if (anvilType == Repair.salvageAnvilMaterial) {
             placedSalvageAnvil = !placedSalvageAnvil;
         }
     }
@@ -384,34 +385,34 @@ public class McMMOPlayer {
      * Repair Anvil Usage
      */
 
-    public int getLastAnvilUse(int anvilId) {
-        if (anvilId == Repair.repairAnvilId) {
+    public int getLastAnvilUse(Material anvilType) {
+        if (anvilType == Repair.repairAnvilMaterial) {
             return lastRepairClick;
         }
 
-        if (anvilId == Repair.salvageAnvilId) {
+        if (anvilType == Repair.salvageAnvilMaterial) {
             return lastSalvageClick;
         }
 
         return 0;
     }
 
-    public void setLastAnvilUse(int anvilId, int value) {
-        if (anvilId == Repair.repairAnvilId) {
+    public void setLastAnvilUse(Material anvilType, int value) {
+        if (anvilType == Repair.repairAnvilMaterial) {
             lastRepairClick = value;
         }
 
-        if (anvilId == Repair.salvageAnvilId) {
+        if (anvilType == Repair.salvageAnvilMaterial) {
             lastSalvageClick = value;
         }
     }
 
-    public void actualizeLastAnvilUse(int anvilId) {
-        if (anvilId == Repair.repairAnvilId) {
+    public void actualizeLastAnvilUse(Material anvilType) {
+        if (anvilType == Repair.repairAnvilMaterial) {
             lastRepairClick = (int) (System.currentTimeMillis() / Misc.TIME_CONVERSION_FACTOR);
         }
 
-        if (anvilId == Repair.salvageAnvilId) {
+        if (anvilType == Repair.salvageAnvilMaterial) {
             lastSalvageClick = (int) (System.currentTimeMillis() / Misc.TIME_CONVERSION_FACTOR);
         }
     }

+ 1 - 1
src/main/java/com/gmail/nossr50/listeners/BlockListener.java

@@ -113,7 +113,7 @@ public class BlockListener implements Listener {
         }
 
         if (Repair.anvilMessagesEnabled && BlockUtils.isMcMMOAnvil(blockState)) {
-            UserManager.getPlayer(player).getRepairManager().placedAnvilCheck(blockState.getTypeId());
+            UserManager.getPlayer(player).getRepairManager().placedAnvilCheck(blockState.getType());
         }
     }
 

+ 13 - 13
src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

@@ -418,27 +418,27 @@ public class PlayerListener implements Listener {
 
         switch (event.getAction()) {
             case RIGHT_CLICK_BLOCK:
-                int blockID = block.getTypeId();
+                Material type = block.getType();
 
                 if (!Config.getInstance().getAbilitiesOnlyActivateWhenSneaking() || player.isSneaking()) {
                     /* REPAIR CHECKS */
-                    if (blockID == Repair.repairAnvilId && Permissions.skillEnabled(player, SkillType.REPAIR) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
+                    if (type == Repair.repairAnvilMaterial && Permissions.skillEnabled(player, SkillType.REPAIR) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
                         RepairManager repairManager = mcMMOPlayer.getRepairManager();
                         event.setCancelled(true);
 
                         // Make sure the player knows what he's doing when trying to repair an enchanted item
-                        if (!(heldItem.getEnchantments().size() > 0) || repairManager.checkConfirmation(blockID, true)) {
+                        if (!(heldItem.getEnchantments().size() > 0) || repairManager.checkConfirmation(type, true)) {
                             repairManager.handleRepair(heldItem);
                             player.updateInventory();
                         }
                     }
                     /* SALVAGE CHECKS */
-                    else if (blockID == Repair.salvageAnvilId && Permissions.salvage(player) && Repair.isSalvageable(heldItem)) {
+                    else if (type == Repair.salvageAnvilMaterial && Permissions.salvage(player) && Repair.isSalvageable(heldItem)) {
                         RepairManager repairManager = mcMMOPlayer.getRepairManager();
                         event.setCancelled(true);
 
                         // Make sure the player knows what he's doing when trying to salvage an enchanted item
-                        if (!(heldItem.getEnchantments().size() > 0) || repairManager.checkConfirmation(blockID, true)) {
+                        if (!(heldItem.getEnchantments().size() > 0) || repairManager.checkConfirmation(type, true)) {
                             repairManager.handleSalvage(block.getLocation(), heldItem);
                             player.updateInventory();
                         }
@@ -446,7 +446,7 @@ public class PlayerListener implements Listener {
                 }
                 /* BLAST MINING CHECK */
                 else if (miningManager.canDetonate()) {
-                    if (block.getType() == Material.TNT) {
+                    if (type == Material.TNT) {
                         event.setCancelled(true); // Don't detonate the TNT if they're too close
                     }
                     else {
@@ -457,26 +457,26 @@ public class PlayerListener implements Listener {
                 break;
 
             case LEFT_CLICK_BLOCK:
-                blockID = block.getTypeId();
+                type = block.getType();
 
                 if ((Config.getInstance().getAbilitiesOnlyActivateWhenSneaking() && player.isSneaking()) || !Config.getInstance().getAbilitiesOnlyActivateWhenSneaking()) {
                     /* REPAIR CHECKS */
-                    if (blockID == Repair.repairAnvilId && Permissions.skillEnabled(player, SkillType.REPAIR) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
+                    if (type == Repair.repairAnvilMaterial && Permissions.skillEnabled(player, SkillType.REPAIR) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
                         RepairManager repairManager = mcMMOPlayer.getRepairManager();
 
                         // Cancel repairing an enchanted item
-                        if (repairManager.checkConfirmation(blockID, false) && Config.getInstance().getRepairConfirmRequired()) {
-                            mcMMOPlayer.setLastAnvilUse(Repair.repairAnvilId, 0);
+                        if (repairManager.checkConfirmation(type, false) && Config.getInstance().getRepairConfirmRequired()) {
+                            mcMMOPlayer.setLastAnvilUse(Repair.repairAnvilMaterial, 0);
                             player.sendMessage(LocaleLoader.getString("Skills.Cancelled", LocaleLoader.getString("Repair.Pretty.Name")));
                         }
                     }
                     /* SALVAGE CHECKS */
-                    else if (blockID == Repair.salvageAnvilId && Permissions.salvage(player) && Repair.isSalvageable(heldItem)) {
+                    else if (type == Repair.salvageAnvilMaterial && Permissions.salvage(player) && Repair.isSalvageable(heldItem)) {
                         RepairManager repairManager = mcMMOPlayer.getRepairManager();
 
                         // Cancel salvaging an enchanted item
-                        if (repairManager.checkConfirmation(blockID, false) && Config.getInstance().getRepairConfirmRequired()) {
-                            mcMMOPlayer.setLastAnvilUse(Repair.salvageAnvilId, 0);
+                        if (repairManager.checkConfirmation(type, false) && Config.getInstance().getRepairConfirmRequired()) {
+                            mcMMOPlayer.setLastAnvilUse(Repair.salvageAnvilMaterial, 0);
                             player.sendMessage(LocaleLoader.getString("Skills.Cancelled", LocaleLoader.getString("Salvage.Pretty.Name")));
                         }
                     }

+ 3 - 1
src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java

@@ -1,5 +1,7 @@
 package com.gmail.nossr50.skills.mining;
 
+import org.bukkit.Material;
+
 import com.gmail.nossr50.config.AdvancedConfig;
 import com.gmail.nossr50.config.Config;
 
@@ -81,7 +83,7 @@ public class BlastMining {
         abstract protected int getDropMultiplier();
     }
 
-    public static int detonatorID = Config.getInstance().getDetonatorItemID();
+    public static Material detonator = Config.getInstance().getDetonatorItem();
 
     public final static int MAXIMUM_REMOTE_DETONATION_DISTANCE = 100;
 }

+ 1 - 1
src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java

@@ -38,7 +38,7 @@ public class MiningManager extends SkillManager {
     public boolean canDetonate() {
         Player player = getPlayer();
 
-        return canUseBlastMining() && player.isSneaking() && player.getItemInHand().getTypeId() == BlastMining.detonatorID && Permissions.remoteDetonation(player);
+        return canUseBlastMining() && player.isSneaking() && player.getItemInHand().getType() == BlastMining.detonator && Permissions.remoteDetonation(player);
     }
 
     public boolean canUseBlastMining() {

+ 10 - 10
src/main/java/com/gmail/nossr50/skills/repair/Repair.java

@@ -19,9 +19,9 @@ public class Repair {
 
     public static int salvageUnlockLevel = AdvancedConfig.getInstance().getSalvageUnlockLevel();
 
-    public static int     salvageAnvilId       = Config.getInstance().getSalvageAnvilId();
-    public static int     repairAnvilId        = Config.getInstance().getRepairAnvilId();
-    public static boolean anvilMessagesEnabled = Config.getInstance().getRepairAnvilMessagesEnabled();
+    public static Material salvageAnvilMaterial = Config.getInstance().getSalvageAnvilMaterial();
+    public static Material repairAnvilMaterial  = Config.getInstance().getRepairAnvilMaterial();
+    public static boolean  anvilMessagesEnabled = Config.getInstance().getRepairAnvilMessagesEnabled();
 
     /**
      * Checks if the item is salvageable.
@@ -41,25 +41,25 @@ public class Repair {
         return false;
     }
 
-    public static String getAnvilMessage(int blockId) {
-        if (blockId == repairAnvilId) {
+    public static String getAnvilMessage(Material type) {
+        if (type == repairAnvilMaterial) {
             return LocaleLoader.getString("Repair.Listener.Anvil");
         }
 
-        if (blockId == salvageAnvilId) {
+        if (type == salvageAnvilMaterial) {
             return LocaleLoader.getString("Repair.Listener.Anvil2");
         }
 
         return "";
     }
 
-    public static String[] getSpoutAnvilMessages(int blockId) {
-        if (blockId == repairAnvilId) {
+    public static String[] getSpoutAnvilMessages(Material type) {
+        if (type == repairAnvilMaterial) {
             return new String[] {LocaleLoader.getString("Repair.AnvilPlaced.Spout1"), LocaleLoader.getString("Repair.AnvilPlaced.Spout2")};
         }
 
-        if (blockId == salvageAnvilId) {
-            return new String[] {"[mcMMO] Anvil Placed", "Right click to salvage!"};
+        if (type == salvageAnvilMaterial) {
+            return new String[] {"[mcMMO] Anvil Placed", "Right click to salvage!"}; //TODO: Localize
         }
 
         return new String[] {"", ""};

+ 10 - 10
src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java

@@ -37,22 +37,22 @@ public class RepairManager extends SkillManager {
      *
      * @param anvilId The item ID of the anvil block
      */
-    public void placedAnvilCheck(int anvilId) {
+    public void placedAnvilCheck(Material anvilType) {
         Player player = getPlayer();
 
-        if (mcMMOPlayer.getPlacedAnvil(anvilId)) {
+        if (mcMMOPlayer.getPlacedAnvil(anvilType)) {
             return;
         }
 
         if (mcMMO.isSpoutEnabled()) {
-            SpoutUtils.sendRepairNotifications(player, anvilId);
+            SpoutUtils.sendRepairNotifications(player, anvilType);
         }
         else {
-            player.sendMessage(Repair.getAnvilMessage(anvilId));
+            player.sendMessage(Repair.getAnvilMessage(anvilType));
         }
 
         player.playSound(player.getLocation(), Sound.ANVIL_LAND, Misc.ANVIL_USE_VOLUME, Misc.ANVIL_USE_PITCH);
-        mcMMOPlayer.togglePlacedAnvil(anvilId);
+        mcMMOPlayer.togglePlacedAnvil(anvilType);
     }
 
     public void handleRepair(ItemStack item) {
@@ -196,10 +196,10 @@ public class RepairManager extends SkillManager {
      *
      * @return true if the player has confirmed using an Anvil
      */
-    public boolean checkConfirmation(int anvilId, boolean actualize) {
+    public boolean checkConfirmation(Material anvilType, boolean actualize) {
         Player player = getPlayer();
         McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
-        long lastUse = mcMMOPlayer.getLastAnvilUse(anvilId);
+        long lastUse = mcMMOPlayer.getLastAnvilUse(anvilType);
 
         // Don't use SkillUtils.cooldownOver() here since that also accounts for the cooldown perks
         if ((((lastUse + 3) * Misc.TIME_CONVERSION_FACTOR) >= System.currentTimeMillis()) || !Config.getInstance().getRepairConfirmRequired()) {
@@ -210,12 +210,12 @@ public class RepairManager extends SkillManager {
             return false;
         }
 
-        mcMMOPlayer.actualizeLastAnvilUse(anvilId);
+        mcMMOPlayer.actualizeLastAnvilUse(anvilType);
 
-        if (anvilId == Repair.repairAnvilId) {
+        if (anvilType == Repair.repairAnvilMaterial) {
             player.sendMessage(LocaleLoader.getString("Skills.ConfirmOrCancel", LocaleLoader.getString("Repair.Pretty.Name")));
         }
-        else if (anvilId == Repair.salvageAnvilId) {
+        else if (anvilType == Repair.salvageAnvilMaterial) {
             player.sendMessage(LocaleLoader.getString("Skills.ConfirmOrCancel", LocaleLoader.getString("Salvage.Pretty.Name")));
         }
 

+ 2 - 2
src/main/java/com/gmail/nossr50/util/BlockUtils.java

@@ -318,9 +318,9 @@ public final class BlockUtils {
      * @return true if the block is an mcMMO anvil, false otherwise
      */
     public static boolean isMcMMOAnvil(BlockState blockState) {
-        int blockId = blockState.getTypeId();
+        Material type = blockState.getType();
 
-        return blockId == Repair.repairAnvilId || blockId == Repair.salvageAnvilId;
+        return type == Repair.repairAnvilMaterial || type == Repair.salvageAnvilMaterial;
     }
 
     /**

+ 2 - 2
src/main/java/com/gmail/nossr50/util/ChimaeraWing.java

@@ -142,7 +142,7 @@ public final class ChimaeraWing {
     }
 
     public static ItemStack getChimaeraWing(int amount) {
-        ItemStack itemStack = new ItemStack(Config.getInstance().getChimaeraItemId(), amount);
+        ItemStack itemStack = new ItemStack(Config.getInstance().getChimaeraItem(), amount);
 
         ItemMeta itemMeta = itemStack.getItemMeta();
         itemMeta.setDisplayName(ChatColor.GOLD + LocaleLoader.getString("Item.ChimaeraWing.Name"));
@@ -157,7 +157,7 @@ public final class ChimaeraWing {
     }
 
     public static ShapelessRecipe getChimaeraWingRecipe() {
-        Material ingredient = Material.getMaterial(Config.getInstance().getChimaeraItemId());
+        Material ingredient = Config.getInstance().getChimaeraItem();
         int amount = Config.getInstance().getChimaeraRecipeCost();
         if (amount < 1 || amount > 9) {
             amount = 9;

+ 4 - 4
src/main/java/com/gmail/nossr50/util/spout/SpoutUtils.java

@@ -449,15 +449,15 @@ public class SpoutUtils {
         }
     }
 
-    public static void sendRepairNotifications(Player player, int anvilId) {
+    public static void sendRepairNotifications(Player player, Material anvilType) {
         SpoutPlayer spoutPlayer = SpoutManager.getPlayer(player);
 
         if (spoutPlayer.isSpoutCraftEnabled()) {
-            String[] spoutMessages = Repair.getSpoutAnvilMessages(anvilId);
-            spoutPlayer.sendNotification(spoutMessages[0], spoutMessages[1], Material.getMaterial(anvilId));
+            String[] spoutMessages = Repair.getSpoutAnvilMessages(anvilType);
+            spoutPlayer.sendNotification(spoutMessages[0], spoutMessages[1], anvilType);
         }
         else {
-            player.sendMessage(Repair.getAnvilMessage(anvilId));
+            player.sendMessage(Repair.getAnvilMessage(anvilType));
         }
     }
 

+ 8 - 8
src/main/resources/config.yml

@@ -91,7 +91,7 @@ MySQL:
 ###
 Hardcore:
     Death_Stat_Loss:
-        Penalty_Percentage: 75
+        Penalty_Percentage: 75.0
         Enabled:
             Acrobatics: false
             Archery: false
@@ -105,7 +105,7 @@ Hardcore:
             Unarmed: false
             Woodcutting: false
     Vampirism:
-        Leech_Percentage: 5
+        Leech_Percentage: 5.0
         Enabled:
             Acrobatics: false
             Archery: false
@@ -140,7 +140,7 @@ Items:
         Prevent_Use_Underground: true
         Use_Cost: 1
         Recipe_Cost: 5
-        Item_ID: 288
+        Item_Name: FEATHER
 
 #
 #  Settings for Parties
@@ -223,12 +223,12 @@ Skills:
         Prevent_AFK_Leveling: true
     Mining:
         Level_Cap: 0
-        Detonator_ID: 259
+        Detonator_Name: FLINT_AND_STEEL
     Repair:
         Level_Cap: 0
         Anvil_Messages: true
-        Anvil_ID: 42
-        Salvage_Anvil_ID: 41
+        Anvil_Material: IRON_BLOCK
+        Salvage_Anvil_Material: GOLD_BLOCK
         Salvage_tools: true
         Salvage_armor: true
         # Ask for a confirmation when a player tries to repair an enchanted item
@@ -249,7 +249,7 @@ Skills:
             Apples_Required: 10
 
             # Range to check for nearby pets when using Call Of The Wild, 0 will disable the check
-            Range: 40
+            Range: 40.0
             # Amount of pets to summon when using Call Of The Wild
             Wolf_Amount: 1
             Ocelot_Amount: 1
@@ -312,7 +312,7 @@ Commands:
     mcmmo:
         Donate_Message: true
     inspect:
-        Max_Distance: 30
+        Max_Distance: 30.0
     ptp:
         Cooldown: 120
         Warmup: 5