package com.gmail.nossr50.skills.salvage.salvageables; import org.bukkit.Material; import com.gmail.nossr50.datatypes.skills.ItemType; import com.gmail.nossr50.datatypes.skills.MaterialType; public class SimpleSalvageable implements Salvageable { private final Material itemMaterial, salvageMaterial; private final int maximumQuantity, minimumLevel; private final short maximumDurability, baseSalvageDurability; private final byte salvageMetadata; private final ItemType salvageItemType; private final MaterialType salvageMaterialType; private final double xpMultiplier; protected SimpleSalvageable(Material type, Material salvageMaterial, byte salvageMetadata, int minimumLevel, int maximumQuantity, short maximumDurability, ItemType salvageItemType, MaterialType salvageMaterialType, double xpMultiplier) { this.itemMaterial = type; this.salvageMaterial = salvageMaterial; this.salvageMetadata = salvageMetadata; this.salvageItemType = salvageItemType; this.salvageMaterialType = salvageMaterialType; this.minimumLevel = minimumLevel; this.maximumQuantity = maximumQuantity; this.maximumDurability = maximumDurability; this.baseSalvageDurability = (short) (maximumDurability / maximumQuantity); this.xpMultiplier = xpMultiplier; } @Override public Material getItemMaterial() { return itemMaterial; } @Override public Material getSalvageMaterial() { return salvageMaterial; } @Override public byte getSalvageMaterialMetadata() { return salvageMetadata; } @Override public ItemType getSalvageItemType() { return salvageItemType; } @Override public MaterialType getSalvageMaterialType() { return salvageMaterialType; } @Override public int getMaximumQuantity() { return maximumQuantity; } @Override public short getMaximumDurability() { return maximumDurability; } @Override public short getBaseSalvageDurability() { return baseSalvageDurability; } @Override public int getMinimumLevel() { return minimumLevel; } @Override public double getXpMultiplier() { return xpMultiplier; } }