From d329749316c1c3496f00d4c3f8f0a7926a71508c Mon Sep 17 00:00:00 2001 From: Su5eD Date: Tue, 4 Jun 2024 19:01:27 +0200 Subject: [PATCH] Remove mixin type filter in constant target --- .../org/sinytra/adapter/patch/api/Patch.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/definition/src/main/java/org/sinytra/adapter/patch/api/Patch.java b/definition/src/main/java/org/sinytra/adapter/patch/api/Patch.java index 6f759b8..70cba2f 100644 --- a/definition/src/main/java/org/sinytra/adapter/patch/api/Patch.java +++ b/definition/src/main/java/org/sinytra/adapter/patch/api/Patch.java @@ -19,7 +19,6 @@ import org.sinytra.adapter.patch.transformer.param.TransformParameters; import java.util.List; -import java.util.Optional; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Predicate; @@ -107,17 +106,15 @@ default ClassPatchBuilder targetInjectionPoint(String target) { ClassPatchBuilder targetInjectionPoint(String value, String target); default ClassPatchBuilder targetConstant(double doubleValue) { - return targetMixinType(MixinConstants.MODIFY_CONST, MixinConstants.MODIFY_EXPR_VAL) - .targetAnnotationValues(handle -> handle.getNested("constant") - .flatMap(cst -> cst.getValue("doubleValue") - .map(val -> val.get() == doubleValue)) - .orElseGet(() -> handle.getNested("at") - .flatMap(at -> { - Optional value = at.getValue("value").map(AnnotationValueHandle::get); - Optional> target = at.>getValue("args").map(AnnotationValueHandle::get); - return value.map(s -> s.equals("CONSTANT") && target.map(t -> t.size() == 1 && t.get(0).equals("doubleValue=" + doubleValue + "D")).orElse(false)); - }) - .orElse(false))); + return targetAnnotationValues(handle -> handle.getNested("constant") + .flatMap(cst -> cst.getValue("doubleValue") + .map(val -> val.get() == doubleValue)) + .orElseGet(() -> handle.getNested("at") + .flatMap(at -> at.getValue("value").map(s -> s.get().equals("CONSTANT") && + at.>getValue("args").map(AnnotationValueHandle::get).map(t -> t.size() == 1 + && (t.get(0).equals("doubleValue=" + doubleValue + "D") || t.get(0).equals("doubleValue=" + doubleValue))) + .orElse(false))) + .orElse(false))); } default ClassPatchBuilder modifyInjectionPoint(String value, String target) { @@ -131,11 +128,11 @@ default ClassPatchBuilder modifyInjectionPoint(String value, String target) { default ClassPatchBuilder modifyInjectionPoint(String target) { return modifyInjectionPoint(null, target); } - + ClassPatchBuilder redirectShadowMethod(String original, String target, BiConsumer callFixer); ClassPatchBuilder divertRedirector(Consumer patcher); - + ClassPatchBuilder updateRedirectTarget(String originalTarget, String newTarget); ClassPatchBuilder disable();