From 9ef9ffd16fff593fb2feadb435a2ef3ca5116e64 Mon Sep 17 00:00:00 2001 From: GJ Date: Tue, 21 Feb 2012 13:10:51 -0500 Subject: [PATCH 1/2] Fishing now uses custom drops. ("Attack of the Giant Config File") --- Changelog.txt | 1 + .../gmail/nossr50/config/LoadProperties.java | 53 +- .../nossr50/datatypes/PlayerProfile.java | 3 + .../com/gmail/nossr50/skills/Fishing.java | 1038 +---------------- src/main/resources/config.yml | 670 ++++++++++- 5 files changed, 693 insertions(+), 1072 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index e88bbb722..5ce74d287 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -3,6 +3,7 @@ Changelog: Version 1.3.00-dev - Added ability to customize drops for Excavation skill + - Added ability to customize drops for Fishing skill - Added player notification for when they stop Bleeding - Added configuration option to control mcMMO reporting damage events - Added hunger regain bonuses to Herbalism skill diff --git a/src/main/java/com/gmail/nossr50/config/LoadProperties.java b/src/main/java/com/gmail/nossr50/config/LoadProperties.java index dea2a2637..e643c85e7 100644 --- a/src/main/java/com/gmail/nossr50/config/LoadProperties.java +++ b/src/main/java/com/gmail/nossr50/config/LoadProperties.java @@ -48,10 +48,7 @@ public class LoadProperties { enableCobbleToMossy, useMySQL, toolsLoseDurabilityFromAbilities, pvpxp, miningrequirespickaxe, excavationRequiresShovel, woodcuttingrequiresaxe, anvilmessages, mayDowngradeEnchants, - mayLoseEnchants, fishingDrops, leatherArmor, ironArmor, goldArmor, - diamondArmor, woodenTools, stoneTools, ironTools, goldTools, - diamondTools, enderPearl, blazeRod, records, glowstoneDust, - fishingDiamonds, aDisplayNames, pDisplayNames, enableSmoothToMossy, + mayLoseEnchants, fishingDrops, aDisplayNames, pDisplayNames, enableSmoothToMossy, enableDirtToGrass, statsTracking, eventCallback, herbalismHungerBonus; public static String MySQLtablePrefix, MySQLuserName, @@ -70,9 +67,7 @@ public class LoadProperties { repairdiamondlevel, rWood, rStone, rIron, rGold, rDiamond, rString, rLeather, downgradeRank1, downgradeRank2, downgradeRank3, downgradeRank4, keepEnchantsRank1, keepEnchantsRank2, - keepEnchantsRank3, keepEnchantsRank4, fishingDropChanceTier1, - fishingDropChanceTier2, fishingDropChanceTier3, - fishingDropChanceTier4, fishingDropChanceTier5, mnetherwart, + keepEnchantsRank3, keepEnchantsRank4, mnetherwart, mvines, mlilypad, mendstone, mmossstone, levelCapAcrobatics, levelCapArchery, levelCapAxes, levelCapExcavation, levelCapFishing, levelCapHerbalism, levelCapMining, levelCapRepair, @@ -89,7 +84,7 @@ public class LoadProperties { unarmed_r, unarmed_g, unarmed_b, woodcutting_r, woodcutting_g, woodcutting_b, pvpxprewardmodifier, tamingxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, - sorceryxpmodifier, unarmedxpmodifier, herbalismxpmodifier, + fishingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier; @@ -325,7 +320,6 @@ public class LoadProperties { woodcuttingrequiresaxe = readBoolean("Skills.Woodcutting.Requires_Axe", true); repairdiamondlevel = readInteger("Skills.Repair.Diamond.Level_Required", 50); - sorceryxpmodifier = readDouble("Experience.Formula.Multiplier.Sorcery", 1.0); tamingxpmodifier = readDouble("Experience.Formula.Multiplier.Taming", 1.0); miningxpmodifier = readDouble("Experience.Formula.Multiplier.Mining", 1.0); repairxpmodifier = readDouble("Experience.Formula.Multiplier.Repair", 1.0); @@ -337,6 +331,7 @@ public class LoadProperties { swordsxpmodifier = readDouble("Experience.Formula.Multiplier.Swords", 1.0); axesxpmodifier = readDouble("Experience.Formula.Multiplier.Axes", 1.0); acrobaticsxpmodifier = readDouble("Experience.Formula.Multiplier.Acrobatics", 1.0); + fishingxpmodifier = readDouble("Experience.Forumla.Multiplier.Fishing", 1.0); anvilmessages = readBoolean("Skills.Repair.Anvil_Messages", true); anvilID = readInteger("Skills.Repair.Anvil_ID", 42); @@ -380,31 +375,12 @@ public class LoadProperties { keepEnchantsRank3 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_3", 30); keepEnchantsRank4 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_4", 40); - fishingDrops = readBoolean("Fishing.Drops.Item_Drops_Enabled", true); - fishingTier1 = readInteger("Fishing.Drop_Level.Tier1", 0); - fishingTier2 = readInteger("Fishing.Drop_Level.Tier2", 200); - fishingTier3 = readInteger("Fishing.Drop_Level.Tier3", 400); - fishingTier4 = readInteger("Fishing.Drop_Level.Tier4", 600); - fishingTier5 = readInteger("Fishing.Drop_Level.Tier5", 800); - fishingDropChanceTier1 = readInteger("Fishing.Drops.Drop_Chance.Tier_1", 20); - fishingDropChanceTier2 = readInteger("Fishing.Drops.Drop_Chance.Tier_2", 25); - fishingDropChanceTier3 = readInteger("Fishing.Drops.Drop_Chance.Tier_3", 30); - fishingDropChanceTier4 = readInteger("Fishing.Drops.Drop_Chance.Tier_4", 35); - fishingDropChanceTier5 = readInteger("Fishing.Drops.Drop_Chance.Tier_5", 40); - leatherArmor = readBoolean("Fishing.Drops.Leather_Armor", true); - ironArmor = readBoolean("Fishing.Drops.Iron_Armor", true); - goldArmor = readBoolean("Fishing.Drops.Gold_Armor", true); - diamondArmor = readBoolean("Fishing.Drops.Diamond_Armor", true); - woodenTools = readBoolean("Fishing.Drops.Wooden_Tools", true); - stoneTools = readBoolean("Fishing.Drops.Stone_Tools", true); - ironTools = readBoolean("Fishing.Drops.Iron_Tools", true); - goldTools = readBoolean("Fishing.Drops.Gold_Tools", true); - diamondTools = readBoolean("Fishing.Drops.Diamond_Tools", true); - enderPearl = readBoolean("Fishing.Drops.Ender_Pearl", true); - blazeRod = readBoolean("Fishing.Drops.Blaze_Rod", true); - records = readBoolean("Fishing.Drops.Records", true); - glowstoneDust = readBoolean("Fishing.Drops.Glowstone_Dust", true); - fishingDiamonds = readBoolean("Fishing.Drops.Diamonds", true); + fishingDrops = readBoolean("Fishing.Drops_Enabled", true); + fishingTier1 = readInteger("Fishing.Tier_Levels.Tier1", 0); + fishingTier2 = readInteger("Fishing.Tier_Levels.Tier2", 200); + fishingTier3 = readInteger("Fishing.Tier_Levels.Tier3", 400); + fishingTier4 = readInteger("Fishing.Tier_Levels.Tier4", 600); + fishingTier5 = readInteger("Fishing.Tier_Levels.Tier5", 800); xplockEnable = readBoolean("Commands.xplock.Enabled", true); xprateEnable = readBoolean("Commands.xprate.Enabled", true); @@ -473,11 +449,10 @@ public class LoadProperties { if(config.getConfigurationSection("Treasures." + treasureName + ".Drops_From").getKeys(false).size() != 1) reason.add("Fishing drops cannot also be excavation drops"); - if(!config.contains("Treasures." + treasureName + ".Max_Levels")) reason.add("Missing Max_Levels"); + if(!config.contains("Treasures." + treasureName + ".Max_Level")) reason.add("Missing Max_Level"); + int maxLevel = config.getInt("Treasures." + treasureName + ".Max_Level"); - int maxLevel = config.getInt("Treasures." + treasureName + ".Max_Levels"); - - if(maxLevel < 0) reason.add("Invalid Max_Levels: " + maxLevel); + if(maxLevel < 0) reason.add("Invalid Max_Level: " + maxLevel); if(noErrorsInTreasure(reason)) { FishingTreasure fTreasure = new FishingTreasure(item, xp, dropChance, dropLevel, maxLevel); @@ -511,7 +486,7 @@ public class LoadProperties { } List excavationTreasures = config.getStringList("Excavation.Treasure"); - List fishingTreasures = config.getStringList("Excavation.Treasure"); + List fishingTreasures = config.getStringList("Fishing.Treasure"); Iterator treasureIterator = treasures.keySet().iterator(); while(treasureIterator.hasNext()) { diff --git a/src/main/java/com/gmail/nossr50/datatypes/PlayerProfile.java b/src/main/java/com/gmail/nossr50/datatypes/PlayerProfile.java index 93a672bea..6aa898f81 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/PlayerProfile.java +++ b/src/main/java/com/gmail/nossr50/datatypes/PlayerProfile.java @@ -985,6 +985,9 @@ public class PlayerProfile case AXES: xp=(int) (xp/LoadProperties.axesxpmodifier); break; + case FISHING: + xp=(int) (xp/LoadProperties.fishingxpmodifier); + break; } xp=xp*LoadProperties.xpGainMultiplier; diff --git a/src/main/java/com/gmail/nossr50/skills/Fishing.java b/src/main/java/com/gmail/nossr50/skills/Fishing.java index e02b09422..0908433bb 100644 --- a/src/main/java/com/gmail/nossr50/skills/Fishing.java +++ b/src/main/java/com/gmail/nossr50/skills/Fishing.java @@ -16,6 +16,8 @@ */ package com.gmail.nossr50.skills; +import java.util.List; + import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; @@ -89,20 +91,16 @@ public class Fishing { private static void getFishingResultsTier1(Player player, PlayerFishEvent event) { - int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.FISHING); Item theCatch = (Item)event.getCaught(); - if(Math.random() * 100 < LoadProperties.fishingDropChanceTier1) + if(LoadProperties.fishingDrops) { - for(FishingTreasure treasure : LoadProperties.fishingRewardsTier1) + List rewards = LoadProperties.fishingRewardsTier1; + FishingTreasure treasure = rewards.get((int)(Math.random() * rewards.size())); + + if(Math.random() * 100 > (100.00 - treasure.getDropChance())) { - if(Math.random() * 100 > (100.00 - treasure.getDropChance())) - { - if(skillLevel >= treasure.getDropLevel() && skillLevel <= treasure.getMaxLevel()) - { - Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); - theCatch.setItemStack(treasure.getDrop()); - } - } + Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); + theCatch.setItemStack(treasure.getDrop()); } } else @@ -110,122 +108,21 @@ public class Fishing { theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); } //Change durability to random value - theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value - -// Item theCatch = (Item)event.getCaught(); -// if(Math.random() * 100 < LoadProperties.fishingDropChanceTier1) -// { -// switch(randomNum) -// { -// case 1: -// if(LoadProperties.leatherArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.LEATHER_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 2: -// if(LoadProperties.leatherArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.LEATHER_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 3: -// if(LoadProperties.leatherArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.LEATHER_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 4: -// if(LoadProperties.leatherArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.LEATHER_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 5: -// if(LoadProperties.woodenTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.WOOD_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 6: -// if(LoadProperties.woodenTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.WOOD_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 7: -// if(LoadProperties.woodenTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.WOOD_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 8: -// if(LoadProperties.woodenTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.WOOD_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 9: -// if(LoadProperties.woodenTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.WOOD_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 10: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 11: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 12: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 13: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 14: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// } -// } else -// { -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// } -// //Change durability to random value -// theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value + theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value } private static void getFishingResultsTier2(Player player, PlayerFishEvent event) { - int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.FISHING); Item theCatch = (Item)event.getCaught(); - if(Math.random() * 100 < LoadProperties.fishingDropChanceTier2) + if(LoadProperties.fishingDrops) { - for(FishingTreasure treasure : LoadProperties.fishingRewardsTier2) + List rewards = LoadProperties.fishingRewardsTier2; + FishingTreasure treasure = rewards.get((int)(Math.random() * rewards.size())); + + if(Math.random() * 100 > (100.00 - treasure.getDropChance())) { - if(Math.random() * 100 > (100.00 - treasure.getDropChance())) - { - if(skillLevel >= treasure.getDropLevel() && skillLevel <= treasure.getMaxLevel()) - { - Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); - theCatch.setItemStack(treasure.getDrop()); - } - } + Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); + theCatch.setItemStack(treasure.getDrop()); } } else @@ -234,154 +131,20 @@ public class Fishing { } //Change durability to random value theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value - -// int randomNum = (int)(Math.random() * 20); -// Item theCatch = (Item)event.getCaught(); -// -// if(Math.random() * 100 < LoadProperties.fishingDropChanceTier2) -// { -// switch(randomNum) -// { -// case 1: -// if(LoadProperties.leatherArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.LEATHER_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 2: -// if(LoadProperties.leatherArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.LEATHER_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 3: -// if(LoadProperties.leatherArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.LEATHER_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 4: -// if(LoadProperties.leatherArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.LEATHER_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 5: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 6: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 7: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 8: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 9: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 10: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 11: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 12: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 13: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 14: -// if(LoadProperties.stoneTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.STONE_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 15: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 16: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 17: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 18: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 19: -// if(LoadProperties.enderPearl && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.ENDER_PEARL, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// } -// } else -// { -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH, 1)); -// } -// -// //Change durability to random value -// theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value } private static void getFishingResultsTier3(Player player, PlayerFishEvent event) { - int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.FISHING); Item theCatch = (Item)event.getCaught(); - if(Math.random() * 100 < LoadProperties.fishingDropChanceTier3) + if(LoadProperties.fishingDrops) { - for(FishingTreasure treasure : LoadProperties.fishingRewardsTier3) + List rewards = LoadProperties.fishingRewardsTier3; + FishingTreasure treasure = rewards.get((int)(Math.random() * rewards.size())); + + if(Math.random() * 100 > (100.00 - treasure.getDropChance())) { - if(Math.random() * 100 > (100.00 - treasure.getDropChance())) - { - if(skillLevel >= treasure.getDropLevel() && skillLevel <= treasure.getMaxLevel()) - { - Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); - theCatch.setItemStack(treasure.getDrop()); - } - } + Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); + theCatch.setItemStack(treasure.getDrop()); } } else @@ -390,178 +153,20 @@ public class Fishing { } //Change durability to random value theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value - -// int randomNum = (int)(Math.random() * 24); -// Item theCatch = (Item)event.getCaught(); -// -// if(Math.random() * 100 < LoadProperties.fishingDropChanceTier3) -// { -// switch(randomNum) -// { -// case 1: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 2: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 3: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 4: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 5: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 6: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 7: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 8: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 9: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 10: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 11: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 12: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 13: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 14: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 15: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 16: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 17: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 18: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 19: -// if(LoadProperties.enderPearl && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.ENDER_PEARL, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 20: -// if(LoadProperties.blazeRod && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.BLAZE_ROD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 21: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_3, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 22: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_4, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 23: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_5, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// } -// } -// else -// { -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH, 1)); -// } -// //Change durability to random value -// theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value } private static void getFishingResultsTier4(Player player, PlayerFishEvent event) { - int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.FISHING); Item theCatch = (Item)event.getCaught(); - if(Math.random() * 100 < LoadProperties.fishingDropChanceTier4) + if(LoadProperties.fishingDrops) { - for(FishingTreasure treasure : LoadProperties.fishingRewardsTier4) + List rewards = LoadProperties.fishingRewardsTier4; + FishingTreasure treasure = rewards.get((int)(Math.random() * rewards.size())); + + if(Math.random() * 100 > (100.00 - treasure.getDropChance())) { - if(Math.random() * 100 > (100.00 - treasure.getDropChance())) - { - if(skillLevel >= treasure.getDropLevel() && skillLevel <= treasure.getMaxLevel()) - { - Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); - theCatch.setItemStack(treasure.getDrop()); - } - } + Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); + theCatch.setItemStack(treasure.getDrop()); } } else @@ -570,279 +175,20 @@ public class Fishing { } //Change durability to random value theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value - -// int randomNum = (int)(Math.random() * 41); -// Item theCatch = (Item)event.getCaught(); -// -// if(Math.random() * 100 < LoadProperties.fishingDropChanceTier4) -// { -// switch(randomNum) -// { -// case 1: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 2: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 3: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 4: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 5: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 6: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 7: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 8: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 9: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 10: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 11: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 12: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 13: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 14: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 15: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 16: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 17: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 18: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 19: -// if(LoadProperties.enderPearl && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.ENDER_PEARL, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 20: -// if(LoadProperties.blazeRod && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.BLAZE_ROD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 21: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_3, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 22: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_4, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 23: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_5, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 24: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 25: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 26: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 27: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 28: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 29: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 30: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 31: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 32: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 33: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_6, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 34: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_7, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 35: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_8, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 36: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_9, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 37: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_10, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 38: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_11, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 39: -// if(LoadProperties.glowstoneDust && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GLOWSTONE_DUST, 16)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 40: -// if(LoadProperties.fishingDiamonds && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND, (int)(Math.random() * 10))); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// } -// } else -// { -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH, 1)); -// } -// //Change durability to random value -// theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value } private static void getFishingResultsTier5(Player player, PlayerFishEvent event) { - int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.FISHING); Item theCatch = (Item)event.getCaught(); - if(Math.random() * 100 < LoadProperties.fishingDropChanceTier5) + if(LoadProperties.fishingDrops) { - for(FishingTreasure treasure : LoadProperties.fishingRewardsTier5) + List rewards = LoadProperties.fishingRewardsTier5; + FishingTreasure treasure = rewards.get((int)(Math.random() * rewards.size())); + + if(Math.random() * 100 > (100.00 - treasure.getDropChance())) { - if(Math.random() * 100 > (100.00 - treasure.getDropChance())) - { - if(skillLevel >= treasure.getDropLevel() && skillLevel <= treasure.getMaxLevel()) - { - Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); - theCatch.setItemStack(treasure.getDrop()); - } - } + Users.getProfile(player).addXP(SkillType.FISHING, treasure.getXp(), player); + theCatch.setItemStack(treasure.getDrop()); } } else @@ -851,314 +197,8 @@ public class Fishing { } //Change durability to random value theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value - -// int randomNum = (int)(Math.random() * 50); -// Item theCatch = (Item)event.getCaught(); -// -// if(Math.random() * 100 < LoadProperties.fishingDropChanceTier5) -// { -// switch(randomNum) -// { -// case 1: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 2: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 3: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 4: -// if(LoadProperties.goldArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 5: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 6: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 7: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 8: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 9: -// if(LoadProperties.ironTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 10: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 11: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 12: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 13: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 14: -// if(LoadProperties.goldTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GOLD_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 15: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 16: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 17: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 18: -// if(LoadProperties.ironArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.IRON_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 19: -// if(LoadProperties.enderPearl && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.ENDER_PEARL, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 20: -// if(LoadProperties.blazeRod && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.BLAZE_ROD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 21: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_3, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 22: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_4, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 23: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_5, 1));else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 24: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 25: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 26: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 27: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 28: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 29: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 30: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 31: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 32: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 33: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_6, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 34: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_7, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 35: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_8, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 36: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_9, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 37: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_10, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 38: -// if(LoadProperties.records && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.RECORD_11, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 39: -// if(LoadProperties.glowstoneDust && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.GLOWSTONE_DUST, 16)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 40: -// if(LoadProperties.fishingDiamonds && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND, (int)(Math.random() * 20))); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 41: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_BOOTS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 42: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_HELMET, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 43: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_LEGGINGS, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 44: -// if(LoadProperties.diamondArmor && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_CHESTPLATE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 45: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_AXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 46: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_PICKAXE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 47: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_SWORD, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 48: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_HOE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// case 49: -// if(LoadProperties.diamondTools && LoadProperties.fishingDrops) -// theCatch.setItemStack(new ItemStack(Material.DIAMOND_SPADE, 1)); -// else -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH)); -// break; -// } -// } else { -// theCatch.setItemStack(new ItemStack(Material.RAW_FISH, 1)); -// } -// //Change durability to random value -// theCatch.getItemStack().setDurability((short) (Math.random() * theCatch.getItemStack().getType().getMaxDurability())); //Change the damage value } + public static void processResults(PlayerFishEvent event) { Player player = event.getPlayer(); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 067a55e5b..133a4972a 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -164,7 +164,6 @@ Experience: Swords: 1.0 Taming: 1.0 Acrobatics: 1.0 - Sorcery: 1.0 Excavation: 1.0 Herbalism: 1.0 Unarmed: 1.0 @@ -173,6 +172,7 @@ Experience: Archery: 1.0 Axes: 1.0 Repair: 1.0 + Fishing: 1.0 Fishing: Base: 800 Excavation: @@ -215,34 +215,71 @@ Experience: # Settings for Fishing ### Fishing: - Drop_Level: - Tier1: 200 - Tier2: 400 - Tier3: 600 - Tier4: 800 - Drops: - Item_Drops_Enabled: true - Drop_Chance: - Tier_1: 20 - Tier_2: 25 - Tier_3: 30 - Tier_4: 35 - Tier_5: 40 - Gold_Tools: true - Diamond_Armor: true - Stone_Tools: true - Diamonds: true - Iron_Armor: true - Iron_Tools: true - Diamond_Tools: true - Records: true - Blaze_Rod: true - Leather_Armor: true - Gold_Armor: true - Glowstone_Dust: true - Ender_Pearl: true - Wooden_Tools: true - + Drops_Enabled: true + Tier_Level2: + Tier1: 0 + Tier2: 200 + Tier3: 400 + Tier4: 600 + Tier5: 800 + Treasure: + - Leather_Boots + - Leather_Helmet + - Leather_Leggings + - Leather_Chestplate + - Wooden_Sword + - Wooden_Shovel + - Wooden_Pickaxe + - Wooden_Axe + - Wooden_Hoe + - Stone_Sword + - Stone_Shovel + - Stone_Pickaxe + - Stone_Axe + - Stone_Hoe + - Iron_Sword + - Iron_Shovel + - Iron_Pickaxe + - Iron_Axe + - Iron_Hoe + - Iron_Boots + - Iron_Helmet + - Iron_Leggings + - Iron_Chestplate + - Ender_Pearl + - Gold_Sword + - Gold_Shovel + - Gold_Pickaxe + - Gold_Axe + - Gold_Hoe + - Gold_Boots + - Gold_Helmet + - Gold_Leggings + - Gold_Chestplate + - Blaze_Rod + - Record_3 + - Record_4 + - Record_5 + - Record_6 + - Record_7 + - Record_8 + - Record_9 + - Record_10 + - Record_11 + - Diamond_Sword + - Diamond_Shovel + - Diamond_Pickaxe + - Diamond_Axe + - Diamond_Hoe + - Diamond_Boots + - Diamond_Helmet + - Diamond_Leggings + - Diamond_Chestplate + - Ghast_Tear + - Diamonds + - Iron_Ingots + - Gold_Ingots + - Lapis_Lazuli # # Settings for Excavation ### @@ -476,12 +513,577 @@ Treasures: Drops_From: Dirt: true Grass: true - Sand: true - Gravel: true - Clay: true Mycelium: true - Soul_Sand: true - + Leather_Boots: + ID: 301 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Leather_Helmet: + ID: 298 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Leather_Leggings: + ID: 300 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Leather_Chestplate: + ID: 299 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Wooden_Sword: + ID: 268 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 200 + Drops_From: + Fishing: true + Wooden_Shovel: + ID: 269 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 200 + Drops_From: + Fishing: true + Wooden_Pickaxe: + ID: 270 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 200 + Drops_From: + Fishing: true + Wooden_Axe: + ID: 271 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 200 + Drops_From: + Fishing: true + Wooden_Hoe: + ID: 290 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 200 + Drops_From: + Fishing: true + Stone_Sword: + ID: 272 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Stone_Shovel: + ID: 273 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Stone_Pickaxe: + ID: 274 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Stone_Axe: + ID: 275 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Stone_Hoe: + ID: 291 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 20.0 + Drop_Level: 0 + Max_Level: 400 + Drops_From: + Fishing: true + Iron_Sword: + ID: 267 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Shovel: + ID: 256 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Pickaxe: + ID: 257 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Axe: + ID: 258 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Hoe: + ID: 292 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Boots: + ID: 309 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Helmet: + ID: 306 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Leggings: + ID: 308 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Chestplate: + ID: 307 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Ender_Pearl: + ID: 368 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 25.0 + Drop_Level: 200 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Sword: + ID: 283 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Shovel: + ID: 284 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Pickaxe: + ID: 285 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Axe: + ID: 286 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Hoe: + ID: 294 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Boots: + ID: 317 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Helmet: + ID: 314 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Leggings: + ID: 316 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Chestplate: + ID: 315 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Blaze_Rod: + ID: 369 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_3: + ID: 2258 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_4: + ID: 2259 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_5: + ID: 2260 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 30.0 + Drop_Level: 400 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Sword: + ID: 276 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Shovel: + ID: 277 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Pickaxe: + ID: 278 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Axe: + ID: 279 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Hoe: + ID: 293 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Boots: + ID: 313 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Helmet: + ID: 310 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Leggings: + ID: 312 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamond_Chestplate: + ID: 311 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_6: + ID: 2261 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_7: + ID: 2262 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_8: + ID: 2263 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_9: + ID: 2264 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_10: + ID: 2265 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Record_11: + ID: 2266 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Ghast_Tear: + ID: 370 + Data: 0 + Amount: 1 + XP: 200 + Drop_Chance: 35.0 + Drop_Level: 600 + Max_Level: 1000 + Drops_From: + Fishing: true + Diamonds: + ID: 264 + Data: 0 + Amount: 5 + XP: 200 + Drop_Chance: 40.0 + Drop_Level: 800 + Max_Level: 1000 + Drops_From: + Fishing: true + Iron_Ingots: + ID: 265 + Data: 0 + Amount: 5 + XP: 200 + Drop_Chance: 40.0 + Drop_Level: 800 + Max_Level: 1000 + Drops_From: + Fishing: true + Gold_Ingots: + ID: 266 + Data: 0 + Amount: 5 + XP: 200 + Drop_Chance: 40.0 + Drop_Level: 800 + Max_Level: 1000 + Drops_From: + Fishing: true + Lapis_Lazuli: + ID: 351 + Data: 4 + Amount: 20 + XP: 200 + Drop_Chance: 40.0 + Drop_Level: 800 + Max_Level: 1000 + Drops_From: + Fishing: true # # Settings for commands ### From 5c63e9779e9b4dae4b4ec7beb83f5d4765cebd2d Mon Sep 17 00:00:00 2001 From: GJ Date: Tue, 21 Feb 2012 14:19:11 -0500 Subject: [PATCH 2/2] Added unlock levels for repairing Iron/Gold/Stone. Added configurable ranks for Arcane Forging. --- .../commands/skills/RepairCommand.java | 2 -- .../gmail/nossr50/config/LoadProperties.java | 17 +++++++++++--- .../java/com/gmail/nossr50/skills/Repair.java | 22 +++++++++---------- src/main/resources/config.yml | 15 ++++++++++--- .../resources/locale/locale_de.properties | 2 -- .../resources/locale/locale_en_us.properties | 2 -- .../resources/locale/locale_es_es.properties | 2 -- .../resources/locale/locale_fi.properties | 2 -- .../resources/locale/locale_fr.properties | 2 -- .../resources/locale/locale_nl.properties | 2 -- .../resources/locale/locale_pl.properties | 2 -- .../resources/locale/locale_pt_br.properties | 2 -- .../resources/locale/locale_ru.properties | 2 -- 13 files changed, 37 insertions(+), 37 deletions(-) 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 6d68d1298..52d641059 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java @@ -45,8 +45,6 @@ public class RepairCommand implements CommandExecutor { player.sendMessage(mcLocale.getString("m.ArcaneForgingRank", new Object[] { Repair.getArcaneForgingRank(PP) })); player.sendMessage(mcLocale.getString("m.ArcaneEnchantKeepChance", new Object[] { Repair.getEnchantChance(Repair.getArcaneForgingRank(PP)) })); player.sendMessage(mcLocale.getString("m.ArcaneEnchantDowngradeChance", new Object[] { Repair.getDowngradeChance(Repair.getArcaneForgingRank(PP)) })); - player.sendMessage(mcLocale.getString("m.ArcaneForgingMilestones")); - player.sendMessage(mcLocale.getString("m.ArcaneForgingMilestones2")); return true; } diff --git a/src/main/java/com/gmail/nossr50/config/LoadProperties.java b/src/main/java/com/gmail/nossr50/config/LoadProperties.java index e643c85e7..d6fc8e564 100644 --- a/src/main/java/com/gmail/nossr50/config/LoadProperties.java +++ b/src/main/java/com/gmail/nossr50/config/LoadProperties.java @@ -49,7 +49,8 @@ public class LoadProperties { pvpxp, miningrequirespickaxe, excavationRequiresShovel, woodcuttingrequiresaxe, anvilmessages, mayDowngradeEnchants, mayLoseEnchants, fishingDrops, aDisplayNames, pDisplayNames, enableSmoothToMossy, - enableDirtToGrass, statsTracking, eventCallback, herbalismHungerBonus; + enableDirtToGrass, statsTracking, eventCallback, herbalismHungerBonus, + repairArmor, repairTools; public static String MySQLtablePrefix, MySQLuserName, MySQLserverName, MySQLdbName, MySQLdbPass, nWood, nStone, @@ -72,7 +73,8 @@ public class LoadProperties { levelCapAcrobatics, levelCapArchery, levelCapAxes, levelCapExcavation, levelCapFishing, levelCapHerbalism, levelCapMining, levelCapRepair, levelCapSwords, levelCapTaming, levelCapUnarmed, levelCapWoodcutting, - anvilID, saveInterval, fishingTier1, fishingTier2, fishingTier3, fishingTier4, fishingTier5; + anvilID, saveInterval, fishingTier1, fishingTier2, fishingTier3, fishingTier4, fishingTier5, + repairStoneLevel, repairIronLevel, repairGoldLevel, arcaneRank1, arcaneRank2, arcaneRank3, arcaneRank4; public static double xpbackground_r, xpbackground_g, xpbackground_b, xpborder_r, xpborder_g, xpborder_b, fishing_r, fishing_g, @@ -318,7 +320,12 @@ public class LoadProperties { miningrequirespickaxe = readBoolean("Skills.Mining.Requires_Pickaxe", true); excavationRequiresShovel = readBoolean("Skills.Excavation.Requires_Shovel", true); woodcuttingrequiresaxe = readBoolean("Skills.Woodcutting.Requires_Axe", true); + repairArmor = readBoolean("Skills.Repair.Can_Repair_Armor", true); + repairTools = readBoolean("Skills.Repair.Can_Repair_Tools", true); repairdiamondlevel = readInteger("Skills.Repair.Diamond.Level_Required", 50); + repairIronLevel = readInteger("Skills.Repair.Iron.Level_Required", 0); + repairGoldLevel = readInteger("Skills.Repair.Gold.Level_Required", 0); + repairStoneLevel = readInteger("Skills.Repair.Stone.Level_Required", 0); tamingxpmodifier = readDouble("Experience.Formula.Multiplier.Taming", 1.0); miningxpmodifier = readDouble("Experience.Formula.Multiplier.Mining", 1.0); @@ -369,11 +376,15 @@ public class LoadProperties { downgradeRank2 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_2", 50); downgradeRank3 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_3", 25); downgradeRank4 = readInteger("Arcane_Forging.Downgrades.Chance.Rank_4", 15); - mayLoseEnchants = readBoolean("Arcane_Forging.May_Lose_Enchants.Enabled", true); + mayLoseEnchants = readBoolean("Arcane_Forging.May_Lose_Enchants", true); keepEnchantsRank1 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_1", 10); keepEnchantsRank2 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_2", 20); keepEnchantsRank3 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_3", 30); keepEnchantsRank4 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_4", 40); + arcaneRank1 = readInteger("Arcane_Forging.Rank_Levels.Rank_1", 100); + arcaneRank2 = readInteger("Arcane_Forging.Rank_Levels.Rank_2", 250); + arcaneRank3 = readInteger("Arcane_Forging.Rank_Levels.Rank_3", 500); + arcaneRank4 = readInteger("Arcane_Forging.Rank_Levels.Rank_4", 750); fishingDrops = readBoolean("Fishing.Drops_Enabled", true); fishingTier1 = readInteger("Fishing.Tier_Levels.Tier1", 0); diff --git a/src/main/java/com/gmail/nossr50/skills/Repair.java b/src/main/java/com/gmail/nossr50/skills/Repair.java index 9dc7e1ccc..0634406ca 100644 --- a/src/main/java/com/gmail/nossr50/skills/Repair.java +++ b/src/main/java/com/gmail/nossr50/skills/Repair.java @@ -76,7 +76,7 @@ public class Repair { /* * REPAIR ARMOR */ - if(isArmor(is)){ + if(isArmor(is) && LoadProperties.repairArmor){ //DIAMOND ARMOR if(isDiamondArmor(is) && hasItem(player, rDiamond) && PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.repairdiamondlevel){ @@ -94,7 +94,7 @@ public class Repair { } //IRON ARMOR - else if (isIronArmor(is) && hasItem(player, rIron)){ + else if (isIronArmor(is) && hasItem(player, rIron) && PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.repairIronLevel){ removeItem(player, rIron); repairItem(player, enchants, enchantsLevel); @@ -109,7 +109,7 @@ public class Repair { } //GOLD ARMOR - else if (isGoldArmor(is) && hasItem(player, rGold)){ + else if (isGoldArmor(is) && hasItem(player, rGold) && PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.repairGoldLevel){ removeItem(player, rGold); repairItem(player, enchants, enchantsLevel); @@ -147,10 +147,10 @@ public class Repair { /* * REPAIR TOOLS */ - if(isTools(is)){ + if(isTools(is) && LoadProperties.repairTools){ //STONE TOOLS - if(isStoneTools(is) && hasItem(player, rStone)){ + if(isStoneTools(is) && hasItem(player, rStone) && PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.repairStoneLevel){ removeItem(player, rStone); repairItem(player, enchants, enchantsLevel); @@ -188,7 +188,7 @@ public class Repair { } //IRON TOOLS - else if(isIronTools(is) && hasItem(player, rIron)){ + else if(isIronTools(is) && hasItem(player, rIron) && PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.repairIronLevel){ removeItem(player, rIron); repairItem(player, enchants, enchantsLevel); @@ -231,7 +231,7 @@ public class Repair { } //GOLD TOOLS - else if(isGoldTools(is) && hasItem(player, rGold)){ + else if(isGoldTools(is) && hasItem(player, rGold) && PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.repairGoldLevel){ removeItem(player, rGold); repairItem(player, enchants, enchantsLevel); @@ -291,16 +291,16 @@ public class Repair { public static int getArcaneForgingRank(PlayerProfile PP){ int rank = 0; - if(PP.getSkillLevel(SkillType.REPAIR) >= 750) + if(PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.arcaneRank4) rank = 4; - else if (PP.getSkillLevel(SkillType.REPAIR) >= 500) + else if (PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.arcaneRank3) rank = 3; - else if(PP.getSkillLevel(SkillType.REPAIR) >= 250) + else if(PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.arcaneRank2) rank = 2; - else if (PP.getSkillLevel(SkillType.REPAIR) >= 100) + else if (PP.getSkillLevel(SkillType.REPAIR) >= LoadProperties.arcaneRank1) rank = 1; return rank; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 133a4972a..b97c7e8d6 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -48,14 +48,18 @@ Items: # Settings for Arcane Forging ### Arcane_Forging: + May_Lose_Enchants: true + Rank_Levels: + Rank_1: 100 + Rank_2: 250 + Rank_3: 500 + Rank_4: 750 Keep_Enchants: Chance: Rank_4: 40 Rank_3: 30 Rank_2: 20 Rank_1: 10 - May_Lose_Enchants: - Enabled: true Downgrades: Enabled: true Chance: @@ -113,6 +117,8 @@ Skills: Level_Cap: 0 Anvil_Messages: true Anvil_ID: 42 + Can_Repair_Armor: true + Can_Repair_Tools: true Leather: Name: Leather ID: 334 @@ -121,15 +127,18 @@ Skills: ID: 287 Stone: Name: Cobblestone + Level_Required: 0 ID: 4 Wood: Name: Wood Planks ID: 5 Gold: Name: Gold Bars + Level_Required: 0 ID: 266 Iron: Name: Iron Bars + Level_Required: 0 ID: 265 Diamond: Name: Diamond @@ -216,7 +225,7 @@ Experience: ### Fishing: Drops_Enabled: true - Tier_Level2: + Tier_Levels: Tier1: 0 Tier2: 200 Tier3: 400 diff --git a/src/main/resources/locale/locale_de.properties b/src/main/resources/locale/locale_de.properties index 2e9d158fe..1e109b2c1 100644 --- a/src/main/resources/locale/locale_de.properties +++ b/src/main/resources/locale/locale_de.properties @@ -374,8 +374,6 @@ m.EffectsRepair5_1=[[AQUA]]Verzauberte Gegenstaende reparieren m.ArcaneForgingRank=[[YELLOW]]Arkanes Schmieden: [[GREEN]]Rang {0}/4 m.ArcaneEnchantKeepChance=[[AQUA]]AS Erfolgs-Chance: [[GREEN]]{0}% m.ArcaneEnchantDowngradeChance=[[AQUA]]AS Downgrade-Chance: [[GREEN]]{0}% -m.ArcaneForgingMilestones=[[YELLOW]][TIP]Arkanes Schmieden: [[AQUA]]Rang 1 = 100+, Rang 2 = 250+, -m.ArcaneForgingMilestones2=[[AQUA]] Rang 3 = 500+, Rang 4 = 750+ Fishing.MagicFound=[[AQUA]]Du hast etwas magisches gefunden... Fishing.ItemFound=[[AQUA]]Du hast einen Schatz gefunden! m.SkillFishing=Angeln (Fishing) diff --git a/src/main/resources/locale/locale_en_us.properties b/src/main/resources/locale/locale_en_us.properties index e9607ed9e..c69095afc 100644 --- a/src/main/resources/locale/locale_en_us.properties +++ b/src/main/resources/locale/locale_en_us.properties @@ -367,8 +367,6 @@ m.EffectsRepair5_1=Repair magic items m.ArcaneForgingRank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4 m.ArcaneEnchantKeepChance=[[GRAY]]AF Success Rate: [[YELLOW]]{0}% m.ArcaneEnchantDowngradeChance=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}% -m.ArcaneForgingMilestones=[[GOLD]][TIP] AF Rank Ups: [[GRAY]]Rank 1 = 100+, Rank 2 = 250+, -m.ArcaneForgingMilestones2=[[GRAY]] Rank 3 = 500+, Rank 4 = 750+ Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... Fishing.ItemFound=[[GRAY]]Treasure found! m.SkillFishing=FISHING diff --git a/src/main/resources/locale/locale_es_es.properties b/src/main/resources/locale/locale_es_es.properties index 7c5a46e9c..944366dc3 100644 --- a/src/main/resources/locale/locale_es_es.properties +++ b/src/main/resources/locale/locale_es_es.properties @@ -367,8 +367,6 @@ m.EffectsRepair5_1=Repair magic items m.ArcaneForgingRank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4 m.ArcaneEnchantKeepChance=[[GRAY]]AF Success Rate: [[YELLOW]]{0}% m.ArcaneEnchantDowngradeChance=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}% -m.ArcaneForgingMilestones=[[GOLD]][TIP] AF Rank Ups: [[GRAY]]Rank 1 = 100+, Rank 2 = 250+, -m.ArcaneForgingMilestones2=[[GRAY]] Rank 3 = 500+, Rank 4 = 750+ Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... Fishing.ItemFound=[[GRAY]]Treasure found! m.SkillFishing=FISHING diff --git a/src/main/resources/locale/locale_fi.properties b/src/main/resources/locale/locale_fi.properties index 6c0780000..b78a39938 100644 --- a/src/main/resources/locale/locale_fi.properties +++ b/src/main/resources/locale/locale_fi.properties @@ -346,8 +346,6 @@ m.EffectsRepair5_1=Repair magic items m.ArcaneForgingRank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4 m.ArcaneEnchantKeepChance=[[GRAY]]AF Success Rate: [[YELLOW]]{0}% m.ArcaneEnchantDowngradeChance=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}% -m.ArcaneForgingMilestones=[[GOLD]][TIP] AF Rank Ups: [[GRAY]]Rank 1 = 100+, Rank 2 = 250+, -m.ArcaneForgingMilestones2=[[GRAY]] Rank 3 = 500+, Rank 4 = 750+ Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... Fishing.ItemFound=[[GRAY]]Treasure found! m.SkillFishing=FISHING diff --git a/src/main/resources/locale/locale_fr.properties b/src/main/resources/locale/locale_fr.properties index 6a3b763df..ee8891a23 100644 --- a/src/main/resources/locale/locale_fr.properties +++ b/src/main/resources/locale/locale_fr.properties @@ -367,8 +367,6 @@ m.EffectsRepair5_1=Repair magic items m.ArcaneForgingRank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4 m.ArcaneEnchantKeepChance=[[GRAY]]AF Success Rate: [[YELLOW]]{0}% m.ArcaneEnchantDowngradeChance=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}% -m.ArcaneForgingMilestones=[[GOLD]][TIP] AF Rank Ups: [[GRAY]]Rank 1 = 100+, Rank 2 = 250+, -m.ArcaneForgingMilestones2=[[GRAY]] Rank 3 = 500+, Rank 4 = 750+ Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... Fishing.ItemFound=[[GRAY]]Treasure found! m.SkillFishing=FISHING diff --git a/src/main/resources/locale/locale_nl.properties b/src/main/resources/locale/locale_nl.properties index c1d2bd0ed..a86be5246 100644 --- a/src/main/resources/locale/locale_nl.properties +++ b/src/main/resources/locale/locale_nl.properties @@ -373,8 +373,6 @@ m.EffectsRepair5_1=Repair magic items m.ArcaneForgingRank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4 m.ArcaneEnchantKeepChance=[[GRAY]]AF Success Rate: [[YELLOW]]{0}% m.ArcaneEnchantDowngradeChance=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}% -m.ArcaneForgingMilestones=[[GOLD]][TIP] AF Rank Ups: [[GRAY]]Rank 1 = 100+, Rank 2 = 250+, -m.ArcaneForgingMilestones2=[[GRAY]] Rank 3 = 500+, Rank 4 = 750+ Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... Fishing.ItemFound=[[GRAY]]Treasure found! m.SkillFishing=FISHING diff --git a/src/main/resources/locale/locale_pl.properties b/src/main/resources/locale/locale_pl.properties index 2bab49de7..801380a4c 100644 --- a/src/main/resources/locale/locale_pl.properties +++ b/src/main/resources/locale/locale_pl.properties @@ -367,8 +367,6 @@ m.EffectsRepair5_1=Repair magic items m.ArcaneForgingRank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4 m.ArcaneEnchantKeepChance=[[GRAY]]AF Success Rate: [[YELLOW]]{0}% m.ArcaneEnchantDowngradeChance=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}% -m.ArcaneForgingMilestones=[[GOLD]][TIP] AF Rank Ups: [[GRAY]]Rank 1 = 100+, Rank 2 = 250+, -m.ArcaneForgingMilestones2=[[GRAY]] Rank 3 = 500+, Rank 4 = 750+ Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... Fishing.ItemFound=[[GRAY]]Treasure found! m.SkillFishing=FISHING diff --git a/src/main/resources/locale/locale_pt_br.properties b/src/main/resources/locale/locale_pt_br.properties index 5f127286e..6b4b5f509 100644 --- a/src/main/resources/locale/locale_pt_br.properties +++ b/src/main/resources/locale/locale_pt_br.properties @@ -377,8 +377,6 @@ m.EffectsRepair5_1=Repair magic items m.ArcaneForgingRank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4 m.ArcaneEnchantKeepChance=[[GRAY]]AF Success Rate: [[YELLOW]]{0}% m.ArcaneEnchantDowngradeChance=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}% -m.ArcaneForgingMilestones=[[GOLD]][TIP] AF Rank Ups: [[GRAY]]Rank 1 = 100+, Rank 2 = 250+, -m.ArcaneForgingMilestones2=[[GRAY]] Rank 3 = 500+, Rank 4 = 750+ Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... Fishing.ItemFound=[[GRAY]]Treasure found! m.SkillFishing=FISHING diff --git a/src/main/resources/locale/locale_ru.properties b/src/main/resources/locale/locale_ru.properties index 2d2b38c1b..a4ced7fd2 100644 --- a/src/main/resources/locale/locale_ru.properties +++ b/src/main/resources/locale/locale_ru.properties @@ -359,8 +359,6 @@ m.EffectsRepair5_1=Repair magic items m.ArcaneForgingRank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4 m.ArcaneEnchantKeepChance=[[GRAY]]AF Success Rate: [[YELLOW]]{0}% m.ArcaneEnchantDowngradeChance=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}% -m.ArcaneForgingMilestones=[[GOLD]][TIP] AF Rank Ups: [[GRAY]]Rank 1 = 100+, Rank 2 = 250+, -m.ArcaneForgingMilestones2=[[GRAY]] Rank 3 = 500+, Rank 4 = 750+ Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch... Fishing.ItemFound=[[GRAY]]Treasure found! m.SkillFishing=FISHING