Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/main/kotlin/de/snowii/extractor/Extractor.kt
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ class Extractor : ModInitializer {
Entities(),
Items(),
DataComponent(),
TrimMaterials(),
TrimPatterns(),
Blocks(),
MultiNoise(),
MultiNoise().Sample(),
Expand Down
32 changes: 32 additions & 0 deletions src/main/kotlin/de/snowii/extractor/extractors/TrimMaterials.kt
Original file line number Diff line number Diff line change
@@ -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
}
}
32 changes: 32 additions & 0 deletions src/main/kotlin/de/snowii/extractor/extractors/TrimPatterns.kt
Original file line number Diff line number Diff line change
@@ -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
}
}