From 3db83db5d27d30469e91bc9bfa920eec7b79c20b Mon Sep 17 00:00:00 2001 From: Blake Bartenbach Date: Sun, 22 Apr 2012 10:34:27 -0500 Subject: [PATCH] Added ability to repair Fishing Rods --- .../java/com/gmail/nossr50/ItemChecks.java | 20 ++++++++++++++++++- .../commands/skills/RepairCommand.java | 2 +- .../gmail/nossr50/config/LoadProperties.java | 6 +++--- .../java/com/gmail/nossr50/mcPermissions.java | 4 ++-- .../java/com/gmail/nossr50/skills/Repair.java | 12 +++++------ src/main/resources/plugin.yml | 6 +++--- 6 files changed, 34 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/ItemChecks.java b/src/main/java/com/gmail/nossr50/ItemChecks.java index 2e5b3b664..3315a3777 100644 --- a/src/main/java/com/gmail/nossr50/ItemChecks.java +++ b/src/main/java/com/gmail/nossr50/ItemChecks.java @@ -274,7 +274,7 @@ public class ItemChecks { * @return true if the item is a tool, false otherwise */ public static boolean isTool(ItemStack is) { - return isStoneTool(is) || isWoodTool(is) || isGoldTool(is) || isIronTool(is) || isDiamondTool(is) || is.getType().equals(Material.BOW); + return isStoneTool(is) || isWoodTool(is) || isGoldTool(is) || isIronTool(is) || isDiamondTool(is) || isStringTool(is); } /** @@ -317,6 +317,24 @@ public class ItemChecks { } } + /** + * Checks to see if an item is a string tool. + * + * @param is Item to check + * @return true if the item is a string tool, false otherwise + */ + public static boolean isStringTool(ItemStack is) { + switch (is.getType()) { + case BOW: + case FISHING_ROD: + return true; + + default: + return false; + } + } + + /** * Checks to see if an item is a gold tool. * diff --git a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java index a88cd64a4..e28c62735 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java @@ -42,7 +42,7 @@ public class RepairCommand implements CommandExecutor { player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] { mcLocale.getString("m.EffectsRepair1_0"), mcLocale.getString("m.EffectsRepair1_1") })); player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] { mcLocale.getString("m.EffectsRepair2_0"), mcLocale.getString("m.EffectsRepair2_1") })); player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] { mcLocale.getString("m.EffectsRepair3_0"), mcLocale.getString("m.EffectsRepair3_1") })); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] { mcLocale.getString("m.EffectsRepair4_0", new Object[] { LoadProperties.repairdiamondlevel }), mcLocale.getString("m.EffectsRepair4_1") })); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] { mcLocale.getString("m.EffectsRepair4_0", new Object[] { LoadProperties.repairDiamondLevel}), mcLocale.getString("m.EffectsRepair4_1") })); player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] { mcLocale.getString("m.EffectsRepair5_0"), mcLocale.getString("m.EffectsRepair5_1") })); player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] { mcLocale.getString("m.YourStats") })); player.sendMessage(mcLocale.getString("m.RepairRepairMastery", new Object[] { repairmastery })); diff --git a/src/main/java/com/gmail/nossr50/config/LoadProperties.java b/src/main/java/com/gmail/nossr50/config/LoadProperties.java index 1465c3571..81557a7bb 100644 --- a/src/main/java/com/gmail/nossr50/config/LoadProperties.java +++ b/src/main/java/com/gmail/nossr50/config/LoadProperties.java @@ -87,7 +87,7 @@ public class LoadProperties extends ConfigLoader{ public static Boolean anvilmessages; public static int rWood, rStone, rIron, rGold, rDiamond, rString, rLeather; public static int anvilID; - public static int repairStoneLevel, repairIronLevel, repairGoldLevel, repairdiamondlevel, repairBowLevel; + public static int repairStoneLevel, repairIronLevel, repairGoldLevel, repairDiamondLevel, repairStringLevel; /* Taming */ public static int mtameWolf, mtameOcelot; @@ -373,11 +373,11 @@ public class LoadProperties extends ConfigLoader{ woodcuttingrequiresaxe = config.getBoolean("Skills.Woodcutting.Requires_Axe", true); repairArmor = config.getBoolean("Skills.Repair.Can_Repair_Armor", true); repairTools = config.getBoolean("Skills.Repair.Can_Repair_Tools", true); - repairdiamondlevel = config.getInt("Skills.Repair.Diamond.Level_Required", 50); + repairDiamondLevel = config.getInt("Skills.Repair.Diamond.Level_Required", 50); repairIronLevel = config.getInt("Skills.Repair.Iron.Level_Required", 0); repairGoldLevel = config.getInt("Skills.Repair.Gold.Level_Required", 0); repairStoneLevel = config.getInt("Skills.Repair.Stone.Level_Required", 0); - repairBowLevel = config.getInt("Skills.Repair.String.Level_Required", 0); + repairStringLevel = config.getInt("Skills.Repair.String.Level_Required", 0); tamingxpmodifier = config.getDouble("Experience.Formula.Multiplier.Taming", 1.0); miningxpmodifier = config.getDouble("Experience.Formula.Multiplier.Mining", 1.0); diff --git a/src/main/java/com/gmail/nossr50/mcPermissions.java b/src/main/java/com/gmail/nossr50/mcPermissions.java index 61ea27a29..5f94a6227 100644 --- a/src/main/java/com/gmail/nossr50/mcPermissions.java +++ b/src/main/java/com/gmail/nossr50/mcPermissions.java @@ -169,8 +169,8 @@ public class mcPermissions { return player.hasPermission("mcmmo.ability.repair.toolrepair"); } - public boolean bowRepair(Player player) { - return player.hasPermission("mcmmo.ability.repair.bowrepair"); + public boolean stringRepair(Player player) { + return player.hasPermission("mcmmo.ability.repair.stringrepair"); } /* diff --git a/src/main/java/com/gmail/nossr50/skills/Repair.java b/src/main/java/com/gmail/nossr50/skills/Repair.java index 8a37dd84f..78c08414e 100644 --- a/src/main/java/com/gmail/nossr50/skills/Repair.java +++ b/src/main/java/com/gmail/nossr50/skills/Repair.java @@ -48,7 +48,7 @@ public class Repair { * REPAIR ARMOR */ if (ItemChecks.isArmor(is) && LoadProperties.repairArmor && mcPermissions.getInstance().armorRepair(player)) { - if (ItemChecks.isDiamondArmor(is) && inventory.contains(LoadProperties.rDiamond) && skillLevel >= LoadProperties.repairdiamondlevel && mcPermissions.getInstance().diamondRepair(player)) { + if (ItemChecks.isDiamondArmor(is) && inventory.contains(LoadProperties.rDiamond) && skillLevel >= LoadProperties.repairDiamondLevel && mcPermissions.getInstance().diamondRepair(player)) { repairItem(player, is, new ItemStack(LoadProperties.rDiamond)); xpHandler(player, PP, is, durabilityBefore, 6, true); } @@ -85,7 +85,7 @@ public class Repair { repairItem(player, is, new ItemStack(LoadProperties.rIron)); xpHandler(player, PP, is, durabilityBefore, 1, true); } - else if (ItemChecks.isDiamondTool(is) && inventory.contains(LoadProperties.rDiamond) && skillLevel >= LoadProperties.repairdiamondlevel && mcPermissions.getInstance().diamondRepair(player)) { + else if (ItemChecks.isDiamondTool(is) && inventory.contains(LoadProperties.rDiamond) && skillLevel >= LoadProperties.repairDiamondLevel && mcPermissions.getInstance().diamondRepair(player)) { repairItem(player, is, new ItemStack(LoadProperties.rDiamond)); xpHandler(player, PP, is, durabilityBefore, 1, true); } @@ -93,7 +93,7 @@ public class Repair { repairItem(player, is, new ItemStack(LoadProperties.rGold)); xpHandler(player, PP, is, durabilityBefore, 8, true); } - else if (is.getType().equals(Material.BOW) && inventory.contains(LoadProperties.rString) && skillLevel >= LoadProperties.repairBowLevel && mcPermissions.getInstance().bowRepair(player)){ + else if (ItemChecks.isStringTool(is) && inventory.contains(LoadProperties.rString) && skillLevel >= LoadProperties.repairStringLevel && mcPermissions.getInstance().stringRepair(player)){ repairItem(player, is, new ItemStack(LoadProperties.rString)); xpHandler(player, PP, is, durabilityBefore, 2, false); } @@ -321,7 +321,7 @@ public class Repair { else if (ItemChecks.isHoe(is) || ItemChecks.isSword(is) || is.getType().equals(Material.SHEARS)) { ramt = maxDurability / 2; } - else if (ItemChecks.isAxe(is) || ItemChecks.isMiningPick(is) || is.getType().equals(Material.BOW)) { + else if (ItemChecks.isAxe(is) || ItemChecks.isMiningPick(is) || ItemChecks.isStringTool(is)) { ramt = maxDurability / 3; } else if (ItemChecks.isBoots(is)) { @@ -354,7 +354,7 @@ public class Repair { } else { if (ItemChecks.isDiamondTool(is) || ItemChecks.isDiamondArmor(is)) { - if (skillLevel < LoadProperties.repairdiamondlevel) { + if (skillLevel < LoadProperties.repairDiamondLevel) { player.sendMessage(mcLocale.getString("Skills.AdeptDiamond")); } else { @@ -391,7 +391,7 @@ public class Repair { else if (ItemChecks.isLeatherArmor(is)) { player.sendMessage(mcLocale.getString("Skills.NeedMore") + " " + ChatColor.YELLOW + m.prettyItemString(LoadProperties.rLeather)); } - else if (is.getType().equals(Material.BOW)) { + else if (ItemChecks.isStringTool(is)) { player.sendMessage(mcLocale.getString("Skills.NeedMore") + " " + ChatColor.YELLOW + m.prettyItemString(LoadProperties.rString)); } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 6fecf2faa..d2b56fe81 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -218,7 +218,7 @@ permissions: mcmmo.ability.repair.diamondrepair: true mcmmo.ability.repair.armorrepair: true mcmmo.ability.repair.toolrepair: true - mcmmo.ability.repair.bowrepair: true + mcmmo.ability.repair.stringrepair: true mcmmo.ability.repair.repairbonus: description: Allows access to Super Repair bonus mcmmo.ability.repair.arcaneforging: @@ -239,8 +239,8 @@ permissions: description: Allows ability to repair armor mcmmo.ability.repair.toolrepair: description: Allows ability to repair tools - mcmmo.ability.repair.bowrepair: - description: Allows ability to repair bows + mcmmo.ability.repair.stringrepair: + description: Allows ability to repair Bow and Fishing rod mcmmo.ability.unarmed.*: description: Allows access to all Unarmed abilities children: