extract argument types (22w12a+)

This commit is contained in:
Bixilon 2022-05-23 17:44:22 +02:00
parent e357808ceb
commit da7079caff
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 23 additions and 0 deletions

View File

@ -10,6 +10,7 @@ import de.bixilon.pixlyzer.generator.generators.variants.FrogVariantGenerator
object Generators {
val GENERATORS: List<Generator> = mutableListOf(
ArgumentTypeGenerator,
CatVariantGenerator,
FrogVariantGenerator,

View File

@ -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<Any>?
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
}
}
}