diff --git a/src/main/java/com/gmail/nossr50/config/hocon/skills/salvage/ConfigSalvage.java b/src/main/java/com/gmail/nossr50/config/hocon/skills/salvage/ConfigSalvage.java index d88f53681..98a1eaf6c 100644 --- a/src/main/java/com/gmail/nossr50/config/hocon/skills/salvage/ConfigSalvage.java +++ b/src/main/java/com/gmail/nossr50/config/hocon/skills/salvage/ConfigSalvage.java @@ -4,6 +4,7 @@ import com.gmail.nossr50.config.hocon.skills.salvage.general.ConfigSalvageGenera import com.gmail.nossr50.skills.salvage.salvageables.Salvageable; import ninja.leaping.configurate.objectmapping.Setting; import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable; +import org.bukkit.Material; import java.util.ArrayList; @@ -15,221 +16,58 @@ public class ConfigSalvage { static { DEFAULT_SALVAGEABLES_LIST = new ArrayList<>(); + //Minimum Level + //Maximum Quantity + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.WOODEN_SWORD.getKey().toString(), Material.STICK.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.WOODEN_SHOVEL.getKey().toString(), Material.STICK.getKey().toString(), 0, 1)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.WOODEN_PICKAXE.getKey().toString(), Material.STICK.getKey().toString(), 0, 3)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.WOODEN_AXE.getKey().toString(), Material.STICK.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.WOODEN_HOE.getKey().toString(), Material.STICK.getKey().toString(), 0, 2)); - /* - Salvageables: - # - # Wooden salvageables - ### - # Tools - WOODEN_SWORD: - MinimumLevel: 0 - XpMultiplier: .25 - MaximumQuantity: 2 - WOODEN_SHOVEL: - MinimumLevel: 0 - XpMultiplier: .16 - MaximumQuantity: 1 - WOODEN_PICKAXE: - MinimumLevel: 0 - XpMultiplier: .5 - MaximumQuantity: 3 - WOODEN_AXE: - MinimumLevel: 0 - XpMultiplier: .5 - MaximumQuantity: 2 - WOODEN_HOE: - MinimumLevel: 0 - XpMultiplier: .25 - MaximumQuantity: 2 - # - # Stone salvageables - ### - # Tools - STONE_SWORD: - MinimumLevel: 0 - XpMultiplier: .25 - MaximumQuantity: 2 - STONE_SHOVEL: - MinimumLevel: 0 - XpMultiplier: .16 - MaximumQuantity: 1 - STONE_PICKAXE: - MinimumLevel: 0 - XpMultiplier: .5 - MaximumQuantity: 3 - STONE_AXE: - MinimumLevel: 0 - XpMultiplier: .5 - MaximumQuantity: 2 - STONE_HOE: - MinimumLevel: 0 - XpMultiplier: .25 - MaximumQuantity: 2 - # - # Iron salvageables - ### - # Tools - IRON_SWORD: - MinimumLevel: 0 - XpMultiplier: .5 - MaximumQuantity: 2 - IRON_SHOVEL: - MinimumLevel: 0 - XpMultiplier: .3 - MaximumQuantity: 1 - IRON_PICKAXE: - MinimumLevel: 0 - XpMultiplier: 1 - MaximumQuantity: 3 - IRON_AXE: - MinimumLevel: 0 - XpMultiplier: 1 - MaximumQuantity: 2 - IRON_HOE: - MinimumLevel: 0 - XpMultiplier: .5 - MaximumQuantity: 2 - SHEARS: - MinimumLevel: 0 - XpMultiplier: .5 - FLINT_AND_STEEL: - MinimumLevel: 0 - XpMultiplier: .3 - # Armor - IRON_HELMET: - MinimumLevel: 0 - XpMultiplier: 2 - MaximumQuantity: 5 - IRON_CHESTPLATE: - MinimumLevel: 0 - XpMultiplier: 2 - MaximumQuantity: 8 - IRON_LEGGINGS: - MinimumLevel: 0 - XpMultiplier: 2 - MaximumQuantity: 7 - IRON_BOOTS: - MinimumLevel: 0 - XpMultiplier: 2 - MaximumQuantity: 4 - # - # Gold salvageables - ### - # Tools - GOLDEN_SWORD: - MinimumLevel: 0 - XpMultiplier: 4 - MaximumQuantity: 2 - GOLDEN_SHOVEL: - MinimumLevel: 0 - XpMultiplier: 2.6 - MaximumQuantity: 1 - GOLDEN_PICKAXE: - MinimumLevel: 0 - XpMultiplier: 8 - MaximumQuantity: 3 - GOLDEN_AXE: - MinimumLevel: 0 - XpMultiplier: 8 - MaximumQuantity: 2 - GOLDEN_HOE: - MinimumLevel: 0 - XpMultiplier: 4 - MaximumQuantity: 2 - # Armor - GOLDEN_HELMET: - MinimumLevel: 0 - XpMultiplier: 4 - MaximumQuantity: 5 - GOLDEN_CHESTPLATE: - MinimumLevel: 0 - XpMultiplier: 4 - MaximumQuantity: 8 - GOLDEN_LEGGINGS: - MinimumLevel: 0 - XpMultiplier: 4 - MaximumQuantity: 7 - GOLDEN_BOOTS: - MinimumLevel: 0 - XpMultiplier: 4 - MaximumQuantity: 4 - # - # Diamond salvageables - ### - # Tools - DIAMOND_SWORD: - MinimumLevel: 50 - XpMultiplier: .5 - MaximumQuantity: 2 - DIAMOND_SHOVEL: - MinimumLevel: 50 - XpMultiplier: .3 - MaximumQuantity: 1 - DIAMOND_PICKAXE: - MinimumLevel: 50 - XpMultiplier: 1 - MaximumQuantity: 3 - DIAMOND_AXE: - MinimumLevel: 50 - XpMultiplier: 1 - MaximumQuantity: 2 - DIAMOND_HOE: - MinimumLevel: 50 - XpMultiplier: .5 - MaximumQuantity: 2 - # Armor - DIAMOND_HELMET: - MinimumLevel: 50 - XpMultiplier: 6 - MaximumQuantity: 5 - DIAMOND_CHESTPLATE: - MinimumLevel: 50 - XpMultiplier: 6 - MaximumQuantity: 8 - DIAMOND_LEGGINGS: - MinimumLevel: 50 - XpMultiplier: 6 - MaximumQuantity: 7 - DIAMOND_BOOTS: - MinimumLevel: 50 - XpMultiplier: 6 - MaximumQuantity: 4 - # - # Leather salvageables - ### - # Armor - LEATHER_HELMET: - MinimumLevel: 0 - XpMultiplier: 1 - MaximumQuantity: 5 - LEATHER_CHESTPLATE: - MinimumLevel: 0 - XpMultiplier: 1 - MaximumQuantity: 8 - LEATHER_LEGGINGS: - MinimumLevel: 0 - XpMultiplier: 1 - MaximumQuantity: 7 - LEATHER_BOOTS: - MinimumLevel: 0 - XpMultiplier: 1 - MaximumQuantity: 4 - # - # String salvageables - ### - # Tools - FISHING_ROD: - MinimumLevel: 0 - XpMultiplier: .5 - BOW: - MinimumLevel: 0 - XpMultiplier: .5 - CARROT_ON_A_STICK: - MinimumLevel: 0 - XpMultiplier: .5 - */ + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.STONE_SWORD.getKey().toString(), Material.COBBLESTONE.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.STONE_SHOVEL.getKey().toString(), Material.COBBLESTONE.getKey().toString(), 0, 1)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.STONE_PICKAXE.getKey().toString(), Material.COBBLESTONE.getKey().toString(), 0, 3)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.STONE_AXE.getKey().toString(), Material.COBBLESTONE.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.STONE_HOE.getKey().toString(), Material.COBBLESTONE.getKey().toString(), 0, 2)); + + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_SWORD.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_SHOVEL.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 1)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_PICKAXE.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 3)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_AXE.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_HOE.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 2)); + + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_SWORD.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_SHOVEL.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 1)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_PICKAXE.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 3)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_AXE.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_HOE.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 2)); + + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_SWORD.getKey().toString(), Material.DIAMOND.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_SHOVEL.getKey().toString(), Material.DIAMOND.getKey().toString(), 0, 1)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_PICKAXE.getKey().toString(), Material.DIAMOND.getKey().toString(), 0, 3)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_AXE.getKey().toString(), Material.DIAMOND.getKey().toString(), 0, 2)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_HOE.getKey().toString(), Material.DIAMOND.getKey().toString(), 0, 2)); + + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.LEATHER_HELMET.getKey().toString(), Material.LEATHER.getKey().toString(), 0, 5)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.LEATHER_CHESTPLATE.getKey().toString(), Material.LEATHER.getKey().toString(), 0, 8)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.LEATHER_LEGGINGS.getKey().toString(), Material.LEATHER.getKey().toString(), 0, 7)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.LEATHER_BOOTS.getKey().toString(), Material.LEATHER.getKey().toString(), 0, 4)); + + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_HELMET.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 5)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_CHESTPLATE.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 8)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_LEGGINGS.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 7)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.IRON_BOOTS.getKey().toString(), Material.IRON_INGOT.getKey().toString(), 0, 4)); + + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_HELMET.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 5)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_CHESTPLATE.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 8)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_LEGGINGS.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 7)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.GOLDEN_BOOTS.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 4)); + + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_HELMET.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 5)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_CHESTPLATE.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 8)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_LEGGINGS.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 7)); + DEFAULT_SALVAGEABLES_LIST.add(new Salvageable(Material.DIAMOND_BOOTS.getKey().toString(), Material.GOLD_INGOT.getKey().toString(), 0, 4)); } @Setting(value = "Z-Salvageables", comment = "Salvage rewards and misc parameters") diff --git a/src/main/java/com/gmail/nossr50/skills/salvage/salvageables/Salvageable.java b/src/main/java/com/gmail/nossr50/skills/salvage/salvageables/Salvageable.java index 3f3e31aac..16a9886e2 100644 --- a/src/main/java/com/gmail/nossr50/skills/salvage/salvageables/Salvageable.java +++ b/src/main/java/com/gmail/nossr50/skills/salvage/salvageables/Salvageable.java @@ -17,6 +17,11 @@ public class Salvageable { private final ItemMaterialCategory salvageItemMaterialCategory; private final double xpMultiplier; + public Salvageable(String itemRegisterKey, String salvagedMaterialRegisterKey) + { + this(Material.matchMaterial(itemRegisterKey), Material.matchMaterial(salvagedMaterialRegisterKey), 0, 1); + } + public Salvageable(String itemRegisterKey, String salvagedMaterialRegisterKey, int minimumLevel, int maximumQuantity) { this(Material.matchMaterial(itemRegisterKey), Material.matchMaterial(salvagedMaterialRegisterKey), minimumLevel, maximumQuantity);