diff --git a/src/main/java/com/mojang/datafixers/types/templates/RecursivePoint.java b/src/main/java/com/mojang/datafixers/types/templates/RecursivePoint.java index 83125d1b..3fc7160a 100644 --- a/src/main/java/com/mojang/datafixers/types/templates/RecursivePoint.java +++ b/src/main/java/com/mojang/datafixers/types/templates/RecursivePoint.java @@ -146,7 +146,10 @@ public DataResult encode(final A input, final DynamicOps ops, final T @Override public Optional> everywhere(final TypeRewriteRule rule, final PointFreeRule optimizationRule, final boolean recurse, final boolean checkIndex) { if (recurse) { - return family.everywhere(this.index, rule, optimizationRule).map(view -> (RewriteResult) view); + final Optional> result = family.everywhere(this.index, rule, optimizationRule).map(view -> (RewriteResult) view); + if (result.isPresent()) { + return result; + } } return Optional.of(RewriteResult.nop(this)); }