mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-26 05:50:39 +00:00
fix not finding matching provider in processUpdate phase
This commit is contained in:
1 file changed
+12
-1
@@ -135,7 +135,8 @@ public class ExternalDataSVC implements IrisService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void processUpdate(Engine engine, Block block, Identifier blockId) {
|
public void processUpdate(Engine engine, Block block, Identifier blockId) {
|
||||||
Optional<ExternalDataProvider> provider = activeProviders.stream().filter(p -> p.isValidProvider(blockId, DataType.BLOCK)).findFirst();
|
Identifier mod = stripState(blockId);
|
||||||
|
Optional<ExternalDataProvider> provider = activeProviders.stream().filter(p -> p.isValidProvider(mod, DataType.BLOCK)).findFirst();
|
||||||
if (provider.isEmpty()) {
|
if (provider.isEmpty()) {
|
||||||
Iris.warn("No matching Provider found for modded material \"%s\"!", blockId);
|
Iris.warn("No matching Provider found for modded material \"%s\"!", blockId);
|
||||||
return;
|
return;
|
||||||
@@ -183,6 +184,16 @@ public class ExternalDataSVC implements IrisService {
|
|||||||
return new Pair<>(new Identifier(key.namespace(), key.key().split("\\Q[\\E")[0]), stateMap);
|
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<String, String> state) {
|
public static Identifier buildState(Identifier key, KMap<String, String> state) {
|
||||||
if (state.isEmpty()) {
|
if (state.isEmpty()) {
|
||||||
return key;
|
return key;
|
||||||
|
|||||||
Reference in new issue
Block a user