Change how we do custom drops

Beginnings of fishing drops
This commit is contained in:
NuclearW 2012-02-20 17:10:37 -05:00
parent 1943ce884a
commit ad2ed37d0a
6 changed files with 323 additions and 227 deletions

View File

@ -20,28 +20,33 @@ import com.gmail.nossr50.mcMMO;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.inventory.ItemStack;
import com.gmail.nossr50.datatypes.HUDType; import com.gmail.nossr50.datatypes.HUDType;
import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure;
import com.gmail.nossr50.datatypes.treasure.FishingTreasure;
import com.gmail.nossr50.datatypes.treasure.Treasure;
public class LoadProperties { public class LoadProperties {
public static Boolean enableOnlyActivateWhenSneaking, public static Boolean enableOnlyActivateWhenSneaking,
enableAbilityMessages, enableAbilities, showDisplayName, showFaces, enableAbilityMessages, enableAbilities, showDisplayName, showFaces,
watch, xplockEnable, xpbar, xpicon, partybar, string, bucket, web, xplockEnable, xpbar, xpicon, partybar, xprateEnable, spoutEnabled,
xprateEnable, slimeballs, spoutEnabled, donateMessage, donateMessage, chimaeraWingEnable, xpGainsMobSpawners, myspawnEnable,
chimaeraWingEnable, xpGainsMobSpawners, myspawnEnable, mccEnable, mccEnable, mcmmoEnable, partyEnable, inviteEnable, acceptEnable,
mcmmoEnable, partyEnable, inviteEnable, acceptEnable, whoisEnable, whoisEnable, statsEnable, addxpEnable, ptpEnable, mmoeditEnable,
statsEnable, addxpEnable, ptpEnable, mmoeditEnable,
clearmyspawnEnable, mcgodEnable, mcabilityEnable, mctopEnable, clearmyspawnEnable, mcgodEnable, mcabilityEnable, mctopEnable,
mcrefreshEnable, aEnable, pEnable, enableMotd, enableMySpawn, mcrefreshEnable, aEnable, pEnable, enableMotd, enableMySpawn,
enableCobbleToMossy, useMySQL, cocoabeans, mushrooms, enableCobbleToMossy, useMySQL, toolsLoseDurabilityFromAbilities,
toolsLoseDurabilityFromAbilities, pvpxp, miningrequirespickaxe, pvpxp, miningrequirespickaxe, excavationRequiresShovel,
excavationRequiresShovel, woodcuttingrequiresaxe, eggs, apples, woodcuttingrequiresaxe, anvilmessages, mayDowngradeEnchants,
cake, music, diamond, glowstone, slowsand, sulphur, netherrack,
bones, coal, clay, anvilmessages, mayDowngradeEnchants,
mayLoseEnchants, fishingDrops, leatherArmor, ironArmor, goldArmor, mayLoseEnchants, fishingDrops, leatherArmor, ironArmor, goldArmor,
diamondArmor, woodenTools, stoneTools, ironTools, goldTools, diamondArmor, woodenTools, stoneTools, ironTools, goldTools,
diamondTools, enderPearl, blazeRod, records, glowstoneDust, diamondTools, enderPearl, blazeRod, records, glowstoneDust,
@ -89,21 +94,14 @@ public class LoadProperties {
sorceryxpmodifier, unarmedxpmodifier, herbalismxpmodifier, sorceryxpmodifier, unarmedxpmodifier, herbalismxpmodifier,
excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier,
axesxpmodifier, acrobaticsxpmodifier; axesxpmodifier, acrobaticsxpmodifier;
public static List<String> excavationTreasures = new ArrayList<String>(); public static List<ExcavationTreasure> excavationFromDirt = new ArrayList<ExcavationTreasure>();
public static List<Integer> excavationIDs = new ArrayList<Integer>(); public static List<ExcavationTreasure> excavationFromGrass = new ArrayList<ExcavationTreasure>();
public static List<Integer> excavationDatas = new ArrayList<Integer>(); public static List<ExcavationTreasure> excavationFromSand = new ArrayList<ExcavationTreasure>();
public static List<Integer> excavationAmounts = new ArrayList<Integer>(); public static List<ExcavationTreasure> excavationFromGravel = new ArrayList<ExcavationTreasure>();
public static List<Integer> excavationXPs = new ArrayList<Integer>(); public static List<ExcavationTreasure> excavationFromClay = new ArrayList<ExcavationTreasure>();
public static List<Double> excavationDropChances = new ArrayList<Double>(); public static List<ExcavationTreasure> excavationFromMycel = new ArrayList<ExcavationTreasure>();
public static List<Integer> excavationDropLevels = new ArrayList<Integer>(); public static List<ExcavationTreasure> excavationFromSoulSand = new ArrayList<ExcavationTreasure>();
public static List<Boolean> excavationFromDirt = new ArrayList<Boolean>();
public static List<Boolean> excavationFromGrass = new ArrayList<Boolean>();
public static List<Boolean> excavationFromSand = new ArrayList<Boolean>();
public static List<Boolean> excavationFromGravel = new ArrayList<Boolean>();
public static List<Boolean> excavationFromClay = new ArrayList<Boolean>();
public static List<Boolean> excavationFromMycel = new ArrayList<Boolean>();
public static List<Boolean> excavationFromSoulSand = new ArrayList<Boolean>();
public static HUDType defaulthud; public static HUDType defaulthud;
protected static File configFile; protected static File configFile;
@ -394,24 +392,6 @@ public class LoadProperties {
keepEnchantsRank3 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_3", 30); keepEnchantsRank3 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_3", 30);
keepEnchantsRank4 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_4", 40); keepEnchantsRank4 = readInteger("Arcane_Forging.Keep_Enchants.Chance.Rank_4", 40);
cocoabeans = readBoolean("Excavation.Drops.Cocoa_Beans", true);
mushrooms = readBoolean("Excavation.Drops.Mushrooms", true);
glowstone = readBoolean("Excavation.Drops.Glowstone", true);
eggs = readBoolean("Excavation.Drops.Eggs", true);
apples = readBoolean("Excavation.Drops.Apples", true);
cake = readBoolean("Excavation.Drops.Cake", true);
music = readBoolean("Excavation.Drops.Music", true);
diamond = readBoolean("Excavation.Drops.Diamond", true);
slowsand = readBoolean("Excavation.Drops.Slowsand", true);
sulphur = readBoolean("Excavation.Drops.Sulphur", true);
netherrack = readBoolean("Excavation.Drops.Netherrack", true);
bones = readBoolean("Excavation.Drops.Bones", true);
slimeballs = readBoolean("Excavation.Drops.Slimeballs", true);
watch = readBoolean("Excavation.Drops.Watch", true);
string = readBoolean("Excavation.Drops.String", true);
bucket = readBoolean("Excavation.Drops.Bucket", true);
web = readBoolean("Excavation.Drops.Web", true);
fishingDrops = readBoolean("Fishing.Drops.Item_Drops_Enabled", true); fishingDrops = readBoolean("Fishing.Drops.Item_Drops_Enabled", true);
fishingDropChanceTier1 = readInteger("Fishing.Drops.Drop_Chance.Tier_1", 20); fishingDropChanceTier1 = readInteger("Fishing.Drops.Drop_Chance.Tier_1", 20);
fishingDropChanceTier2 = readInteger("Fishing.Drops.Drop_Chance.Tier_2", 25); fishingDropChanceTier2 = readInteger("Fishing.Drops.Drop_Chance.Tier_2", 25);
@ -457,25 +437,77 @@ public class LoadProperties {
aDisplayNames = readBoolean("Commands.a.Display_Names", true); aDisplayNames = readBoolean("Commands.a.Display_Names", true);
pDisplayNames = readBoolean("Commands.p.Display_Names", true); pDisplayNames = readBoolean("Commands.p.Display_Names", true);
//Custom Excavation Drops // Load treasures
excavationTreasures = config.getStringList("Excavation.Treasure"); Map<String, Treasure> treasures = new HashMap<String, Treasure>();
Iterator<String> iterator = excavationTreasures.iterator();
ConfigurationSection treasureSection = config.getConfigurationSection("Treasures");
Set<String> treasureConfigSet = treasureSection.getKeys(false);
Iterator<String> iterator = treasureConfigSet.iterator();
while(iterator.hasNext()) while(iterator.hasNext())
{ {
String temp2 = iterator.next(); String treasureName = iterator.next();
excavationIDs.add(config.getInt("Treasures." + temp2 + ".ID"));
excavationDatas.add(config.getInt("Treasures." + temp2 + ".Data")); int id = config.getInt("Treasures." + treasureName + ".ID");
excavationXPs.add(config.getInt("Treasures." + temp2 + ".XP")); int amount = config.getInt("Treasures." + treasureName + ".Amount");
excavationAmounts.add(config.getInt("Treasures." + temp2 + ".Amount")); int data = config.getInt("Treasures." + treasureName + ".Data");
excavationDropChances.add(config.getDouble("Treasures." + temp2 + ".Drop_Chance"));
excavationDropLevels.add(config.getInt("Treasures." + temp2 + ".Drop_Level")); int xp = config.getInt("Treasures." + treasureName + ".XP");
excavationFromDirt.add(config.getBoolean("Treasures." + temp2 + ".Drops_From.Dirt")); Double dropChance = config.getDouble("Treasures." + treasureName + ".Drop_Chance");
excavationFromGrass.add(config.getBoolean("Treasures." + temp2 + ".Drops_From.Grass")); int dropLevel = config.getInt("Treasures." + treasureName + ".Drop_Level");
excavationFromSand.add(config.getBoolean("Treasures." + temp2 + ".Drops_From.Sand"));
excavationFromGravel.add(config.getBoolean("Treasures." + temp2 + ".Drops_From.Gravel")); ItemStack item = new ItemStack(id, amount, (byte) 0, (byte) data);
excavationFromClay.add(config.getBoolean("Treasures." + temp2 + ".Drops_From.Clay"));
excavationFromMycel.add(config.getBoolean("Treasures." + temp2 + ".Drops_From.Mycelium")); if(readBoolean("Treasures." + treasureName + ".Drops_From.Fishing", false)) {
excavationFromSoulSand.add(config.getBoolean("Treasures." + temp2 + ".Drops_From.Soul_Sand")); // TODO: Fishing
} else {
ExcavationTreasure eTreasure = new ExcavationTreasure(item, xp, dropChance, dropLevel);
if(readBoolean("Treasures." + treasureName + ".Drops_From.Dirt", false))
eTreasure.setDropsFromDirt();
if(readBoolean("Treasures." + treasureName + ".Drops_From.Grass", false))
eTreasure.setDropsFromGrass();
if(readBoolean("Treasures." + treasureName + ".Drops_From.Sand", false))
eTreasure.setDropsFromSand();
if(readBoolean("Treasures." + treasureName + ".Drops_From.Gravel", false))
eTreasure.setDropsFromGravel();
if(readBoolean("Treasures." + treasureName + ".Drops_From.Clay", false))
eTreasure.setDropsFromClay();
if(readBoolean("Treasures." + treasureName + ".Drops_From.Mycelium", false))
eTreasure.setDropsFromMycel();
if(readBoolean("Treasures." + treasureName + ".Drops_From.Soul_Sand", false))
eTreasure.setDropsFromSoulSand();
treasures.put(treasureName, eTreasure);
}
}
List<String> excavationTreasures = config.getStringList("Excavation.Treasure");
Iterator<String> treasureIterator = treasures.keySet().iterator();
while(treasureIterator.hasNext()) {
String treasureKey = treasureIterator.next();
Treasure treasure = treasures.get(treasureKey);
if(treasure instanceof FishingTreasure) {
// TODO: Fishing
} else if(treasure instanceof ExcavationTreasure) {
if(!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);
}
} }
} }
} }

View File

@ -0,0 +1,127 @@
package com.gmail.nossr50.datatypes.treasure;
import org.bukkit.inventory.ItemStack;
public class ExcavationTreasure extends Treasure {
// dirt grass sand gravel clay mycel soulsand
// 00000001 - dirt 1
// 00000010 - grass 2
// 00000100 - sand 4
// 00001000 - gravel 8
// 00010000 - clay 16
// 00100000 - mycel 32
// 01000000 - soulsand 64
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);
}
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);
}
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);
}
private void unsetDropFromMask(int mask) {
dropsFrom &= ~mask;
}
}

View File

@ -0,0 +1,12 @@
package com.gmail.nossr50.datatypes.treasure;
import org.bukkit.inventory.ItemStack;
public class FishingTreasure extends Treasure {
public FishingTreasure(ItemStack drop, int xp, Double dropChance, int dropLevel) {
super(drop, xp, dropChance, dropLevel);
// TODO Auto-generated constructor stub
}
}

View File

@ -0,0 +1,50 @@
package com.gmail.nossr50.datatypes.treasure;
import org.bukkit.inventory.ItemStack;
public abstract class Treasure {
private int xp;
private Double dropChance;
private int dropLevel;
private ItemStack drop;
public Treasure(ItemStack drop, int xp, Double dropChance, int dropLevel) {
this.drop = drop;
this.xp = xp;
this.dropChance = dropChance;
this.dropLevel = dropLevel;
}
public ItemStack getDrop() {
return drop;
}
public void setDrop(ItemStack drop) {
this.drop = drop;
}
public int getXp() {
return xp;
}
public void setXp(int xp) {
this.xp = xp;
}
public Double getDropChance() {
return dropChance;
}
public void setDropChance(Double dropChance) {
this.dropChance = dropChance;
}
public int getDropLevel() {
return dropLevel;
}
public void setDropLevel(int dropLevel) {
this.dropLevel = dropLevel;
}
}

View File

@ -17,7 +17,6 @@
package com.gmail.nossr50.skills; package com.gmail.nossr50.skills;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
@ -36,6 +35,8 @@ import com.gmail.nossr50.config.LoadProperties;
import com.gmail.nossr50.datatypes.AbilityType; import com.gmail.nossr50.datatypes.AbilityType;
import com.gmail.nossr50.datatypes.PlayerProfile; import com.gmail.nossr50.datatypes.PlayerProfile;
import com.gmail.nossr50.datatypes.SkillType; import com.gmail.nossr50.datatypes.SkillType;
import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure;
import org.getspout.spoutapi.sound.SoundEffect; import org.getspout.spoutapi.sound.SoundEffect;
public class Excavation public class Excavation
@ -90,132 +91,96 @@ public class Excavation
int skillLevel = PP.getSkillLevel(SkillType.EXCAVATION); int skillLevel = PP.getSkillLevel(SkillType.EXCAVATION);
ArrayList<ItemStack> is = new ArrayList<ItemStack>(); ArrayList<ItemStack> is = new ArrayList<ItemStack>();
int xp = 0; int xp = 0;
//Custom Excavation Drops
List<Integer> idValues = LoadProperties.excavationIDs;
List<Integer> dataValues = LoadProperties.excavationDatas;
List<Integer> xpValues = LoadProperties.excavationXPs;
List<Integer> amounts = LoadProperties.excavationAmounts;
List<Double> dropChances = LoadProperties.excavationDropChances;
List<Integer> dropLevels = LoadProperties.excavationDropLevels;
List<Boolean> dirt = LoadProperties.excavationFromDirt;
List<Boolean> grass = LoadProperties.excavationFromGrass;
List<Boolean> sand = LoadProperties.excavationFromSand;
List<Boolean> gravel = LoadProperties.excavationFromGravel;
List<Boolean> clay = LoadProperties.excavationFromClay;
List<Boolean> mycel = LoadProperties.excavationFromMycel;
List<Boolean> soulSand = LoadProperties.excavationFromSoulSand;
switch(type) switch(type)
{ {
case DIRT: case DIRT:
for(int i = 0; i < dirt.size(); i++) for(ExcavationTreasure treasure : LoadProperties.excavationFromDirt)
{ {
if(dirt.get(i)) if(skillLevel >= treasure.getDropLevel())
{ {
if(skillLevel >= dropLevels.get(i)) if(Math.random() * 100 > (100.00 - treasure.getDropChance()))
{ {
if(Math.random() * 100 > (100.00 - dropChances.get(i))) xp += treasure.getXp();
{ is.add(treasure.getDrop());
xp += xpValues.get(i);
is.add(new ItemStack(idValues.get(i), amounts.get(i), (byte)0, dataValues.get(i).byteValue()));
}
} }
} }
} }
break; break;
case GRASS: case GRASS:
for(int i = 0; i < grass.size(); i++) for(ExcavationTreasure treasure : LoadProperties.excavationFromGrass)
{ {
if(grass.get(i)) if(skillLevel >= treasure.getDropLevel())
{ {
if(skillLevel >= dropLevels.get(i)) if(Math.random() * 100 > (100.00 - treasure.getDropChance()))
{ {
if(Math.random() * 100 > (100.00 - dropChances.get(i))) xp += treasure.getXp();
{ is.add(treasure.getDrop());
xp += xpValues.get(i);
is.add(new ItemStack(idValues.get(i), amounts.get(i), (byte)0, dataValues.get(i).byteValue()));
}
} }
} }
} }
break; break;
case SAND: case SAND:
for(int i = 0; i < sand.size(); i++) for(ExcavationTreasure treasure : LoadProperties.excavationFromSand)
{ {
if(sand.get(i)) if(skillLevel >= treasure.getDropLevel())
{ {
if(skillLevel >= dropLevels.get(i)) if(Math.random() * 100 > (100.00 - treasure.getDropChance()))
{ {
if(Math.random() * 100 > (100.00 - dropChances.get(i))) xp += treasure.getXp();
{ is.add(treasure.getDrop());
xp += xpValues.get(i);
is.add(new ItemStack(idValues.get(i), amounts.get(i), (byte)0, dataValues.get(i).byteValue()));
}
} }
} }
} }
break; break;
case GRAVEL: case GRAVEL:
for(int i = 0; i < gravel.size(); i++) for(ExcavationTreasure treasure : LoadProperties.excavationFromGravel)
{ {
if(gravel.get(i)) if(skillLevel >= treasure.getDropLevel())
{ {
if(skillLevel >= dropLevels.get(i)) if(Math.random() * 100 > (100.00 - treasure.getDropChance()))
{ {
if(Math.random() * 100 > (100.00 - dropChances.get(i))) xp += treasure.getXp();
{ is.add(treasure.getDrop());
xp += xpValues.get(i);
is.add(new ItemStack(idValues.get(i), amounts.get(i), (byte)0, dataValues.get(i).byteValue()));
}
} }
} }
} }
break; break;
case CLAY: case CLAY:
for(int i = 0; i < clay.size(); i++) for(ExcavationTreasure treasure : LoadProperties.excavationFromClay)
{ {
if(clay.get(i)) if(skillLevel >= treasure.getDropLevel())
{ {
if(skillLevel >= dropLevels.get(i)) if(Math.random() * 100 > (100.00 - treasure.getDropChance()))
{ {
if(Math.random() * 100 > (100.00 - dropChances.get(i))) xp += treasure.getXp();
{ is.add(treasure.getDrop());
xp += xpValues.get(i);
is.add(new ItemStack(idValues.get(i), amounts.get(i), (byte)0, dataValues.get(i).byteValue()));
}
} }
} }
} }
break; break;
case MYCEL: case MYCEL:
for(int i = 0; i < mycel.size(); i++) for(ExcavationTreasure treasure : LoadProperties.excavationFromMycel)
{ {
if(mycel.get(i)) if(skillLevel >= treasure.getDropLevel())
{ {
if(skillLevel >= dropLevels.get(i)) if(Math.random() * 100 > (100.00 - treasure.getDropChance()))
{ {
if(Math.random() * 100 > (100.00 - dropChances.get(i))) xp += treasure.getXp();
{ is.add(treasure.getDrop());
xp += xpValues.get(i);
is.add(new ItemStack(idValues.get(i), amounts.get(i), (byte)0, dataValues.get(i).byteValue()));
}
} }
} }
} }
break; break;
case SOUL_SAND: case SOUL_SAND:
for(int i = 0; i < soulSand.size(); i++) for(ExcavationTreasure treasure : LoadProperties.excavationFromSoulSand)
{ {
if(soulSand.get(i)) if(skillLevel >= treasure.getDropLevel())
{ {
if(skillLevel >= dropLevels.get(i)) if(Math.random() * 100 > (100.00 - treasure.getDropChance()))
{ {
if(Math.random() * 100 > (100.00 - dropChances.get(i))) xp += treasure.getXp();
{ is.add(treasure.getDrop());
xp += xpValues.get(i);
is.add(new ItemStack(idValues.get(i), amounts.get(i), (byte)0, dataValues.get(i).byteValue()));
}
} }
} }
} }

View File

@ -259,24 +259,6 @@ Fishing:
# Settings for Excavation # Settings for Excavation
### ###
Excavation: Excavation:
Drops:
Cake: true
Sulphur: true
Bones: true
Apples: true
Slimeballs: true
Bucket: true
Netherrack: true
Mushrooms: true
Eggs: true
Slowsand: true
Watch: true
Web: true
String: true
Glowstone: true
Music: true
Diamond: true
Cocoa_Beans: true
Treasure: Treasure:
- Cake - Cake
- Gunpowder - Gunpowder
@ -297,7 +279,10 @@ Excavation:
- Green_Music - Green_Music
- Diamond - Diamond
- Cocoa_Beans - Cocoa_Beans
#
# Configuration to define Treasures
###
Treasures: Treasures:
Cake: Cake:
ID: 354 ID: 354
@ -322,13 +307,7 @@ Treasures:
Drop_Chance: 10.0 Drop_Chance: 10.0
Drop_Level: 75 Drop_Level: 75
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: false
Gravel: true Gravel: true
Clay: false
Mycelium: false
Soul_Sand: false
Bone: Bone:
ID: 352 ID: 352
Data: 0 Data: 0
@ -337,13 +316,7 @@ Treasures:
Drop_Chance: 10.0 Drop_Chance: 10.0
Drop_Level: 175 Drop_Level: 175
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: false
Gravel: true Gravel: true
Clay: false
Mycelium: false
Soul_Sand: false
Apple: Apple:
ID: 260 ID: 260
Data: 0 Data: 0
@ -352,13 +325,8 @@ Treasures:
Drop_Chance: 0.1 Drop_Chance: 0.1
Drop_Level: 250 Drop_Level: 250
Drops_From: Drops_From:
Dirt: false
Grass: true Grass: true
Sand: false
Gravel: false
Clay: false
Mycelium: true Mycelium: true
Soul_Sand: false
Slimeball: Slimeball:
ID: 341 ID: 341
Data: 0 Data: 0
@ -367,13 +335,7 @@ Treasures:
Drop_Chance: 5.0 Drop_Chance: 5.0
Drop_Level: 150 Drop_Level: 150
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: false
Gravel: false
Clay: true Clay: true
Mycelium: false
Soul_Sand: false
Bucket: Bucket:
ID: 325 ID: 325
Data: 0 Data: 0
@ -382,13 +344,7 @@ Treasures:
Drop_Chance: 0.1 Drop_Chance: 0.1
Drop_Level: 500 Drop_Level: 500
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: false
Gravel: false
Clay: true Clay: true
Mycelium: false
Soul_Sand: false
Netherrack: Netherrack:
ID: 87 ID: 87
Data: 0 Data: 0
@ -397,13 +353,7 @@ Treasures:
Drop_Chance: 0.5 Drop_Chance: 0.5
Drop_Level: 850 Drop_Level: 850
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: false
Gravel: true Gravel: true
Clay: false
Mycelium: false
Soul_Sand: false
Red_Mushroom: Red_Mushroom:
ID: 40 ID: 40
Data: 0 Data: 0
@ -414,11 +364,7 @@ Treasures:
Drops_From: Drops_From:
Dirt: true Dirt: true
Grass: true Grass: true
Sand: false
Gravel: false
Clay: false
Mycelium: true Mycelium: true
Soul_Sand: false
Brown_Mushroom: Brown_Mushroom:
ID: 39 ID: 39
Data: 0 Data: 0
@ -429,11 +375,7 @@ Treasures:
Drops_From: Drops_From:
Dirt: true Dirt: true
Grass: true Grass: true
Sand: false
Gravel: false
Clay: false
Mycelium: true Mycelium: true
Soul_Sand: false
Egg: Egg:
ID: 344 ID: 344
Data: 0 Data: 0
@ -442,13 +384,7 @@ Treasures:
Drop_Chance: 1.0 Drop_Chance: 1.0
Drop_Level: 250 Drop_Level: 250
Drops_From: Drops_From:
Dirt: false
Grass: true Grass: true
Sand: false
Gravel: false
Clay: false
Mycelium: false
Soul_Sand: false
Soul_Sand: Soul_Sand:
ID: 88 ID: 88
Data: 0 Data: 0
@ -457,13 +393,7 @@ Treasures:
Drop_Chance: 0.5 Drop_Chance: 0.5
Drop_Level: 650 Drop_Level: 650
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: true Sand: true
Gravel: false
Clay: false
Mycelium: false
Soul_Sand: false
Clock: Clock:
ID: 347 ID: 347
Data: 0 Data: 0
@ -472,13 +402,7 @@ Treasures:
Drop_Chance: 0.1 Drop_Chance: 0.1
Drop_Level: 500 Drop_Level: 500
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: false
Gravel: false
Clay: true Clay: true
Mycelium: false
Soul_Sand: false
Cobweb: Cobweb:
ID: 30 ID: 30
Data: 0 Data: 0
@ -487,13 +411,7 @@ Treasures:
Drop_Chance: 5.0 Drop_Chance: 5.0
Drop_Level: 750 Drop_Level: 750
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: false
Gravel: false
Clay: true Clay: true
Mycelium: false
Soul_Sand: false
String: String:
ID: 287 ID: 287
Data: 0 Data: 0
@ -502,13 +420,7 @@ Treasures:
Drop_Chance: 5.0 Drop_Chance: 5.0
Drop_Level: 250 Drop_Level: 250
Drops_From: Drops_From:
Dirt: false
Grass: false
Sand: false
Gravel: false
Clay: true Clay: true
Mycelium: false
Soul_Sand: false
Glowstone_Dust: Glowstone_Dust:
ID: 348 ID: 348
Data: 0 Data: 0
@ -520,10 +432,7 @@ Treasures:
Dirt: true Dirt: true
Grass: true Grass: true
Sand: true Sand: true
Gravel: false
Clay: false
Mycelium: true Mycelium: true
Soul_Sand: false
Gold_Music: Gold_Music:
ID: 2256 ID: 2256
Data: 0 Data: 0
@ -584,6 +493,7 @@ Treasures:
Clay: true Clay: true
Mycelium: true Mycelium: true
Soul_Sand: true Soul_Sand: true
# #
# Settings for commands # Settings for commands
### ###