diff --git a/src/main/kotlin/de/snowii/extractor/Extractor.kt b/src/main/kotlin/de/snowii/extractor/Extractor.kt index c513f19..14dbc9d 100644 --- a/src/main/kotlin/de/snowii/extractor/Extractor.kt +++ b/src/main/kotlin/de/snowii/extractor/Extractor.kt @@ -72,6 +72,8 @@ class Extractor : ModInitializer { Entities(), Items(), DataComponent(), + TrimMaterials(), + TrimPatterns(), Blocks(), MultiNoise(), MultiNoise().Sample(), diff --git a/src/main/kotlin/de/snowii/extractor/extractors/TrimMaterials.kt b/src/main/kotlin/de/snowii/extractor/extractors/TrimMaterials.kt new file mode 100644 index 0000000..e94095d --- /dev/null +++ b/src/main/kotlin/de/snowii/extractor/extractors/TrimMaterials.kt @@ -0,0 +1,32 @@ +package de.snowii.extractor.extractors + +import com.google.gson.JsonElement +import com.google.gson.JsonObject +import com.mojang.serialization.JsonOps +import de.snowii.extractor.Extractor +import net.minecraft.item.equipment.trim.ArmorTrimMaterial +import net.minecraft.registry.RegistryKeys +import net.minecraft.registry.RegistryOps +import net.minecraft.server.MinecraftServer + +class TrimMaterials : Extractor.Extractor { + override fun fileName(): String { + return "trim_materials.json" + } + + override fun extract(server: MinecraftServer): JsonElement { + val materials = JsonObject() + + for (material in server.registryManager.getOrThrow(RegistryKeys.TRIM_MATERIAL).streamEntries().toList()) { + materials.add( + material.key.get().value.toString(), + ArmorTrimMaterial.CODEC.encodeStart( + RegistryOps.of(JsonOps.INSTANCE, server.registryManager), + material.value() + ).getOrThrow() + ) + } + + return materials + } +} \ No newline at end of file diff --git a/src/main/kotlin/de/snowii/extractor/extractors/TrimPatterns.kt b/src/main/kotlin/de/snowii/extractor/extractors/TrimPatterns.kt new file mode 100644 index 0000000..cb7a3fc --- /dev/null +++ b/src/main/kotlin/de/snowii/extractor/extractors/TrimPatterns.kt @@ -0,0 +1,32 @@ +package de.snowii.extractor.extractors + +import com.google.gson.JsonElement +import com.google.gson.JsonObject +import com.mojang.serialization.JsonOps +import de.snowii.extractor.Extractor +import net.minecraft.item.equipment.trim.ArmorTrimPattern +import net.minecraft.registry.RegistryKeys +import net.minecraft.registry.RegistryOps +import net.minecraft.server.MinecraftServer + +class TrimPatterns : Extractor.Extractor { + override fun fileName(): String { + return "trim_patterns.json" + } + + override fun extract(server: MinecraftServer): JsonElement { + val patterns = JsonObject() + + for (pattern in server.registryManager.getOrThrow(RegistryKeys.TRIM_PATTERN).streamEntries().toList()) { + patterns.add( + pattern.key.get().value.toString(), + ArmorTrimPattern.CODEC.encodeStart( + RegistryOps.of(JsonOps.INSTANCE, server.registryManager), + pattern.value() + ).getOrThrow() + ) + } + + return patterns + } +} \ No newline at end of file