From abec06c39562e710088044231edcf6fec3b0b931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E8=85=BE=E7=8C=AB=E8=B7=83?= <1043137532@qq.com> Date: Sat, 9 Nov 2024 01:47:40 +0800 Subject: [PATCH] Fix screen condition only works for Vanilla Screen ID idk but `ResourceLocation.isValidResourceLocation("RecipeScreen") == true`, and even `ResourceLocation.isValidResourceLocation("dev.emi.emi.screen.RecipeScreen") == true` --- .../net/darkhax/tipsmod/impl/resources/ConditionRules.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/net/darkhax/tipsmod/impl/resources/ConditionRules.java b/common/src/main/java/net/darkhax/tipsmod/impl/resources/ConditionRules.java index b0543a4..6740aea 100644 --- a/common/src/main/java/net/darkhax/tipsmod/impl/resources/ConditionRules.java +++ b/common/src/main/java/net/darkhax/tipsmod/impl/resources/ConditionRules.java @@ -99,7 +99,7 @@ public static Predicate screenRuleBuilder(String rule) { } // Match by VanillaScreenIds class - else if (ResourceLocation.isValidResourceLocation(rule)) { + else if (rule.contains(":")) { final ResourceLocation targetScreen = ResourceLocation.tryParse(rule); if (targetScreen != null && "minecraft".equalsIgnoreCase(targetScreen.getNamespace())) { return screen -> VanillaScreenIds.is(targetScreen, screen.getClass()); @@ -256,4 +256,4 @@ public static ConditionRules fromElement(Function> r private static List> buildRules(Function> ruleBuilder, Set rules) { return rules.stream().map(ruleBuilder).toList(); } -} \ No newline at end of file +}