mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-25 14:46:46 +01:00
ExcavationTreasureConfig pt 1
This commit is contained in:
parent
15be278ee1
commit
772ceddf65
@ -8,13 +8,20 @@ import com.gmail.nossr50.mcMMO;
|
|||||||
import com.google.common.reflect.TypeToken;
|
import com.google.common.reflect.TypeToken;
|
||||||
import ninja.leaping.configurate.ConfigurationNode;
|
import ninja.leaping.configurate.ConfigurationNode;
|
||||||
import ninja.leaping.configurate.objectmapping.ObjectMappingException;
|
import ninja.leaping.configurate.objectmapping.ObjectMappingException;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
|
||||||
import java.io.File;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ExcavationTreasureConfig extends Config implements UnsafeValueValidation, Registers {
|
public class ExcavationTreasureConfig extends Config implements UnsafeValueValidation, Registers {
|
||||||
public static final String EXCAVATION = "Archaeology";
|
public static final String EXCAVATION = "Archaeology";
|
||||||
|
public static final String AMOUNT = "Amount";
|
||||||
|
public static final String XP = "XP";
|
||||||
|
public static final String DROP_CHANCE = "Drop_Chance";
|
||||||
|
public static final String DROP_LEVEL = "Drop_Level";
|
||||||
|
public static final String CUSTOM_NAME = "Custom_Name";
|
||||||
|
public static final String LORE = "Lore";
|
||||||
public HashMap<String, List<ExcavationTreasure>> excavationMap = new HashMap<String, List<ExcavationTreasure>>();
|
public HashMap<String, List<ExcavationTreasure>> excavationMap = new HashMap<String, List<ExcavationTreasure>>();
|
||||||
|
|
||||||
public ExcavationTreasureConfig() {
|
public ExcavationTreasureConfig() {
|
||||||
@ -22,6 +29,18 @@ public class ExcavationTreasureConfig extends Config implements UnsafeValueValid
|
|||||||
register();
|
register();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This grabs an instance of this config class from the Config Manager
|
||||||
|
* This method is deprecated and will be removed in the future
|
||||||
|
* @see mcMMO#getConfigManager()
|
||||||
|
* @return the instance of this config
|
||||||
|
* @deprecated Please use mcMMO.getConfigManager() to grab a specific config instead
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static ExcavationTreasureConfig getInstance() {
|
||||||
|
return mcMMO.getConfigManager().getExcavationTreasureConfig();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register stuff
|
* Register stuff
|
||||||
*/
|
*/
|
||||||
@ -37,7 +56,99 @@ public class ExcavationTreasureConfig extends Config implements UnsafeValueValid
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
for (String treasureName : excavationTreasureNode.getList(TypeToken.of(String.class))) {
|
for (String treasureName : excavationTreasureNode.getList(TypeToken.of(String.class))) {
|
||||||
|
//Treasure Material Definition
|
||||||
|
Material treasureMaterial = Material.matchMaterial(treasureName.toUpperCase());
|
||||||
|
|
||||||
|
if(treasureMaterial != null)
|
||||||
|
{
|
||||||
|
ConfigurationNode currentTreasure = excavationTreasureNode.getNode(treasureName);
|
||||||
|
|
||||||
|
//TODO: Rewrite the entire treasure system because it sucks
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TREASURE PARAMETERS
|
||||||
|
*/
|
||||||
|
int amount = currentTreasure.getNode(AMOUNT).getInt();
|
||||||
|
int xp = currentTreasure.getNode(XP).getInt();
|
||||||
|
double dropChance = currentTreasure.getNode(DROP_CHANCE).getDouble();
|
||||||
|
int dropLevel = currentTreasure.getNode(DROP_LEVEL).getInt();
|
||||||
|
String customName = null;
|
||||||
|
String lore;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PARAMETER INIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
ArrayList<String> dropsFrom = new ArrayList(currentTreasure.getNode("Drops_From").getList(TypeToken.of(String.class)));
|
||||||
|
|
||||||
|
if(amount <= 0)
|
||||||
|
{
|
||||||
|
mcMMO.p.getLogger().severe("Excavation Treasure named "+treasureName+" in the config has an amount of 0 or below, is this intentional?");
|
||||||
|
mcMMO.p.getLogger().severe("Skipping "+treasureName+" for being invalid");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(xp <= 0)
|
||||||
|
{
|
||||||
|
mcMMO.p.getLogger().info("Excavation Treasure named "+treasureName+" in the config has xp set to 0 or below, is this intentional?");
|
||||||
|
xp = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dropChance <= 0)
|
||||||
|
{
|
||||||
|
mcMMO.p.getLogger().severe("Excavation Treasure named "+treasureName+" in the config has a drop chance of 0 or below, is this intentional?");
|
||||||
|
mcMMO.p.getLogger().severe("Skipping "+treasureName+" for being invalid");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dropLevel < 0)
|
||||||
|
{
|
||||||
|
mcMMO.p.getLogger().info("Excavation Treasure named "+treasureName+" in the config has a drop level below 0, is this intentional?");
|
||||||
|
dropLevel = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dropsFrom == null || dropsFrom.isEmpty())
|
||||||
|
{
|
||||||
|
mcMMO.p.getLogger().severe("Excavation Treasure named "+treasureName+" in the config has no drop targets, which would make it impossible to obtain, is this intentional?");
|
||||||
|
mcMMO.p.getLogger().severe("Skipping "+treasureName+" for being invalid");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* OPTIONAL PARAMETERS */
|
||||||
|
|
||||||
|
//Custom Name
|
||||||
|
|
||||||
|
if(currentTreasure.getNode(CUSTOM_NAME) != null && !currentTreasure.getNode(CUSTOM_NAME).getString().equalsIgnoreCase("ChangeMe"))
|
||||||
|
{
|
||||||
|
customName = currentTreasure.getNode(CUSTOM_NAME).getString();
|
||||||
|
}
|
||||||
|
|
||||||
|
//Lore
|
||||||
|
if(currentTreasure.getNode(LORE) != null && !currentTreasure.getNode(LORE).getString().equalsIgnoreCase("ChangeMe"))
|
||||||
|
{
|
||||||
|
lore = currentTreasure.getNode(LORE).getString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* REGISTER TREASURE
|
||||||
|
*/
|
||||||
|
|
||||||
|
ExcavationTreasure excavationTreasure = TreasureFactory.makeExcavationTreasure(treasureMaterial, amount, xp, dropChance, dropLevel, customName, currentTreasure.getNode(LORE));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add to map
|
||||||
|
*/
|
||||||
|
for(String dropBlock : dropsFrom)
|
||||||
|
{
|
||||||
|
if(excavationMap.get(dropBlock) == null)
|
||||||
|
excavationMap.put(dropBlock, new ArrayList<>());
|
||||||
|
|
||||||
|
excavationMap.get(dropBlock).add(excavationTreasure);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
mcMMO.p.getLogger().severe("Excavation Treasure Config - Material named "+treasureName+" does not match any known material.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (ObjectMappingException e) {
|
} catch (ObjectMappingException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@ -46,7 +157,7 @@ public class ExcavationTreasureConfig extends Config implements UnsafeValueValid
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void unload() {
|
public void unload() {
|
||||||
|
excavationMap.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -31,6 +31,18 @@ public class FishingTreasureConfig extends Config implements UnsafeValueValidati
|
|||||||
public static final String ENCHANTMENT_DROP_RATES = "Enchantment_Drop_Rates";
|
public static final String ENCHANTMENT_DROP_RATES = "Enchantment_Drop_Rates";
|
||||||
public static final String SHAKE = "Shake";
|
public static final String SHAKE = "Shake";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This grabs an instance of this config class from the Config Manager
|
||||||
|
* This method is deprecated and will be removed in the future
|
||||||
|
* @see mcMMO#getConfigManager()
|
||||||
|
* @return the instance of this config
|
||||||
|
* @deprecated Please use mcMMO.getConfigManager() to grab a specific config instead
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static FishingTreasureConfig getInstance() {
|
||||||
|
return mcMMO.getConfigManager().getFishingTreasureConfig();
|
||||||
|
}
|
||||||
|
|
||||||
public FishingTreasureConfig() {
|
public FishingTreasureConfig() {
|
||||||
super(mcMMO.p.getDataFolder().getAbsoluteFile(), "fishing_treasures.yml", false, true, false);
|
super(mcMMO.p.getDataFolder().getAbsoluteFile(), "fishing_treasures.yml", false, true, false);
|
||||||
register();
|
register();
|
||||||
|
@ -23,6 +23,18 @@ public class HerbalismTreasureConfig extends Config implements UnsafeValueValida
|
|||||||
register();
|
register();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This grabs an instance of this config class from the Config Manager
|
||||||
|
* This method is deprecated and will be removed in the future
|
||||||
|
* @see mcMMO#getConfigManager()
|
||||||
|
* @return the instance of this config
|
||||||
|
* @deprecated Please use mcMMO.getConfigManager() to grab a specific config instead
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public static HerbalismTreasureConfig getInstance() {
|
||||||
|
return mcMMO.getConfigManager().getHerbalismTreasureConfig();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register stuff
|
* Register stuff
|
||||||
*/
|
*/
|
||||||
|
@ -0,0 +1,73 @@
|
|||||||
|
package com.gmail.nossr50.config.treasure;
|
||||||
|
|
||||||
|
import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure;
|
||||||
|
import com.google.common.reflect.TypeToken;
|
||||||
|
import ninja.leaping.configurate.ConfigurationNode;
|
||||||
|
import ninja.leaping.configurate.objectmapping.ObjectMappingException;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles creating treasures for various skill loot tables
|
||||||
|
*/
|
||||||
|
public class TreasureFactory {
|
||||||
|
/**
|
||||||
|
* Make a new ExcavationTreasure
|
||||||
|
* @param material
|
||||||
|
* @param dropAmount
|
||||||
|
* @param xpReward
|
||||||
|
* @param dropChance
|
||||||
|
* @param dropLevel
|
||||||
|
* @param customName
|
||||||
|
* @param customLore
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static ExcavationTreasure makeExcavationTreasure(Material material, int dropAmount, int xpReward, double dropChance, int dropLevel, String customName, ConfigurationNode customLore)
|
||||||
|
{
|
||||||
|
ItemStack treasure = makeItemStack(material, dropAmount, customName, customLore);
|
||||||
|
|
||||||
|
return new ExcavationTreasure(treasure, xpReward, dropChance, dropLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ItemStack makeItemStack(Material material, int dropAmount, String customName, ConfigurationNode customLore) {
|
||||||
|
ItemStack treasure = new ItemStack(material, dropAmount);
|
||||||
|
|
||||||
|
/* ADD CUSTOM NAME */
|
||||||
|
if(customName != null)
|
||||||
|
{
|
||||||
|
ItemMeta itemMeta = treasure.getItemMeta();
|
||||||
|
itemMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', customName));
|
||||||
|
treasure.setItemMeta(itemMeta);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ADD CUSTOM LORE */
|
||||||
|
if(customLore != null)
|
||||||
|
{
|
||||||
|
ItemMeta itemMeta = treasure.getItemMeta();
|
||||||
|
List<String> lore = new ArrayList<String>();
|
||||||
|
|
||||||
|
try {
|
||||||
|
//TODO: Not sure how this will be handled by Configurate
|
||||||
|
for (String loreLine : customLore.getList(TypeToken.of(String.class))) {
|
||||||
|
lore.add(ChatColor.translateAlternateColorCodes('&', loreLine));
|
||||||
|
}
|
||||||
|
|
||||||
|
itemMeta.setLore(lore);
|
||||||
|
treasure.setItemMeta(itemMeta);
|
||||||
|
} catch (ObjectMappingException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* IF FOR SOME REASON ITS A POTION */
|
||||||
|
|
||||||
|
//TODO: Do this later
|
||||||
|
|
||||||
|
return treasure;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,9 @@
|
|||||||
package com.gmail.nossr50.skills.fishing;
|
package com.gmail.nossr50.skills.fishing;
|
||||||
|
|
||||||
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
import com.gmail.nossr50.config.MainConfig;
|
import com.gmail.nossr50.config.MainConfig;
|
||||||
|
import com.gmail.nossr50.config.experience.ExperienceConfig;
|
||||||
|
import com.gmail.nossr50.config.treasure.FishingTreasureConfig;
|
||||||
import com.gmail.nossr50.datatypes.experience.XPGainReason;
|
import com.gmail.nossr50.datatypes.experience.XPGainReason;
|
||||||
import com.gmail.nossr50.datatypes.interactions.NotificationType;
|
import com.gmail.nossr50.datatypes.interactions.NotificationType;
|
||||||
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||||
@ -453,7 +456,7 @@ public class FishingManager extends SkillManager {
|
|||||||
break;
|
break;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
List<FishingTreasure> fishingTreasures = TreasureConfig.getInstance().fishingRewards.get(rarity);
|
List<FishingTreasure> fishingTreasures = FishingTreasureConfig.getInstance().fishingRewards.get(rarity);
|
||||||
|
|
||||||
if (fishingTreasures.isEmpty()) {
|
if (fishingTreasures.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -8,123 +8,165 @@ Archaeology:
|
|||||||
Drop_Chance: 0.05
|
Drop_Chance: 0.05
|
||||||
Drop_Level: 75
|
Drop_Level: 75
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
GUNPOWDER:
|
GUNPOWDER:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 30
|
XP: 30
|
||||||
Drop_Chance: 10.0
|
Drop_Chance: 10.0
|
||||||
Drop_Level: 10
|
Drop_Level: 10
|
||||||
Drops_From: [Gravel]
|
Drops_From: [Gravel]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
BONE:
|
BONE:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 30
|
XP: 30
|
||||||
Drop_Chance: 10.0
|
Drop_Chance: 10.0
|
||||||
Drop_Level: 20
|
Drop_Level: 20
|
||||||
Drops_From: [Gravel]
|
Drops_From: [Gravel]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
APPLE:
|
APPLE:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 100
|
XP: 100
|
||||||
Drop_Chance: 0.1
|
Drop_Chance: 0.1
|
||||||
Drop_Level: 25
|
Drop_Level: 25
|
||||||
Drops_From: [Grass_Block, Mycelium]
|
Drops_From: [Grass_Block, Mycelium]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
SLIME_BALL:
|
SLIME_BALL:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 100
|
XP: 100
|
||||||
Drop_Chance: 5.0
|
Drop_Chance: 5.0
|
||||||
Drop_Level: 15
|
Drop_Level: 15
|
||||||
Drops_From: [Clay]
|
Drops_From: [Clay]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
BUCKET:
|
BUCKET:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 100
|
XP: 100
|
||||||
Drop_Chance: 0.1
|
Drop_Chance: 0.1
|
||||||
Drop_Level: 50
|
Drop_Level: 50
|
||||||
Drops_From: [Clay]
|
Drops_From: [Clay]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
NETHERRACK:
|
NETHERRACK:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 30
|
XP: 30
|
||||||
Drop_Chance: 0.5
|
Drop_Chance: 0.5
|
||||||
Drop_Level: 85
|
Drop_Level: 85
|
||||||
Drops_From: [Gravel]
|
Drops_From: [Gravel]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
RED_MUSHROOM:
|
RED_MUSHROOM:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 80
|
XP: 80
|
||||||
Drop_Chance: 0.5
|
Drop_Chance: 0.5
|
||||||
Drop_Level: 50
|
Drop_Level: 50
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Mycelium]
|
Drops_From: [Dirt, Podzol, Grass_Block, Mycelium]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
BROWN_MUSHROOM:
|
BROWN_MUSHROOM:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 80
|
XP: 80
|
||||||
Drop_Chance: 0.5
|
Drop_Chance: 0.5
|
||||||
Drop_Level: 50
|
Drop_Level: 50
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Mycelium]
|
Drops_From: [Dirt, Podzol, Grass_Block, Mycelium]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
EGG:
|
EGG:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 100
|
XP: 100
|
||||||
Drop_Chance: 1.0
|
Drop_Chance: 1.0
|
||||||
Drop_Level: 25
|
Drop_Level: 25
|
||||||
Drops_From: [Grass_Block]
|
Drops_From: [Grass_Block]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
SOUL_SAND:
|
SOUL_SAND:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 80
|
XP: 80
|
||||||
Drop_Chance: 0.5
|
Drop_Chance: 0.5
|
||||||
Drop_Level: 65
|
Drop_Level: 65
|
||||||
Drops_From: [Sand, Red_Sand]
|
Drops_From: [Sand, Red_Sand]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
CLOCK:
|
CLOCK:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 100
|
XP: 100
|
||||||
Drop_Chance: 0.1
|
Drop_Chance: 0.1
|
||||||
Drop_Level: 50
|
Drop_Level: 50
|
||||||
Drops_From: [Clay]
|
Drops_From: [Clay]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
COBWEB:
|
COBWEB:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 150
|
XP: 150
|
||||||
Drop_Chance: 5.0
|
Drop_Chance: 5.0
|
||||||
Drop_Level: 75
|
Drop_Level: 75
|
||||||
Drops_From: [Clay]
|
Drops_From: [Clay]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
STRING:
|
STRING:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 200
|
XP: 200
|
||||||
Drop_Chance: 5.0
|
Drop_Chance: 5.0
|
||||||
Drop_Level: 25
|
Drop_Level: 25
|
||||||
Drops_From: [Clay]
|
Drops_From: [Clay]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
GLOWSTONE_DUST:
|
GLOWSTONE_DUST:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 80
|
XP: 80
|
||||||
Drop_Chance: 5.0
|
Drop_Chance: 5.0
|
||||||
Drop_Level: 5
|
Drop_Level: 5
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Mycelium]
|
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Mycelium]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
MUSIC_DISC_13:
|
MUSIC_DISC_13:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 3000
|
XP: 3000
|
||||||
Drop_Chance: 0.05
|
Drop_Chance: 0.05
|
||||||
Drop_Level: 25
|
Drop_Level: 25
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
MUSIC_DISC_CAT:
|
MUSIC_DISC_CAT:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 3000
|
XP: 3000
|
||||||
Drop_Chance: 0.05
|
Drop_Chance: 0.05
|
||||||
Drop_Level: 25
|
Drop_Level: 25
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
DIAMOND:
|
DIAMOND:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 1000
|
XP: 1000
|
||||||
Drop_Chance: 0.13
|
Drop_Chance: 0.13
|
||||||
Drop_Level: 35
|
Drop_Level: 35
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
COCOA_BEANS:
|
COCOA_BEANS:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 100
|
XP: 100
|
||||||
Drop_Chance: 1.33
|
Drop_Chance: 1.33
|
||||||
Drop_Level: 35
|
Drop_Level: 35
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Mycelium]
|
Drops_From: [Dirt, Podzol, Grass_Block, Mycelium]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
QUARTZ:
|
QUARTZ:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 100
|
XP: 100
|
||||||
Drop_Chance: 0.5
|
Drop_Chance: 0.5
|
||||||
Drop_Level: 85
|
Drop_Level: 85
|
||||||
Drops_From: [Dirt, Podzol, Sand, Red_Sand, Gravel, Mycelium, Soul_Sand]
|
Drops_From: [Dirt, Podzol, Sand, Red_Sand, Gravel, Mycelium, Soul_Sand]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
||||||
NAME_TAG:
|
NAME_TAG:
|
||||||
Amount: 1
|
Amount: 1
|
||||||
XP: 3000
|
XP: 3000
|
||||||
Drop_Chance: 0.05
|
Drop_Chance: 0.05
|
||||||
Drop_Level: 25
|
Drop_Level: 25
|
||||||
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
Drops_From: [Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand]
|
||||||
|
Custom_Name: ChangeMe
|
||||||
|
Lore: ChangeMe
|
Loading…
Reference in New Issue
Block a user