Skip to content

Commit

Permalink
Fix Anvil Recipe Validator not taking repairTask settings into account
Browse files Browse the repository at this point in the history
  • Loading branch information
WolfyScript committed Jan 2, 2024
1 parent 17e1dc1 commit 9056989
Showing 1 changed file with 11 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,17 @@ public class CustomRecipeAnvil extends CustomRecipe<CustomRecipeAnvil> {
.object(recipe -> recipe.addition, initStep -> initStep.use(Ingredient.VALIDATOR).name(c -> "Addition").optional())
.require(1)
)
.object(recipe -> recipe.result, initStep -> initStep.use(Result.VALIDATOR))
.object(recipe -> recipe.repairTask, initStep -> initStep.def().validate(taskValidationContainer -> {
if (taskValidationContainer.value().isEmpty())
return taskValidationContainer.update().type(ValidationContainer.ResultType.INVALID);
RepairTask repairTask = taskValidationContainer.value().get();

if (repairTask instanceof RepairTaskResult repairTaskResult) {
var value = Result.VALIDATOR.validate(repairTaskResult.getResult());
return taskValidationContainer.update().type(value.type());
}
return taskValidationContainer.update().type(ValidationContainer.ResultType.VALID);
}))
.object(recipe -> recipe.repairCost, initStep -> initStep.def().name(c -> "Repair Cost").validate(repairCostContainer -> {
if (repairCostContainer.value().map(integer -> integer > 0).orElse(false)) {
return repairCostContainer.update().type(ValidationContainer.ResultType.VALID);
Expand Down

0 comments on commit 9056989

Please sign in to comment.