Added ability to repair Fishing Rods

This commit is contained in:
Blake Bartenbach 2012-04-22 10:34:27 -05:00
parent 825bc87ca3
commit 3db83db5d2
6 changed files with 34 additions and 16 deletions

View File

@ -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.
*

View File

@ -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 }));

View File

@ -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);

View File

@ -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");
}
/*

View File

@ -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));
}
}

View File

@ -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: