From da7079caff0df06c0a66cf16b98aef40e9e464b1 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Mon, 23 May 2022 17:44:22 +0200 Subject: [PATCH] extract argument types (22w12a+) --- .../bixilon/pixlyzer/generator/Generators.kt | 1 + .../generators/ArgumentTypeGenerator.kt | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 src/main/kotlin/de/bixilon/pixlyzer/generator/generators/ArgumentTypeGenerator.kt diff --git a/src/main/kotlin/de/bixilon/pixlyzer/generator/Generators.kt b/src/main/kotlin/de/bixilon/pixlyzer/generator/Generators.kt index c9d2d8f..845c44b 100644 --- a/src/main/kotlin/de/bixilon/pixlyzer/generator/Generators.kt +++ b/src/main/kotlin/de/bixilon/pixlyzer/generator/Generators.kt @@ -10,6 +10,7 @@ import de.bixilon.pixlyzer.generator.generators.variants.FrogVariantGenerator object Generators { val GENERATORS: List = mutableListOf( + ArgumentTypeGenerator, CatVariantGenerator, FrogVariantGenerator, diff --git a/src/main/kotlin/de/bixilon/pixlyzer/generator/generators/ArgumentTypeGenerator.kt b/src/main/kotlin/de/bixilon/pixlyzer/generator/generators/ArgumentTypeGenerator.kt new file mode 100644 index 0000000..fdd1f7d --- /dev/null +++ b/src/main/kotlin/de/bixilon/pixlyzer/generator/generators/ArgumentTypeGenerator.kt @@ -0,0 +1,22 @@ +package de.bixilon.pixlyzer.generator.generators + +import de.bixilon.pixlyzer.generator.Generator +import de.bixilon.pixlyzer.util.ReflectionUtil.getField +import de.bixilon.pixlyzer.util.Util.compound +import net.minecraft.util.registry.Registry + +object ArgumentTypeGenerator : Generator( + "argument_type", + allowEmpty = true, +) { + private val ARGUMENT_TYPE_REGISTRY = getField(Registry::class.java, "COMMAND_ARGUMENT_TYPE")?.get(null) as Registry? + + override fun generate() { + for (type in ARGUMENT_TYPE_REGISTRY ?: return) { + val data = compound() + data["id"] = ARGUMENT_TYPE_REGISTRY.getRawId(type) + this.data[ARGUMENT_TYPE_REGISTRY.getId(type).toString()] = data + } + } +} +