From bfc5c7ee7062a1b4f8d00bb8e241964c491da05e Mon Sep 17 00:00:00 2001 From: laptop59 Date: Sat, 28 Feb 2026 18:47:44 +0530 Subject: [PATCH] added `instruments.json` to be generated --- .../kotlin/de/snowii/extractor/Extractor.kt | 1 + .../extractor/extractors/Instruments.kt | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/main/kotlin/de/snowii/extractor/extractors/Instruments.kt diff --git a/src/main/kotlin/de/snowii/extractor/Extractor.kt b/src/main/kotlin/de/snowii/extractor/Extractor.kt index c513f19..729f2b8 100644 --- a/src/main/kotlin/de/snowii/extractor/Extractor.kt +++ b/src/main/kotlin/de/snowii/extractor/Extractor.kt @@ -86,6 +86,7 @@ class Extractor : ModInitializer { FlowerPotTransformation(), Fuels(), RecipeRemainder(), + Instruments(), ChunkDumpTests.NoiseDump( "no_blend_no_beard_0_0.chunk", 0, diff --git a/src/main/kotlin/de/snowii/extractor/extractors/Instruments.kt b/src/main/kotlin/de/snowii/extractor/extractors/Instruments.kt new file mode 100644 index 0000000..1d28a15 --- /dev/null +++ b/src/main/kotlin/de/snowii/extractor/extractors/Instruments.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.Instrument +import net.minecraft.registry.RegistryKeys +import net.minecraft.registry.RegistryOps +import net.minecraft.server.MinecraftServer + +class Instruments : Extractor.Extractor { + override fun fileName(): String { + return "instruments.json" + } + + override fun extract(server: MinecraftServer): JsonElement { + val instruments = JsonObject() + + for (instrument in server.registryManager.getOrThrow(RegistryKeys.INSTRUMENT).streamEntries().toList()) { + instruments.add( + instrument.key.get().value.toString(), + Instrument.CODEC.encodeStart( + RegistryOps.of(JsonOps.INSTANCE, server.registryManager), + instrument.value() + ).getOrThrow() + ) + } + + return instruments + } +} \ No newline at end of file