From 9ef9ffd16fff593fb2feadb435a2ef3ca5116e64 Mon Sep 17 00:00:00 2001 From: GJ Date: Tue, 21 Feb 2012 13:10:51 -0500 Subject: [PATCH] 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 ###