aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/shcm/shsupercm/fabric/citresewn/api
diff options
context:
space:
mode:
authorSHsuperCM <shsupercm@gmail.com>2022-02-12 09:21:09 +0200
committerSHsuperCM <shsupercm@gmail.com>2022-02-12 09:21:09 +0200
commitd51ec9fd6cde3ad393d4d0c91e30cc5d03945eaf (patch)
tree0f31635f43220e6a3ffcc9bc9390de7016242959 /src/main/java/shcm/shsupercm/fabric/citresewn/api
parentba570a6b2e37f6f45b149515cd41d10037cbda7f (diff)
downloadCITResewn-d51ec9fd6cde3ad393d4d0c91e30cc5d03945eaf.tar.gz
CITResewn-d51ec9fd6cde3ad393d4d0c91e30cc5d03945eaf.tar.bz2
CITResewn-d51ec9fd6cde3ad393d4d0c91e30cc5d03945eaf.zip
More work on type registry/api
Diffstat (limited to 'src/main/java/shcm/shsupercm/fabric/citresewn/api')
-rw-r--r--src/main/java/shcm/shsupercm/fabric/citresewn/api/CITDisposable.java (renamed from src/main/java/shcm/shsupercm/fabric/citresewn/api/Disposable.java)2
-rw-r--r--src/main/java/shcm/shsupercm/fabric/citresewn/api/CITGlobalProperties.java (renamed from src/main/java/shcm/shsupercm/fabric/citresewn/api/GlobalPropertiesHandler.java)2
-rw-r--r--src/main/java/shcm/shsupercm/fabric/citresewn/api/CITTypeContainer.java22
3 files changed, 24 insertions, 2 deletions
diff --git a/src/main/java/shcm/shsupercm/fabric/citresewn/api/Disposable.java b/src/main/java/shcm/shsupercm/fabric/citresewn/api/CITDisposable.java
index 85b8849..240f197 100644
--- a/src/main/java/shcm/shsupercm/fabric/citresewn/api/Disposable.java
+++ b/src/main/java/shcm/shsupercm/fabric/citresewn/api/CITDisposable.java
@@ -1,7 +1,7 @@
package shcm.shsupercm.fabric.citresewn.api;
@FunctionalInterface
-public interface Disposable {
+public interface CITDisposable {
String ENTRYPOINT = "citresewn:dispose";
void dispose();
diff --git a/src/main/java/shcm/shsupercm/fabric/citresewn/api/GlobalPropertiesHandler.java b/src/main/java/shcm/shsupercm/fabric/citresewn/api/CITGlobalProperties.java
index ac8228a..ada5147 100644
--- a/src/main/java/shcm/shsupercm/fabric/citresewn/api/GlobalPropertiesHandler.java
+++ b/src/main/java/shcm/shsupercm/fabric/citresewn/api/CITGlobalProperties.java
@@ -3,7 +3,7 @@ package shcm.shsupercm.fabric.citresewn.api;
import shcm.shsupercm.fabric.citresewn.pack.format.PropertyValue;
@FunctionalInterface
-public interface GlobalPropertiesHandler {
+public interface CITGlobalProperties {
String ENTRYPOINT = "citresewn:global_property";
void globalProperty(String key, PropertyValue value) throws Exception;
diff --git a/src/main/java/shcm/shsupercm/fabric/citresewn/api/CITTypeContainer.java b/src/main/java/shcm/shsupercm/fabric/citresewn/api/CITTypeContainer.java
new file mode 100644
index 0000000..d691ab2
--- /dev/null
+++ b/src/main/java/shcm/shsupercm/fabric/citresewn/api/CITTypeContainer.java
@@ -0,0 +1,22 @@
+package shcm.shsupercm.fabric.citresewn.api;
+
+import shcm.shsupercm.fabric.citresewn.pack.cit.CIT;
+import shcm.shsupercm.fabric.citresewn.pack.cit.CITType;
+
+import java.util.Collection;
+import java.util.function.Supplier;
+
+public abstract class CITTypeContainer<T extends CITType> implements CITDisposable {
+ public static final String ENTRYPOINT = "citresewn:type";
+ public final Class<T> type;
+ public final Supplier<T> createType;
+ public final String id;
+
+ public CITTypeContainer(Class<T> type, Supplier<T> createType, String id) {
+ this.type = type;
+ this.createType = createType;
+ this.id = id;
+ }
+
+ public abstract void load(Collection<CIT> parsedCITs);
+}