From 797ac205671a141bbcca7c33f025ee0e4f9512d4 Mon Sep 17 00:00:00 2001 From: GJ Date: Sun, 15 Sep 2013 01:05:10 -0400 Subject: [PATCH] Added Horses to the "Shake" ability. Witches no longer drop water bottles from Shake, since they no longer drop them in Vanilla. Changed format of treasures.yml. **YOU WILL NEED TO UPDATE YOUR FILE TO THE NEW FORMAT** --- Changelog.txt | 3 + .../config/treasure/TreasureConfig.java | 472 ++--- .../treasure/ExcavationTreasure.java | 131 -- .../datatypes/treasure/HylianTreasure.java | 66 - .../datatypes/treasure/ShakeTreasure.java | 14 +- src/main/resources/treasures.yml | 1695 +++++------------ 6 files changed, 659 insertions(+), 1722 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 35a8f40d5..7107194ae 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -8,6 +8,7 @@ Key: - Removal Version 1.4.07-dev + + Added Horses to the "Shake" ability + Added ability to summon horses via "Call of the Wild" using apples + Added XP gain to Taming for horses + Added new permission nodes to allow more control over Taming and "Call of the Wild" @@ -32,6 +33,8 @@ Version 1.4.07-dev = Fixed a bug where teleport location was never reset if warmup was set to 0 for "Chimaera Wing". = Fixed a bug where the "Dodge" DamageModifier wasn't being read from advanced.yml = Fixed a bug where squid were not awarding XP. + ! Changed format of treasures.yml. **YOU WILL NEED TO UPDATE YOUR FILE TO THE NEW FORMAT** + ! Witches no longer drop water bottles from Shake, since they no longer drop them in Vanilla. ! Changed various values to double in advanced.yml for the sake of consistency. ! Nerfed Archery damage to eliminate constant one-hit kills. ! Changed the way Repair hands out XP, also added config options to control Repair XP diff --git a/src/main/java/com/gmail/nossr50/config/treasure/TreasureConfig.java b/src/main/java/com/gmail/nossr50/config/treasure/TreasureConfig.java index 01594b822..56da821ec 100644 --- a/src/main/java/com/gmail/nossr50/config/treasure/TreasureConfig.java +++ b/src/main/java/com/gmail/nossr50/config/treasure/TreasureConfig.java @@ -1,16 +1,14 @@ package com.gmail.nossr50.config.treasure; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import java.util.Map.Entry; +import org.bukkit.DyeColor; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.EntityType; import org.bukkit.inventory.ItemStack; -import org.bukkit.material.MaterialData; +import org.bukkit.material.Dye; import org.bukkit.potion.Potion; import org.bukkit.potion.PotionType; @@ -19,7 +17,6 @@ import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure; import com.gmail.nossr50.datatypes.treasure.FishingTreasure; import com.gmail.nossr50.datatypes.treasure.HylianTreasure; import com.gmail.nossr50.datatypes.treasure.ShakeTreasure; -import com.gmail.nossr50.datatypes.treasure.Treasure; public class TreasureConfig extends ConfigLoader { private static TreasureConfig instance; @@ -45,6 +42,7 @@ public class TreasureConfig extends ConfigLoader { public List shakeFromCreeper = new ArrayList(); public List shakeFromEnderman = new ArrayList(); public List shakeFromGhast = new ArrayList(); + public List shakeFromHorse = new ArrayList(); public List shakeFromIronGolem = new ArrayList(); public List shakeFromMagmaCube = new ArrayList(); public List shakeFromMushroomCow = new ArrayList(); @@ -75,47 +73,49 @@ public class TreasureConfig extends ConfigLoader { @Override protected void loadKeys() { - Map treasures = new HashMap(); - ConfigurationSection treasureSection = config.getConfigurationSection("Treasures"); + loadTreaures("Fishing"); + loadTreaures("Excavation"); + loadTreaures("Hylian"); + + for (EntityType entity : EntityType.values()) { + if (entity.isAlive()) { + loadTreaures("Shake." + entity.toString()); + } + } + } + + private void loadTreaures(String type) { + boolean isFishing = type.equals("Fishing"); + boolean isShake = type.contains("Shake"); + boolean isExcavation = type.equals("Excavation"); + boolean isHylian = type.equals("Hylian"); + + ConfigurationSection treasureSection = config.getConfigurationSection(type); if (treasureSection == null) { return; } for (String treasureName : treasureSection.getKeys(false)) { - // Validate all the things! List reason = new ArrayList(); /* - * ID, Amount, and Data + * Material, Amount, and Data */ + Material material = treasureName.contains("POTION") ? Material.POTION : Material.matchMaterial(treasureName); + int amount = config.getInt(type + "." + treasureName + ".Amount"); + int data = config.getInt(type + "." + treasureName + ".Data"); - if (!config.contains("Treasures." + treasureName + ".ID")) { - reason.add("Missing ID"); - } - - if (!config.contains("Treasures." + treasureName + ".Amount")) { - reason.add("Missing Amount"); - } - - if (!config.contains("Treasures." + treasureName + ".Data")) { - reason.add("Missing Data"); - } - - int id = config.getInt("Treasures." + treasureName + ".ID"); - int amount = config.getInt("Treasures." + treasureName + ".Amount"); - int data = config.getInt("Treasures." + treasureName + ".Data"); - - if (Material.getMaterial(id) == null) { - reason.add("Invalid id: " + id); + if (material == null) { + reason.add("Invalid material: " + treasureName); } if (amount < 1) { reason.add("Invalid amount: " + amount); } - if (id < 256 && (data > 127 || data < -128)) { + if (material != null && material.isBlock() && (data > 127 || data < -128)) { reason.add("Invalid data: " + data); } @@ -123,27 +123,15 @@ public class TreasureConfig extends ConfigLoader { * XP, Drop Chance, and Drop Level */ - if (!config.contains("Treasures." + treasureName + ".XP")) { - reason.add("Missing XP"); - } - - if (!config.contains("Treasures." + treasureName + ".Drop_Chance")) { - reason.add("Missing Drop_Chance"); - } - - if (!config.contains("Treasures." + treasureName + ".Drop_Level")) { - reason.add("Missing Drop_Level"); - } - - int xp = config.getInt("Treasures." + treasureName + ".XP"); - Double dropChance = config.getDouble("Treasures." + treasureName + ".Drop_Chance"); - int dropLevel = config.getInt("Treasures." + treasureName + ".Drop_Level"); + int xp = config.getInt(type + "." + treasureName + ".XP"); + double dropChance = config.getDouble(type + "." + treasureName + ".Drop_Chance"); + int dropLevel = config.getInt(type + "." + treasureName + ".Drop_Level"); if (xp < 0) { reason.add("Invalid xp: " + xp); } - if (dropChance < 0) { + if (dropChance < 0.0D) { reason.add("Invalid Drop_Chance: " + dropChance); } @@ -152,298 +140,178 @@ public class TreasureConfig extends ConfigLoader { } /* - * Potions + * Specific Types */ + int maxLevel = 0; + if (isFishing) { + maxLevel = config.getInt(type + "." + treasureName + ".Max_Level"); + + if (maxLevel < -1) { + reason.add("Invalid Max_Level: " + maxLevel); + } + + if (maxLevel != -1 && maxLevel < dropLevel) { + reason.add("Max_Level must be -1 or greater than Drop_Level!"); + } + } + + /* + * Itemstack + */ ItemStack item = null; - if (config.contains("Treasures." + treasureName + ".Potion_Type")) { - String potionType = config.getString("Treasures." + treasureName + ".Potion_Type"); + if (treasureName.contains("POTION")) { + String potionType = treasureName.substring(7); + try { - item = new Potion(PotionType.valueOf(potionType.toUpperCase())).toItemStack(amount); + item = new Potion(PotionType.valueOf(potionType.toUpperCase().trim())).toItemStack(amount); } catch (IllegalArgumentException ex) { reason.add("Invalid Potion_Type: " + potionType); } } - else { - item = (new MaterialData(id, (byte) data)).toItemStack(amount); - } - - /* - * Drops From & Max Level - */ - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Fishing", false)) { - if (config.getConfigurationSection("Treasures." + treasureName + ".Drops_From").getKeys(false).size() != 1) { - reason.add("This can only be a fishing drop."); - } - - if (!config.contains("Treasures." + treasureName + ".Max_Level")) { - reason.add("Missing Max_Level"); - } - - int maxLevel = config.getInt("Treasures." + treasureName + ".Max_Level"); - - if (noErrorsInConfig(reason)) { - FishingTreasure fTreasure = new FishingTreasure(item, xp, dropChance, dropLevel, maxLevel); - treasures.put(treasureName, fTreasure); - } - } - else if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Shake", false)) { - if (config.getConfigurationSection("Treasures." + treasureName + ".Drops_From").getKeys(false).size() != 1) { - reason.add("This can only be a shake drop."); - } - - if (!config.contains("Treasures." + treasureName + ".Mob")) { - reason.add("Missing Mob"); - } - - String mobType = config.getString("Treasures." + treasureName + ".Mob"); - EntityType mob = null; + else if (config.contains(type + "." + treasureName + ".Dye_Color")) { + String color = config.getString("Fishing." + treasureName + ".Dye_Color"); try { - mob = EntityType.valueOf(mobType.toUpperCase().trim()); - } - catch (IllegalArgumentException ex){ - reason.add("Invalid Mob: " + mobType); - } + Dye dye = new Dye(); + dye.setColor(DyeColor.valueOf(color.toUpperCase().trim())); - if (noErrorsInConfig(reason)) { - ShakeTreasure sTreasure = new ShakeTreasure(item, xp, dropChance, dropLevel, mob); - treasures.put(treasureName, sTreasure); + item = dye.toItemStack(amount); + } + catch (IllegalArgumentException ex) { + reason.add("Invalid Dye_Color: " + color); } } else { - ExcavationTreasure eTreasure = new ExcavationTreasure(item, xp, dropChance, dropLevel); - HylianTreasure hTreasure = new HylianTreasure(item, xp, dropChance, dropLevel); - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Dirt", false)) { - eTreasure.setDropsFromDirt(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Grass", false)) { - eTreasure.setDropsFromGrass(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Sand", false)) { - eTreasure.setDropsFromSand(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Gravel", false)) { - eTreasure.setDropsFromGravel(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Clay", false)) { - eTreasure.setDropsFromClay(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Mycelium", false)) { - eTreasure.setDropsFromMycel(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Soul_Sand", false)) { - eTreasure.setDropsFromSoulSand(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Snow", false)) { - eTreasure.setDropsFromSnow(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Bushes", false)) { - hTreasure.setDropsFromBushes(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Flowers", false)) { - hTreasure.setDropsFromFlowers(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Pots", false)) { - hTreasure.setDropsFromPots(); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Fishing", false)) { - reason.add("This cannot also be a fishing drop."); - } - - if (config.getBoolean("Treasures." + treasureName + ".Drops_From.Shake", false)) { - reason.add("This cannot also be a shake drop."); - } - - if (noErrorsInConfig(reason) && hTreasure.getDropsFrom() == (byte) 0x0) { - treasures.put(treasureName, eTreasure); - } - else if (noErrorsInConfig(reason) && eTreasure.getDropsFrom() == (byte) 0x0) { - treasures.put(treasureName, hTreasure); - } + item = new ItemStack(material, amount, (short) data); } - } - List excavationTreasures = config.getStringList("Excavation.Treasure"); - List fishingTreasures = config.getStringList("Fishing.Treasure"); - List hylianTreasures = config.getStringList("Hylian_Luck.Treasure"); - List shakeTreasures = config.getStringList("Shake.Treasure"); - - for (Entry nextEntry : treasures.entrySet()) { - String treasureKey = nextEntry.getKey(); - Treasure treasure = nextEntry.getValue(); - - if (treasure instanceof FishingTreasure) { - if (fishingTreasures == null || !fishingTreasures.contains(treasureKey)) { - continue; + if (noErrorsInConfig(reason)) { + if (isFishing) { + fishingRewards.add(new FishingTreasure(item, xp, dropChance, dropLevel, maxLevel)); } + else if (isShake) { + ShakeTreasure shakeTreasure = new ShakeTreasure(item, xp, dropChance, dropLevel); - fishingRewards.add((FishingTreasure) treasure); - } - else if (treasure instanceof ShakeTreasure) { - if (shakeTreasures == null || !shakeTreasures.contains(treasureKey)) { - continue; + if (type.equals("Shake.BLAZE")) { + shakeFromBlaze.add(shakeTreasure); + } + else if (type.equals("Shake.CAVE_SPIDER")) { + shakeFromCaveSpider.add(shakeTreasure); + } + else if (type.equals("Shake.CHICKEN")) { + shakeFromChicken.add(shakeTreasure); + } + else if (type.equals("Shake.COW")) { + shakeFromCow.add(shakeTreasure); + } + else if (type.equals("Shake.CREEPER")) { + shakeFromCreeper.add(shakeTreasure); + } + else if (type.equals("Shake.ENDERMAN")) { + shakeFromEnderman.add(shakeTreasure); + } + else if (type.equals("Shake.GHAST")) { + shakeFromGhast.add(shakeTreasure); + } + else if (type.equals("Shake.HORSE")) { + shakeFromHorse.add(shakeTreasure); + } + else if (type.equals("Shake.IRON_GOLEM")) { + shakeFromIronGolem.add(shakeTreasure); + } + else if (type.equals("Shake.MAGMA_CUBE")) { + shakeFromMagmaCube.add(shakeTreasure); + } + else if (type.equals("Shake.MUSHROOM_COW")) { + shakeFromMushroomCow.add(shakeTreasure); + } + else if (type.equals("Shake.PIG")) { + shakeFromPig.add(shakeTreasure); + } + else if (type.equals("Shake.PIG_ZOMBIE")) { + shakeFromPigZombie.add(shakeTreasure); + } + else if (type.equals("Shake.SHEEP")) { + shakeFromSheep.add(shakeTreasure); + } + else if (type.equals("Shake.SKELETON")) { + shakeFromSkeleton.add(shakeTreasure); + } + else if (type.equals("Shake.SLIME")) { + shakeFromSlime.add(shakeTreasure); + } + else if (type.equals("Shake.SPIDER")) { + shakeFromSpider.add(shakeTreasure); + } + else if (type.equals("Shake.SNOWMAN")) { + shakeFromSnowman.add(shakeTreasure); + } + else if (type.equals("Shake.SQUID")) { + shakeFromSquid.add(shakeTreasure); + } + else if (type.equals("Shake.WITCH")) { + shakeFromWitch.add(shakeTreasure); + } + else if (type.equals("Shake.ZOMBIE")) { + shakeFromZombie.add(shakeTreasure); + } } + else if (isExcavation) { + ExcavationTreasure excavationTreasure = new ExcavationTreasure(item, xp, dropChance, dropLevel); + List dropList = config.getStringList(type + "." + treasureName + ".Drops_From"); - ShakeTreasure e = (ShakeTreasure) treasure; - switch (e.getMob()) { - case BLAZE: - shakeFromBlaze.add(e); - break; + if (dropList.contains("Dirt")) { + excavationFromDirt.add(excavationTreasure); + } - case CAVE_SPIDER: - shakeFromCaveSpider.add(e); - break; + if (dropList.contains("Grass")) { + excavationFromGrass.add(excavationTreasure); + } - case CHICKEN: - shakeFromChicken.add(e); - break; + if (dropList.contains("Sand")) { + excavationFromSand.add(excavationTreasure); + } - case COW: - shakeFromCow.add(e); - break; + if (dropList.contains("Gravel")) { + excavationFromGravel.add(excavationTreasure); + } - case CREEPER: - shakeFromCreeper.add(e); - break; + if (dropList.contains("Clay")) { + excavationFromClay.add(excavationTreasure); + } - case ENDERMAN: - shakeFromEnderman.add(e); - break; + if (dropList.contains("Mycelium")) { + excavationFromMycel.add(excavationTreasure); + } - case GHAST: - shakeFromGhast.add(e); - break; + if (dropList.contains("Soul_Sand")) { + excavationFromSoulSand.add(excavationTreasure); + } - case IRON_GOLEM: - shakeFromIronGolem.add(e); - break; - - case MAGMA_CUBE: - shakeFromMagmaCube.add(e); - break; - - case MUSHROOM_COW: - shakeFromMushroomCow.add(e); - break; - - case PIG: - shakeFromPig.add(e); - break; - - case PIG_ZOMBIE: - shakeFromPigZombie.add(e); - break; - - case SHEEP: - shakeFromSheep.add(e); - break; - - case SKELETON: - shakeFromSkeleton.add(e); - break; - - case SLIME: - shakeFromSlime.add(e); - break; - - case SPIDER: - shakeFromSpider.add(e); - break; - - case SNOWMAN: - shakeFromSnowman.add(e); - break; - - case SQUID: - shakeFromSquid.add(e); - break; - - case WITCH: - shakeFromWitch.add(e); - break; - - case ZOMBIE: - shakeFromZombie.add(e); - break; - - default: - break; - } - } - else if (treasure instanceof HylianTreasure) { - if (hylianTreasures == null || !hylianTreasures.contains(treasureKey)) { - continue; + if (dropList.contains("Snow")) { + excavationFromSnow.add(excavationTreasure); + } } + else if (isHylian) { + HylianTreasure hylianTreasure = new HylianTreasure(item, xp, dropChance, dropLevel); + List dropList = config.getStringList(type + "." + treasureName + ".Drops_From"); - HylianTreasure hTreasure = (HylianTreasure) treasure; + if (dropList.contains("Bushes")) { + hylianFromBushes.add(hylianTreasure); + } - if (hTreasure.getDropsFromBushes()) { - hylianFromBushes.add(hTreasure); - } + if (dropList.contains("Flowers")) { + hylianFromFlowers.add(hylianTreasure); + } - if (hTreasure.getDropsFromFlowers()) { - hylianFromFlowers.add(hTreasure); - } - - if (hTreasure.getDropsFromPots()) { - hylianFromPots.add(hTreasure); - } - } - else if (treasure instanceof ExcavationTreasure) { - if (excavationTreasures == null || !excavationTreasures.contains(treasureKey)) { - continue; - } - - ExcavationTreasure eTreasure = (ExcavationTreasure) treasure; - - if (eTreasure.getDropsFromDirt()) { - excavationFromDirt.add(eTreasure); - } - - if (eTreasure.getDropsFromGrass()) { - excavationFromGrass.add(eTreasure); - } - - if (eTreasure.getDropsFromSand()) { - excavationFromSand.add(eTreasure); - } - - if (eTreasure.getDropsFromGravel()) { - excavationFromGravel.add(eTreasure); - } - - if (eTreasure.getDropsFromClay()) { - excavationFromClay.add(eTreasure); - } - - if (eTreasure.getDropsFromMycel()) { - excavationFromMycel.add(eTreasure); - } - - if (eTreasure.getDropsFromSoulSand()) { - excavationFromSoulSand.add(eTreasure); - } - - if (eTreasure.getDropsFromSnow()) { - excavationFromSnow.add(eTreasure); + if (dropList.contains("Pots")) { + hylianFromPots.add(hylianTreasure); + } } } } } -} +} \ No newline at end of file diff --git a/src/main/java/com/gmail/nossr50/datatypes/treasure/ExcavationTreasure.java b/src/main/java/com/gmail/nossr50/datatypes/treasure/ExcavationTreasure.java index 75d28f40b..0145e30eb 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/treasure/ExcavationTreasure.java +++ b/src/main/java/com/gmail/nossr50/datatypes/treasure/ExcavationTreasure.java @@ -3,138 +3,7 @@ package com.gmail.nossr50.datatypes.treasure; import org.bukkit.inventory.ItemStack; public class ExcavationTreasure extends Treasure { - // dirt | grass | sand | gravel | clay | mycel | soulsand | snow - // 00000001 - dirt 1 - // 00000010 - grass 2 - // 00000100 - sand 4 - // 00001000 - gravel 8 - // 00010000 - clay 16 - // 00100000 - mycel 32 - // 01000000 - soulsand 64 - // 10000000 - snow 128 - private byte dropsFrom = 0x0; - public ExcavationTreasure(ItemStack drop, int xp, double dropChance, int dropLevel) { super(drop, xp, dropChance, dropLevel); } - - // Raw getters and setters - public byte getDropsFrom() { - return dropsFrom; - } - - public void setDropsFrom(byte dropsFrom) { - this.dropsFrom = dropsFrom; - } - - // Getters - public boolean getDropsFromDirt() { - return getDropFromMask(1); - } - - public boolean getDropsFromGrass() { - return getDropFromMask(2); - } - - public boolean getDropsFromSand() { - return getDropFromMask(4); - } - - public boolean getDropsFromGravel() { - return getDropFromMask(8); - } - - public boolean getDropsFromClay() { - return getDropFromMask(16); - } - - public boolean getDropsFromMycel() { - return getDropFromMask(32); - } - - public boolean getDropsFromSoulSand() { - return getDropFromMask(64); - } - - public boolean getDropsFromSnow() { - return getDropFromMask(128); - } - - private boolean getDropFromMask(int mask) { - return ((dropsFrom & mask) > 0) ? true : false; - } - - // Setters - public void setDropsFromDirt() { - setDropFromMask(1); - } - - public void setDropsFromGrass() { - setDropFromMask(2); - } - - public void setDropsFromSand() { - setDropFromMask(4); - } - - public void setDropsFromGravel() { - setDropFromMask(8); - } - - public void setDropsFromClay() { - setDropFromMask(16); - } - - public void setDropsFromMycel() { - setDropFromMask(32); - } - - public void setDropsFromSoulSand() { - setDropFromMask(64); - } - - public void setDropsFromSnow() { - setDropFromMask(128); - } - - private void setDropFromMask(int mask) { - dropsFrom |= mask; - } - - // Un-setters - public void unsetDropsFromDirt() { - unsetDropFromMask(1); - } - - public void unsetDropsFromGrass() { - unsetDropFromMask(2); - } - - public void unsetDropsFromSand() { - unsetDropFromMask(4); - } - - public void unsetDropsFromGravel() { - unsetDropFromMask(8); - } - - public void unsetDropsFromClay() { - unsetDropFromMask(16); - } - - public void unsetDropsFromMycel() { - unsetDropFromMask(32); - } - - public void unsetDropsFromSoulSand() { - unsetDropFromMask(64); - } - - public void unsetDropsFromSnow() { - unsetDropFromMask(128); - } - - private void unsetDropFromMask(int mask) { - dropsFrom &= ~mask; - } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/treasure/HylianTreasure.java b/src/main/java/com/gmail/nossr50/datatypes/treasure/HylianTreasure.java index d43c944c9..b465d42d7 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/treasure/HylianTreasure.java +++ b/src/main/java/com/gmail/nossr50/datatypes/treasure/HylianTreasure.java @@ -3,73 +3,7 @@ package com.gmail.nossr50.datatypes.treasure; import org.bukkit.inventory.ItemStack; public class HylianTreasure extends Treasure { - // bushes | flowers | pots - // 00000001 - bushes 1 - // 00000010 - flowers 2 - // 00000100 - pots 4 - private byte dropsFrom = 0x0; - public HylianTreasure(ItemStack drop, int xp, double dropChance, int dropLevel) { super(drop, xp, dropChance, dropLevel); } - - // Raw getters and setters - public byte getDropsFrom() { - return dropsFrom; - } - - public void setDropsFrom(byte dropsFrom) { - this.dropsFrom = dropsFrom; - } - - // Getters - public boolean getDropsFromBushes() { - return getDropFromMask(1); - } - - public boolean getDropsFromFlowers() { - return getDropFromMask(2); - } - - public boolean getDropsFromPots() { - return getDropFromMask(4); - } - - private boolean getDropFromMask(int mask) { - return ((dropsFrom & mask) > 0) ? true : false; - } - - // Setters - public void setDropsFromBushes() { - setDropFromMask(1); - } - - public void setDropsFromFlowers() { - setDropFromMask(2); - } - - public void setDropsFromPots() { - setDropFromMask(4); - } - - private void setDropFromMask(int mask) { - dropsFrom |= mask; - } - - // Un-setters - public void unsetDropsFromBushes() { - unsetDropFromMask(1); - } - - public void unsetDropsFromFlowers() { - unsetDropFromMask(2); - } - - public void unsetDropsFromPots() { - unsetDropFromMask(4); - } - - private void unsetDropFromMask(int mask) { - dropsFrom &= ~mask; - } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/treasure/ShakeTreasure.java b/src/main/java/com/gmail/nossr50/datatypes/treasure/ShakeTreasure.java index 8c77a621e..255acee82 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/treasure/ShakeTreasure.java +++ b/src/main/java/com/gmail/nossr50/datatypes/treasure/ShakeTreasure.java @@ -1,21 +1,9 @@ package com.gmail.nossr50.datatypes.treasure; -import org.bukkit.entity.EntityType; import org.bukkit.inventory.ItemStack; public class ShakeTreasure extends Treasure { - private EntityType mob; - - public ShakeTreasure(ItemStack drop, int xp, double dropChance, int dropLevel, EntityType mob) { + public ShakeTreasure(ItemStack drop, int xp, double dropChance, int dropLevel) { super(drop, xp, dropChance, dropLevel); - this.mob = mob; - } - - public EntityType getMob() { - return mob; - } - - public void setMob(EntityType mob) { - this.mob = mob; } } diff --git a/src/main/resources/treasures.yml b/src/main/resources/treasures.yml index 8c7833476..aabe4701a 100644 --- a/src/main/resources/treasures.yml +++ b/src/main/resources/treasures.yml @@ -2,1540 +2,815 @@ # Settings for Fishing ### Fishing: - 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 - - Record_12 - - 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 -### -Excavation: - Treasure: - - Cake - - Gunpowder - - Bone - - Apple - - Slimeball - - Bucket - - Netherrack - - Red_Mushroom - - Brown_Mushroom - - Egg - - Soul_Sand - - Clock - - Cobweb - - String - - Glowstone_Dust - - Gold_Music - - Green_Music - - Diamond - - Cocoa_Beans -# -# Settings for Hylian Luck -### -Hylian_Luck: - Treasure: - - Melon_Seeds - - Pumpkin_Seeds - - Cocoa - - Carrot - - Potato - - Apples - - Emeralds - - Diamond_Gem - - Gold_Nuggets -# -# Settings for Shake -### -Shake: - Treasure: - - Blaze_Blaze_Rod - - Cave_Spider_Cobweb - - Cave_Spider_Potion - - Cave_Spider_Spider_Eye - - Cave_Spider_String - - Spider_Spider_Eye - - Spider_String - - Chicken_Feather - - Chicken_Raw_Chicken - - Chicken_Egg - - Cow_Milk_Bucket - - Cow_Leather - - Cow_Raw_Beef - - Creeper_Skull - - Creeper_Sulphur - - Enderman_Ender_Pearl - - Ghast_Sulphur - - Ghast_Ghast_Tear - - Iron_Golem_Pumpkin - - Iron_Golem_Iron_Ingot - - Iron_Golem_Red_Rose - - Magma_Cube_Magma_Cream - - Mushroom_Cow_Milk_Bucket - - Mushroom_Cow_Mushroom_Soup - - Mushroom_Cow_Leather - - Mushroom_Cow_Raw_Beef - - Mushroom_Cow_Red_Mushroom - - Pig_Pork - - Pig_Zombie_Rotten_Flesh - - Pig_Zombie_Gold_Nugget - - Sheep_Wool - - Skeleton_Skull - - Skeleton_Bone - - Skeleton_Arrow - - Slime_Slime_Ball - - Snowman_Pumpkin - - Snowman_Snowball - - Squid_Ink_Sack - - Witch_Heal_Potion - - Witch_Fire_Potion - - Witch_Speed_Potion - - Witch_Glass_Bottle - - Witch_Glowstone_Dust - - Witch_Sulphur - - Witch_Redstone - - Witch_Spider_Eye - - Witch_Stick - - Witch_Sugar - - Witch_Potion - - Zombie_Skull - - Zombie_Rotten_Flesh -# -# Configuration to define Treasures -### -Treasures: - Cake: - ID: 354 - Data: 0 - Amount: 1 - XP: 3000 - Drop_Chance: 0.05 - Drop_Level: 750 - Drops_From: - Dirt: true - Grass: true - Sand: true - Gravel: true - Clay: true - Mycelium: true - Soul_Sand: true - Gunpowder: - ID: 289 - Data: 0 - Amount: 1 - XP: 30 - Drop_Chance: 10.0 - Drop_Level: 75 - Drops_From: - Gravel: true - Bone: - ID: 352 - Data: 0 - Amount: 1 - XP: 30 - Drop_Chance: 10.0 - Drop_Level: 175 - Drops_From: - Gravel: true - Apple: - ID: 260 - Data: 0 - Amount: 1 - XP: 100 - Drop_Chance: 0.1 - Drop_Level: 250 - Drops_From: - Grass: true - Mycelium: true - Slimeball: - ID: 341 - Data: 0 - Amount: 1 - XP: 100 - Drop_Chance: 5.0 - Drop_Level: 150 - Drops_From: - Clay: true - Bucket: - ID: 325 - Data: 0 - Amount: 1 - XP: 100 - Drop_Chance: 0.1 - Drop_Level: 500 - Drops_From: - Clay: true - Netherrack: - ID: 87 - Data: 0 - Amount: 1 - XP: 30 - Drop_Chance: 0.5 - Drop_Level: 850 - Drops_From: - Gravel: true - Red_Mushroom: - ID: 40 - Data: 0 - Amount: 1 - XP: 80 - Drop_Chance: 0.5 - Drop_Level: 500 - Drops_From: - Dirt: true - Grass: true - Mycelium: true - Brown_Mushroom: - ID: 39 - Data: 0 - Amount: 1 - XP: 80 - Drop_Chance: 0.5 - Drop_Level: 500 - Drops_From: - Dirt: true - Grass: true - Mycelium: true - Egg: - ID: 344 - Data: 0 - Amount: 1 - XP: 100 - Drop_Chance: 1.0 - Drop_Level: 250 - Drops_From: - Grass: true - Soul_Sand: - ID: 88 - Data: 0 - Amount: 1 - XP: 80 - Drop_Chance: 0.5 - Drop_Level: 650 - Drops_From: - Sand: true - Clock: - ID: 347 - Data: 0 - Amount: 1 - XP: 100 - Drop_Chance: 0.1 - Drop_Level: 500 - Drops_From: - Clay: true - Cobweb: - ID: 30 - Data: 0 - Amount: 1 - XP: 150 - Drop_Chance: 5.0 - Drop_Level: 750 - Drops_From: - Clay: true - String: - ID: 287 - Data: 0 - Amount: 1 - XP: 200 - Drop_Chance: 5.0 - Drop_Level: 250 - Drops_From: - Clay: true - Glowstone_Dust: - ID: 348 - Data: 0 - Amount: 1 - XP: 80 - Drop_Chance: 5.0 - Drop_Level: 25 - Drops_From: - Dirt: true - Grass: true - Sand: true - Mycelium: true - Gold_Music: - ID: 2256 - Data: 0 - Amount: 1 - XP: 3000 - Drop_Chance: 0.05 - Drop_Level: 250 - Drops_From: - Dirt: true - Grass: true - Sand: true - Gravel: true - Clay: true - Mycelium: true - Soul_Sand: true - Green_Music: - ID: 2257 - Data: 0 - Amount: 1 - XP: 3000 - Drop_Chance: 0.05 - Drop_Level: 250 - Drops_From: - Dirt: true - Grass: true - Sand: true - Gravel: true - Clay: true - Mycelium: true - Soul_Sand: true - Diamond: - ID: 264 - Data: 0 - Amount: 1 - XP: 1000 - Drop_Chance: 0.13 - Drop_Level: 350 - Drops_From: - Dirt: true - Grass: true - Sand: true - Gravel: true - Clay: true - Mycelium: true - Soul_Sand: true - Cocoa_Beans: - ID: 351 - Data: 3 - Amount: 1 - XP: 100 - Drop_Chance: 1.33 - Drop_Level: 350 - Drops_From: - Dirt: true - Grass: true - Mycelium: true - Leather_Boots: - ID: 301 - Data: 0 + LEATHER_BOOTS: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Leather_Helmet: - ID: 298 - Data: 0 + LEATHER_HELMET: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Leather_Leggings: - ID: 300 - Data: 0 + LEATHER_LEGGINGS: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Leather_Chestplate: - ID: 299 - Data: 0 + LEATHER_CHESTPLATE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Wooden_Sword: - ID: 268 - Data: 0 + WOOD_SWORD: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 200 - Drops_From: - Fishing: true - Wooden_Shovel: - ID: 269 - Data: 0 + WOOD_SPADE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 200 - Drops_From: - Fishing: true - Wooden_Pickaxe: - ID: 270 - Data: 0 + WOOD_PICKAXE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 200 - Drops_From: - Fishing: true - Wooden_Axe: - ID: 271 - Data: 0 + WOOD_AXE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 200 - Drops_From: - Fishing: true - Wooden_Hoe: - ID: 290 - Data: 0 + WOOD_HOE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 200 - Drops_From: - Fishing: true - Stone_Sword: - ID: 272 - Data: 0 + STONE_SWORD: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Stone_Shovel: - ID: 273 - Data: 0 + STONE_SPADE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Stone_Pickaxe: - ID: 274 - Data: 0 + STONE_PICKAXE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Stone_Axe: - ID: 275 - Data: 0 + STONE_AXE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Stone_Hoe: - ID: 291 - Data: 0 + STONE_HOE: Amount: 1 XP: 200 Drop_Chance: 20.0 Drop_Level: 0 Max_Level: 400 - Drops_From: - Fishing: true - Iron_Sword: - ID: 267 - Data: 0 + IRON_SWORD: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Shovel: - ID: 256 - Data: 0 + IRON_SPADE: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Pickaxe: - ID: 257 - Data: 0 + IRON_PICKAXE: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Axe: - ID: 258 - Data: 0 + IRON_AXE: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Hoe: - ID: 292 - Data: 0 + IRON_HOE: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Boots: - ID: 309 - Data: 0 + IRON_BOOTS: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Helmet: - ID: 306 - Data: 0 + IRON_HELMET: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Leggings: - ID: 308 - Data: 0 + IRON_LEGGINGS: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Chestplate: - ID: 307 - Data: 0 + IRON_CHESTPLATE: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Ender_Pearl: - ID: 368 - Data: 0 + ENDER_PEARL: Amount: 1 XP: 200 Drop_Chance: 25.0 Drop_Level: 200 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Sword: - ID: 283 - Data: 0 + GOLD_SWORD: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Shovel: - ID: 284 - Data: 0 + GOLD_SPADE: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Pickaxe: - ID: 285 - Data: 0 + GOLD_PICKAXE: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Axe: - ID: 286 - Data: 0 + GOLD_AXE: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Hoe: - ID: 294 - Data: 0 + GOLD_HOE: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Boots: - ID: 317 - Data: 0 + GOLD_BOOTS: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Helmet: - ID: 314 - Data: 0 + GOLD_HELMET: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Leggings: - ID: 316 - Data: 0 + GOLD_LEGGINGS: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Chestplate: - ID: 315 - Data: 0 + GOLD_CHESTPLATE: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Blaze_Rod: - ID: 369 - Data: 0 + BLAZE_ROD: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Record_3: - ID: 2258 - Data: 0 + RECORD_3: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Record_4: - ID: 2259 - Data: 0 + RECORD_4: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Record_5: - ID: 2260 - Data: 0 + RECORD_5: Amount: 1 XP: 200 Drop_Chance: 30.0 Drop_Level: 400 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Sword: - ID: 276 - Data: 0 + DIAMOND_SWORD: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Shovel: - ID: 277 - Data: 0 + DIAMOND_SPADE: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Pickaxe: - ID: 278 - Data: 0 + DIAMOND_PICKAXE: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Axe: - ID: 279 - Data: 0 + DIAMOND_AXE: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Hoe: - ID: 293 - Data: 0 + DIAMOND_HOE: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Boots: - ID: 313 - Data: 0 + DIAMOND_BOOTS: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Helmet: - ID: 310 - Data: 0 + DIAMOND_HELMET: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Leggings: - ID: 312 - Data: 0 + DIAMOND_LEGGINGS: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamond_Chestplate: - ID: 311 - Data: 0 + DIAMOND_CHESTPLATE: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Record_6: - ID: 2261 - Data: 0 + RECORD_6: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Record_7: - ID: 2262 - Data: 0 + RECORD_7: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Record_8: - ID: 2263 - Data: 0 + RECORD_8: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Record_9: - ID: 2264 - Data: 0 + RECORD_9: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Record_10: - ID: 2265 - Data: 0 + RECORD_10: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Record_11: - ID: 2266 - Data: 0 + RECORD_11: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Record_12: - ID: 2267 - Data: 0 + RECORD_12: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Ghast_Tear: - ID: 370 - Data: 0 + GHAST_TEAR: Amount: 1 XP: 200 Drop_Chance: 35.0 Drop_Level: 600 Max_Level: -1 - Drops_From: - Fishing: true - Diamonds: - ID: 264 - Data: 0 + DIAMOND: Amount: 5 XP: 200 Drop_Chance: 40.0 Drop_Level: 800 Max_Level: -1 - Drops_From: - Fishing: true - Iron_Ingots: - ID: 265 - Data: 0 + IRON_INGOT: Amount: 5 XP: 200 Drop_Chance: 40.0 Drop_Level: 800 Max_Level: -1 - Drops_From: - Fishing: true - Gold_Ingots: - ID: 266 - Data: 0 + GOLD_INGOT: Amount: 5 XP: 200 Drop_Chance: 40.0 Drop_Level: 800 Max_Level: -1 - Drops_From: - Fishing: true - Lapis_Lazuli: - ID: 351 - Data: 4 + INK_SACK: + Dye_Color: BLUE Amount: 20 XP: 200 Drop_Chance: 40.0 Drop_Level: 800 Max_Level: -1 - Drops_From: - Fishing: true - Melon_Seeds: - ID: 362 - Data: 0 +# +# Settings for Excavation +### +Excavation: + CAKE: Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Bushes: true - Pumpkin_Seeds: - ID: 361 - Data: 0 + XP: 3000 + Drop_Chance: 0.05 + Drop_Level: 750 + Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand] + SULPHUR: Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Bushes: true - Cocoa: - ID: 351 - Data: 3 + XP: 30 + Drop_Chance: 10.0 + Drop_Level: 75 + Drops_From: [Gravel] + BONE: Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Bushes: true - Carrot: - ID: 391 - Data: 0 + XP: 30 + Drop_Chance: 10.0 + Drop_Level: 175 + Drops_From: [Gravel] + APPLE: Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Flowers: true - Potato: - ID: 392 - Data: 0 + XP: 100 + Drop_Chance: 0.1 + Drop_Level: 250 + Drops_From: [Grass, Mycelium] + SLIME_BALL: Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Flowers: true - Apples: - ID: 260 - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Flowers: true - Emeralds: - ID: 388 - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Pots: true - Diamond_Gem: - ID: 264 - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Pots: true - Gold_Nuggets: - ID: 371 - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Pots: true - Blaze_Blaze_Rod: - ID: 369 - Mob: BLAZE - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Shake: true - Cave_Spider_Spider_Eye: - ID: 375 - Mob: CAVE_SPIDER - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 49.0 - Drop_Level: 0 - Drops_From: - Shake: true - Cave_Spider_String: - ID: 287 - Mob: CAVE_SPIDER - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 49.0 - Drop_Level: 0 - Drops_From: - Shake: true - Cave_Spider_Cobweb: - ID: 30 - Mob: CAVE_SPIDER - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 1.0 - Drop_Level: 0 - Drops_From: - Shake: true - Cave_Spider_Potion: - ID: 373 - Mob: CAVE_SPIDER - Potion_Type: POISON - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 1.0 - Drop_Level: 0 - Drops_From: - Shake: true - Spider_Spider_Eye: - ID: 375 - Mob: SPIDER - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 50.0 - Drop_Level: 0 - Drops_From: - Shake: true - Spider_String: - ID: 287 - Mob: SPIDER - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 50.0 - Drop_Level: 0 - Drops_From: - Shake: true - Chicken_Feather: - ID: 288 - Mob: CHICKEN - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 33.3 - Drop_Level: 0 - Drops_From: - Shake: true - Chicken_Raw_Chicken: - ID: 365 - Mob: CHICKEN - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 33.3 - Drop_Level: 0 - Drops_From: - Shake: true - Chicken_Egg: - ID: 344 - Mob: CHICKEN - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 33.3 - Drop_Level: 0 - Drops_From: - Shake: true - Cow_Milk_Bucket: - ID: 335 - Mob: COW - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 2.0 - Drop_Level: 0 - Drops_From: - Shake: true - Cow_Leather: - ID: 334 - Mob: COW - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 49.0 - Drop_Level: 0 - Drops_From: - Shake: true - Cow_Raw_Beef: - ID: 363 - Mob: COW - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 49.0 - Drop_Level: 0 - Drops_From: - Shake: true - Creeper_Skull: - ID: 397 - Mob: CREEPER - Data: 4 - Amount: 1 - XP: 0 - Drop_Chance: 1.0 - Drop_Level: 0 - Drops_From: - Shake: true - Creeper_Sulphur: - ID: 289 - Mob: CREEPER - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 99.0 - Drop_Level: 0 - Drops_From: - Shake: true - Enderman_Ender_Pearl: - ID: 368 - Mob: ENDERMAN - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Shake: true - Ghast_Sulphur: - ID: 289 - Mob: GHAST - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 50.0 - Drop_Level: 0 - Drops_From: - Shake: true - Ghast_Ghast_Tear: - ID: 370 - Mob: GHAST - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 50.0 - Drop_Level: 0 - Drops_From: - Shake: true - Iron_Golem_Pumpkin: - ID: 86 - Mob: IRON_GOLEM - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 3.0 - Drop_Level: 0 - Drops_From: - Shake: true - Iron_Golem_Iron_Ingot: - ID: 265 - Mob: IRON_GOLEM - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 12.0 - Drop_Level: 0 - Drops_From: - Shake: true - Iron_Golem_Red_Rose: - ID: 38 - Mob: IRON_GOLEM - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 85.0 - Drop_Level: 0 - Drops_From: - Shake: true - Magma_Cube_Magma_Cream: - ID: 378 - Mob: MAGMA_CUBE - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Shake: true - Mushroom_Cow_Milk_Bucket: - ID: 335 - Mob: MUSHROOM_COW - Data: 0 - Amount: 1 - XP: 0 + XP: 100 Drop_Chance: 5.0 - Drop_Level: 0 - Drops_From: - Shake: true - Mushroom_Cow_Mushroom_Soup: - ID: 282 - Mob: MUSHROOM_COW - Data: 0 + Drop_Level: 150 + Drops_From: [Clay] + BUCKET: Amount: 1 - XP: 0 + XP: 100 + Drop_Chance: 0.1 + Drop_Level: 500 + Drops_From: [Clay] + NETHERRACK: + Amount: 1 + XP: 30 + Drop_Chance: 0.5 + Drop_Level: 850 + Drops_From: [Gravel] + RED_MUSHROOM: + Amount: 1 + XP: 80 + Drop_Chance: 0.5 + Drop_Level: 500 + Drops_From: [Dirt, Grass, Mycelium] + BROWN_MUSHROOM: + Amount: 1 + XP: 80 + Drop_Chance: 0.5 + Drop_Level: 500 + Drops_From: [Dirt, Grass, Mycelium] + EGG: + Amount: 1 + XP: 100 + Drop_Chance: 1.0 + Drop_Level: 250 + Drops_From: [Grass] + SOUL_SAND: + Amount: 1 + XP: 80 + Drop_Chance: 0.5 + Drop_Level: 650 + Drops_From: [Sand] + CLOCK: + Amount: 1 + XP: 100 + Drop_Chance: 0.1 + Drop_Level: 500 + Drops_From: [Clay] + WEB: + Amount: 1 + XP: 150 Drop_Chance: 5.0 - Drop_Level: 0 - Drops_From: - Shake: true - Mushroom_Cow_Leather: - ID: 334 - Mob: MUSHROOM_COW - Data: 0 + Drop_Level: 750 + Drops_From: [Clay] + STRING: Amount: 1 - XP: 0 - Drop_Chance: 30.0 - Drop_Level: 0 - Drops_From: - Shake: true - Mushroom_Cow_Raw_Beef: - ID: 363 - Mob: MUSHROOM_COW - Data: 0 + XP: 200 + Drop_Chance: 5.0 + Drop_Level: 250 + Drops_From: [Clay] + GLOWSTONE_DUST: Amount: 1 - XP: 0 - Drop_Chance: 30.0 - Drop_Level: 0 - Drops_From: - Shake: true - Mushroom_Cow_Red_Mushroom: - ID: 40 - Mob: MUSHROOM_COW - Data: 0 - Amount: 2 - XP: 0 - Drop_Chance: 30.0 - Drop_Level: 0 - Drops_From: - Shake: true - Pig_Pork: - ID: 319 - Mob: PIG - Data: 0 + XP: 80 + Drop_Chance: 5.0 + Drop_Level: 25 + Drops_From: [Dirt, Grass, Sand, Mycelium] + GOLD_RECORD: + Amount: 1 + XP: 3000 + Drop_Chance: 0.05 + Drop_Level: 250 + Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand] + GREEN_RECORD: + Amount: 1 + XP: 3000 + Drop_Chance: 0.05 + Drop_Level: 250 + Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand] + DIAMOND: + Amount: 1 + XP: 1000 + Drop_Chance: 0.13 + Drop_Level: 350 + Drops_From: [Dirt, Grass, Sand, Gravel, Clay, Mycelium, Soul_Sand] + INK_SACK: + Dye_Color: BROWN + Amount: 1 + XP: 100 + Drop_Chance: 1.33 + Drop_Level: 350 + Drops_From: [Dirt, Grass, Mycelium] +# +# Settings for Hylian Luck +### +Hylian_Luck: + MELON_SEEDS: Amount: 1 XP: 0 Drop_Chance: 100.0 Drop_Level: 0 - Drops_From: - Shake: true - Pig_Zombie_Rotten_Flesh: - ID: 367 - Mob: PIG_ZOMBIE - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 50.0 - Drop_Level: 0 - Drops_From: - Shake: true - Pig_Zombie_Gold_Nugget: - ID: 371 - Mob: PIG_ZOMBIE - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 50.0 - Drop_Level: 0 - Drops_From: - Shake: true - Sheep_Wool: - ID: 35 - Mob: SHEEP - Data: 0 - Amount: 3 - XP: 0 - Drop_Chance: 100.0 - Drop_Level: 0 - Drops_From: - Shake: true - Skeleton_Skull: - ID: 397 - Mob: SKELETON - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 2.0 - Drop_Level: 0 - Drops_From: - Shake: true - Skeleton_Bone: - ID: 352 - Mob: SKELETON - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 49.0 - Drop_Level: 0 - Drops_From: - Shake: true - Skeleton_Arrow: - ID: 262 - Mob: SKELETON - Data: 0 - Amount: 2 - XP: 0 - Drop_Chance: 49.0 - Drop_Level: 0 - Drops_From: - Shake: true - Slime_Slime_Ball: - ID: 341 - Mob: SLIME - Data: 0 + Drops_From: [Bushes] + PUMPKIN_SEEDS: Amount: 1 XP: 0 Drop_Chance: 100.0 Drop_Level: 0 - Drops_From: - Shake: true - Snowman_Pumpkin: - ID: 86 - Mob: SNOWMAN - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 3.0 - Drop_Level: 0 - Drops_From: - Shake: true - Snowman_Snowball: - ID: 341 - Mob: SNOWMAN - Data: 0 - Amount: 2 - XP: 0 - Drop_Chance: 97.0 - Drop_Level: 0 - Drops_From: - Shake: true - Squid_Ink_Sack: - ID: 351 - Mob: SQUID - Data: 0 + Drops_From: [Bushes] + INK_SACK: + Dye_Color: BROWN Amount: 1 XP: 0 Drop_Chance: 100.0 Drop_Level: 0 - Drops_From: - Shake: true - Witch_Heal_Potion: - ID: 373 - Mob: WITCH - Potion_Type: INSTANT_HEAL - Data: 0 + Drops_From: [Bushes] + CARROT_ITEM: Amount: 1 XP: 0 - Drop_Chance: 1.0 + Drop_Chance: 100.0 Drop_Level: 0 - Drops_From: - Shake: true - Witch_Fire_Potion: - ID: 373 - Mob: WITCH - Potion_Type: FIRE_RESISTANCE - Data: 0 + Drops_From: [Flowers] + POTATO_ITEM: Amount: 1 XP: 0 - Drop_Chance: 1.0 + Drop_Chance: 100.0 Drop_Level: 0 - Drops_From: - Shake: true - Witch_Speed_Potion: - ID: 373 - Mob: WITCH - Potion_Type: SPEED - Data: 0 + Drops_From: [Flowers] + APPLE: + Drop_Chance: 100.0 + Drop_Level: 0 + Drops_From: [Flowers] + EMERALD: Amount: 1 XP: 0 - Drop_Chance: 1.0 + Drop_Chance: 100.0 Drop_Level: 0 - Drops_From: - Shake: true - Witch_Glass_Bottle: - ID: 374 - Mob: WITCH - Data: 0 + Drops_From: [Pots] + DIAMOND: Amount: 1 XP: 0 - Drop_Chance: 9.0 + Drop_Chance: 100.0 Drop_Level: 0 - Drops_From: - Shake: true - Witch_Glowstone_Dust: - ID: 348 - Mob: WITCH - Data: 0 + Drops_From: [Pots] + GOLD_NUGGET: Amount: 1 XP: 0 - Drop_Chance: 13.0 + Drop_Chance: 100.0 Drop_Level: 0 - Drops_From: - Shake: true - Witch_Sulphur: - ID: 289 - Mob: WITCH - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 12.0 - Drop_Level: 0 - Drops_From: - Shake: true - Witch_Redstone: - ID: 331 - Mob: WITCH - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 13.0 - Drop_Level: 0 - Drops_From: - Shake: true - Witch_Spider_Eye: - ID: 375 - Mob: WITCH - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 12.0 - Drop_Level: 0 - Drops_From: - Shake: true - Witch_Stick: - ID: 380 - Mob: WITCH - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 13.0 - Drop_Level: 0 - Drops_From: - Shake: true - Witch_Sugar: - ID: 353 - Mob: WITCH - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 12.0 - Drop_Level: 0 - Drops_From: - Shake: true - Witch_Potion: - ID: 373 - Mob: WITCH - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 13.0 - Drop_Level: 0 - Drops_From: - Shake: true - Zombie_Skull: - ID: 397 - Mob: ZOMBIE - Data: 2 - Amount: 1 - XP: 0 - Drop_Chance: 2.0 - Drop_Level: 0 - Drops_From: - Shake: true - Zombie_Rotten_Flesh: - ID: 367 - Mob: ZOMBIE - Data: 0 - Amount: 1 - XP: 0 - Drop_Chance: 98.0 - Drop_Level: 0 - Drops_From: - Shake: true \ No newline at end of file + Drops_From: [Pots] +# +# Settings for Shake +### +Shake: + BLAZE: + BLAZE_ROD: + Amount: 1 + XP: 0 + Drop_Chance: 100.0 + Drop_Level: 0 + CAVE_SPIDER: + SPIDER_EYE: + Amount: 1 + XP: 0 + Drop_Chance: 49.0 + Drop_Level: 0 + STRING: + Amount: 1 + XP: 0 + Drop_Chance: 49.0 + Drop_Level: 0 + WEB: + Amount: 1 + XP: 0 + Drop_Chance: 1.0 + Drop_Level: 0 + POTION_POISON: + Amount: 1 + XP: 0 + Drop_Chance: 1.0 + Drop_Level: 0 + CHICKEN: + FEATHER: + Amount: 1 + XP: 0 + Drop_Chance: 33.3 + Drop_Level: 0 + RAW_CHICKEN: + Amount: 1 + XP: 0 + Drop_Chance: 33.3 + Drop_Level: 0 + EGG: + Amount: 1 + XP: 0 + Drop_Chance: 33.3 + Drop_Level: 0 + COW: + MILK_BUCKET: + Amount: 1 + XP: 0 + Drop_Chance: 2.0 + Drop_Level: 0 + LEATHER: + Amount: 1 + XP: 0 + Drop_Chance: 49.0 + Drop_Level: 0 + RAW_BEEF: + Amount: 1 + XP: 0 + Drop_Chance: 49.0 + Drop_Level: 0 + CREEPER: + SKULL: + Data: 4 + Amount: 1 + XP: 0 + Drop_Chance: 1.0 + Drop_Level: 0 + SULPHUR: + Amount: 1 + XP: 0 + Drop_Chance: 99.0 + Drop_Level: 0 + ENDERMAN: + ENDER_PEARL: + Amount: 1 + XP: 0 + Drop_Chance: 100.0 + Drop_Level: 0 + GHAST: + SULPHUR: + Amount: 1 + XP: 0 + Drop_Chance: 50.0 + Drop_Level: 0 + GHAST_TEAR: + Amount: 1 + XP: 0 + Drop_Chance: 50.0 + Drop_Level: 0 + HORSE: + LEATHER: + Amount: 1 + XP: 0 + Drop_Chance: 99.0 + Drop_Level: 0 + SADDLE: + Amount: 1 + XP: 0 + Drop_Chance: 1.0 + Drop_Level: 0 + IRON_GOLEM: + PUMPKIN: + Amount: 1 + XP: 0 + Drop_Chance: 3.0 + Drop_Level: 0 + IRON_INGOT: + Amount: 1 + XP: 0 + Drop_Chance: 12.0 + Drop_Level: 0 + RED_ROSE: + Amount: 1 + XP: 0 + Drop_Chance: 85.0 + Drop_Level: 0 + MAGMA_CUBE: + MAGMA_CREAM: + Amount: 1 + XP: 0 + Drop_Chance: 100.0 + Drop_Level: 0 + MUSHROOM_COW: + MILK_BUCKET: + Amount: 1 + XP: 0 + Drop_Chance: 5.0 + Drop_Level: 0 + MUSHROOM_SOUP: + Amount: 1 + XP: 0 + Drop_Chance: 5.0 + Drop_Level: 0 + LEATHER: + Amount: 1 + XP: 0 + Drop_Chance: 30.0 + Drop_Level: 0 + RAW_BEEF: + Amount: 1 + XP: 0 + Drop_Chance: 30.0 + Drop_Level: 0 + RED_MUSHROOM: + Amount: 2 + XP: 0 + Drop_Chance: 30.0 + Drop_Level: 0 + PIG: + PORK: + Amount: 1 + XP: 0 + Drop_Chance: 100.0 + Drop_Level: 0 + PIG_ZOMBIE: + ROTTEN_FLESH: + Amount: 1 + XP: 0 + Drop_Chance: 50.0 + Drop_Level: 0 + GOLD_NUGGET: + Amount: 1 + XP: 0 + Drop_Chance: 50.0 + Drop_Level: 0 + SHEEP: + WOOL: + Amount: 3 + XP: 0 + Drop_Chance: 100.0 + Drop_Level: 0 + SKELETON: + SKULL: + Amount: 1 + XP: 0 + Drop_Chance: 2.0 + Drop_Level: 0 + BONE: + Amount: 1 + XP: 0 + Drop_Chance: 49.0 + Drop_Level: 0 + ARROW: + Amount: 2 + XP: 0 + Drop_Chance: 49.0 + Drop_Level: 0 + SLIME: + SLIME_BALL: + Amount: 1 + XP: 0 + Drop_Chance: 100.0 + Drop_Level: 0 + SPIDER: + SPIDER_EYE: + Amount: 1 + XP: 0 + Drop_Chance: 50.0 + Drop_Level: 0 + STRING: + Amount: 1 + XP: 0 + Drop_Chance: 50.0 + Drop_Level: 0 + SNOWMAN: + PUMPKIN: + Amount: 1 + XP: 0 + Drop_Chance: 3.0 + Drop_Level: 0 + SNOWBALL: + Amount: 2 + XP: 0 + Drop_Chance: 97.0 + Drop_Level: 0 + SQUID: + INK_SACK: + Amount: 1 + XP: 0 + Drop_Chance: 100.0 + Drop_Level: 0 + WITCH: + POTION_INSTANT_HEAL: + Amount: 1 + XP: 0 + Drop_Chance: 1.0 + Drop_Level: 0 + POTION_FIRE_RESISTANCE: + Amount: 1 + XP: 0 + Drop_Chance: 1.0 + Drop_Level: 0 + POTION_SPEED: + Amount: 1 + XP: 0 + Drop_Chance: 1.0 + Drop_Level: 0 + GLASS_BOTTLE: + Amount: 1 + XP: 0 + Drop_Chance: 7.0 + Drop_Level: 0 + GLOWSTONE_DUST: + Amount: 1 + XP: 0 + Drop_Chance: 15.0 + Drop_Level: 0 + SULPHUR: + Amount: 1 + XP: 0 + Drop_Chance: 15.0 + Drop_Level: 0 + REDSTONE: + Amount: 1 + XP: 0 + Drop_Chance: 15.0 + Drop_Level: 0 + SPIDER_EYE: + Amount: 1 + XP: 0 + Drop_Chance: 15.0 + Drop_Level: 0 + STICK: + Amount: 1 + XP: 0 + Drop_Chance: 15.0 + Drop_Level: 0 + SUGAR: + Amount: 1 + XP: 0 + Drop_Chance: 15.0 + Drop_Level: 0 + ZOMBIE: + SKULL: + D\ata: 2 + Amount: 1 + XP: 0 + Drop_Chance: 2.0 + Drop_Level: 0 + ROTTEN_FLESH: + Amount: 1 + XP: 0 + Drop_Chance: 98.0 + Drop_Level: 0 \ No newline at end of file