diff --git a/src/main/java/com/volmit/iris/core/loader/IrisData.java b/src/main/java/com/volmit/iris/core/loader/IrisData.java index 7cfd0e4e1..1b1eac6cf 100644 --- a/src/main/java/com/volmit/iris/core/loader/IrisData.java +++ b/src/main/java/com/volmit/iris/core/loader/IrisData.java @@ -54,6 +54,7 @@ import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.context.IrisContext; import com.volmit.iris.util.format.C; import com.volmit.iris.util.math.RNG; +import com.volmit.iris.util.matter.IrisMatter; import com.volmit.iris.util.scheduling.ChronoLatch; import com.volmit.iris.util.scheduling.J; import lombok.Data; @@ -84,6 +85,7 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { private ResourceLoader expressionLoader; private ResourceLoader objectLoader; private ResourceLoader scriptLoader; + private ResourceLoader matterLoader; private ResourceLoader caveLoader; private ResourceLoader ravineLoader; private KMap> possibleSnippets; @@ -167,6 +169,10 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { return loadAny(key, (dm) -> dm.getScriptLoader().load(key, false)); } + public static IrisMatter loadAnyMatter(String key) { + return loadAny(key, (dm) -> dm.getMatterLoader().load(key, false)); + } + public static IrisRavine loadAnyRavine(String key) { return loadAny(key, (dm) -> dm.getRavineLoader().load(key, false)); } @@ -280,6 +286,8 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { ResourceLoader r = null; if (registrant.equals(IrisObject.class)) { r = (ResourceLoader) new ObjectResourceLoader(dataFolder, this, rr.getFolderName(), rr.getTypeName()); + } else if (registrant.equals(IrisMatter.class)) { + r = (ResourceLoader) new MatterResourceLoader(dataFolder, this, rr.getFolderName(), rr.getTypeName()); } else if (registrant.equals(IrisScript.class)) { r = (ResourceLoader) new ScriptResourceLoader(dataFolder, this, rr.getFolderName(), rr.getTypeName()); } else { @@ -325,6 +333,7 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { this.blockLoader = registerLoader(IrisBlockData.class); this.expressionLoader = registerLoader(IrisExpression.class); this.objectLoader = registerLoader(IrisObject.class); + this.matterLoader = registerLoader(IrisMatter.class); this.scriptLoader = registerLoader(IrisScript.class); gson = builder.create(); }