From ee7f54429a3027f52c64ce512f0fd2a85de67f1d Mon Sep 17 00:00:00 2001 From: Julian Krings Date: Sat, 4 Jul 2026 14:43:07 +0200 Subject: [PATCH] fix not finding matching provider in processUpdate phase --- .../volmit/iris/core/service/ExternalDataSVC.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/volmit/iris/core/service/ExternalDataSVC.java b/core/src/main/java/com/volmit/iris/core/service/ExternalDataSVC.java index 528e41869..2187ab697 100644 --- a/core/src/main/java/com/volmit/iris/core/service/ExternalDataSVC.java +++ b/core/src/main/java/com/volmit/iris/core/service/ExternalDataSVC.java @@ -135,7 +135,8 @@ public class ExternalDataSVC implements IrisService { } public void processUpdate(Engine engine, Block block, Identifier blockId) { - Optional provider = activeProviders.stream().filter(p -> p.isValidProvider(blockId, DataType.BLOCK)).findFirst(); + Identifier mod = stripState(blockId); + Optional provider = activeProviders.stream().filter(p -> p.isValidProvider(mod, DataType.BLOCK)).findFirst(); if (provider.isEmpty()) { Iris.warn("No matching Provider found for modded material \"%s\"!", blockId); return; @@ -183,6 +184,16 @@ public class ExternalDataSVC implements IrisService { return new Pair<>(new Identifier(key.namespace(), key.key().split("\\Q[\\E")[0]), stateMap); } + private static Identifier stripState(Identifier key) { + if (!key.key().contains("[") || !key.key().contains("]")) + return key; + + return new Identifier( + key.namespace(), + key.key().split("\\Q[\\E")[0] + ); + } + public static Identifier buildState(Identifier key, KMap state) { if (state.isEmpty()) { return key;