Skip to content

Commit fc33063

Browse files
committed
item_pre_anvil more feedback
1 parent 7c967e2 commit fc33063

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

src/main/java/com/laytonsmith/core/events/drivers/InventoryEvents.java

+20-5
Original file line numberDiff line numberDiff line change
@@ -1008,8 +1008,12 @@ public String docs() {
10081008
+ " | result: the result of the recipe."
10091009
+ " | max_repair_cost: the maximum possible cost of this repair."
10101010
+ " | level_repair_cost: how many levels are needed to perform this repair."
1011-
+ " | item_repair_cost: how many items are needed to perform this repair. }"
1012-
+ " { result: the result of the anvil }"
1011+
+ " | item_repair_cost: how many items are needed to perform this repair (MC 1.18.1+). }"
1012+
+ " { result: the result of the recipe."
1013+
+ " | level_repair_cost: how many levels are needed to perform this repair."
1014+
+ " | item_repair_cost: how many items are needed to perform this repair (MC 1.18.1+)."
1015+
+ " | max_repair_cost: the maximum possible cost of this repair. Values exceeding 40 will be"
1016+
+ " respected, but may still show as too expensive on the client. }"
10131017
+ " {}";
10141018
}
10151019

@@ -1036,9 +1040,11 @@ public Map<String, Mixed> evaluate(BindableEvent event) throws EventException {
10361040
ret.put("first_item", ObjectGenerator.GetGenerator().item(anvil.getFirstItem(), Target.UNKNOWN));
10371041
ret.put("second_item", ObjectGenerator.GetGenerator().item(anvil.getSecondItem(), Target.UNKNOWN));
10381042
ret.put("result", ObjectGenerator.GetGenerator().item(anvil.getResult(), Target.UNKNOWN));
1039-
ret.put("max_repair_cost", new CInt(anvil.getMaximumRepairCost(), Target.UNKNOWN));
10401043
ret.put("level_repair_cost", new CInt(anvil.getRepairCost(), Target.UNKNOWN));
1041-
ret.put("item_repair_cost", new CInt(anvil.getRepairCostAmount(), Target.UNKNOWN));
1044+
if(Static.getServer().getMinecraftVersion().gte(MCVersion.MC1_18_1)) {
1045+
ret.put("item_repair_cost", new CInt(anvil.getRepairCostAmount(), Target.UNKNOWN));
1046+
}
1047+
ret.put("max_repair_cost", new CInt(anvil.getMaximumRepairCost(), Target.UNKNOWN));
10421048

10431049
return ret;
10441050
} else {
@@ -1067,7 +1073,16 @@ public boolean modifyEvent(String key, Mixed value, BindableEvent event) {
10671073
}
10681074

10691075
if(key.equalsIgnoreCase("item_repair_cost")) {
1070-
anvil.setRepairCostAmount(ArgumentValidation.getInt32(value, t));
1076+
if(Static.getServer().getMinecraftVersion().gte(MCVersion.MC1_18_1)) {
1077+
anvil.setRepairCostAmount(ArgumentValidation.getInt32(value, t));
1078+
return true;
1079+
} else {
1080+
return false;
1081+
}
1082+
}
1083+
1084+
if(key.equalsIgnoreCase("max_repair_cost")) {
1085+
anvil.setMaximumRepairCost(ArgumentValidation.getInt32(value, t));
10711086
return true;
10721087
}
10731088
}

0 commit comments

Comments
 (0)