Adds optional ability to reforge anvils #15
All checks were successful
EpicKnarvik97/Blacksmith/pipeline/head This commit looks good
All checks were successful
EpicKnarvik97/Blacksmith/pipeline/head This commit looks good
This commit is contained in:
@ -26,7 +26,8 @@ public enum GlobalSetting {
|
||||
*
|
||||
* <p>This can be specified for each possible enchantment by setting enchantment-cost.enchantment_name</p>
|
||||
*/
|
||||
ENCHANTMENT_COST("global.enchantmentCost.default", SettingValueType.POSITIVE_DOUBLE, 5.0, "enchantmentCost"),
|
||||
ENCHANTMENT_COST("global.enchantmentCost.default", SettingValueType.POSITIVE_DOUBLE, 5.0,
|
||||
"enchantmentCost"),
|
||||
|
||||
/**
|
||||
* Whether the cost should increase for damage taken, as opposed to increase for durability present
|
||||
@ -36,7 +37,19 @@ public enum GlobalSetting {
|
||||
/**
|
||||
* Whether to show exact time when displaying the wait time for a reforging or the cool-down
|
||||
*/
|
||||
SHOW_EXACT_TIME("global.showExactTime", SettingValueType.BOOLEAN, false, "showExactTime");
|
||||
SHOW_EXACT_TIME("global.showExactTime", SettingValueType.BOOLEAN, false, "showExactTime"),
|
||||
|
||||
/**
|
||||
* The cost for repairing a chipped anvil
|
||||
*/
|
||||
ANVIL_CHIPPED_COST("global.chippedAnvilReforgingCost", SettingValueType.POSITIVE_DOUBLE, 10.0,
|
||||
"chippedAnvilReforgingCost"),
|
||||
|
||||
/**
|
||||
* The cost for repairing a damaged anvil
|
||||
*/
|
||||
ANVIL_DAMAGED_COST("global.damagedAnvilReforgingCost", SettingValueType.POSITIVE_DOUBLE, 20.0,
|
||||
"damagedAnvilReforgingCost");
|
||||
|
||||
private final String path;
|
||||
private final String parent;
|
||||
|
@ -252,6 +252,22 @@ public class GlobalSettings {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the cost for repairing the given type of anvil
|
||||
*
|
||||
* @param material <p>The anvil material to repair</p>
|
||||
* @return <p>The cost of repairing the anvil</p>
|
||||
*/
|
||||
public double getAnvilCost(Material material) {
|
||||
if (material == Material.CHIPPED_ANVIL) {
|
||||
return asDouble(GlobalSetting.ANVIL_CHIPPED_COST);
|
||||
} else if (material == Material.DAMAGED_ANVIL) {
|
||||
return asDouble(GlobalSetting.ANVIL_DAMAGED_COST);
|
||||
} else {
|
||||
throw new IllegalArgumentException("An unexpected item was encountered!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the given value as a boolean
|
||||
*
|
||||
|
@ -62,6 +62,11 @@ public enum NPCSetting {
|
||||
ENCHANTMENT_BLOCKLIST("enchantmentBlocklist", SettingValueType.STRING_LIST, new String[]{"binding_curse",
|
||||
"mending", "vanishing_curse"}, "enchantmentBlocklist"),
|
||||
|
||||
/**
|
||||
* Whether to allow this blacksmith to repair anvils
|
||||
*/
|
||||
REPAIR_ANVILS("reforgeAnvils", SettingValueType.BOOLEAN, false, "reforgeAnvils"),
|
||||
|
||||
/*-----------
|
||||
| Messages |
|
||||
-----------*/
|
||||
|
@ -301,6 +301,15 @@ public class NPCSettings {
|
||||
return asInt(NPCSetting.MAX_REFORGE_DELAY) <= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets whether this blacksmith is able to repair anvils
|
||||
*
|
||||
* @return <p>True if this blacksmith is able to repair anvils</p>
|
||||
*/
|
||||
public boolean getRepairAnvils() {
|
||||
return ConfigHelper.asBoolean(getValue(NPCSetting.REPAIR_ANVILS));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the given value as an integer
|
||||
*
|
||||
|
Reference in New Issue
Block a user