mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-07-12 18:04:01 +00:00
fix not finding matching provider in processUpdate phase
This commit is contained in:
@@ -135,7 +135,8 @@ public class ExternalDataSVC implements IrisService {
|
||||
}
|
||||
|
||||
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()) {
|
||||
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<String, String> state) {
|
||||
if (state.isEmpty()) {
|
||||
return key;
|
||||
|
||||
Reference in New Issue
Block a user