瀏覽代碼

Add Confabricate extension

Lortseam 4 年之前
父節點
當前提交
74b517a089

+ 4 - 0
build.gradle

@@ -12,6 +12,7 @@ version = project.mod_version
 group = project.maven_group
 
 repositories {
+	mavenCentral()
 	jcenter()
 }
 
@@ -23,6 +24,9 @@ dependencies {
 	modApi("me.shedaniel.cloth:config-2:${project.cloth_config_version}") {
 		exclude(group: "net.fabricmc.fabric-api")
 	}
+	modImplementation("ca.stellardrift:confabricate:${project.confabricate_version}") {
+		exclude(group: "net.fabricmc.fabric-api")
+	}
 
 	// Using modApi because api does not include dependency inside Maven pom file (see https://github.com/FabricMC/fabric-loom/issues/200)
 	modApi("org.spongepowered:configurate-hocon:${project.configurate_version}")

+ 1 - 0
gradle.properties

@@ -13,6 +13,7 @@ org.gradle.jvmargs=-Xmx1G
 
 # Dependencies
 	cloth_config_version=4.8.3
+	confabricate_version=2.0.3
 	lombok_version=1.18.18
 	configurate_version=4.0.0
 	junit_version=5.7.0

+ 2 - 0
src/main/java/me/lortseam/completeconfig/CompleteConfig.java

@@ -4,6 +4,7 @@ import lombok.NonNull;
 import lombok.extern.log4j.Log4j2;
 import me.lortseam.completeconfig.extensions.CompleteConfigExtension;
 import me.lortseam.completeconfig.extensions.clothbasicmath.ClothBasicMathExtension;
+import me.lortseam.completeconfig.extensions.confabricate.ConfabricateExtension;
 import net.fabricmc.loader.api.FabricLoader;
 import net.fabricmc.loader.api.entrypoint.EntrypointContainer;
 
@@ -21,6 +22,7 @@ public final class CompleteConfig {
 
     static {
         registerExternalExtension("cloth-basic-math", ClothBasicMathExtension.class);
+        registerExternalExtension("confabricate", ConfabricateExtension.class);
         for (EntrypointContainer<CompleteConfigExtension> entrypoint : FabricLoader.getInstance().getEntrypointContainers("completeconfig-extension", CompleteConfigExtension.class)) {
             extensions.put(entrypoint.getProvider().getMetadata().getId(), entrypoint.getEntrypoint());
         }

+ 17 - 0
src/main/java/me/lortseam/completeconfig/extensions/confabricate/ConfabricateExtension.java

@@ -0,0 +1,17 @@
+package me.lortseam.completeconfig.extensions.confabricate;
+
+import ca.stellardrift.confabricate.typeserializers.MinecraftSerializers;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import me.lortseam.completeconfig.extensions.CompleteConfigExtension;
+import org.spongepowered.configurate.serialize.TypeSerializerCollection;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class ConfabricateExtension implements CompleteConfigExtension {
+
+    @Override
+    public TypeSerializerCollection getTypeSerializers() {
+        return MinecraftSerializers.collection();
+    }
+
+}