diff --git a/.gitignore b/.gitignore index 5156401ca..bd1261651 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,7 @@ hs_err_pid* ### Gradle template .gradle -/build/ +**/build/ # Ignore Gradle GUI config gradle-app.setting @@ -45,6 +45,7 @@ gradle-app.setting # IDEA files .idea/ +**/out/ # # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 # gradle/wrapper/gradle-wrapper.properties @@ -56,5 +57,7 @@ gradle-app.setting /.mixin.out/ # When compiling we get a docs folder -/docs -.mixin.out/ +**/docs + +# The data for generation and the resources is included in this folder +src/main/resources/minecraft_data \ No newline at end of file diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 303df618c..000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "prismarine-minecraft-data"] - path = prismarine-minecraft-data - url = https://github.com/PrismarineJS/minecraft-data diff --git a/build.gradle b/build.gradle index 2b26a2602..65af022cd 100644 --- a/build.gradle +++ b/build.gradle @@ -39,6 +39,9 @@ allprojects { maven { url "https://repo.velocitypowered.com/snapshots/" } + maven { + url "https://repo.minestom.com/repository/maven-public/" + } } javadoc { options { @@ -72,14 +75,6 @@ sourceSets { srcDir 'src/autogenerated/java' } } - generators { - java { - srcDir 'src/generators/java' - } - - compileClasspath += sourceSets.main.runtimeClasspath - runtimeClasspath += sourceSets.main.runtimeClasspath - } lwjgl { java { srcDir 'src/lwjgl/java' @@ -98,12 +93,6 @@ java { withSourcesJar() } - registerFeature("generators") { - usingSourceSet(sourceSets.generators) - withJavadocJar() - withSourcesJar() - } - withJavadocJar() withSourcesJar() } @@ -185,6 +174,9 @@ dependencies { } } + // This is the data Minestom uses. from https://github.com/Minestom/MinestomDataGenerator + api "net.minestom:minestom-data-customizable:${rootProject.properties.get("mcVersion")}" + api "com.github.Minestom:DependencyGetter:v1.0.1" // Adventure, for user-interface @@ -207,9 +199,6 @@ dependencies { lwjglRuntimeOnly "org.lwjgl:lwjgl-opengl::$lwjglNatives" lwjglRuntimeOnly "org.lwjgl:lwjgl-opengles::$lwjglNatives" lwjglRuntimeOnly "org.lwjgl:lwjgl-glfw::$lwjglNatives" - - - generatorsImplementation("com.squareup:javapoet:1.13.0") } configurations.all { @@ -223,4 +212,4 @@ publishing { from components.java } } -} \ No newline at end of file +} diff --git a/code-generators/build.gradle b/code-generators/build.gradle new file mode 100644 index 000000000..555b04ef8 --- /dev/null +++ b/code-generators/build.gradle @@ -0,0 +1,40 @@ +plugins { + id 'java' + id 'application' + // Used to download our data +} + +group 'net.minestom.server' +version '1.0' + +sourceCompatibility = 1.11 + +application { + mainClass.set("net.minestom.codegen.Generators") +} + +dependencies { + implementation 'com.google.code.gson:gson:2.8.6' + implementation 'org.jetbrains:annotations:20.1.0' + implementation 'com.squareup:javapoet:1.13.0' + // Logging + implementation 'org.apache.logging.log4j:log4j-core:2.14.0' + // SLF4J is the base logger for most libraries, therefore we can hook it into log4j2. + implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.14.0' + // This is the data Minestom uses. from https://github.com/Minestom/MinestomDataGenerator + implementation "net.minestom:minestom-data-customizable:${rootProject.properties.get("mcVersion")}" +} + + +run { + // Update version + setArgs(List.of( + // Point to gradle.properties "mcVersion" + rootProject.properties.get("mcVersion"), + // If the source is 'classes' it will load from the dependency "net.minestom:minestom-data-customizable:version" + "resources", + // Points to src/autogenerated/java + project.rootProject.projectDir.getPath() + "${File.separatorChar}src${File.separatorChar}autogenerated${File.separatorChar}java" + ) as List + ) +} diff --git a/code-generators/minestom_checks.xml b/code-generators/minestom_checks.xml new file mode 100644 index 000000000..082918382 --- /dev/null +++ b/code-generators/minestom_checks.xml @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code-generators/src/main/java/net/minestom/codegen/Generators.java b/code-generators/src/main/java/net/minestom/codegen/Generators.java new file mode 100644 index 000000000..288a0da70 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/Generators.java @@ -0,0 +1,103 @@ +package net.minestom.codegen; + +import net.minestom.codegen.blocks.BlockGenerator; +import net.minestom.codegen.entity.EntityTypeGenerator; +import net.minestom.codegen.fluid.FluidGenerator; +import net.minestom.codegen.item.EnchantmentGenerator; +import net.minestom.codegen.item.MaterialGenerator; +import net.minestom.codegen.particle.ParticleGenerator; +import net.minestom.codegen.potion.PotionEffectGenerator; +import net.minestom.codegen.potion.PotionTypeGenerator; +import net.minestom.codegen.sound.SoundEventGenerator; +import net.minestom.codegen.statistics.StatisticGenerator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; + +public class Generators { + private static final Logger LOGGER = LoggerFactory.getLogger(Generators.class); + + public static void main(String[] args) throws FileNotFoundException { + if (args.length < 3) { + LOGGER.error("Usage: "); + return; + } + String targetVersion = args[0].replace(".", "_"); + boolean resourceMode = false; + if (args[1].equals("resources")) { + resourceMode = true; + } + File inputFolder = new File(args[1]); // This will be ignored if resourceMode = true + File outputFolder = new File(args[2]); + // Generate blocks + new BlockGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_blocks.json") : new FileInputStream(new File(inputFolder, targetVersion + "_blocks.json")), + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_block_properties.json") : new FileInputStream(new File(inputFolder, targetVersion + "_block_properties.json")), + outputFolder + ).generate(); + // Generate fluids + new FluidGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_fluids.json") : new FileInputStream(new File(inputFolder, targetVersion + "_fluids.json")), + outputFolder + ).generate(); + // Generate entities + new EntityTypeGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_entities.json") : new FileInputStream(new File(inputFolder, targetVersion + "_entities.json")), + outputFolder + ).generate(); + // Generate items + new MaterialGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_items.json") : new FileInputStream(new File(inputFolder, targetVersion + "_items.json")), + outputFolder + ).generate(); + // Generate enchantments + new EnchantmentGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_enchantments.json") : new FileInputStream(new File(inputFolder, targetVersion + "_enchantments.json")), + outputFolder + ).generate(); + // TODO: Generate attributes +// new AttributeGenerator( +// new File(inputFolder, targetVersion + "_attributes.json"), +// outputFolder +// ).generate(); + // Generate potion effects + new PotionEffectGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_potion_effects.json") : new FileInputStream(new File(inputFolder, targetVersion + "_potion_effects.json")), + outputFolder + ).generate(); + // Generate potions + new PotionTypeGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_potions.json") : new FileInputStream(new File(inputFolder, targetVersion + "_potions.json")), + outputFolder + ).generate(); + // Generate particles + new ParticleGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_particles.json") : new FileInputStream(new File(inputFolder, targetVersion + "_particles.json")), + outputFolder + ).generate(); + // Generate sounds + new SoundEventGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_sounds.json") : new FileInputStream(new File(inputFolder, targetVersion + "_sounds.json")), + outputFolder + ).generate(); + // TODO: Generate villager professions +// new VillagerProfessionGenerator( +// new File(inputFolder, targetVersion + "_villager_professions.json"), +// outputFolder +// ).generate(); + // TODO: Generate villager types +// new VillagerTypeGenerator( +// new File(inputFolder, targetVersion + "_villager_types.json"), +// outputFolder +// ).generate(); + // Generate statistics + new StatisticGenerator( + resourceMode ? Generators.class.getResourceAsStream("/" + targetVersion + "_custom_statistics.json") : new FileInputStream(new File(inputFolder, targetVersion + "_custom_statistics.json")), + outputFolder + ).generate(); + LOGGER.info("Finished generating code"); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/MinestomCodeGenerator.java b/code-generators/src/main/java/net/minestom/codegen/MinestomCodeGenerator.java new file mode 100644 index 000000000..6f2787267 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/MinestomCodeGenerator.java @@ -0,0 +1,29 @@ +package net.minestom.codegen; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.squareup.javapoet.JavaFile; +import org.jetbrains.annotations.NotNull; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.IOException; +import java.util.List; + +public abstract class MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(MinestomCodeGenerator.class); + protected static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(); + + public abstract void generate(); + + protected void writeFiles(@NotNull List fileList, File outputFolder) { + for (JavaFile javaFile : fileList) { + try { + javaFile.writeTo(outputFolder); + } catch (IOException e) { + LOGGER.error("An error occured while writing source code to the file system.", e); + } + } + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/attribute/AttributeGenerator.java b/code-generators/src/main/java/net/minestom/codegen/attribute/AttributeGenerator.java new file mode 100644 index 000000000..ceb54225d --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/attribute/AttributeGenerator.java @@ -0,0 +1,258 @@ +package net.minestom.codegen.attribute; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.ClassName; +import com.squareup.javapoet.CodeBlock; +import com.squareup.javapoet.FieldSpec; +import com.squareup.javapoet.JavaFile; +import com.squareup.javapoet.MethodSpec; +import com.squareup.javapoet.ParameterSpec; +import com.squareup.javapoet.ParameterizedTypeName; +import com.squareup.javapoet.TypeName; +import com.squareup.javapoet.TypeSpec; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.File; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; + +public final class AttributeGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(AttributeGenerator.class); + private final InputStream attributesFile; + private final File outputFolder; + + public AttributeGenerator(@Nullable InputStream attributesFile, @NotNull File outputFolder) { + this.attributesFile = attributesFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (attributesFile == null) { + LOGGER.error("Failed to find attributes.json."); + LOGGER.error("Stopped code generation for attributes."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registryClassName = ClassName.get("net.minestom.server.registry", "Registry"); + + JsonArray attributes = GSON.fromJson(new JsonReader(new InputStreamReader(attributesFile)), JsonArray.class); + List filesToWrite = new ArrayList<>(); + + ClassName attributeClassName = ClassName.get("net.minestom.server.attribute", "Attribute"); + + // Attribute + TypeSpec.Builder attributeClass = TypeSpec.classBuilder(attributeClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + attributeClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + attributeClass.addField( + FieldSpec.builder(TypeName.DOUBLE, "defaultValue") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + attributeClass.addField( + FieldSpec.builder(TypeName.BOOLEAN, "clientSyncable") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + attributeClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addParameter(ParameterSpec.builder(TypeName.BOOLEAN, "clientSyncable").build()) + .addParameter(ParameterSpec.builder(TypeName.DOUBLE, "defaultValue").build()) + .addStatement("this.id = id") + .addStatement("this.clientSyncable = clientSyncable") + .addStatement("this.defaultValue = defaultValue") + .addModifiers(Modifier.PROTECTED) + .build() + ); + // Override key method (adventure) + attributeClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + attributeClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getDefaultValue + attributeClass.addMethod( + MethodSpec.methodBuilder("getDefaultValue") + .returns(TypeName.DOUBLE) + .addStatement("return this.defaultValue") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isClientSyncable + attributeClass.addMethod( + MethodSpec.methodBuilder("isClientSyncable") + .returns(TypeName.BOOLEAN) + .addStatement("return this.clientSyncable") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isShared + attributeClass.addMethod( + MethodSpec.methodBuilder("isShared") + .addAnnotation(Deprecated.class) + .returns(TypeName.BOOLEAN) + .addStatement("return this.clientSyncable") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // values method + attributeClass.addMethod( + MethodSpec.methodBuilder("values") + .addAnnotation(NotNull.class) + .returns(ParameterizedTypeName.get(ClassName.get(List.class), attributeClassName)) + .addStatement("return $T.ATTRIBUTE_REGISTRY.values()", registryClassName) + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + attributeClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // Creating ClampedAttribute + ClassName clampedAttributeClassName = ClassName.get("net.minestom.server.attribute", "ClampedAttribute"); + + TypeSpec.Builder clampedAttributeClass = TypeSpec.classBuilder(clampedAttributeClassName) + .superclass(attributeClassName) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + clampedAttributeClass.addField( + FieldSpec.builder(TypeName.DOUBLE, "minValue") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + clampedAttributeClass.addField( + FieldSpec.builder(TypeName.DOUBLE, "maxValue") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + clampedAttributeClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addParameter(ParameterSpec.builder(TypeName.BOOLEAN, "clientSyncable").build()) + .addParameter(ParameterSpec.builder(TypeName.DOUBLE, "defaultValue").build()) + .addParameter(ParameterSpec.builder(TypeName.DOUBLE, "minValue").build()) + .addParameter(ParameterSpec.builder(TypeName.DOUBLE, "maxValue").build()) + .addStatement("super(id, clientSyncable, defaultValue)") + .addStatement("this.minValue = minValue") + .addStatement("this.maxValue = maxValue") + .addModifiers(Modifier.PROTECTED) + .build() + ); + // getMinValue + clampedAttributeClass.addMethod( + MethodSpec.methodBuilder("getMinValue") + .returns(TypeName.DOUBLE) + .addStatement("return this.minValue") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getMaxValue + clampedAttributeClass.addMethod( + MethodSpec.methodBuilder("getMaxValue") + .returns(TypeName.DOUBLE) + .addStatement("return this.maxValue") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + CodeBlock.Builder staticBlock = CodeBlock.builder(); + // Use data + for (JsonElement a : attributes) { + JsonObject attribute = a.getAsJsonObject(); + String attributeName = attribute.get("name").getAsString(); + + JsonObject range = attribute.getAsJsonObject("range"); + if (range == null) { + // Normal attribute + attributeClass.addField( + FieldSpec.builder( + attributeClassName, + attributeName + ).initializer( + "new $T($T.from($S), $L, $L)", + attributeClassName, + namespaceIDClassName, + attribute.get("id").getAsString(), + attribute.get("clientSync").getAsBoolean(), + attribute.get("defaultValue").getAsDouble() + ).addModifiers(Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).build() + ); + } else { + // ClampedAttribute + attributeClass.addField( + FieldSpec.builder( + attributeClassName, + attributeName + ).initializer( + "new $T($T.from($S), $L, $L, $L, $L)", + clampedAttributeClassName, + namespaceIDClassName, + attribute.get("id").getAsString(), + attribute.get("clientSync").getAsBoolean(), + attribute.get("defaultValue").getAsDouble(), + range.get("minValue").getAsDouble(), + range.get("maxValue").getAsDouble() + ).addModifiers(Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).build() + ); + } + // Add to static init. + staticBlock.addStatement("$T.ATTRIBUTE_REGISTRY.register($N)", registryClassName, attributeName); + } + attributeClass.addStaticBlock(staticBlock.build()); + + filesToWrite.add( + JavaFile.builder("net.minestom.server.attribute", attributeClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ); + filesToWrite.add( + JavaFile.builder("net.minestom.server.attribute", clampedAttributeClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ); + + // Write files to outputFolder + writeFiles( + filesToWrite, + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/blocks/BlockGenerator.java b/code-generators/src/main/java/net/minestom/codegen/blocks/BlockGenerator.java new file mode 100644 index 000000000..19842d7ec --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/blocks/BlockGenerator.java @@ -0,0 +1,409 @@ +package net.minestom.codegen.blocks; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import net.minestom.codegen.util.NameUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.File; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +public final class BlockGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(BlockGenerator.class); + private final InputStream blocksFile; + private final InputStream blockPropertyFile; + private final File outputFolder; + + public BlockGenerator(@Nullable InputStream blocksFile, @Nullable InputStream blockPropertyFile, @NotNull File outputFolder) { + this.blocksFile = blocksFile; + this.blockPropertyFile = blockPropertyFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (blocksFile == null) { + LOGGER.error("Failed to find blocks.json."); + LOGGER.error("Stopped code generation for blocks."); + return; + } + if (blockPropertyFile == null) { + LOGGER.error("Failed to find block_properties.json."); + LOGGER.error("Stopped code generation for block properties."); + return; + } + + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray blocks = GSON.fromJson(new JsonReader(new InputStreamReader(blocksFile)), JsonArray.class); + + ClassName blockClassName = ClassName.get("net.minestom.server.instance.block", "Block"); + ClassName blockAltClassName = ClassName.get("net.minestom.server.instance.block", "BlockAlternative"); + List filesToWrite = new ArrayList<>(); + + // Block + TypeSpec.Builder blockClass = TypeSpec.enumBuilder(blockClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + blockClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + blockClass.addField( + FieldSpec.builder(TypeName.SHORT, "defaultID") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + blockClass.addField( + FieldSpec.builder(TypeName.DOUBLE, "hardness") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + blockClass.addField( + FieldSpec.builder(TypeName.DOUBLE, "resistance") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + blockClass.addField( + FieldSpec.builder(TypeName.BOOLEAN, "isAir") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + blockClass.addField( + FieldSpec.builder(TypeName.BOOLEAN, "isSolid") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + blockClass.addField( + FieldSpec.builder(TypeName.BOOLEAN, "blockEntity") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + blockClass.addField( + FieldSpec.builder(TypeName.BOOLEAN, "singleState") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + blockClass.addField( + FieldSpec.builder(ParameterizedTypeName.get(ClassName.get("java.util", "List"), blockAltClassName), "alternatives") + .initializer("new $T<>()", ClassName.get("java.util", "ArrayList")) + .addModifiers(Modifier.PRIVATE, Modifier.FINAL) + .addAnnotation(NotNull.class) + .build() + ); + // Block constructor + blockClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addParameter(TypeName.SHORT, "defaultID") + .addParameter(TypeName.DOUBLE, "hardness") + .addParameter(TypeName.DOUBLE, "resistance") + .addParameter(TypeName.BOOLEAN, "isAir") + .addParameter(TypeName.BOOLEAN, "isSolid") + .addParameter(TypeName.BOOLEAN, "blockEntity") + .addParameter(TypeName.BOOLEAN, "singleState") + + .addStatement("this.id = id") + .addStatement("this.defaultID = defaultID") + .addStatement("this.hardness = hardness") + .addStatement("this.resistance = resistance") + .addStatement("this.isAir = isAir") + .addStatement("this.isSolid = isSolid") + .addStatement("this.blockEntity = blockEntity") + .addStatement("this.singleState = singleState") + .beginControlFlow("if (singleState)") + .addStatement("addBlockAlternative(new $T(defaultID))", blockAltClassName) + .endControlFlow() + .addStatement("$T.blocks.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + blockClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // addBlockState method + blockClass.addMethod( + MethodSpec.methodBuilder("addBlockAlternative") + .addParameter(ParameterSpec.builder(blockAltClassName, "alternative").addAnnotation(NotNull.class).build()) + + .addStatement("this.alternatives.add(alternative)") + .addStatement("BlockArray.blocks[alternative.getId()] = this") + .addModifiers(Modifier.PUBLIC, Modifier.FINAL) + .build() + ); + // getId method + blockClass.addMethod( + MethodSpec.methodBuilder("getBlockId") + .returns(TypeName.SHORT) + .addStatement("return defaultID") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getName method + blockClass.addMethod( + MethodSpec.methodBuilder("getName") + .addAnnotation(NotNull.class) + .returns(ClassName.get(String.class)) + .addStatement("return this.id.asString()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getHardness method + blockClass.addMethod( + MethodSpec.methodBuilder("getHardness") + .returns(TypeName.DOUBLE) + .addStatement("return this.hardness") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getResistance method + blockClass.addMethod( + MethodSpec.methodBuilder("getResistance") + .returns(TypeName.DOUBLE) + .addStatement("return this.resistance") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // breakInstantaneously method + blockClass.addMethod( + MethodSpec.methodBuilder("breaksInstantaneously") + .returns(TypeName.BOOLEAN) + .addStatement("return this.hardness == 0") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getBlockStates method + blockClass.addMethod( + MethodSpec.methodBuilder("getAlternatives") + .returns(ParameterizedTypeName.get(ClassName.get(List.class), blockAltClassName)) + .addAnnotation(NotNull.class) + .addStatement("return this.alternatives") + .addModifiers(Modifier.PUBLIC, Modifier.FINAL) // Should this be final, for now I guess so. + .build() + ); + // isAir method + blockClass.addMethod( + MethodSpec.methodBuilder("isAir") + .returns(TypeName.BOOLEAN) + // UPDATE: Make sure they didn't add new AIR types. + .addStatement("return isAir") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isLiquid method + blockClass.addMethod( + MethodSpec.methodBuilder("isLiquid") + .returns(TypeName.BOOLEAN) + // UPDATE: Make sure they didn't add new liquids. + .addStatement("return this == WATER || this == LAVA") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isSolid method + blockClass.addMethod( + MethodSpec.methodBuilder("isSolid") + .returns(TypeName.BOOLEAN) + // UPDATE: Make sure they didn't add new liquids. + .addStatement("return isSolid") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // hasBlockEntity method + blockClass.addMethod( + MethodSpec.methodBuilder("hasBlockEntity") + .returns(TypeName.BOOLEAN) + .addStatement("return blockEntity") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getAlternative method + blockClass.addMethod( + MethodSpec.methodBuilder("getAlternative") + .returns(blockAltClassName) + .addParameter(TypeName.SHORT, "blockId") + .addAnnotation(Nullable.class) + .beginControlFlow("for ($T alt : alternatives) ", blockAltClassName) + .beginControlFlow("if (alt.getId() == blockId)") + .addStatement("return alt") + .endControlFlow() + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // withProperties method + blockClass.addMethod( + MethodSpec.methodBuilder("withProperties") + .returns(TypeName.SHORT) + .addParameter( + ParameterSpec.builder(ArrayTypeName.of(String.class), "properties").addAnnotation(NotNull.class).build() + ).varargs() + .beginControlFlow("for ($T alt : alternatives)", blockAltClassName) + .beginControlFlow("if ($T.equals(alt.getProperties(), properties))", Arrays.class) + .addStatement("return alt.getId()") + .endControlFlow() + .endControlFlow() + .addStatement("return this.defaultID") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromStateId method + blockClass.addMethod( + MethodSpec.methodBuilder("fromStateId") + .returns(blockClassName) + .addParameter(TypeName.SHORT, "blockStateId") + .addStatement("return BlockArray.blocks[blockStateId]") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + blockClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // Staticblock in Block enum + CodeBlock.Builder staticBlock = CodeBlock.builder(); + // Use data + for (JsonElement b : blocks) { + JsonObject block = b.getAsJsonObject(); + + String blockName = block.get("name").getAsString(); + JsonArray states = block.get("states").getAsJsonArray(); + // Enum constant in Block + blockClass.addEnumConstant(blockName, TypeSpec.anonymousClassBuilder( + "$T.from($S), (short) $L, $L, $L, $L, $L, $L, $L", + namespaceIDClassName, + block.get("id").getAsString(), + block.get("defaultBlockState").getAsShort(), + states.get(0).getAsJsonObject().get("destroySpeed").getAsDouble(), + block.get("explosionResistance").getAsDouble(), + states.get(0).getAsJsonObject().get("isAir").getAsBoolean(), + states.get(0).getAsJsonObject().get("isSolid").getAsBoolean(), + block.get("blockEntity").getAsBoolean(), + states.size() == 1 + ).build() + ); + if (states.size() > 1) { + ClassName blockStateSpecificClassName = ClassName.get( + "net.minestom.server.instance.block.states", + NameUtil.convertSnakeCaseToCamelCase(blockName.toLowerCase()) + ); + + // Common blockStateSpecificClass structure + TypeSpec.Builder blockStateSpecificClass = TypeSpec.classBuilder(blockStateSpecificClassName) + .addAnnotation( + AnnotationSpec.builder(Deprecated.class) + .addMember("since", "$S", "forever") + .addMember("forRemoval", "$L", false).build() + ) + .addModifiers(Modifier.PUBLIC, Modifier.FINAL).addJavadoc("Completely internal. DO NOT USE. IF YOU ARE A USER AND FACE A PROBLEM WHILE USING THIS CODE, THAT'S ON YOU."); + + // initStates method + MethodSpec.Builder initStatesMethod = MethodSpec.methodBuilder("initStates") + .addJavadoc("Completely internal. DO NOT USE. IF YOU ARE A USER AND FACE A PROBLEM WHILE USING THIS CODE, THAT'S ON YOU.") + .addAnnotation( + AnnotationSpec.builder(Deprecated.class) + .addMember("since", "$S", "forever") + .addMember("forRemoval", "$L", false).build() + ) + .addModifiers(Modifier.PUBLIC, Modifier.STATIC); + + // init States methods in block specific classes + for (JsonElement s : states) { + JsonObject state = s.getAsJsonObject(); + + // block state properties + JsonObject properties = state.get("properties").getAsJsonObject(); + if (properties.size() != 0) { + StringBuilder propertiesStr = new StringBuilder(); + // has properties + for (Map.Entry entry : properties.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue().getAsString().toLowerCase(); + propertiesStr.append('"').append(key).append('=').append(value).append("\", "); + } + // Delete last comma and space + propertiesStr.deleteCharAt(propertiesStr.length() - 1); + propertiesStr.deleteCharAt(propertiesStr.length() - 1); + + initStatesMethod.addStatement( + "$T.$N.addBlockAlternative(new $T((short) $L, **REPLACE**))".replace("**REPLACE**", propertiesStr.toString()), + blockClassName, + blockName, + blockAltClassName, + state.get("id").getAsShort() + ); + } else { + // has no properties + initStatesMethod.addStatement( + "$T.$N.addBlockAlternative(new $T((short) $L))", + blockClassName, + blockName, + blockAltClassName, + state.get("id").getAsShort() + ); + } + + } + + // Add initStates method + blockStateSpecificClass.addMethod(initStatesMethod.build()); + + // Add initStates method refence to static block + staticBlock.addStatement("$T.initStates()", blockStateSpecificClassName); + + // Add BlockStates to list of files we need to write: + filesToWrite.add( + JavaFile.builder("net.minestom.server.instance.block.states", blockStateSpecificClass.build() + ) + .indent(" ") + .skipJavaLangImports(true) + .build()); + } + } + blockClass.addStaticBlock(staticBlock.build()); + // Add ignore deprecations annotation + blockClass.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "$S", "deprecation").build()); + + + // Add Block & BlockState to list of files we need to write: + filesToWrite.add( + JavaFile.builder("net.minestom.server.instance.block", blockClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ); + + // Write files to outputFolder + writeFiles(filesToWrite, outputFolder); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/entity/EntityTypeGenerator.java b/code-generators/src/main/java/net/minestom/codegen/entity/EntityTypeGenerator.java new file mode 100644 index 000000000..b40560ff7 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/entity/EntityTypeGenerator.java @@ -0,0 +1,438 @@ +package net.minestom.codegen.entity; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import net.minestom.codegen.util.NameUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.File; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.function.BiFunction; + +public final class EntityTypeGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(EntityTypeGenerator.class); + private static final Map metadata = new HashMap<>() {{ + // Class's name (without the Meta suffix) <--> Package + // UPDATE: Handle new entity metadata + // Ambient + // put("AmbientCreature", "net.minestom.server.entity.metadata.ambient"); + put("Bat", "net.minestom.server.entity.metadata.ambient"); + // Animal + // put("Animal", "net.minestom.server.entity.metadata.animal"); + put("AbstractHorse", "net.minestom.server.entity.metadata.animal"); + put("Bee", "net.minestom.server.entity.metadata.animal"); + put("ChestedHorse", "net.minestom.server.entity.metadata.animal"); + put("Chicken", "net.minestom.server.entity.metadata.animal"); + put("Cow", "net.minestom.server.entity.metadata.animal"); + put("Donkey", "net.minestom.server.entity.metadata.animal"); + put("Fox", "net.minestom.server.entity.metadata.animal"); + put("Hoglin", "net.minestom.server.entity.metadata.animal"); + put("Horse", "net.minestom.server.entity.metadata.animal"); + put("Llama", "net.minestom.server.entity.metadata.animal"); + put("Mooshroom", "net.minestom.server.entity.metadata.animal"); + put("Mule", "net.minestom.server.entity.metadata.animal"); + put("Ocelot", "net.minestom.server.entity.metadata.animal"); + put("Panda", "net.minestom.server.entity.metadata.animal"); + put("Pig", "net.minestom.server.entity.metadata.animal"); + put("PolarBear", "net.minestom.server.entity.metadata.animal"); + put("Rabbit", "net.minestom.server.entity.metadata.animal"); + put("Sheep", "net.minestom.server.entity.metadata.animal"); + put("SkeletonHorse", "net.minestom.server.entity.metadata.animal"); + put("Strider", "net.minestom.server.entity.metadata.animal"); + put("Turtle", "net.minestom.server.entity.metadata.animal"); + put("ZombieHorse", "net.minestom.server.entity.metadata.animal"); + // Animal - Tameable + // put("TameableAnimal", "net.minestom.server.entity.metadata.animal.tameable"); + put("Cat", "net.minestom.server.entity.metadata.animal.tameable"); + put("Parrot", "net.minestom.server.entity.metadata.animal.tameable"); + put("Wolf", "net.minestom.server.entity.metadata.animal.tameable"); + // Arrow + // put("AbstractArrow", "net.minestom.server.entity.metadata.arrow"); + put("Arrow", "net.minestom.server.entity.metadata.arrow"); + put("SpectralArrow", "net.minestom.server.entity.metadata.arrow"); + put("ThrownTrident", "net.minestom.server.entity.metadata.arrow"); + // Flying + // put("Flying", "net.minestom.server.entity.metadata.flying"); + put("Ghast", "net.minestom.server.entity.metadata.flying"); + put("Phantom", "net.minestom.server.entity.metadata.flying"); + // Golem + // put("AbstractGolem", "net.minestom.server.entity.metadata.golem"); + put("IronGolem", "net.minestom.server.entity.metadata.golem"); + put("Shulker", "net.minestom.server.entity.metadata.golem"); + put("SnowGolem", "net.minestom.server.entity.metadata.golem"); + // Item + put("EyeOfEnder", "net.minestom.server.entity.metadata.item"); + put("Fireball", "net.minestom.server.entity.metadata.item"); + put("ItemContaining", "net.minestom.server.entity.metadata.item"); + put("ItemEntity", "net.minestom.server.entity.metadata.item"); + put("SmallFireball", "net.minestom.server.entity.metadata.item"); + put("Snowball", "net.minestom.server.entity.metadata.item"); + put("ThrownEgg", "net.minestom.server.entity.metadata.item"); + put("ThrownEnderPearl", "net.minestom.server.entity.metadata.item"); + put("ThrownExperienceBottle", "net.minestom.server.entity.metadata.item"); + put("ThrownPotion", "net.minestom.server.entity.metadata.item"); + // Minecart + // put("AbstractMinecart", "net.minestom.server.entity.metadata.minecart"); + // put("AbstractMinecartContainer", "net.minestom.server.entity.metadata.minecart"); + put("ChestMinecart", "net.minestom.server.entity.metadata.minecart"); + put("CommandBlockMinecart", "net.minestom.server.entity.metadata.minecart"); + put("FurnaceMinecart", "net.minestom.server.entity.metadata.minecart"); + put("HopperMinecart", "net.minestom.server.entity.metadata.minecart"); + put("Minecart", "net.minestom.server.entity.metadata.minecart"); + put("SpawnerMinecart", "net.minestom.server.entity.metadata.minecart"); + put("TntMinecart", "net.minestom.server.entity.metadata.minecart"); + // Monster + // put("Monster", "net.minestom.server.entity.metadata.monster"); + // put("BasePiglin", "net.minestom.server.entity.metadata.monster"); + put("Blaze", "net.minestom.server.entity.metadata.monster"); + put("CaveSpider", "net.minestom.server.entity.metadata.monster"); + put("Creeper", "net.minestom.server.entity.metadata.monster"); + put("ElderGuardian", "net.minestom.server.entity.metadata.monster"); + put("Enderman", "net.minestom.server.entity.metadata.monster"); + put("Endermite", "net.minestom.server.entity.metadata.monster"); + put("Giant", "net.minestom.server.entity.metadata.monster"); + put("Guardian", "net.minestom.server.entity.metadata.monster"); + put("PiglinBrute", "net.minestom.server.entity.metadata.monster"); + put("Piglin", "net.minestom.server.entity.metadata.monster"); + put("Silverfish", "net.minestom.server.entity.metadata.monster"); + put("Spider", "net.minestom.server.entity.metadata.monster"); + put("Vex", "net.minestom.server.entity.metadata.monster"); + put("Wither", "net.minestom.server.entity.metadata.monster"); + put("Zoglin", "net.minestom.server.entity.metadata.monster"); + // Monster - Raider + // put("AbstractIllager", "net.minestom.server.entity.metadata.monster.raider") + put("Evoker", "net.minestom.server.entity.metadata.monster.raider"); + put("Illusioner", "net.minestom.server.entity.metadata.monster.raider"); + put("Pillager", "net.minestom.server.entity.metadata.monster.raider"); + put("Raider", "net.minestom.server.entity.metadata.monster.raider"); + put("Ravager", "net.minestom.server.entity.metadata.monster.raider"); + put("SpellcasterIllager", "net.minestom.server.entity.metadata.monster.raider"); + put("Vindicator", "net.minestom.server.entity.metadata.monster.raider"); + put("Witch", "net.minestom.server.entity.metadata.monster.raider"); + // Monster - Skeleton + // put("AbstractSkeleton", "net.minestom.server.entity.metadata.monster.skeleton"); + put("Skeleton", "net.minestom.server.entity.metadata.monster.skeleton"); + put("Stray", "net.minestom.server.entity.metadata.monster.skeleton"); + put("WitherSkeleton", "net.minestom.server.entity.metadata.monster.skeleton"); + // Monster - Zombie + put("Drowned", "net.minestom.server.entity.metadata.monster.zombie"); + put("Husk", "net.minestom.server.entity.metadata.monster.zombie"); + put("Zombie", "net.minestom.server.entity.metadata.monster.zombie"); + put("ZombieVillager", "net.minestom.server.entity.metadata.monster.zombie"); + put("ZombifiedPiglin", "net.minestom.server.entity.metadata.monster.zombie"); + // Other + put("AreaEffectCloud", "net.minestom.server.entity.metadata.other"); + put("ArmorStand", "net.minestom.server.entity.metadata.other"); + put("Boat", "net.minestom.server.entity.metadata.other"); + put("DragonFireball", "net.minestom.server.entity.metadata.other"); + put("EndCrystal", "net.minestom.server.entity.metadata.other"); + put("EnderDragon", "net.minestom.server.entity.metadata.other"); + put("EvokerFangs", "net.minestom.server.entity.metadata.other"); + put("ExperienceOrb", "net.minestom.server.entity.metadata.other"); + put("FallingBlock", "net.minestom.server.entity.metadata.other"); + put("FireworkRocket", "net.minestom.server.entity.metadata.other"); + put("FishingHook", "net.minestom.server.entity.metadata.other"); + put("ItemFrame", "net.minestom.server.entity.metadata.other"); + put("LeashKnot", "net.minestom.server.entity.metadata.other"); + put("LightningBolt", "net.minestom.server.entity.metadata.other"); + put("LlamaSpit", "net.minestom.server.entity.metadata.other"); + put("MagmaCube", "net.minestom.server.entity.metadata.other"); + put("Painting", "net.minestom.server.entity.metadata.other"); + put("PrimedTnt", "net.minestom.server.entity.metadata.other"); + put("ShulkerBullet", "net.minestom.server.entity.metadata.other"); + put("Slime", "net.minestom.server.entity.metadata.other"); + put("TraderLlama", "net.minestom.server.entity.metadata.other"); + put("WitherSkull", "net.minestom.server.entity.metadata.other"); + // Villager + // put("AbstractVillager", "net.minestom.server.entity.metadata.villager"); + put("Villager", "net.minestom.server.entity.metadata.villager"); + put("WanderingTrader", "net.minestom.server.entity.metadata.villager"); + // Water + // put("WaterAnimalMeta", "net.minestom.server.entity.metadata.water") + put("Squid", "net.minestom.server.entity.metadata.water"); + put("Dolphin", "net.minestom.server.entity.metadata.water"); + // Water - Fish + // put("AbstractFish", "net.minestom.server.entity.metadata.water.fish"); + put("Cod", "net.minestom.server.entity.metadata.water.fish"); + put("Pufferfish", "net.minestom.server.entity.metadata.water.fish"); + put("Salmon", "net.minestom.server.entity.metadata.water.fish"); + put("TropicalFish", "net.minestom.server.entity.metadata.water.fish"); + // Player + put("Player", "net.minestom.server.entity.metadata"); + + }}; + private final InputStream entitiesFile; + private final File outputFolder; + + public EntityTypeGenerator(@Nullable InputStream entitiesFile, @NotNull File outputFolder) { + this.entitiesFile = entitiesFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (entitiesFile == null) { + LOGGER.error("Failed to find entities.json."); + LOGGER.error("Stopped code generation for entities."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray entities = GSON.fromJson(new JsonReader(new InputStreamReader(entitiesFile)), JsonArray.class); + ClassName entityClassName = ClassName.get("net.minestom.server.entity", "EntityType"); + + // Particle + TypeSpec.Builder entityClass = TypeSpec.enumBuilder(entityClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + entityClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + entityClass.addField( + FieldSpec.builder(TypeName.DOUBLE, "width") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + entityClass.addField( + FieldSpec.builder(TypeName.DOUBLE, "height") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + entityClass.addField( + FieldSpec.builder( + ParameterizedTypeName.get( + ClassName.get(BiFunction.class), + ClassName.get("net.minestom.server.entity", "Entity"), + ClassName.get("net.minestom.server.entity", "Metadata"), + ClassName.get("net.minestom.server.entity.metadata", "EntityMeta") + ), + "metaConstructor" + ) + .addModifiers(Modifier.PRIVATE, Modifier.FINAL) + .addAnnotation(NotNull.class) + .build() + ); + entityClass.addField( + FieldSpec.builder( + ClassName.get("net.minestom.server.entity", "EntitySpawnType"), + "spawnType" + ) + .addModifiers(Modifier.PRIVATE, Modifier.FINAL) + .addAnnotation(NotNull.class) + .build() + ); + // static field + entityClass.addField( + FieldSpec.builder(ArrayTypeName.of(entityClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + + entityClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addParameter(ParameterSpec.builder(TypeName.DOUBLE, "width").build()) + .addParameter(ParameterSpec.builder(TypeName.DOUBLE, "height").build()) + .addParameter( + ParameterSpec.builder( + ParameterizedTypeName.get( + ClassName.get(BiFunction.class), + ClassName.get("net.minestom.server.entity", "Entity"), + ClassName.get("net.minestom.server.entity", "Metadata"), + ClassName.get("net.minestom.server.entity.metadata", "EntityMeta") + ), + "metaConstructor" + ) + .addAnnotation(NotNull.class) + .build() + ) + .addParameter( + ParameterSpec.builder( + ClassName.get("net.minestom.server.entity", "EntitySpawnType"), + "spawnType" + ) + .addAnnotation(NotNull.class) + .build() + ) + .addStatement("this.id = id") + .addStatement("this.width = width") + .addStatement("this.height = height") + .addStatement("this.metaConstructor = metaConstructor") + .addStatement("this.spawnType = spawnType") + .addStatement("$T.entityTypes.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + entityClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + entityClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) ordinal()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + entityClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getWidth method + entityClass.addMethod( + MethodSpec.methodBuilder("getWidth") + .returns(TypeName.DOUBLE) + .addStatement("return this.width") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getHeight method + entityClass.addMethod( + MethodSpec.methodBuilder("getHeight") + .returns(TypeName.DOUBLE) + .addStatement("return this.height") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getMetaConstructor method + entityClass.addMethod( + MethodSpec.methodBuilder("getMetaConstructor") + .returns( + ParameterizedTypeName.get( + ClassName.get(BiFunction.class), + ClassName.get("net.minestom.server.entity", "Entity"), + ClassName.get("net.minestom.server.entity", "Metadata"), + ClassName.get("net.minestom.server.entity.metadata", "EntityMeta") + ) + ) + .addStatement("return this.metaConstructor") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getSpawnType method + entityClass.addMethod( + MethodSpec.methodBuilder("getSpawnType") + .returns(ClassName.get("net.minestom.server.entity", "EntitySpawnType")) + .addStatement("return this.spawnType") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + entityClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(entityClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 0 && id < VALUES.length)") + .addStatement("return VALUES[id]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + entityClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // Use data + for (JsonElement e : entities) { + JsonObject entity = e.getAsJsonObject(); + + String entityName = entity.get("name").getAsString(); + + // Get metaClass (this is a little complicated) + String metaClassName = NameUtil.convertSnakeCaseToCamelCase(entityName.toLowerCase()); + switch (metaClassName) { + // These are cases where the entity name doesn't fully match up to the meta name. + // UPDATE: Handle new entity names that don't match up to their meta name. + case "Item": + metaClassName = "ItemEntity"; + break; + case "Tnt": + metaClassName = "PrimedTnt"; + break; + case "FishingBobber": + metaClassName = "FishingHook"; + break; + case "Egg": + case "EnderPearl": + case "ExperienceBottle": + case "Potion": + case "Trident": + metaClassName = "Thrown" + metaClassName; + break; + default: + break; + } + String packageName = metadata.get(metaClassName); + if (packageName == null) { + LOGGER.error("The Entity metadata for " + entity.get("id").getAsString() + " is not implemented!"); + LOGGER.error("The package for " + metaClassName + "Meta has been automatically set to 'undefined'"); + LOGGER.error("The import will be missing!"); + packageName = "undefined"; + } + + entityClass.addEnumConstant( + entityName, + TypeSpec.anonymousClassBuilder( + "$T.from($S), $L, $L, $T::new, $T.$N", + namespaceIDClassName, + entity.get("id").getAsString(), + entity.get("width").getAsDouble(), + entity.get("height").getAsDouble(), + ClassName.get(packageName, metaClassName + "Meta"), + ClassName.get("net.minestom.server.entity", "EntitySpawnType"), + entity.get("packetType").getAsString().toUpperCase() + ).build() + ); + } + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.entity", entityClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/entity/VillagerProfessionGenerator.java b/code-generators/src/main/java/net/minestom/codegen/entity/VillagerProfessionGenerator.java new file mode 100644 index 000000000..9f7e26375 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/entity/VillagerProfessionGenerator.java @@ -0,0 +1,212 @@ +package net.minestom.codegen.entity; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; +import java.util.List; + +public final class VillagerProfessionGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(VillagerProfessionGenerator.class); + private final InputStream villagerProfessionsFile; + private final File outputFolder; + + + public VillagerProfessionGenerator(@Nullable InputStream villagerProfessionsFile, @NotNull File outputFolder) { + this.villagerProfessionsFile = villagerProfessionsFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (villagerProfessionsFile == null) { + LOGGER.error("Failed to find villager_professions.json."); + LOGGER.error("Stopped code generation for villager professions."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName rawVillagerProfessionDataClassName = ClassName.get("net.minestom.server.raw_data", "RawVillagerProfessionData"); + ClassName registryClassName = ClassName.get("net.minestom.server.registry", "Registry"); + + JsonArray villagerProfessions = GSON.fromJson(new JsonReader(new InputStreamReader(villagerProfessionsFile)), JsonArray.class); + ClassName villagerProfessionClassName = ClassName.get("net.minestom.server.entity.metadata.villager", "VillagerProfession"); + + // Particle + TypeSpec.Builder villagerProfessionClass = TypeSpec.classBuilder(villagerProfessionClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + villagerProfessionClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + villagerProfessionClass.addField( + FieldSpec.builder(rawVillagerProfessionDataClassName, "villagerProfessionData") + .addModifiers(Modifier.PRIVATE, Modifier.VOLATILE) + .addAnnotation(NotNull.class) + .build() + ); + villagerProfessionClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addParameter(ParameterSpec.builder(rawVillagerProfessionDataClassName, "villagerProfessionData").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("this.villagerProfessionData = villagerProfessionData") + .addModifiers(Modifier.PROTECTED) + .build() + ); + // Override key method (adventure) + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getVillagerProfessionData method + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("getVillagerProfessionData") + .returns(rawVillagerProfessionDataClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.villagerProfessionData") + .addModifiers(Modifier.PUBLIC, Modifier.FINAL) + .build() + ); + // setVillagerProfessionData method + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("setVillagerProfessionData") + .addParameter(ParameterSpec.builder(rawVillagerProfessionDataClassName, "villagerProfessionData").addAnnotation(NotNull.class).build()) + .addStatement("this.villagerProfessionData = villagerProfessionData") + .addModifiers(Modifier.PUBLIC, Modifier.FINAL) + .build() + ); + // getNumericalId + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("getNumericalId") + .returns(TypeName.INT) + .addStatement("return $T.VILLAGER_PROFESSION_REGISTRY.getId(this)", registryClassName) + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(villagerProfessionClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.INT, "id") + .addStatement("return $T.VILLAGER_PROFESSION_REGISTRY.get((short) id)", registryClassName) + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // fromId Method + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(villagerProfessionClassName) + .addAnnotation(NotNull.class) + .addParameter(ClassName.get("net.kyori.adventure.key", "Key"), "id") + .addStatement("return $T.VILLAGER_PROFESSION_REGISTRY.get(id)", registryClassName) + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // values method + villagerProfessionClass.addMethod( + MethodSpec.methodBuilder("values") + .addAnnotation(NotNull.class) + .returns(ParameterizedTypeName.get(ClassName.get(List.class), villagerProfessionClassName)) + .addStatement("return $T.VILLAGER_PROFESSION_REGISTRY.values()", registryClassName) + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + CodeBlock.Builder staticBlock = CodeBlock.builder(); + // Use data + for (JsonElement vp : villagerProfessions) { + JsonObject villagerProfession = vp.getAsJsonObject(); + + String villagerProfessionName = villagerProfession.get("name").getAsString(); + JsonElement workSound = villagerProfession.get("workSound"); + if (workSound == null) { + villagerProfessionClass.addField( + FieldSpec.builder( + villagerProfessionClassName, + villagerProfessionName + ).initializer( + "new $T($T.from($S), new $T(() -> null))", + villagerProfessionClassName, + namespaceIDClassName, + villagerProfession.get("id").getAsString(), + + rawVillagerProfessionDataClassName + ).addModifiers(Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).build() + ); + } else { + villagerProfessionClass.addField( + FieldSpec.builder( + villagerProfessionClassName, + villagerProfessionName + ).initializer( + "new $T($T.from($S), new $T(() -> $T.SOUND_EVENT_REGISTRY.get($S)))", + villagerProfessionClassName, + namespaceIDClassName, + villagerProfession.get("id").getAsString(), + + rawVillagerProfessionDataClassName, + registryClassName, + workSound.getAsString() + ).addModifiers(Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).build() + ); + } + + // Add to static init. + staticBlock.addStatement("$T.VILLAGER_PROFESSION_REGISTRY.register($N)", registryClassName, villagerProfessionName); + } + + villagerProfessionClass.addStaticBlock(staticBlock.build()); + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.entity.metadata.villager", villagerProfessionClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/entity/VillagerTypeGenerator.java b/code-generators/src/main/java/net/minestom/codegen/entity/VillagerTypeGenerator.java new file mode 100644 index 000000000..76f20f48a --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/entity/VillagerTypeGenerator.java @@ -0,0 +1,164 @@ +package net.minestom.codegen.entity; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; +import java.util.List; + +public final class VillagerTypeGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(VillagerTypeGenerator.class); + private final InputStream villagerTypesFile; + private final File outputFolder; + + public VillagerTypeGenerator(@Nullable InputStream villagerTypesFile, @NotNull File outputFolder) { + this.villagerTypesFile = villagerTypesFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (villagerTypesFile == null) { + LOGGER.error("Failed to find villager_types.json."); + LOGGER.error("Stopped code generation for villager types."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registryClassName = ClassName.get("net.minestom.server.registry", "Registry"); + + JsonArray villagerTypes = GSON.fromJson(new JsonReader(new InputStreamReader(villagerTypesFile)), JsonArray.class); + ClassName villagerTypeClassName = ClassName.get("net.minestom.server.entity.metadata.villager", "VillagerType"); + + // Particle + TypeSpec.Builder villagerTypeClass = TypeSpec.classBuilder(villagerTypeClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + villagerTypeClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + villagerTypeClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addModifiers(Modifier.PROTECTED) + .build() + ); + // Override key method (adventure) + villagerTypeClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + villagerTypeClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNumericalId + villagerTypeClass.addMethod( + MethodSpec.methodBuilder("getNumericalId") + .returns(TypeName.INT) + .addStatement("return $T.VILLAGER_TYPE_REGISTRY.getId(this)", registryClassName) + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + villagerTypeClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(villagerTypeClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.INT, "id") + .addStatement("return $T.VILLAGER_TYPE_REGISTRY.get((short) id)", registryClassName) + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // fromId Method + villagerTypeClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(villagerTypeClassName) + .addAnnotation(NotNull.class) + .addParameter(ClassName.get("net.kyori.adventure.key", "Key"), "id") + .addStatement("return $T.VILLAGER_TYPE_REGISTRY.get(id)", registryClassName) + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + villagerTypeClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // values method + villagerTypeClass.addMethod( + MethodSpec.methodBuilder("values") + .addAnnotation(NotNull.class) + .returns(ParameterizedTypeName.get(ClassName.get(List.class), villagerTypeClassName)) + .addStatement("return $T.VILLAGER_TYPE_REGISTRY.values()", registryClassName) + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + CodeBlock.Builder staticBlock = CodeBlock.builder(); + // Use data + for (JsonElement vp : villagerTypes) { + JsonObject villagerProfession = vp.getAsJsonObject(); + + String villagerProfessionName = villagerProfession.get("name").getAsString(); + + villagerTypeClass.addField( + FieldSpec.builder( + villagerTypeClassName, + villagerProfessionName + ).initializer( + "new $T($T.from($S))", + villagerTypeClassName, + namespaceIDClassName, + villagerProfession.get("id").getAsString() + ).addModifiers(Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).build() + ); + // Add to static init. + staticBlock.addStatement("$T.VILLAGER_TYPE_REGISTRY.register($N)", registryClassName, villagerProfessionName); + } + + villagerTypeClass.addStaticBlock(staticBlock.build()); + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.entity.metadata.villager", villagerTypeClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/fluid/FluidGenerator.java b/code-generators/src/main/java/net/minestom/codegen/fluid/FluidGenerator.java new file mode 100644 index 000000000..cb1dd49db --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/fluid/FluidGenerator.java @@ -0,0 +1,148 @@ +package net.minestom.codegen.fluid; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; + +public final class FluidGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(FluidGenerator.class); + private final InputStream fluidsFile; + private final File outputFolder; + + public FluidGenerator(@Nullable InputStream fluidsFile, @NotNull File outputFolder) { + this.fluidsFile = fluidsFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (fluidsFile == null) { + LOGGER.error("Failed to find fluids.json."); + LOGGER.error("Stopped code generation for fluids."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray fluids = GSON.fromJson(new JsonReader(new InputStreamReader(fluidsFile)), JsonArray.class); + ClassName fluidClassName = ClassName.get("net.minestom.server.fluid", "Fluid"); + + // Particle + TypeSpec.Builder fluidClass = TypeSpec.enumBuilder(fluidClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + fluidClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + // static field + fluidClass.addField( + FieldSpec.builder(ArrayTypeName.of(fluidClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + + fluidClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("$T.fluids.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + fluidClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + fluidClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) ordinal()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + fluidClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // toString method + fluidClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + // fromId Method + fluidClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(fluidClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 0 && id < VALUES.length)") + .addStatement("return VALUES[id]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + + // Use data + for (JsonElement f : fluids) { + JsonObject fluid = f.getAsJsonObject(); + + String fluidName = fluid.get("name").getAsString(); + + fluidClass.addEnumConstant(fluidName, TypeSpec.anonymousClassBuilder( + "$T.from($S)", + namespaceIDClassName, + fluid.get("id").getAsString() + ).build() + ); + } + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.fluid", fluidClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/item/EnchantmentGenerator.java b/code-generators/src/main/java/net/minestom/codegen/item/EnchantmentGenerator.java new file mode 100644 index 000000000..5e6ef0eb8 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/item/EnchantmentGenerator.java @@ -0,0 +1,147 @@ +package net.minestom.codegen.item; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; + +public final class EnchantmentGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(EnchantmentGenerator.class); + private final InputStream enchantmentsFile; + private final File outputFolder; + + public EnchantmentGenerator(@Nullable InputStream enchantmentsFile, @NotNull File outputFolder) { + this.enchantmentsFile = enchantmentsFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (enchantmentsFile == null) { + LOGGER.error("Failed to find enchantments.json."); + LOGGER.error("Stopped code generation for enchantments."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray enchantments = GSON.fromJson(new JsonReader(new InputStreamReader(enchantmentsFile)), JsonArray.class); + ClassName enchantmentClassName = ClassName.get("net.minestom.server.item", "Enchantment"); + + // Enchantment + TypeSpec.Builder enchantmentClass = TypeSpec.enumBuilder(enchantmentClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + enchantmentClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + // static field + enchantmentClass.addField( + FieldSpec.builder(ArrayTypeName.of(enchantmentClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + + enchantmentClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("$T.enchantments.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + enchantmentClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + enchantmentClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) ordinal()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + enchantmentClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + enchantmentClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(enchantmentClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 0 && id < VALUES.length)") + .addStatement("return VALUES[id]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + enchantmentClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + // Use data + for (JsonElement e : enchantments) { + JsonObject enchantment = e.getAsJsonObject(); + + String enchantmentName = enchantment.get("name").getAsString(); + enchantmentClass.addEnumConstant(enchantmentName, TypeSpec.anonymousClassBuilder( + "$T.from($S)", + namespaceIDClassName, + enchantment.get("id").getAsString() + ).build() + ); + } + + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.item", enchantmentClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/item/MaterialGenerator.java b/code-generators/src/main/java/net/minestom/codegen/item/MaterialGenerator.java new file mode 100644 index 000000000..2b87632b0 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/item/MaterialGenerator.java @@ -0,0 +1,342 @@ +package net.minestom.codegen.item; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; +import java.util.function.Supplier; + +public final class MaterialGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(MaterialGenerator.class); + private final InputStream itemsFile; + private final File outputFolder; + + public MaterialGenerator(@Nullable InputStream itemsFile, @NotNull File outputFolder) { + this.itemsFile = itemsFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (itemsFile == null) { + LOGGER.error("Failed to find items.json."); + LOGGER.error("Stopped code generation for items."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + ClassName blockCN = ClassName.get("net.minestom.server.instance.block", "Block"); + ParameterizedTypeName blocksCNSupplier = ParameterizedTypeName.get(ClassName.get(Supplier.class), blockCN); + + JsonArray items = GSON.fromJson(new JsonReader(new InputStreamReader(itemsFile)), JsonArray.class); + ClassName itemClassName = ClassName.get("net.minestom.server.item", "Material"); + + // Item + TypeSpec.Builder itemClass = TypeSpec.enumBuilder(itemClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + itemClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + itemClass.addField( + FieldSpec.builder(TypeName.BYTE, "maxDefaultStackSize") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + itemClass.addField( + FieldSpec.builder(blocksCNSupplier, "correspondingBlockSupplier") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).build() + ); + // static field + itemClass.addField( + FieldSpec.builder(ArrayTypeName.of(itemClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + itemClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addParameter(TypeName.BYTE, "maxDefaultStackSize") + .addParameter(ParameterSpec.builder(blocksCNSupplier, "correspondingBlockSupplier").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("this.maxDefaultStackSize = maxDefaultStackSize") + .addStatement("this.correspondingBlockSupplier = correspondingBlockSupplier") + .addStatement("$T.materials.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + itemClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + itemClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) ordinal()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + itemClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getName method + itemClass.addMethod( + MethodSpec.methodBuilder("getName") + .addAnnotation(NotNull.class) + .returns(ClassName.get(String.class)) + .addStatement("return this.id.asString()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getMaxDefaultStackSize + itemClass.addMethod( + MethodSpec.methodBuilder("getMaxDefaultStackSize") + .returns(TypeName.BYTE) + .addStatement("return this.maxDefaultStackSize") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + itemClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(itemClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 0 && id < VALUES.length)") + .addStatement("return VALUES[id]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // isFood method + itemClass.addMethod( + MethodSpec.methodBuilder("isFood") + .returns(TypeName.BOOLEAN) + .addStatement("return false") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // hasState method + itemClass.addMethod( + MethodSpec.methodBuilder("hasState") + .returns(TypeName.BOOLEAN) + .beginControlFlow("if (this == BOW || this == TRIDENT || this == CROSSBOW || this == SHIELD)") + .addStatement("return true") + .nextControlFlow("else") + .addStatement("return isFood()") + .endControlFlow() + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isBlock method + itemClass.addMethod( + MethodSpec.methodBuilder("isBlock") + .returns(TypeName.BOOLEAN) + .addStatement( + "return this.correspondingBlockSupplier.get() != null && this.correspondingBlockSupplier.get() != $T.AIR", + blockCN + ) + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isArmor method + itemClass.addMethod( + MethodSpec.methodBuilder("isArmor") + .returns(TypeName.BOOLEAN) + .addStatement("return false") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isHelmet method + itemClass.addMethod( + MethodSpec.methodBuilder("isHelmet") + .returns(TypeName.BOOLEAN) + .addStatement("return false") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isChestplate method + itemClass.addMethod( + MethodSpec.methodBuilder("isChestplate") + .returns(TypeName.BOOLEAN) + .addStatement("return false") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isLeggings method + itemClass.addMethod( + MethodSpec.methodBuilder("isLeggings") + .returns(TypeName.BOOLEAN) + .addStatement("return false") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // isBoots method + itemClass.addMethod( + MethodSpec.methodBuilder("isBoots") + .returns(TypeName.BOOLEAN) + .addStatement("return false") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getBlock method + itemClass.addMethod( + MethodSpec.methodBuilder("getBlock") + .addAnnotation(Nullable.class) + .returns(blockCN) + .addStatement("return this.correspondingBlockSupplier.get()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // toString method + itemClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + // Use data + for (JsonElement i : items) { + JsonObject item = i.getAsJsonObject(); + + String itemName = item.get("name").getAsString(); + TypeSpec.Builder enumConst; + if (!(item.get("blockId").getAsString().equals("minecraft:air"))) { + enumConst = TypeSpec.anonymousClassBuilder( + "$T.from($S), (byte) $L, () -> $T.getBlock($S)", + namespaceIDClassName, + item.get("id").getAsString(), + item.get("maxStackSize").getAsInt(), + // Supplier + registriesClassName, + item.get("blockId").getAsString() + ); + } else { + enumConst = TypeSpec.anonymousClassBuilder( + "$T.from($S), (byte) $L, () -> null", + namespaceIDClassName, + item.get("id").getAsString(), + item.get("maxStackSize").getAsInt() + ); + } + if (item.get("edible").getAsBoolean()) { + enumConst.addMethod( + MethodSpec.methodBuilder("isFood") + .returns(TypeName.BOOLEAN) + .addAnnotation(Override.class) + .addModifiers(Modifier.PUBLIC) + .addStatement("return true") + .build() + ); + } + if (item.get("armorProperties") != null) { + JsonObject ap = item.get("armorProperties").getAsJsonObject(); + enumConst.addMethod( + MethodSpec.methodBuilder("isArmor") + .returns(TypeName.BOOLEAN) + .addAnnotation(Override.class) + .addModifiers(Modifier.PUBLIC) + .addStatement("return true") + .build() + ); + if (ap.get("slot") != null) { + switch (ap.get("slot").getAsString()) { + case "head": { + enumConst.addMethod( + MethodSpec.methodBuilder("isHelmet") + .returns(TypeName.BOOLEAN) + .addAnnotation(Override.class) + .addModifiers(Modifier.PUBLIC) + .addStatement("return true") + .build() + ); + break; + } + case "chest": { + enumConst.addMethod( + MethodSpec.methodBuilder("isChestplate") + .returns(TypeName.BOOLEAN) + .addAnnotation(Override.class) + .addModifiers(Modifier.PUBLIC) + .addStatement("return true") + .build() + ); + break; + } + case "legs": { + enumConst.addMethod( + MethodSpec.methodBuilder("isLeggings") + .returns(TypeName.BOOLEAN) + .addAnnotation(Override.class) + .addModifiers(Modifier.PUBLIC) + .addStatement("return true") + .build() + ); + break; + } + case "feet": { + enumConst.addMethod( + MethodSpec.methodBuilder("isBoots") + .returns(TypeName.BOOLEAN) + .addAnnotation(Override.class) + .addModifiers(Modifier.PUBLIC) + .addStatement("return true") + .build() + ); + break; + } + } + } + + + } + itemClass.addEnumConstant(itemName, enumConst.build()); + } + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.item", itemClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/particle/ParticleGenerator.java b/code-generators/src/main/java/net/minestom/codegen/particle/ParticleGenerator.java new file mode 100644 index 000000000..85dcd20b8 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/particle/ParticleGenerator.java @@ -0,0 +1,146 @@ +package net.minestom.codegen.particle; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; + +public final class ParticleGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(ParticleGenerator.class); + private final InputStream particlesFile; + private final File outputFolder; + + public ParticleGenerator(@Nullable InputStream particlesFile, @NotNull File outputFolder) { + this.particlesFile = particlesFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (particlesFile == null) { + LOGGER.error("Failed to find particles.json."); + LOGGER.error("Stopped code generation for particles."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray particles = GSON.fromJson(new JsonReader(new InputStreamReader(particlesFile)), JsonArray.class); + ClassName particleClassName = ClassName.get("net.minestom.server.particle", "Particle"); + + // Particle + TypeSpec.Builder particleClass = TypeSpec.enumBuilder(particleClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + particleClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + // static field + particleClass.addField( + FieldSpec.builder(ArrayTypeName.of(particleClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + + particleClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("$T.particles.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + particleClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + particleClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) ordinal()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + particleClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + particleClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(particleClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 0 && id < VALUES.length)") + .addStatement("return VALUES[id]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + particleClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + // Use data + for (JsonElement p : particles) { + JsonObject particle = p.getAsJsonObject(); + + String particleName = particle.get("name").getAsString(); + + particleClass.addEnumConstant(particleName, TypeSpec.anonymousClassBuilder( + "$T.from($S)", + namespaceIDClassName, + particle.get("id").getAsString() + ).build()); + } + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.particle", particleClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/potion/PotionEffectGenerator.java b/code-generators/src/main/java/net/minestom/codegen/potion/PotionEffectGenerator.java new file mode 100644 index 000000000..cc7eac6b4 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/potion/PotionEffectGenerator.java @@ -0,0 +1,147 @@ +package net.minestom.codegen.potion; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; + +public final class PotionEffectGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(PotionEffectGenerator.class); + private final InputStream potionEffectsFile; + private final File outputFolder; + + public PotionEffectGenerator(@Nullable InputStream potionEffectsFile, @NotNull File outputFolder) { + this.potionEffectsFile = potionEffectsFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (potionEffectsFile == null) { + LOGGER.error("Failed to find potionEffects.json."); + LOGGER.error("Stopped code generation for potion effects."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray potionEffects = GSON.fromJson(new JsonReader(new InputStreamReader(potionEffectsFile)), JsonArray.class); + ClassName potionEffectClassName = ClassName.get("net.minestom.server.potion", "PotionEffect"); + + // Particle + TypeSpec.Builder potionEffectClass = TypeSpec.enumBuilder(potionEffectClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + potionEffectClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + // static field + potionEffectClass.addField( + FieldSpec.builder(ArrayTypeName.of(potionEffectClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + + potionEffectClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("$T.potionEffects.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + potionEffectClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + potionEffectClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) (ordinal() + 1)") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + potionEffectClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + potionEffectClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(potionEffectClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 1 && id < VALUES.length + 1)") + .addStatement("return VALUES[id - 1]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + potionEffectClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + // Use data + for (JsonElement pe : potionEffects) { + JsonObject potionEffect = pe.getAsJsonObject(); + + String potionEffectName = potionEffect.get("name").getAsString(); + + potionEffectClass.addEnumConstant(potionEffectName, TypeSpec.anonymousClassBuilder( + "$T.from($S)", + namespaceIDClassName, + potionEffect.get("id").getAsString() + ).build() + ); + } + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.potion", potionEffectClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/potion/PotionTypeGenerator.java b/code-generators/src/main/java/net/minestom/codegen/potion/PotionTypeGenerator.java new file mode 100644 index 000000000..8d93b6c45 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/potion/PotionTypeGenerator.java @@ -0,0 +1,147 @@ +package net.minestom.codegen.potion; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; + +public final class PotionTypeGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(PotionTypeGenerator.class); + private final InputStream potionsFile; + private final File outputFolder; + + public PotionTypeGenerator(@Nullable InputStream potionsFile, @NotNull File outputFolder) { + this.potionsFile = potionsFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (potionsFile == null) { + LOGGER.error("Failed to find potions.json."); + LOGGER.error("Stopped code generation for potions."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray potions = GSON.fromJson(new JsonReader(new InputStreamReader(potionsFile)), JsonArray.class); + ClassName potionTypeClassName = ClassName.get("net.minestom.server.potion", "PotionType"); + + // Particle + TypeSpec.Builder potionTypeClass = TypeSpec.enumBuilder(potionTypeClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + potionTypeClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + // static field + potionTypeClass.addField( + FieldSpec.builder(ArrayTypeName.of(potionTypeClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + + potionTypeClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("$T.potionTypes.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + potionTypeClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + potionTypeClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) ordinal()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + potionTypeClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + potionTypeClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(potionTypeClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 0 && id < VALUES.length)") + .addStatement("return VALUES[id]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + potionTypeClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + // Use data + for (JsonElement p : potions) { + JsonObject potion = p.getAsJsonObject(); + + String potionName = potion.get("name").getAsString(); + + potionTypeClass.addEnumConstant(potionName, TypeSpec.anonymousClassBuilder( + "$T.from($S)", + namespaceIDClassName, + potion.get("id").getAsString() + ).build() + ); + } + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.potion", potionTypeClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/sound/SoundEventGenerator.java b/code-generators/src/main/java/net/minestom/codegen/sound/SoundEventGenerator.java new file mode 100644 index 000000000..5619cee63 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/sound/SoundEventGenerator.java @@ -0,0 +1,146 @@ +package net.minestom.codegen.sound; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.*; +import java.util.Collections; + +public final class SoundEventGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(SoundEventGenerator.class); + private final InputStream soundsFile; + private final File outputFolder; + + public SoundEventGenerator(@Nullable InputStream itemsFile, @NotNull File outputFolder) { + this.soundsFile = itemsFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (soundsFile == null) { + LOGGER.error("Failed to find sounds.json."); + LOGGER.error("Stopped code generation for sounds."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray sounds = GSON.fromJson(new JsonReader(new InputStreamReader(soundsFile)), JsonArray.class); + ClassName soundClassName = ClassName.get("net.minestom.server.sound", "SoundEvent"); + // Sound + TypeSpec.Builder soundClass = TypeSpec.enumBuilder(soundClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addSuperinterface(ClassName.get("net.kyori.adventure.sound", "Sound", "Type")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + soundClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + // static field + soundClass.addField( + FieldSpec.builder(ArrayTypeName.of(soundClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + + soundClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("$T.soundEvents.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + soundClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + soundClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) ordinal()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + soundClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + soundClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(soundClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 0 && id < VALUES.length)") + .addStatement("return VALUES[id]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + soundClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + // Use data + for (JsonElement s : sounds) { + JsonObject sound = s.getAsJsonObject(); + + String soundName = sound.get("name").getAsString(); + soundClass.addEnumConstant(soundName, TypeSpec.anonymousClassBuilder( + "$T.from($S)", + namespaceIDClassName, + sound.get("id").getAsString() + ).build() + ); + } + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.sound", soundClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/statistics/StatisticGenerator.java b/code-generators/src/main/java/net/minestom/codegen/statistics/StatisticGenerator.java new file mode 100644 index 000000000..84e79f353 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/statistics/StatisticGenerator.java @@ -0,0 +1,149 @@ +package net.minestom.codegen.statistics; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonReader; +import com.squareup.javapoet.*; +import net.minestom.codegen.MinestomCodeGenerator; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.lang.model.element.Modifier; +import java.io.File; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.Collections; + +public final class StatisticGenerator extends MinestomCodeGenerator { + private static final Logger LOGGER = LoggerFactory.getLogger(StatisticGenerator.class); + private final InputStream statisticsFile; + private final File outputFolder; + + public StatisticGenerator(@Nullable InputStream statisticsFile, @NotNull File outputFolder) { + this.statisticsFile = statisticsFile; + this.outputFolder = outputFolder; + } + + @Override + public void generate() { + if (statisticsFile == null) { + LOGGER.error("Failed to find statistics.json."); + LOGGER.error("Stopped code generation for statistics."); + return; + } + if (!outputFolder.exists() && !outputFolder.mkdirs()) { + LOGGER.error("Output folder for code generation does not exist and could not be created."); + return; + } + // Important classes we use alot + ClassName namespaceIDClassName = ClassName.get("net.minestom.server.utils", "NamespaceID"); + ClassName registriesClassName = ClassName.get("net.minestom.server.registry", "Registries"); + + JsonArray statistics = GSON.fromJson(new JsonReader(new InputStreamReader(statisticsFile)), JsonArray.class); + ClassName statisticClassName = ClassName.get("net.minestom.server.statistic", "StatisticType"); + + // Particle + TypeSpec.Builder statisticClass = TypeSpec.enumBuilder(statisticClassName) + .addSuperinterface(ClassName.get("net.kyori.adventure.key", "Keyed")) + .addModifiers(Modifier.PUBLIC).addJavadoc("AUTOGENERATED by " + getClass().getSimpleName()); + + statisticClass.addField( + FieldSpec.builder(namespaceIDClassName, "id") + .addModifiers(Modifier.PRIVATE, Modifier.FINAL).addAnnotation(NotNull.class).build() + ); + // static field + statisticClass.addField( + FieldSpec.builder(ArrayTypeName.of(statisticClassName), "VALUES") + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("values()") + .build() + ); + + statisticClass.addMethod( + MethodSpec.constructorBuilder() + .addParameter(ParameterSpec.builder(namespaceIDClassName, "id").addAnnotation(NotNull.class).build()) + .addStatement("this.id = id") + .addStatement("$T.statisticTypes.put(id, this)", registriesClassName) + .build() + ); + // Override key method (adventure) + statisticClass.addMethod( + MethodSpec.methodBuilder("key") + .returns(ClassName.get("net.kyori.adventure.key", "Key")) + .addAnnotation(Override.class) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getId method + statisticClass.addMethod( + MethodSpec.methodBuilder("getId") + .returns(TypeName.SHORT) + .addStatement("return (short) ordinal()") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // getNamespaceID method + statisticClass.addMethod( + MethodSpec.methodBuilder("getNamespaceID") + .returns(namespaceIDClassName) + .addAnnotation(NotNull.class) + .addStatement("return this.id") + .addModifiers(Modifier.PUBLIC) + .build() + ); + // fromId Method + statisticClass.addMethod( + MethodSpec.methodBuilder("fromId") + .returns(statisticClassName) + .addAnnotation(Nullable.class) + .addParameter(TypeName.SHORT, "id") + .beginControlFlow("if(id >= 0 && id < VALUES.length)") + .addStatement("return VALUES[id]") + .endControlFlow() + .addStatement("return null") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .build() + ); + // toString method + statisticClass.addMethod( + MethodSpec.methodBuilder("toString") + .addAnnotation(NotNull.class) + .addAnnotation(Override.class) + .returns(String.class) + // this resolves to [Namespace] + .addStatement("return \"[\" + this.id + \"]\"") + .addModifiers(Modifier.PUBLIC) + .build() + ); + + // Use data + for (JsonElement s : statistics) { + JsonObject statistic = s.getAsJsonObject(); + + String statisticName = statistic.get("name").getAsString(); + + statisticClass.addEnumConstant(statisticName, TypeSpec.anonymousClassBuilder( + "$T.from($S)", + namespaceIDClassName, + statistic.get("id").getAsString() + ).build() + ); + } + + // Write files to outputFolder + writeFiles( + Collections.singletonList( + JavaFile.builder("net.minestom.server.statistic", statisticClass.build()) + .indent(" ") + .skipJavaLangImports(true) + .build() + ), + outputFolder + ); + } +} diff --git a/code-generators/src/main/java/net/minestom/codegen/util/NameUtil.java b/code-generators/src/main/java/net/minestom/codegen/util/NameUtil.java new file mode 100644 index 000000000..b0fd38471 --- /dev/null +++ b/code-generators/src/main/java/net/minestom/codegen/util/NameUtil.java @@ -0,0 +1,21 @@ +package net.minestom.codegen.util; + +public final class NameUtil { + private NameUtil() { + + } + + public static String convertSnakeCaseToCamelCase(String snakeCase) { + StringBuilder sb = new StringBuilder(snakeCase); + for (int i = 0; i < sb.length(); i++) { + if (sb.charAt(i) == '_') { + sb.deleteCharAt(i); + sb.replace(i, i + 1, String.valueOf(Character.toUpperCase(sb.charAt(i)))); + } + } + + // Capitalize first letter. + sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); + return sb.toString(); + } +} diff --git a/gradle.properties b/gradle.properties index 34ba796b2..e23cbd53c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,6 @@ +# Update this version with every release. It is purely used for the code generator and data dependency. +mcVersion = 1.16.5 + asmVersion=9.0 mixinVersion=0.8.1 hephaistosVersion=v1.1.8 diff --git a/prismarine-minecraft-data b/prismarine-minecraft-data deleted file mode 160000 index 2b25cb297..000000000 --- a/prismarine-minecraft-data +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2b25cb297bdad56a0673ab54f2a631a9808ea3b6 diff --git a/settings.gradle b/settings.gradle index ad69ae53c..a814b9adb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,2 @@ rootProject.name = 'Minestom' - +include 'code-generators' diff --git a/src/autogenerated/java/net/minestom/server/entity/EntityType.java b/src/autogenerated/java/net/minestom/server/entity/EntityType.java index 0f7c68b77..d1d999cf7 100644 --- a/src/autogenerated/java/net/minestom/server/entity/EntityType.java +++ b/src/autogenerated/java/net/minestom/server/entity/EntityType.java @@ -1,11 +1,31 @@ package net.minestom.server.entity; +import java.util.function.BiFunction; import net.kyori.adventure.key.Key; import net.kyori.adventure.key.Keyed; import net.minestom.server.entity.metadata.EntityMeta; import net.minestom.server.entity.metadata.PlayerMeta; import net.minestom.server.entity.metadata.ambient.BatMeta; -import net.minestom.server.entity.metadata.animal.*; +import net.minestom.server.entity.metadata.animal.BeeMeta; +import net.minestom.server.entity.metadata.animal.ChickenMeta; +import net.minestom.server.entity.metadata.animal.CowMeta; +import net.minestom.server.entity.metadata.animal.DonkeyMeta; +import net.minestom.server.entity.metadata.animal.FoxMeta; +import net.minestom.server.entity.metadata.animal.HoglinMeta; +import net.minestom.server.entity.metadata.animal.HorseMeta; +import net.minestom.server.entity.metadata.animal.LlamaMeta; +import net.minestom.server.entity.metadata.animal.MooshroomMeta; +import net.minestom.server.entity.metadata.animal.MuleMeta; +import net.minestom.server.entity.metadata.animal.OcelotMeta; +import net.minestom.server.entity.metadata.animal.PandaMeta; +import net.minestom.server.entity.metadata.animal.PigMeta; +import net.minestom.server.entity.metadata.animal.PolarBearMeta; +import net.minestom.server.entity.metadata.animal.RabbitMeta; +import net.minestom.server.entity.metadata.animal.SheepMeta; +import net.minestom.server.entity.metadata.animal.SkeletonHorseMeta; +import net.minestom.server.entity.metadata.animal.StriderMeta; +import net.minestom.server.entity.metadata.animal.TurtleMeta; +import net.minestom.server.entity.metadata.animal.ZombieHorseMeta; import net.minestom.server.entity.metadata.animal.tameable.CatMeta; import net.minestom.server.entity.metadata.animal.tameable.ParrotMeta; import net.minestom.server.entity.metadata.animal.tameable.WolfMeta; @@ -17,15 +37,73 @@ import net.minestom.server.entity.metadata.flying.PhantomMeta; import net.minestom.server.entity.metadata.golem.IronGolemMeta; import net.minestom.server.entity.metadata.golem.ShulkerMeta; import net.minestom.server.entity.metadata.golem.SnowGolemMeta; -import net.minestom.server.entity.metadata.item.*; -import net.minestom.server.entity.metadata.minecart.*; -import net.minestom.server.entity.metadata.monster.*; -import net.minestom.server.entity.metadata.monster.raider.*; +import net.minestom.server.entity.metadata.item.EyeOfEnderMeta; +import net.minestom.server.entity.metadata.item.FireballMeta; +import net.minestom.server.entity.metadata.item.ItemEntityMeta; +import net.minestom.server.entity.metadata.item.SmallFireballMeta; +import net.minestom.server.entity.metadata.item.SnowballMeta; +import net.minestom.server.entity.metadata.item.ThrownEggMeta; +import net.minestom.server.entity.metadata.item.ThrownEnderPearlMeta; +import net.minestom.server.entity.metadata.item.ThrownExperienceBottleMeta; +import net.minestom.server.entity.metadata.item.ThrownPotionMeta; +import net.minestom.server.entity.metadata.minecart.ChestMinecartMeta; +import net.minestom.server.entity.metadata.minecart.CommandBlockMinecartMeta; +import net.minestom.server.entity.metadata.minecart.FurnaceMinecartMeta; +import net.minestom.server.entity.metadata.minecart.HopperMinecartMeta; +import net.minestom.server.entity.metadata.minecart.MinecartMeta; +import net.minestom.server.entity.metadata.minecart.SpawnerMinecartMeta; +import net.minestom.server.entity.metadata.minecart.TntMinecartMeta; +import net.minestom.server.entity.metadata.monster.BlazeMeta; +import net.minestom.server.entity.metadata.monster.CaveSpiderMeta; +import net.minestom.server.entity.metadata.monster.CreeperMeta; +import net.minestom.server.entity.metadata.monster.ElderGuardianMeta; +import net.minestom.server.entity.metadata.monster.EndermanMeta; +import net.minestom.server.entity.metadata.monster.EndermiteMeta; +import net.minestom.server.entity.metadata.monster.GiantMeta; +import net.minestom.server.entity.metadata.monster.GuardianMeta; +import net.minestom.server.entity.metadata.monster.PiglinBruteMeta; +import net.minestom.server.entity.metadata.monster.PiglinMeta; +import net.minestom.server.entity.metadata.monster.SilverfishMeta; +import net.minestom.server.entity.metadata.monster.SpiderMeta; +import net.minestom.server.entity.metadata.monster.VexMeta; +import net.minestom.server.entity.metadata.monster.WitherMeta; +import net.minestom.server.entity.metadata.monster.ZoglinMeta; +import net.minestom.server.entity.metadata.monster.raider.EvokerMeta; +import net.minestom.server.entity.metadata.monster.raider.IllusionerMeta; +import net.minestom.server.entity.metadata.monster.raider.PillagerMeta; +import net.minestom.server.entity.metadata.monster.raider.RavagerMeta; +import net.minestom.server.entity.metadata.monster.raider.VindicatorMeta; +import net.minestom.server.entity.metadata.monster.raider.WitchMeta; import net.minestom.server.entity.metadata.monster.skeleton.SkeletonMeta; import net.minestom.server.entity.metadata.monster.skeleton.StrayMeta; import net.minestom.server.entity.metadata.monster.skeleton.WitherSkeletonMeta; -import net.minestom.server.entity.metadata.monster.zombie.*; -import net.minestom.server.entity.metadata.other.*; +import net.minestom.server.entity.metadata.monster.zombie.DrownedMeta; +import net.minestom.server.entity.metadata.monster.zombie.HuskMeta; +import net.minestom.server.entity.metadata.monster.zombie.ZombieMeta; +import net.minestom.server.entity.metadata.monster.zombie.ZombieVillagerMeta; +import net.minestom.server.entity.metadata.monster.zombie.ZombifiedPiglinMeta; +import net.minestom.server.entity.metadata.other.AreaEffectCloudMeta; +import net.minestom.server.entity.metadata.other.ArmorStandMeta; +import net.minestom.server.entity.metadata.other.BoatMeta; +import net.minestom.server.entity.metadata.other.DragonFireballMeta; +import net.minestom.server.entity.metadata.other.EndCrystalMeta; +import net.minestom.server.entity.metadata.other.EnderDragonMeta; +import net.minestom.server.entity.metadata.other.EvokerFangsMeta; +import net.minestom.server.entity.metadata.other.ExperienceOrbMeta; +import net.minestom.server.entity.metadata.other.FallingBlockMeta; +import net.minestom.server.entity.metadata.other.FireworkRocketMeta; +import net.minestom.server.entity.metadata.other.FishingHookMeta; +import net.minestom.server.entity.metadata.other.ItemFrameMeta; +import net.minestom.server.entity.metadata.other.LeashKnotMeta; +import net.minestom.server.entity.metadata.other.LightningBoltMeta; +import net.minestom.server.entity.metadata.other.LlamaSpitMeta; +import net.minestom.server.entity.metadata.other.MagmaCubeMeta; +import net.minestom.server.entity.metadata.other.PaintingMeta; +import net.minestom.server.entity.metadata.other.PrimedTntMeta; +import net.minestom.server.entity.metadata.other.ShulkerBulletMeta; +import net.minestom.server.entity.metadata.other.SlimeMeta; +import net.minestom.server.entity.metadata.other.TraderLlamaMeta; +import net.minestom.server.entity.metadata.other.WitherSkullMeta; import net.minestom.server.entity.metadata.villager.VillagerMeta; import net.minestom.server.entity.metadata.villager.WanderingTraderMeta; import net.minestom.server.entity.metadata.water.DolphinMeta; @@ -37,236 +115,232 @@ import net.minestom.server.entity.metadata.water.fish.TropicalFishMeta; import net.minestom.server.registry.Registries; import net.minestom.server.utils.NamespaceID; import org.jetbrains.annotations.NotNull; - -import java.util.function.BiFunction; +import org.jetbrains.annotations.Nullable; /** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== + * AUTOGENERATED by EntityTypeGenerator */ -@SuppressWarnings({"deprecation"}) public enum EntityType implements Keyed { - AREA_EFFECT_CLOUD("minecraft:area_effect_cloud", 6.0, 0.5, AreaEffectCloudMeta::new, EntitySpawnType.BASE), + AREA_EFFECT_CLOUD(NamespaceID.from("minecraft:area_effect_cloud"), 6.0, 0.5, AreaEffectCloudMeta::new, EntitySpawnType.BASE), - ARMOR_STAND("minecraft:armor_stand", 0.5, 1.975, ArmorStandMeta::new, EntitySpawnType.LIVING), + ARMOR_STAND(NamespaceID.from("minecraft:armor_stand"), 0.5, 1.975, ArmorStandMeta::new, EntitySpawnType.LIVING), - ARROW("minecraft:arrow", 0.5, 0.5, ArrowMeta::new, EntitySpawnType.BASE), + ARROW(NamespaceID.from("minecraft:arrow"), 0.5, 0.5, ArrowMeta::new, EntitySpawnType.BASE), - BAT("minecraft:bat", 0.5, 0.9, BatMeta::new, EntitySpawnType.LIVING), + BAT(NamespaceID.from("minecraft:bat"), 0.5, 0.9, BatMeta::new, EntitySpawnType.LIVING), - BEE("minecraft:bee", 0.7, 0.6, BeeMeta::new, EntitySpawnType.LIVING), + BEE(NamespaceID.from("minecraft:bee"), 0.7, 0.6, BeeMeta::new, EntitySpawnType.LIVING), - BLAZE("minecraft:blaze", 0.6, 1.8, BlazeMeta::new, EntitySpawnType.LIVING), + BLAZE(NamespaceID.from("minecraft:blaze"), 0.6, 1.8, BlazeMeta::new, EntitySpawnType.LIVING), - BOAT("minecraft:boat", 1.375, 0.5625, BoatMeta::new, EntitySpawnType.BASE), + BOAT(NamespaceID.from("minecraft:boat"), 1.375, 0.5625, BoatMeta::new, EntitySpawnType.BASE), - CAT("minecraft:cat", 0.6, 0.7, CatMeta::new, EntitySpawnType.LIVING), + CAT(NamespaceID.from("minecraft:cat"), 0.6, 0.7, CatMeta::new, EntitySpawnType.LIVING), - CAVE_SPIDER("minecraft:cave_spider", 0.7, 0.5, CaveSpiderMeta::new, EntitySpawnType.LIVING), + CAVE_SPIDER(NamespaceID.from("minecraft:cave_spider"), 0.7, 0.5, CaveSpiderMeta::new, EntitySpawnType.LIVING), - CHICKEN("minecraft:chicken", 0.4, 0.7, ChickenMeta::new, EntitySpawnType.LIVING), + CHICKEN(NamespaceID.from("minecraft:chicken"), 0.4, 0.7, ChickenMeta::new, EntitySpawnType.LIVING), - COD("minecraft:cod", 0.5, 0.3, CodMeta::new, EntitySpawnType.LIVING), + COD(NamespaceID.from("minecraft:cod"), 0.5, 0.3, CodMeta::new, EntitySpawnType.LIVING), - COW("minecraft:cow", 0.9, 1.4, CowMeta::new, EntitySpawnType.LIVING), + COW(NamespaceID.from("minecraft:cow"), 0.9, 1.4, CowMeta::new, EntitySpawnType.LIVING), - CREEPER("minecraft:creeper", 0.6, 1.7, CreeperMeta::new, EntitySpawnType.LIVING), + CREEPER(NamespaceID.from("minecraft:creeper"), 0.6, 1.7, CreeperMeta::new, EntitySpawnType.LIVING), - DOLPHIN("minecraft:dolphin", 0.9, 0.6, DolphinMeta::new, EntitySpawnType.LIVING), + DOLPHIN(NamespaceID.from("minecraft:dolphin"), 0.9, 0.6, DolphinMeta::new, EntitySpawnType.LIVING), - DONKEY("minecraft:donkey", 1.39648, 1.5, DonkeyMeta::new, EntitySpawnType.LIVING), + DONKEY(NamespaceID.from("minecraft:donkey"), 1.3964844, 1.5, DonkeyMeta::new, EntitySpawnType.LIVING), - DRAGON_FIREBALL("minecraft:dragon_fireball", 1.0, 1.0, DragonFireballMeta::new, EntitySpawnType.BASE), + DRAGON_FIREBALL(NamespaceID.from("minecraft:dragon_fireball"), 1.0, 1.0, DragonFireballMeta::new, EntitySpawnType.BASE), - DROWNED("minecraft:drowned", 0.6, 1.95, DrownedMeta::new, EntitySpawnType.LIVING), + DROWNED(NamespaceID.from("minecraft:drowned"), 0.6, 1.95, DrownedMeta::new, EntitySpawnType.LIVING), - ELDER_GUARDIAN("minecraft:elder_guardian", 1.9975, 1.9975, ElderGuardianMeta::new, EntitySpawnType.LIVING), + ELDER_GUARDIAN(NamespaceID.from("minecraft:elder_guardian"), 1.9975, 1.9975, ElderGuardianMeta::new, EntitySpawnType.LIVING), - END_CRYSTAL("minecraft:end_crystal", 2.0, 2.0, EndCrystalMeta::new, EntitySpawnType.BASE), + END_CRYSTAL(NamespaceID.from("minecraft:end_crystal"), 2.0, 2.0, EndCrystalMeta::new, EntitySpawnType.BASE), - ENDER_DRAGON("minecraft:ender_dragon", 16.0, 8.0, EnderDragonMeta::new, EntitySpawnType.LIVING), + ENDER_DRAGON(NamespaceID.from("minecraft:ender_dragon"), 16.0, 8.0, EnderDragonMeta::new, EntitySpawnType.LIVING), - ENDERMAN("minecraft:enderman", 0.6, 2.9, EndermanMeta::new, EntitySpawnType.LIVING), + ENDERMAN(NamespaceID.from("minecraft:enderman"), 0.6, 2.9, EndermanMeta::new, EntitySpawnType.LIVING), - ENDERMITE("minecraft:endermite", 0.4, 0.3, EndermiteMeta::new, EntitySpawnType.LIVING), + ENDERMITE(NamespaceID.from("minecraft:endermite"), 0.4, 0.3, EndermiteMeta::new, EntitySpawnType.LIVING), - EVOKER("minecraft:evoker", 0.6, 1.95, EvokerMeta::new, EntitySpawnType.LIVING), + EVOKER(NamespaceID.from("minecraft:evoker"), 0.6, 1.95, EvokerMeta::new, EntitySpawnType.LIVING), - EVOKER_FANGS("minecraft:evoker_fangs", 0.5, 0.8, EvokerFangsMeta::new, EntitySpawnType.BASE), + EVOKER_FANGS(NamespaceID.from("minecraft:evoker_fangs"), 0.5, 0.8, EvokerFangsMeta::new, EntitySpawnType.BASE), - EXPERIENCE_ORB("minecraft:experience_orb", 0.5, 0.5, ExperienceOrbMeta::new, EntitySpawnType.EXPERIENCE_ORB), + EXPERIENCE_ORB(NamespaceID.from("minecraft:experience_orb"), 0.5, 0.5, ExperienceOrbMeta::new, EntitySpawnType.EXPERIENCE_ORB), - EYE_OF_ENDER("minecraft:eye_of_ender", 0.25, 0.25, EyeOfEnderMeta::new, EntitySpawnType.BASE), + EYE_OF_ENDER(NamespaceID.from("minecraft:eye_of_ender"), 0.25, 0.25, EyeOfEnderMeta::new, EntitySpawnType.BASE), - FALLING_BLOCK("minecraft:falling_block", 0.98, 0.98, FallingBlockMeta::new, EntitySpawnType.BASE), + FALLING_BLOCK(NamespaceID.from("minecraft:falling_block"), 0.98, 0.98, FallingBlockMeta::new, EntitySpawnType.BASE), - FIREWORK_ROCKET("minecraft:firework_rocket", 0.25, 0.25, FireworkRocketMeta::new, EntitySpawnType.BASE), + FIREWORK_ROCKET(NamespaceID.from("minecraft:firework_rocket"), 0.25, 0.25, FireworkRocketMeta::new, EntitySpawnType.BASE), - FOX("minecraft:fox", 0.6, 0.7, FoxMeta::new, EntitySpawnType.LIVING), + FOX(NamespaceID.from("minecraft:fox"), 0.6, 0.7, FoxMeta::new, EntitySpawnType.LIVING), - GHAST("minecraft:ghast", 4.0, 4.0, GhastMeta::new, EntitySpawnType.LIVING), + GHAST(NamespaceID.from("minecraft:ghast"), 4.0, 4.0, GhastMeta::new, EntitySpawnType.LIVING), - GIANT("minecraft:giant", 3.6, 12.0, GiantMeta::new, EntitySpawnType.LIVING), + GIANT(NamespaceID.from("minecraft:giant"), 3.6, 12.0, GiantMeta::new, EntitySpawnType.LIVING), - GUARDIAN("minecraft:guardian", 0.85, 0.85, GuardianMeta::new, EntitySpawnType.LIVING), + GUARDIAN(NamespaceID.from("minecraft:guardian"), 0.85, 0.85, GuardianMeta::new, EntitySpawnType.LIVING), - HOGLIN("minecraft:hoglin", 1.39648, 1.4, HoglinMeta::new, EntitySpawnType.LIVING), + HOGLIN(NamespaceID.from("minecraft:hoglin"), 1.3964844, 1.4, HoglinMeta::new, EntitySpawnType.LIVING), - HORSE("minecraft:horse", 1.39648, 1.6, HorseMeta::new, EntitySpawnType.LIVING), + HORSE(NamespaceID.from("minecraft:horse"), 1.3964844, 1.6, HorseMeta::new, EntitySpawnType.LIVING), - HUSK("minecraft:husk", 0.6, 1.95, HuskMeta::new, EntitySpawnType.LIVING), + HUSK(NamespaceID.from("minecraft:husk"), 0.6, 1.95, HuskMeta::new, EntitySpawnType.LIVING), - ILLUSIONER("minecraft:illusioner", 0.6, 1.95, IllusionerMeta::new, EntitySpawnType.LIVING), + ILLUSIONER(NamespaceID.from("minecraft:illusioner"), 0.6, 1.95, IllusionerMeta::new, EntitySpawnType.LIVING), - IRON_GOLEM("minecraft:iron_golem", 1.4, 2.7, IronGolemMeta::new, EntitySpawnType.LIVING), + IRON_GOLEM(NamespaceID.from("minecraft:iron_golem"), 1.4, 2.7, IronGolemMeta::new, EntitySpawnType.LIVING), - ITEM("minecraft:item", 0.25, 0.25, ItemEntityMeta::new, EntitySpawnType.BASE), + ITEM(NamespaceID.from("minecraft:item"), 0.25, 0.25, ItemEntityMeta::new, EntitySpawnType.BASE), - ITEM_FRAME("minecraft:item_frame", 0.5, 0.5, ItemFrameMeta::new, EntitySpawnType.BASE), + ITEM_FRAME(NamespaceID.from("minecraft:item_frame"), 0.5, 0.5, ItemFrameMeta::new, EntitySpawnType.BASE), - FIREBALL("minecraft:fireball", 1.0, 1.0, FireballMeta::new, EntitySpawnType.BASE), + FIREBALL(NamespaceID.from("minecraft:fireball"), 1.0, 1.0, FireballMeta::new, EntitySpawnType.BASE), - LEASH_KNOT("minecraft:leash_knot", 0.5, 0.5, LeashKnotMeta::new, EntitySpawnType.BASE), + LEASH_KNOT(NamespaceID.from("minecraft:leash_knot"), 0.5, 0.5, LeashKnotMeta::new, EntitySpawnType.BASE), - LIGHTNING_BOLT("minecraft:lightning_bolt", 0.0, 0.0, LightningBoltMeta::new, EntitySpawnType.BASE), + LIGHTNING_BOLT(NamespaceID.from("minecraft:lightning_bolt"), 0.0, 0.0, LightningBoltMeta::new, EntitySpawnType.BASE), - LLAMA("minecraft:llama", 0.9, 1.87, LlamaMeta::new, EntitySpawnType.LIVING), + LLAMA(NamespaceID.from("minecraft:llama"), 0.9, 1.87, LlamaMeta::new, EntitySpawnType.LIVING), - LLAMA_SPIT("minecraft:llama_spit", 0.25, 0.25, LlamaSpitMeta::new, EntitySpawnType.BASE), + LLAMA_SPIT(NamespaceID.from("minecraft:llama_spit"), 0.25, 0.25, LlamaSpitMeta::new, EntitySpawnType.BASE), - MAGMA_CUBE("minecraft:magma_cube", 2.04, 2.04, MagmaCubeMeta::new, EntitySpawnType.LIVING), + MAGMA_CUBE(NamespaceID.from("minecraft:magma_cube"), 2.04, 2.04, MagmaCubeMeta::new, EntitySpawnType.LIVING), - MINECART("minecraft:minecart", 0.98, 0.7, MinecartMeta::new, EntitySpawnType.BASE), + MINECART(NamespaceID.from("minecraft:minecart"), 0.98, 0.7, MinecartMeta::new, EntitySpawnType.BASE), - CHEST_MINECART("minecraft:chest_minecart", 0.98, 0.7, ChestMinecartMeta::new, EntitySpawnType.BASE), + CHEST_MINECART(NamespaceID.from("minecraft:chest_minecart"), 0.98, 0.7, ChestMinecartMeta::new, EntitySpawnType.BASE), - COMMAND_BLOCK_MINECART("minecraft:command_block_minecart", 0.98, 0.7, CommandBlockMinecartMeta::new, EntitySpawnType.BASE), + COMMAND_BLOCK_MINECART(NamespaceID.from("minecraft:command_block_minecart"), 0.98, 0.7, CommandBlockMinecartMeta::new, EntitySpawnType.BASE), - FURNACE_MINECART("minecraft:furnace_minecart", 0.98, 0.7, FurnaceMinecartMeta::new, EntitySpawnType.BASE), + FURNACE_MINECART(NamespaceID.from("minecraft:furnace_minecart"), 0.98, 0.7, FurnaceMinecartMeta::new, EntitySpawnType.BASE), - HOPPER_MINECART("minecraft:hopper_minecart", 0.98, 0.7, HopperMinecartMeta::new, EntitySpawnType.BASE), + HOPPER_MINECART(NamespaceID.from("minecraft:hopper_minecart"), 0.98, 0.7, HopperMinecartMeta::new, EntitySpawnType.BASE), - SPAWNER_MINECART("minecraft:spawner_minecart", 0.98, 0.7, SpawnerMinecartMeta::new, EntitySpawnType.BASE), + SPAWNER_MINECART(NamespaceID.from("minecraft:spawner_minecart"), 0.98, 0.7, SpawnerMinecartMeta::new, EntitySpawnType.BASE), - TNT_MINECART("minecraft:tnt_minecart", 0.98, 0.7, TntMinecartMeta::new, EntitySpawnType.BASE), + TNT_MINECART(NamespaceID.from("minecraft:tnt_minecart"), 0.98, 0.7, TntMinecartMeta::new, EntitySpawnType.BASE), - MULE("minecraft:mule", 1.39648, 1.6, MuleMeta::new, EntitySpawnType.LIVING), + MULE(NamespaceID.from("minecraft:mule"), 1.3964844, 1.6, MuleMeta::new, EntitySpawnType.LIVING), - MOOSHROOM("minecraft:mooshroom", 0.9, 1.4, MooshroomMeta::new, EntitySpawnType.LIVING), + MOOSHROOM(NamespaceID.from("minecraft:mooshroom"), 0.9, 1.4, MooshroomMeta::new, EntitySpawnType.LIVING), - OCELOT("minecraft:ocelot", 0.6, 0.7, OcelotMeta::new, EntitySpawnType.LIVING), + OCELOT(NamespaceID.from("minecraft:ocelot"), 0.6, 0.7, OcelotMeta::new, EntitySpawnType.LIVING), - PAINTING("minecraft:painting", 0.5, 0.5, PaintingMeta::new, EntitySpawnType.PAINTING), + PAINTING(NamespaceID.from("minecraft:painting"), 0.5, 0.5, PaintingMeta::new, EntitySpawnType.PAINTING), - PANDA("minecraft:panda", 1.3, 1.25, PandaMeta::new, EntitySpawnType.LIVING), + PANDA(NamespaceID.from("minecraft:panda"), 1.3, 1.25, PandaMeta::new, EntitySpawnType.LIVING), - PARROT("minecraft:parrot", 0.5, 0.9, ParrotMeta::new, EntitySpawnType.LIVING), + PARROT(NamespaceID.from("minecraft:parrot"), 0.5, 0.9, ParrotMeta::new, EntitySpawnType.LIVING), - PHANTOM("minecraft:phantom", 0.9, 0.5, PhantomMeta::new, EntitySpawnType.LIVING), + PHANTOM(NamespaceID.from("minecraft:phantom"), 0.9, 0.5, PhantomMeta::new, EntitySpawnType.LIVING), - PIG("minecraft:pig", 0.9, 0.9, PigMeta::new, EntitySpawnType.LIVING), + PIG(NamespaceID.from("minecraft:pig"), 0.9, 0.9, PigMeta::new, EntitySpawnType.LIVING), - PIGLIN("minecraft:piglin", 0.6, 1.95, PiglinMeta::new, EntitySpawnType.LIVING), + PIGLIN(NamespaceID.from("minecraft:piglin"), 0.6, 1.95, PiglinMeta::new, EntitySpawnType.LIVING), - PIGLIN_BRUTE("minecraft:piglin_brute", 0.6, 1.95, PiglinBruteMeta::new, EntitySpawnType.LIVING), + PIGLIN_BRUTE(NamespaceID.from("minecraft:piglin_brute"), 0.6, 1.95, PiglinBruteMeta::new, EntitySpawnType.LIVING), - PILLAGER("minecraft:pillager", 0.6, 1.95, PillagerMeta::new, EntitySpawnType.LIVING), + PILLAGER(NamespaceID.from("minecraft:pillager"), 0.6, 1.95, PillagerMeta::new, EntitySpawnType.LIVING), - POLAR_BEAR("minecraft:polar_bear", 1.4, 1.4, PolarBearMeta::new, EntitySpawnType.LIVING), + POLAR_BEAR(NamespaceID.from("minecraft:polar_bear"), 1.4, 1.4, PolarBearMeta::new, EntitySpawnType.LIVING), - TNT("minecraft:tnt", 0.98, 0.98, PrimedTntMeta::new, EntitySpawnType.BASE), + TNT(NamespaceID.from("minecraft:tnt"), 0.98, 0.98, PrimedTntMeta::new, EntitySpawnType.BASE), - PUFFERFISH("minecraft:pufferfish", 0.7, 0.7, PufferfishMeta::new, EntitySpawnType.LIVING), + PUFFERFISH(NamespaceID.from("minecraft:pufferfish"), 0.7, 0.7, PufferfishMeta::new, EntitySpawnType.LIVING), - RABBIT("minecraft:rabbit", 0.4, 0.5, RabbitMeta::new, EntitySpawnType.LIVING), + RABBIT(NamespaceID.from("minecraft:rabbit"), 0.4, 0.5, RabbitMeta::new, EntitySpawnType.LIVING), - RAVAGER("minecraft:ravager", 1.95, 2.2, RavagerMeta::new, EntitySpawnType.LIVING), + RAVAGER(NamespaceID.from("minecraft:ravager"), 1.95, 2.2, RavagerMeta::new, EntitySpawnType.LIVING), - SALMON("minecraft:salmon", 0.7, 0.4, SalmonMeta::new, EntitySpawnType.LIVING), + SALMON(NamespaceID.from("minecraft:salmon"), 0.7, 0.4, SalmonMeta::new, EntitySpawnType.LIVING), - SHEEP("minecraft:sheep", 0.9, 1.3, SheepMeta::new, EntitySpawnType.LIVING), + SHEEP(NamespaceID.from("minecraft:sheep"), 0.9, 1.3, SheepMeta::new, EntitySpawnType.LIVING), - SHULKER("minecraft:shulker", 1.0, 1.0, ShulkerMeta::new, EntitySpawnType.LIVING), + SHULKER(NamespaceID.from("minecraft:shulker"), 1.0, 1.0, ShulkerMeta::new, EntitySpawnType.LIVING), - SHULKER_BULLET("minecraft:shulker_bullet", 0.3125, 0.3125, ShulkerBulletMeta::new, EntitySpawnType.BASE), + SHULKER_BULLET(NamespaceID.from("minecraft:shulker_bullet"), 0.3125, 0.3125, ShulkerBulletMeta::new, EntitySpawnType.BASE), - SILVERFISH("minecraft:silverfish", 0.4, 0.3, SilverfishMeta::new, EntitySpawnType.LIVING), + SILVERFISH(NamespaceID.from("minecraft:silverfish"), 0.4, 0.3, SilverfishMeta::new, EntitySpawnType.LIVING), - SKELETON("minecraft:skeleton", 0.6, 1.99, SkeletonMeta::new, EntitySpawnType.LIVING), + SKELETON(NamespaceID.from("minecraft:skeleton"), 0.6, 1.99, SkeletonMeta::new, EntitySpawnType.LIVING), - SKELETON_HORSE("minecraft:skeleton_horse", 1.39648, 1.6, SkeletonHorseMeta::new, EntitySpawnType.LIVING), + SKELETON_HORSE(NamespaceID.from("minecraft:skeleton_horse"), 1.3964844, 1.6, SkeletonHorseMeta::new, EntitySpawnType.LIVING), - SLIME("minecraft:slime", 2.04, 2.04, SlimeMeta::new, EntitySpawnType.LIVING), + SLIME(NamespaceID.from("minecraft:slime"), 2.04, 2.04, SlimeMeta::new, EntitySpawnType.LIVING), - SMALL_FIREBALL("minecraft:small_fireball", 0.3125, 0.3125, SmallFireballMeta::new, EntitySpawnType.BASE), + SMALL_FIREBALL(NamespaceID.from("minecraft:small_fireball"), 0.3125, 0.3125, SmallFireballMeta::new, EntitySpawnType.BASE), - SNOW_GOLEM("minecraft:snow_golem", 0.7, 1.9, SnowGolemMeta::new, EntitySpawnType.LIVING), + SNOW_GOLEM(NamespaceID.from("minecraft:snow_golem"), 0.7, 1.9, SnowGolemMeta::new, EntitySpawnType.LIVING), - SNOWBALL("minecraft:snowball", 0.25, 0.25, SnowballMeta::new, EntitySpawnType.BASE), + SNOWBALL(NamespaceID.from("minecraft:snowball"), 0.25, 0.25, SnowballMeta::new, EntitySpawnType.BASE), - SPECTRAL_ARROW("minecraft:spectral_arrow", 0.5, 0.5, SpectralArrowMeta::new, EntitySpawnType.BASE), + SPECTRAL_ARROW(NamespaceID.from("minecraft:spectral_arrow"), 0.5, 0.5, SpectralArrowMeta::new, EntitySpawnType.BASE), - SPIDER("minecraft:spider", 1.4, 0.9, SpiderMeta::new, EntitySpawnType.LIVING), + SPIDER(NamespaceID.from("minecraft:spider"), 1.4, 0.9, SpiderMeta::new, EntitySpawnType.LIVING), - SQUID("minecraft:squid", 0.8, 0.8, SquidMeta::new, EntitySpawnType.LIVING), + SQUID(NamespaceID.from("minecraft:squid"), 0.8, 0.8, SquidMeta::new, EntitySpawnType.LIVING), - STRAY("minecraft:stray", 0.6, 1.99, StrayMeta::new, EntitySpawnType.LIVING), + STRAY(NamespaceID.from("minecraft:stray"), 0.6, 1.99, StrayMeta::new, EntitySpawnType.LIVING), - STRIDER("minecraft:strider", 0.9, 1.7, StriderMeta::new, EntitySpawnType.LIVING), + STRIDER(NamespaceID.from("minecraft:strider"), 0.9, 1.7, StriderMeta::new, EntitySpawnType.LIVING), - EGG("minecraft:egg", 0.25, 0.25, ThrownEggMeta::new, EntitySpawnType.BASE), + EGG(NamespaceID.from("minecraft:egg"), 0.25, 0.25, ThrownEggMeta::new, EntitySpawnType.BASE), - ENDER_PEARL("minecraft:ender_pearl", 0.25, 0.25, ThrownEnderPearlMeta::new, EntitySpawnType.BASE), + ENDER_PEARL(NamespaceID.from("minecraft:ender_pearl"), 0.25, 0.25, ThrownEnderPearlMeta::new, EntitySpawnType.BASE), - EXPERIENCE_BOTTLE("minecraft:experience_bottle", 0.25, 0.25, ThrownExperienceBottleMeta::new, EntitySpawnType.BASE), + EXPERIENCE_BOTTLE(NamespaceID.from("minecraft:experience_bottle"), 0.25, 0.25, ThrownExperienceBottleMeta::new, EntitySpawnType.BASE), - POTION("minecraft:potion", 0.25, 0.25, ThrownPotionMeta::new, EntitySpawnType.BASE), + POTION(NamespaceID.from("minecraft:potion"), 0.25, 0.25, ThrownPotionMeta::new, EntitySpawnType.BASE), - TRIDENT("minecraft:trident", 0.5, 0.5, ThrownTridentMeta::new, EntitySpawnType.BASE), + TRIDENT(NamespaceID.from("minecraft:trident"), 0.5, 0.5, ThrownTridentMeta::new, EntitySpawnType.BASE), - TRADER_LLAMA("minecraft:trader_llama", 0.9, 1.87, TraderLlamaMeta::new, EntitySpawnType.BASE), + TRADER_LLAMA(NamespaceID.from("minecraft:trader_llama"), 0.9, 1.87, TraderLlamaMeta::new, EntitySpawnType.LIVING), - TROPICAL_FISH("minecraft:tropical_fish", 0.5, 0.4, TropicalFishMeta::new, EntitySpawnType.LIVING), + TROPICAL_FISH(NamespaceID.from("minecraft:tropical_fish"), 0.5, 0.4, TropicalFishMeta::new, EntitySpawnType.LIVING), - TURTLE("minecraft:turtle", 1.2, 0.4, TurtleMeta::new, EntitySpawnType.LIVING), + TURTLE(NamespaceID.from("minecraft:turtle"), 1.2, 0.4, TurtleMeta::new, EntitySpawnType.LIVING), - VEX("minecraft:vex", 0.4, 0.8, VexMeta::new, EntitySpawnType.LIVING), + VEX(NamespaceID.from("minecraft:vex"), 0.4, 0.8, VexMeta::new, EntitySpawnType.LIVING), - VILLAGER("minecraft:villager", 0.6, 1.95, VillagerMeta::new, EntitySpawnType.LIVING), + VILLAGER(NamespaceID.from("minecraft:villager"), 0.6, 1.95, VillagerMeta::new, EntitySpawnType.LIVING), - VINDICATOR("minecraft:vindicator", 0.6, 1.95, VindicatorMeta::new, EntitySpawnType.LIVING), + VINDICATOR(NamespaceID.from("minecraft:vindicator"), 0.6, 1.95, VindicatorMeta::new, EntitySpawnType.LIVING), - WANDERING_TRADER("minecraft:wandering_trader", 0.6, 1.95, WanderingTraderMeta::new, EntitySpawnType.LIVING), + WANDERING_TRADER(NamespaceID.from("minecraft:wandering_trader"), 0.6, 1.95, WanderingTraderMeta::new, EntitySpawnType.LIVING), - WITCH("minecraft:witch", 0.6, 1.95, WitchMeta::new, EntitySpawnType.LIVING), + WITCH(NamespaceID.from("minecraft:witch"), 0.6, 1.95, WitchMeta::new, EntitySpawnType.LIVING), - WITHER("minecraft:wither", 0.9, 3.5, WitherMeta::new, EntitySpawnType.LIVING), + WITHER(NamespaceID.from("minecraft:wither"), 0.9, 3.5, WitherMeta::new, EntitySpawnType.LIVING), - WITHER_SKELETON("minecraft:wither_skeleton", 0.7, 2.4, WitherSkeletonMeta::new, EntitySpawnType.LIVING), + WITHER_SKELETON(NamespaceID.from("minecraft:wither_skeleton"), 0.7, 2.4, WitherSkeletonMeta::new, EntitySpawnType.LIVING), - WITHER_SKULL("minecraft:wither_skull", 0.3125, 0.3125, WitherSkullMeta::new, EntitySpawnType.BASE), + WITHER_SKULL(NamespaceID.from("minecraft:wither_skull"), 0.3125, 0.3125, WitherSkullMeta::new, EntitySpawnType.BASE), - WOLF("minecraft:wolf", 0.6, 0.85, WolfMeta::new, EntitySpawnType.LIVING), + WOLF(NamespaceID.from("minecraft:wolf"), 0.6, 0.85, WolfMeta::new, EntitySpawnType.LIVING), - ZOGLIN("minecraft:zoglin", 1.39648, 1.4, ZoglinMeta::new, EntitySpawnType.LIVING), + ZOGLIN(NamespaceID.from("minecraft:zoglin"), 1.3964844, 1.4, ZoglinMeta::new, EntitySpawnType.LIVING), - ZOMBIE("minecraft:zombie", 0.6, 1.95, ZombieMeta::new, EntitySpawnType.LIVING), + ZOMBIE(NamespaceID.from("minecraft:zombie"), 0.6, 1.95, ZombieMeta::new, EntitySpawnType.LIVING), - ZOMBIE_HORSE("minecraft:zombie_horse", 1.39648, 1.6, ZombieHorseMeta::new, EntitySpawnType.LIVING), + ZOMBIE_HORSE(NamespaceID.from("minecraft:zombie_horse"), 1.3964844, 1.6, ZombieHorseMeta::new, EntitySpawnType.LIVING), - ZOMBIE_VILLAGER("minecraft:zombie_villager", 0.6, 1.95, ZombieVillagerMeta::new, EntitySpawnType.LIVING), + ZOMBIE_VILLAGER(NamespaceID.from("minecraft:zombie_villager"), 0.6, 1.95, ZombieVillagerMeta::new, EntitySpawnType.LIVING), - ZOMBIFIED_PIGLIN("minecraft:zombified_piglin", 0.6, 1.95, ZombifiedPiglinMeta::new, EntitySpawnType.LIVING), + ZOMBIFIED_PIGLIN(NamespaceID.from("minecraft:zombified_piglin"), 0.6, 1.95, ZombifiedPiglinMeta::new, EntitySpawnType.LIVING), - PLAYER("minecraft:player", 0.6, 1.8, PlayerMeta::new, EntitySpawnType.PLAYER), + PLAYER(NamespaceID.from("minecraft:player"), 0.6, 1.8, PlayerMeta::new, EntitySpawnType.PLAYER), - FISHING_BOBBER("minecraft:fishing_bobber", 0.25, 0.25, FishingHookMeta::new, EntitySpawnType.BASE); + FISHING_BOBBER(NamespaceID.from("minecraft:fishing_bobber"), 0.25, 0.25, FishingHookMeta::new, EntitySpawnType.BASE); private static final EntityType[] VALUES = values(); @NotNull - private final String namespaceID; + private final NamespaceID id; private final double width; @@ -278,26 +352,30 @@ public enum EntityType implements Keyed { @NotNull private final EntitySpawnType spawnType; - private final Key key; - - EntityType(@NotNull String namespaceID, double width, double height, + EntityType(@NotNull NamespaceID id, double width, double height, @NotNull BiFunction metaConstructor, @NotNull EntitySpawnType spawnType) { - this.namespaceID = namespaceID; + this.id = id; this.width = width; this.height = height; this.metaConstructor = metaConstructor; this.spawnType = spawnType; - Registries.entityTypes.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); + Registries.entityTypes.put(id, this); + } + + @Override + @NotNull + public Key key() { + return this.id; } public short getId() { return (short) ordinal(); } - public String getNamespaceID() { - return this.namespaceID; + @NotNull + public NamespaceID getNamespaceID() { + return this.id; } public double getWidth() { @@ -316,6 +394,7 @@ public enum EntityType implements Keyed { return this.spawnType; } + @Nullable public static EntityType fromId(short id) { if(id >= 0 && id < VALUES.length) { return VALUES[id]; @@ -323,7 +402,9 @@ public enum EntityType implements Keyed { return null; } - public Key key() { - return this.key; + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; } } diff --git a/src/autogenerated/java/net/minestom/server/fluid/Fluid.java b/src/autogenerated/java/net/minestom/server/fluid/Fluid.java new file mode 100644 index 000000000..bcbc20191 --- /dev/null +++ b/src/autogenerated/java/net/minestom/server/fluid/Fluid.java @@ -0,0 +1,62 @@ +package net.minestom.server.fluid; + +import net.kyori.adventure.key.Key; +import net.kyori.adventure.key.Keyed; +import net.minestom.server.registry.Registries; +import net.minestom.server.utils.NamespaceID; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * AUTOGENERATED by FluidGenerator + */ +public enum Fluid implements Keyed { + EMPTY(NamespaceID.from("minecraft:empty")), + + FLOWING_WATER(NamespaceID.from("minecraft:flowing_water")), + + WATER(NamespaceID.from("minecraft:water")), + + FLOWING_LAVA(NamespaceID.from("minecraft:flowing_lava")), + + LAVA(NamespaceID.from("minecraft:lava")); + + private static final Fluid[] VALUES = values(); + + @NotNull + private final NamespaceID id; + + Fluid(@NotNull NamespaceID id) { + this.id = id; + Registries.fluids.put(id, this); + } + + @Override + @NotNull + public Key key() { + return this.id; + } + + public short getId() { + return (short) ordinal(); + } + + @NotNull + public NamespaceID getNamespaceID() { + return this.id; + } + + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; + } + + @Nullable + public static Fluid fromId(short id) { + if(id >= 0 && id < VALUES.length) { + return VALUES[id]; + } + return null; + } +} diff --git a/src/autogenerated/java/net/minestom/server/fluids/Fluid.java b/src/autogenerated/java/net/minestom/server/fluids/Fluid.java deleted file mode 100644 index 7d73de35a..000000000 --- a/src/autogenerated/java/net/minestom/server/fluids/Fluid.java +++ /dev/null @@ -1,53 +0,0 @@ -package net.minestom.server.fluids; - -import net.kyori.adventure.key.Key; -import net.kyori.adventure.key.Keyed; -import net.minestom.server.registry.Registries; -import net.minestom.server.utils.NamespaceID; - -/** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== - */ -@SuppressWarnings({"deprecation"}) -public enum Fluid implements Keyed { - EMPTY("minecraft:empty"), - - FLOWING_WATER("minecraft:flowing_water"), - - WATER("minecraft:water"), - - FLOWING_LAVA("minecraft:flowing_lava"), - - LAVA("minecraft:lava"); - - private final String namespaceID; - - private final Key key; - - Fluid(String namespaceID) { - this.namespaceID = namespaceID; - Registries.fluids.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); - } - - public int getId() { - return ordinal(); - } - - public String getNamespaceID() { - return namespaceID; - } - - public Key key() { - return this.key; - } - - public static Fluid fromId(int id) { - if (id >= 0 && id < values().length) { - return values()[id]; - } - return EMPTY; - } -} diff --git a/src/autogenerated/java/net/minestom/server/instance/block/Block.java b/src/autogenerated/java/net/minestom/server/instance/block/Block.java index c4788bac6..a005b1fa2 100644 --- a/src/autogenerated/java/net/minestom/server/instance/block/Block.java +++ b/src/autogenerated/java/net/minestom/server/instance/block/Block.java @@ -1,5 +1,6 @@ package net.minestom.server.instance.block; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import net.kyori.adventure.key.Key; @@ -478,1537 +479,1535 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== + * AUTOGENERATED by BlockGenerator */ -@SuppressWarnings({"deprecation"}) +@SuppressWarnings("deprecation") public enum Block implements Keyed { - AIR("minecraft:air", (short) 0, 0.0, 0.0, true, false, null, true), + AIR(NamespaceID.from("minecraft:air"), (short) 0, 0.0, 0.0, true, false, false, true), - STONE("minecraft:stone", (short) 1, 1.5, 6.0, false, true, null, true), + STONE(NamespaceID.from("minecraft:stone"), (short) 1, 1.5, 6.0, false, true, false, true), - GRANITE("minecraft:granite", (short) 2, 1.5, 6.0, false, true, null, true), + GRANITE(NamespaceID.from("minecraft:granite"), (short) 2, 1.5, 6.0, false, true, false, true), - POLISHED_GRANITE("minecraft:polished_granite", (short) 3, 1.5, 6.0, false, true, null, true), + POLISHED_GRANITE(NamespaceID.from("minecraft:polished_granite"), (short) 3, 1.5, 6.0, false, true, false, true), - DIORITE("minecraft:diorite", (short) 4, 1.5, 6.0, false, true, null, true), + DIORITE(NamespaceID.from("minecraft:diorite"), (short) 4, 1.5, 6.0, false, true, false, true), - POLISHED_DIORITE("minecraft:polished_diorite", (short) 5, 1.5, 6.0, false, true, null, true), + POLISHED_DIORITE(NamespaceID.from("minecraft:polished_diorite"), (short) 5, 1.5, 6.0, false, true, false, true), - ANDESITE("minecraft:andesite", (short) 6, 1.5, 6.0, false, true, null, true), + ANDESITE(NamespaceID.from("minecraft:andesite"), (short) 6, 1.5, 6.0, false, true, false, true), - POLISHED_ANDESITE("minecraft:polished_andesite", (short) 7, 1.5, 6.0, false, true, null, true), + POLISHED_ANDESITE(NamespaceID.from("minecraft:polished_andesite"), (short) 7, 1.5, 6.0, false, true, false, true), - GRASS_BLOCK("minecraft:grass_block", (short) 9, 0.6, 0.6, false, true, null, false), + GRASS_BLOCK(NamespaceID.from("minecraft:grass_block"), (short) 9, 0.6, 0.6, false, true, false, false), - DIRT("minecraft:dirt", (short) 10, 0.5, 0.5, false, true, null, true), + DIRT(NamespaceID.from("minecraft:dirt"), (short) 10, 0.5, 0.5, false, true, false, true), - COARSE_DIRT("minecraft:coarse_dirt", (short) 11, 0.5, 0.5, false, true, null, true), + COARSE_DIRT(NamespaceID.from("minecraft:coarse_dirt"), (short) 11, 0.5, 0.5, false, true, false, true), - PODZOL("minecraft:podzol", (short) 13, 0.5, 0.5, false, true, null, false), + PODZOL(NamespaceID.from("minecraft:podzol"), (short) 13, 0.5, 0.5, false, true, false, false), - COBBLESTONE("minecraft:cobblestone", (short) 14, 2.0, 6.0, false, true, null, true), + COBBLESTONE(NamespaceID.from("minecraft:cobblestone"), (short) 14, 2.0, 6.0, false, true, false, true), - OAK_PLANKS("minecraft:oak_planks", (short) 15, 2.0, 3.0, false, true, null, true), + OAK_PLANKS(NamespaceID.from("minecraft:oak_planks"), (short) 15, 2.0, 3.0, false, true, false, true), - SPRUCE_PLANKS("minecraft:spruce_planks", (short) 16, 2.0, 3.0, false, true, null, true), + SPRUCE_PLANKS(NamespaceID.from("minecraft:spruce_planks"), (short) 16, 2.0, 3.0, false, true, false, true), - BIRCH_PLANKS("minecraft:birch_planks", (short) 17, 2.0, 3.0, false, true, null, true), + BIRCH_PLANKS(NamespaceID.from("minecraft:birch_planks"), (short) 17, 2.0, 3.0, false, true, false, true), - JUNGLE_PLANKS("minecraft:jungle_planks", (short) 18, 2.0, 3.0, false, true, null, true), + JUNGLE_PLANKS(NamespaceID.from("minecraft:jungle_planks"), (short) 18, 2.0, 3.0, false, true, false, true), - ACACIA_PLANKS("minecraft:acacia_planks", (short) 19, 2.0, 3.0, false, true, null, true), + ACACIA_PLANKS(NamespaceID.from("minecraft:acacia_planks"), (short) 19, 2.0, 3.0, false, true, false, true), - DARK_OAK_PLANKS("minecraft:dark_oak_planks", (short) 20, 2.0, 3.0, false, true, null, true), + DARK_OAK_PLANKS(NamespaceID.from("minecraft:dark_oak_planks"), (short) 20, 2.0, 3.0, false, true, false, true), - OAK_SAPLING("minecraft:oak_sapling", (short) 21, 0.0, 0.0, false, false, null, false), + OAK_SAPLING(NamespaceID.from("minecraft:oak_sapling"), (short) 21, 0.0, 0.0, false, false, false, false), - SPRUCE_SAPLING("minecraft:spruce_sapling", (short) 23, 0.0, 0.0, false, false, null, false), + SPRUCE_SAPLING(NamespaceID.from("minecraft:spruce_sapling"), (short) 23, 0.0, 0.0, false, false, false, false), - BIRCH_SAPLING("minecraft:birch_sapling", (short) 25, 0.0, 0.0, false, false, null, false), + BIRCH_SAPLING(NamespaceID.from("minecraft:birch_sapling"), (short) 25, 0.0, 0.0, false, false, false, false), - JUNGLE_SAPLING("minecraft:jungle_sapling", (short) 27, 0.0, 0.0, false, false, null, false), + JUNGLE_SAPLING(NamespaceID.from("minecraft:jungle_sapling"), (short) 27, 0.0, 0.0, false, false, false, false), - ACACIA_SAPLING("minecraft:acacia_sapling", (short) 29, 0.0, 0.0, false, false, null, false), + ACACIA_SAPLING(NamespaceID.from("minecraft:acacia_sapling"), (short) 29, 0.0, 0.0, false, false, false, false), - DARK_OAK_SAPLING("minecraft:dark_oak_sapling", (short) 31, 0.0, 0.0, false, false, null, false), + DARK_OAK_SAPLING(NamespaceID.from("minecraft:dark_oak_sapling"), (short) 31, 0.0, 0.0, false, false, false, false), - BEDROCK("minecraft:bedrock", (short) 33, 0.0, 3600000.0, false, true, null, true), + BEDROCK(NamespaceID.from("minecraft:bedrock"), (short) 33, -1.0, 3600000.0, false, true, false, true), - WATER("minecraft:water", (short) 34, 100.0, 100.0, false, false, null, false), + WATER(NamespaceID.from("minecraft:water"), (short) 34, 100.0, 100.0, false, false, false, false), - LAVA("minecraft:lava", (short) 50, 100.0, 100.0, false, false, null, false), + LAVA(NamespaceID.from("minecraft:lava"), (short) 50, 100.0, 100.0, false, false, false, false), - SAND("minecraft:sand", (short) 66, 0.5, 0.5, false, true, null, true), + SAND(NamespaceID.from("minecraft:sand"), (short) 66, 0.5, 0.5, false, true, false, true), - RED_SAND("minecraft:red_sand", (short) 67, 0.5, 0.5, false, true, null, true), + RED_SAND(NamespaceID.from("minecraft:red_sand"), (short) 67, 0.5, 0.5, false, true, false, true), - GRAVEL("minecraft:gravel", (short) 68, 0.6, 0.6, false, true, null, true), + GRAVEL(NamespaceID.from("minecraft:gravel"), (short) 68, 0.6, 0.6, false, true, false, true), - GOLD_ORE("minecraft:gold_ore", (short) 69, 3.0, 3.0, false, true, null, true), + GOLD_ORE(NamespaceID.from("minecraft:gold_ore"), (short) 69, 3.0, 3.0, false, true, false, true), - IRON_ORE("minecraft:iron_ore", (short) 70, 3.0, 3.0, false, true, null, true), + IRON_ORE(NamespaceID.from("minecraft:iron_ore"), (short) 70, 3.0, 3.0, false, true, false, true), - COAL_ORE("minecraft:coal_ore", (short) 71, 3.0, 3.0, false, true, null, true), + COAL_ORE(NamespaceID.from("minecraft:coal_ore"), (short) 71, 3.0, 3.0, false, true, false, true), - NETHER_GOLD_ORE("minecraft:nether_gold_ore", (short) 72, 3.0, 3.0, false, true, null, true), + NETHER_GOLD_ORE(NamespaceID.from("minecraft:nether_gold_ore"), (short) 72, 3.0, 3.0, false, true, false, true), - OAK_LOG("minecraft:oak_log", (short) 74, 2.0, 2.0, false, true, null, false), + OAK_LOG(NamespaceID.from("minecraft:oak_log"), (short) 74, 2.0, 2.0, false, true, false, false), - SPRUCE_LOG("minecraft:spruce_log", (short) 77, 2.0, 2.0, false, true, null, false), + SPRUCE_LOG(NamespaceID.from("minecraft:spruce_log"), (short) 77, 2.0, 2.0, false, true, false, false), - BIRCH_LOG("minecraft:birch_log", (short) 80, 2.0, 2.0, false, true, null, false), + BIRCH_LOG(NamespaceID.from("minecraft:birch_log"), (short) 80, 2.0, 2.0, false, true, false, false), - JUNGLE_LOG("minecraft:jungle_log", (short) 83, 2.0, 2.0, false, true, null, false), + JUNGLE_LOG(NamespaceID.from("minecraft:jungle_log"), (short) 83, 2.0, 2.0, false, true, false, false), - ACACIA_LOG("minecraft:acacia_log", (short) 86, 2.0, 2.0, false, true, null, false), + ACACIA_LOG(NamespaceID.from("minecraft:acacia_log"), (short) 86, 2.0, 2.0, false, true, false, false), - DARK_OAK_LOG("minecraft:dark_oak_log", (short) 89, 2.0, 2.0, false, true, null, false), + DARK_OAK_LOG(NamespaceID.from("minecraft:dark_oak_log"), (short) 89, 2.0, 2.0, false, true, false, false), - STRIPPED_SPRUCE_LOG("minecraft:stripped_spruce_log", (short) 92, 2.0, 2.0, false, true, null, false), + STRIPPED_SPRUCE_LOG(NamespaceID.from("minecraft:stripped_spruce_log"), (short) 92, 2.0, 2.0, false, true, false, false), - STRIPPED_BIRCH_LOG("minecraft:stripped_birch_log", (short) 95, 2.0, 2.0, false, true, null, false), + STRIPPED_BIRCH_LOG(NamespaceID.from("minecraft:stripped_birch_log"), (short) 95, 2.0, 2.0, false, true, false, false), - STRIPPED_JUNGLE_LOG("minecraft:stripped_jungle_log", (short) 98, 2.0, 2.0, false, true, null, false), + STRIPPED_JUNGLE_LOG(NamespaceID.from("minecraft:stripped_jungle_log"), (short) 98, 2.0, 2.0, false, true, false, false), - STRIPPED_ACACIA_LOG("minecraft:stripped_acacia_log", (short) 101, 2.0, 2.0, false, true, null, false), + STRIPPED_ACACIA_LOG(NamespaceID.from("minecraft:stripped_acacia_log"), (short) 101, 2.0, 2.0, false, true, false, false), - STRIPPED_DARK_OAK_LOG("minecraft:stripped_dark_oak_log", (short) 104, 2.0, 2.0, false, true, null, false), + STRIPPED_DARK_OAK_LOG(NamespaceID.from("minecraft:stripped_dark_oak_log"), (short) 104, 2.0, 2.0, false, true, false, false), - STRIPPED_OAK_LOG("minecraft:stripped_oak_log", (short) 107, 2.0, 2.0, false, true, null, false), + STRIPPED_OAK_LOG(NamespaceID.from("minecraft:stripped_oak_log"), (short) 107, 2.0, 2.0, false, true, false, false), - OAK_WOOD("minecraft:oak_wood", (short) 110, 2.0, 2.0, false, true, null, false), + OAK_WOOD(NamespaceID.from("minecraft:oak_wood"), (short) 110, 2.0, 2.0, false, true, false, false), - SPRUCE_WOOD("minecraft:spruce_wood", (short) 113, 2.0, 2.0, false, true, null, false), + SPRUCE_WOOD(NamespaceID.from("minecraft:spruce_wood"), (short) 113, 2.0, 2.0, false, true, false, false), - BIRCH_WOOD("minecraft:birch_wood", (short) 116, 2.0, 2.0, false, true, null, false), + BIRCH_WOOD(NamespaceID.from("minecraft:birch_wood"), (short) 116, 2.0, 2.0, false, true, false, false), - JUNGLE_WOOD("minecraft:jungle_wood", (short) 119, 2.0, 2.0, false, true, null, false), + JUNGLE_WOOD(NamespaceID.from("minecraft:jungle_wood"), (short) 119, 2.0, 2.0, false, true, false, false), - ACACIA_WOOD("minecraft:acacia_wood", (short) 122, 2.0, 2.0, false, true, null, false), + ACACIA_WOOD(NamespaceID.from("minecraft:acacia_wood"), (short) 122, 2.0, 2.0, false, true, false, false), - DARK_OAK_WOOD("minecraft:dark_oak_wood", (short) 125, 2.0, 2.0, false, true, null, false), + DARK_OAK_WOOD(NamespaceID.from("minecraft:dark_oak_wood"), (short) 125, 2.0, 2.0, false, true, false, false), - STRIPPED_OAK_WOOD("minecraft:stripped_oak_wood", (short) 128, 2.0, 2.0, false, true, null, false), + STRIPPED_OAK_WOOD(NamespaceID.from("minecraft:stripped_oak_wood"), (short) 128, 2.0, 2.0, false, true, false, false), - STRIPPED_SPRUCE_WOOD("minecraft:stripped_spruce_wood", (short) 131, 2.0, 2.0, false, true, null, false), + STRIPPED_SPRUCE_WOOD(NamespaceID.from("minecraft:stripped_spruce_wood"), (short) 131, 2.0, 2.0, false, true, false, false), - STRIPPED_BIRCH_WOOD("minecraft:stripped_birch_wood", (short) 134, 2.0, 2.0, false, true, null, false), + STRIPPED_BIRCH_WOOD(NamespaceID.from("minecraft:stripped_birch_wood"), (short) 134, 2.0, 2.0, false, true, false, false), - STRIPPED_JUNGLE_WOOD("minecraft:stripped_jungle_wood", (short) 137, 2.0, 2.0, false, true, null, false), + STRIPPED_JUNGLE_WOOD(NamespaceID.from("minecraft:stripped_jungle_wood"), (short) 137, 2.0, 2.0, false, true, false, false), - STRIPPED_ACACIA_WOOD("minecraft:stripped_acacia_wood", (short) 140, 2.0, 2.0, false, true, null, false), + STRIPPED_ACACIA_WOOD(NamespaceID.from("minecraft:stripped_acacia_wood"), (short) 140, 2.0, 2.0, false, true, false, false), - STRIPPED_DARK_OAK_WOOD("minecraft:stripped_dark_oak_wood", (short) 143, 2.0, 2.0, false, true, null, false), + STRIPPED_DARK_OAK_WOOD(NamespaceID.from("minecraft:stripped_dark_oak_wood"), (short) 143, 2.0, 2.0, false, true, false, false), - OAK_LEAVES("minecraft:oak_leaves", (short) 158, 0.2, 0.2, false, true, null, false), + OAK_LEAVES(NamespaceID.from("minecraft:oak_leaves"), (short) 158, 0.2, 0.2, false, true, false, false), - SPRUCE_LEAVES("minecraft:spruce_leaves", (short) 172, 0.2, 0.2, false, true, null, false), + SPRUCE_LEAVES(NamespaceID.from("minecraft:spruce_leaves"), (short) 172, 0.2, 0.2, false, true, false, false), - BIRCH_LEAVES("minecraft:birch_leaves", (short) 186, 0.2, 0.2, false, true, null, false), + BIRCH_LEAVES(NamespaceID.from("minecraft:birch_leaves"), (short) 186, 0.2, 0.2, false, true, false, false), - JUNGLE_LEAVES("minecraft:jungle_leaves", (short) 200, 0.2, 0.2, false, true, null, false), + JUNGLE_LEAVES(NamespaceID.from("minecraft:jungle_leaves"), (short) 200, 0.2, 0.2, false, true, false, false), - ACACIA_LEAVES("minecraft:acacia_leaves", (short) 214, 0.2, 0.2, false, true, null, false), + ACACIA_LEAVES(NamespaceID.from("minecraft:acacia_leaves"), (short) 214, 0.2, 0.2, false, true, false, false), - DARK_OAK_LEAVES("minecraft:dark_oak_leaves", (short) 228, 0.2, 0.2, false, true, null, false), + DARK_OAK_LEAVES(NamespaceID.from("minecraft:dark_oak_leaves"), (short) 228, 0.2, 0.2, false, true, false, false), - SPONGE("minecraft:sponge", (short) 229, 0.6, 0.6, false, true, null, true), + SPONGE(NamespaceID.from("minecraft:sponge"), (short) 229, 0.6, 0.6, false, true, false, true), - WET_SPONGE("minecraft:wet_sponge", (short) 230, 0.6, 0.6, false, true, null, true), + WET_SPONGE(NamespaceID.from("minecraft:wet_sponge"), (short) 230, 0.6, 0.6, false, true, false, true), - GLASS("minecraft:glass", (short) 231, 0.3, 0.3, false, true, null, true), + GLASS(NamespaceID.from("minecraft:glass"), (short) 231, 0.3, 0.3, false, true, false, true), - LAPIS_ORE("minecraft:lapis_ore", (short) 232, 3.0, 3.0, false, true, null, true), + LAPIS_ORE(NamespaceID.from("minecraft:lapis_ore"), (short) 232, 3.0, 3.0, false, true, false, true), - LAPIS_BLOCK("minecraft:lapis_block", (short) 233, 3.0, 3.0, false, true, null, true), + LAPIS_BLOCK(NamespaceID.from("minecraft:lapis_block"), (short) 233, 3.0, 3.0, false, true, false, true), - DISPENSER("minecraft:dispenser", (short) 235, 3.5, 3.5, false, true, NamespaceID.from("minecraft:dispenser"), false), + DISPENSER(NamespaceID.from("minecraft:dispenser"), (short) 235, 3.5, 3.5, false, true, true, false), - SANDSTONE("minecraft:sandstone", (short) 246, 0.8, 0.8, false, true, null, true), + SANDSTONE(NamespaceID.from("minecraft:sandstone"), (short) 246, 0.8, 0.8, false, true, false, true), - CHISELED_SANDSTONE("minecraft:chiseled_sandstone", (short) 247, 0.8, 0.8, false, true, null, true), + CHISELED_SANDSTONE(NamespaceID.from("minecraft:chiseled_sandstone"), (short) 247, 0.8, 0.8, false, true, false, true), - CUT_SANDSTONE("minecraft:cut_sandstone", (short) 248, 0.8, 0.8, false, true, null, true), + CUT_SANDSTONE(NamespaceID.from("minecraft:cut_sandstone"), (short) 248, 0.8, 0.8, false, true, false, true), - NOTE_BLOCK("minecraft:note_block", (short) 250, 0.8, 0.8, false, true, null, false), + NOTE_BLOCK(NamespaceID.from("minecraft:note_block"), (short) 250, 0.8, 0.8, false, true, false, false), - WHITE_BED("minecraft:white_bed", (short) 1052, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + WHITE_BED(NamespaceID.from("minecraft:white_bed"), (short) 1052, 0.2, 0.2, false, true, true, false), - ORANGE_BED("minecraft:orange_bed", (short) 1068, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + ORANGE_BED(NamespaceID.from("minecraft:orange_bed"), (short) 1068, 0.2, 0.2, false, true, true, false), - MAGENTA_BED("minecraft:magenta_bed", (short) 1084, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + MAGENTA_BED(NamespaceID.from("minecraft:magenta_bed"), (short) 1084, 0.2, 0.2, false, true, true, false), - LIGHT_BLUE_BED("minecraft:light_blue_bed", (short) 1100, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + LIGHT_BLUE_BED(NamespaceID.from("minecraft:light_blue_bed"), (short) 1100, 0.2, 0.2, false, true, true, false), - YELLOW_BED("minecraft:yellow_bed", (short) 1116, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + YELLOW_BED(NamespaceID.from("minecraft:yellow_bed"), (short) 1116, 0.2, 0.2, false, true, true, false), - LIME_BED("minecraft:lime_bed", (short) 1132, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + LIME_BED(NamespaceID.from("minecraft:lime_bed"), (short) 1132, 0.2, 0.2, false, true, true, false), - PINK_BED("minecraft:pink_bed", (short) 1148, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + PINK_BED(NamespaceID.from("minecraft:pink_bed"), (short) 1148, 0.2, 0.2, false, true, true, false), - GRAY_BED("minecraft:gray_bed", (short) 1164, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + GRAY_BED(NamespaceID.from("minecraft:gray_bed"), (short) 1164, 0.2, 0.2, false, true, true, false), - LIGHT_GRAY_BED("minecraft:light_gray_bed", (short) 1180, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + LIGHT_GRAY_BED(NamespaceID.from("minecraft:light_gray_bed"), (short) 1180, 0.2, 0.2, false, true, true, false), - CYAN_BED("minecraft:cyan_bed", (short) 1196, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + CYAN_BED(NamespaceID.from("minecraft:cyan_bed"), (short) 1196, 0.2, 0.2, false, true, true, false), - PURPLE_BED("minecraft:purple_bed", (short) 1212, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + PURPLE_BED(NamespaceID.from("minecraft:purple_bed"), (short) 1212, 0.2, 0.2, false, true, true, false), - BLUE_BED("minecraft:blue_bed", (short) 1228, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + BLUE_BED(NamespaceID.from("minecraft:blue_bed"), (short) 1228, 0.2, 0.2, false, true, true, false), - BROWN_BED("minecraft:brown_bed", (short) 1244, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + BROWN_BED(NamespaceID.from("minecraft:brown_bed"), (short) 1244, 0.2, 0.2, false, true, true, false), - GREEN_BED("minecraft:green_bed", (short) 1260, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + GREEN_BED(NamespaceID.from("minecraft:green_bed"), (short) 1260, 0.2, 0.2, false, true, true, false), - RED_BED("minecraft:red_bed", (short) 1276, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + RED_BED(NamespaceID.from("minecraft:red_bed"), (short) 1276, 0.2, 0.2, false, true, true, false), - BLACK_BED("minecraft:black_bed", (short) 1292, 0.2, 0.2, false, true, NamespaceID.from("minecraft:bed"), false), + BLACK_BED(NamespaceID.from("minecraft:black_bed"), (short) 1292, 0.2, 0.2, false, true, true, false), - POWERED_RAIL("minecraft:powered_rail", (short) 1311, 0.7, 0.7, false, false, null, false), + POWERED_RAIL(NamespaceID.from("minecraft:powered_rail"), (short) 1311, 0.7, 0.7, false, false, false, false), - DETECTOR_RAIL("minecraft:detector_rail", (short) 1323, 0.7, 0.7, false, false, null, false), + DETECTOR_RAIL(NamespaceID.from("minecraft:detector_rail"), (short) 1323, 0.7, 0.7, false, false, false, false), - STICKY_PISTON("minecraft:sticky_piston", (short) 1335, 1.5, 1.5, false, true, null, false), + STICKY_PISTON(NamespaceID.from("minecraft:sticky_piston"), (short) 1335, 1.5, 1.5, false, true, false, false), - COBWEB("minecraft:cobweb", (short) 1341, 4.0, 4.0, false, false, null, true), + COBWEB(NamespaceID.from("minecraft:cobweb"), (short) 1341, 4.0, 4.0, false, true, false, true), - GRASS("minecraft:grass", (short) 1342, 0.0, 0.0, false, false, null, true), + GRASS(NamespaceID.from("minecraft:grass"), (short) 1342, 0.0, 0.0, false, false, false, true), - FERN("minecraft:fern", (short) 1343, 0.0, 0.0, false, false, null, true), + FERN(NamespaceID.from("minecraft:fern"), (short) 1343, 0.0, 0.0, false, false, false, true), - DEAD_BUSH("minecraft:dead_bush", (short) 1344, 0.0, 0.0, false, false, null, true), + DEAD_BUSH(NamespaceID.from("minecraft:dead_bush"), (short) 1344, 0.0, 0.0, false, false, false, true), - SEAGRASS("minecraft:seagrass", (short) 1345, 0.0, 0.0, false, false, null, true), + SEAGRASS(NamespaceID.from("minecraft:seagrass"), (short) 1345, 0.0, 0.0, false, false, false, true), - TALL_SEAGRASS("minecraft:tall_seagrass", (short) 1347, 0.0, 0.0, false, false, null, false), + TALL_SEAGRASS(NamespaceID.from("minecraft:tall_seagrass"), (short) 1347, 0.0, 0.0, false, false, false, false), - PISTON("minecraft:piston", (short) 1354, 1.5, 1.5, false, true, null, false), + PISTON(NamespaceID.from("minecraft:piston"), (short) 1354, 1.5, 1.5, false, true, false, false), - PISTON_HEAD("minecraft:piston_head", (short) 1362, 1.5, 1.5, false, true, null, false), + PISTON_HEAD(NamespaceID.from("minecraft:piston_head"), (short) 1362, 1.5, 1.5, false, true, false, false), - WHITE_WOOL("minecraft:white_wool", (short) 1384, 0.8, 0.8, false, true, null, true), + WHITE_WOOL(NamespaceID.from("minecraft:white_wool"), (short) 1384, 0.8, 0.8, false, true, false, true), - ORANGE_WOOL("minecraft:orange_wool", (short) 1385, 0.8, 0.8, false, true, null, true), + ORANGE_WOOL(NamespaceID.from("minecraft:orange_wool"), (short) 1385, 0.8, 0.8, false, true, false, true), - MAGENTA_WOOL("minecraft:magenta_wool", (short) 1386, 0.8, 0.8, false, true, null, true), + MAGENTA_WOOL(NamespaceID.from("minecraft:magenta_wool"), (short) 1386, 0.8, 0.8, false, true, false, true), - LIGHT_BLUE_WOOL("minecraft:light_blue_wool", (short) 1387, 0.8, 0.8, false, true, null, true), + LIGHT_BLUE_WOOL(NamespaceID.from("minecraft:light_blue_wool"), (short) 1387, 0.8, 0.8, false, true, false, true), - YELLOW_WOOL("minecraft:yellow_wool", (short) 1388, 0.8, 0.8, false, true, null, true), + YELLOW_WOOL(NamespaceID.from("minecraft:yellow_wool"), (short) 1388, 0.8, 0.8, false, true, false, true), - LIME_WOOL("minecraft:lime_wool", (short) 1389, 0.8, 0.8, false, true, null, true), + LIME_WOOL(NamespaceID.from("minecraft:lime_wool"), (short) 1389, 0.8, 0.8, false, true, false, true), - PINK_WOOL("minecraft:pink_wool", (short) 1390, 0.8, 0.8, false, true, null, true), + PINK_WOOL(NamespaceID.from("minecraft:pink_wool"), (short) 1390, 0.8, 0.8, false, true, false, true), - GRAY_WOOL("minecraft:gray_wool", (short) 1391, 0.8, 0.8, false, true, null, true), + GRAY_WOOL(NamespaceID.from("minecraft:gray_wool"), (short) 1391, 0.8, 0.8, false, true, false, true), - LIGHT_GRAY_WOOL("minecraft:light_gray_wool", (short) 1392, 0.8, 0.8, false, true, null, true), + LIGHT_GRAY_WOOL(NamespaceID.from("minecraft:light_gray_wool"), (short) 1392, 0.8, 0.8, false, true, false, true), - CYAN_WOOL("minecraft:cyan_wool", (short) 1393, 0.8, 0.8, false, true, null, true), + CYAN_WOOL(NamespaceID.from("minecraft:cyan_wool"), (short) 1393, 0.8, 0.8, false, true, false, true), - PURPLE_WOOL("minecraft:purple_wool", (short) 1394, 0.8, 0.8, false, true, null, true), + PURPLE_WOOL(NamespaceID.from("minecraft:purple_wool"), (short) 1394, 0.8, 0.8, false, true, false, true), - BLUE_WOOL("minecraft:blue_wool", (short) 1395, 0.8, 0.8, false, true, null, true), + BLUE_WOOL(NamespaceID.from("minecraft:blue_wool"), (short) 1395, 0.8, 0.8, false, true, false, true), - BROWN_WOOL("minecraft:brown_wool", (short) 1396, 0.8, 0.8, false, true, null, true), + BROWN_WOOL(NamespaceID.from("minecraft:brown_wool"), (short) 1396, 0.8, 0.8, false, true, false, true), - GREEN_WOOL("minecraft:green_wool", (short) 1397, 0.8, 0.8, false, true, null, true), + GREEN_WOOL(NamespaceID.from("minecraft:green_wool"), (short) 1397, 0.8, 0.8, false, true, false, true), - RED_WOOL("minecraft:red_wool", (short) 1398, 0.8, 0.8, false, true, null, true), + RED_WOOL(NamespaceID.from("minecraft:red_wool"), (short) 1398, 0.8, 0.8, false, true, false, true), - BLACK_WOOL("minecraft:black_wool", (short) 1399, 0.8, 0.8, false, true, null, true), + BLACK_WOOL(NamespaceID.from("minecraft:black_wool"), (short) 1399, 0.8, 0.8, false, true, false, true), - MOVING_PISTON("minecraft:moving_piston", (short) 1400, 0.0, -1.0, false, false, null, false), + MOVING_PISTON(NamespaceID.from("minecraft:moving_piston"), (short) 1400, -1.0, 0.0, false, true, true, false), - DANDELION("minecraft:dandelion", (short) 1412, 0.0, 0.0, false, false, null, true), + DANDELION(NamespaceID.from("minecraft:dandelion"), (short) 1412, 0.0, 0.0, false, false, false, true), - POPPY("minecraft:poppy", (short) 1413, 0.0, 0.0, false, false, null, true), + POPPY(NamespaceID.from("minecraft:poppy"), (short) 1413, 0.0, 0.0, false, false, false, true), - BLUE_ORCHID("minecraft:blue_orchid", (short) 1414, 0.0, 0.0, false, false, null, true), + BLUE_ORCHID(NamespaceID.from("minecraft:blue_orchid"), (short) 1414, 0.0, 0.0, false, false, false, true), - ALLIUM("minecraft:allium", (short) 1415, 0.0, 0.0, false, false, null, true), + ALLIUM(NamespaceID.from("minecraft:allium"), (short) 1415, 0.0, 0.0, false, false, false, true), - AZURE_BLUET("minecraft:azure_bluet", (short) 1416, 0.0, 0.0, false, false, null, true), + AZURE_BLUET(NamespaceID.from("minecraft:azure_bluet"), (short) 1416, 0.0, 0.0, false, false, false, true), - RED_TULIP("minecraft:red_tulip", (short) 1417, 0.0, 0.0, false, false, null, true), + RED_TULIP(NamespaceID.from("minecraft:red_tulip"), (short) 1417, 0.0, 0.0, false, false, false, true), - ORANGE_TULIP("minecraft:orange_tulip", (short) 1418, 0.0, 0.0, false, false, null, true), + ORANGE_TULIP(NamespaceID.from("minecraft:orange_tulip"), (short) 1418, 0.0, 0.0, false, false, false, true), - WHITE_TULIP("minecraft:white_tulip", (short) 1419, 0.0, 0.0, false, false, null, true), + WHITE_TULIP(NamespaceID.from("minecraft:white_tulip"), (short) 1419, 0.0, 0.0, false, false, false, true), - PINK_TULIP("minecraft:pink_tulip", (short) 1420, 0.0, 0.0, false, false, null, true), + PINK_TULIP(NamespaceID.from("minecraft:pink_tulip"), (short) 1420, 0.0, 0.0, false, false, false, true), - OXEYE_DAISY("minecraft:oxeye_daisy", (short) 1421, 0.0, 0.0, false, false, null, true), + OXEYE_DAISY(NamespaceID.from("minecraft:oxeye_daisy"), (short) 1421, 0.0, 0.0, false, false, false, true), - CORNFLOWER("minecraft:cornflower", (short) 1422, 0.0, 0.0, false, false, null, true), + CORNFLOWER(NamespaceID.from("minecraft:cornflower"), (short) 1422, 0.0, 0.0, false, false, false, true), - WITHER_ROSE("minecraft:wither_rose", (short) 1423, 0.0, 0.0, false, false, null, true), + WITHER_ROSE(NamespaceID.from("minecraft:wither_rose"), (short) 1423, 0.0, 0.0, false, false, false, true), - LILY_OF_THE_VALLEY("minecraft:lily_of_the_valley", (short) 1424, 0.0, 0.0, false, false, null, true), + LILY_OF_THE_VALLEY(NamespaceID.from("minecraft:lily_of_the_valley"), (short) 1424, 0.0, 0.0, false, false, false, true), - BROWN_MUSHROOM("minecraft:brown_mushroom", (short) 1425, 0.0, 0.0, false, false, null, true), + BROWN_MUSHROOM(NamespaceID.from("minecraft:brown_mushroom"), (short) 1425, 0.0, 0.0, false, false, false, true), - RED_MUSHROOM("minecraft:red_mushroom", (short) 1426, 0.0, 0.0, false, false, null, true), + RED_MUSHROOM(NamespaceID.from("minecraft:red_mushroom"), (short) 1426, 0.0, 0.0, false, false, false, true), - GOLD_BLOCK("minecraft:gold_block", (short) 1427, 3.0, 6.0, false, true, null, true), + GOLD_BLOCK(NamespaceID.from("minecraft:gold_block"), (short) 1427, 3.0, 6.0, false, true, false, true), - IRON_BLOCK("minecraft:iron_block", (short) 1428, 5.0, 6.0, false, true, null, true), + IRON_BLOCK(NamespaceID.from("minecraft:iron_block"), (short) 1428, 5.0, 6.0, false, true, false, true), - BRICKS("minecraft:bricks", (short) 1429, 2.0, 6.0, false, true, null, true), + BRICKS(NamespaceID.from("minecraft:bricks"), (short) 1429, 2.0, 6.0, false, true, false, true), - TNT("minecraft:tnt", (short) 1431, 0.0, 0.0, false, true, null, false), + TNT(NamespaceID.from("minecraft:tnt"), (short) 1431, 0.0, 0.0, false, true, false, false), - BOOKSHELF("minecraft:bookshelf", (short) 1432, 1.5, 1.5, false, true, null, true), + BOOKSHELF(NamespaceID.from("minecraft:bookshelf"), (short) 1432, 1.5, 1.5, false, true, false, true), - MOSSY_COBBLESTONE("minecraft:mossy_cobblestone", (short) 1433, 2.0, 6.0, false, true, null, true), + MOSSY_COBBLESTONE(NamespaceID.from("minecraft:mossy_cobblestone"), (short) 1433, 2.0, 6.0, false, true, false, true), - OBSIDIAN("minecraft:obsidian", (short) 1434, 50.0, 1200.0, false, true, null, true), + OBSIDIAN(NamespaceID.from("minecraft:obsidian"), (short) 1434, 50.0, 1200.0, false, true, false, true), - TORCH("minecraft:torch", (short) 1435, 0.0, 0.0, false, false, null, true), + TORCH(NamespaceID.from("minecraft:torch"), (short) 1435, 0.0, 0.0, false, false, false, true), - WALL_TORCH("minecraft:wall_torch", (short) 1436, 0.0, 0.0, false, false, null, false), + WALL_TORCH(NamespaceID.from("minecraft:wall_torch"), (short) 1436, 0.0, 0.0, false, false, false, false), - FIRE("minecraft:fire", (short) 1471, 0.0, 0.0, false, false, null, false), + FIRE(NamespaceID.from("minecraft:fire"), (short) 1471, 0.0, 0.0, false, false, false, false), - SOUL_FIRE("minecraft:soul_fire", (short) 1952, 0.0, 0.0, false, false, null, true), + SOUL_FIRE(NamespaceID.from("minecraft:soul_fire"), (short) 1952, 0.0, 0.0, false, false, false, true), - SPAWNER("minecraft:spawner", (short) 1953, 5.0, 5.0, false, true, NamespaceID.from("minecraft:mob_spawner"), true), + SPAWNER(NamespaceID.from("minecraft:spawner"), (short) 1953, 5.0, 5.0, false, true, true, true), - OAK_STAIRS("minecraft:oak_stairs", (short) 1965, 0.0, 0.0, false, true, null, false), + OAK_STAIRS(NamespaceID.from("minecraft:oak_stairs"), (short) 1965, 2.0, 3.0, false, true, false, false), - CHEST("minecraft:chest", (short) 2035, 2.5, 2.5, false, true, NamespaceID.from("minecraft:chest"), false), + CHEST(NamespaceID.from("minecraft:chest"), (short) 2035, 2.5, 2.5, false, true, true, false), - REDSTONE_WIRE("minecraft:redstone_wire", (short) 3218, 0.0, 0.0, false, false, null, false), + REDSTONE_WIRE(NamespaceID.from("minecraft:redstone_wire"), (short) 3218, 0.0, 0.0, false, false, false, false), - DIAMOND_ORE("minecraft:diamond_ore", (short) 3354, 3.0, 3.0, false, true, null, true), + DIAMOND_ORE(NamespaceID.from("minecraft:diamond_ore"), (short) 3354, 3.0, 3.0, false, true, false, true), - DIAMOND_BLOCK("minecraft:diamond_block", (short) 3355, 5.0, 6.0, false, true, null, true), + DIAMOND_BLOCK(NamespaceID.from("minecraft:diamond_block"), (short) 3355, 5.0, 6.0, false, true, false, true), - CRAFTING_TABLE("minecraft:crafting_table", (short) 3356, 2.5, 2.5, false, true, null, true), + CRAFTING_TABLE(NamespaceID.from("minecraft:crafting_table"), (short) 3356, 2.5, 2.5, false, true, false, true), - WHEAT("minecraft:wheat", (short) 3357, 0.0, 0.0, false, false, null, false), + WHEAT(NamespaceID.from("minecraft:wheat"), (short) 3357, 0.0, 0.0, false, false, false, false), - FARMLAND("minecraft:farmland", (short) 3365, 0.6, 0.6, false, true, null, false), + FARMLAND(NamespaceID.from("minecraft:farmland"), (short) 3365, 0.6, 0.6, false, true, false, false), - FURNACE("minecraft:furnace", (short) 3374, 3.5, 3.5, false, true, NamespaceID.from("minecraft:furnace"), false), + FURNACE(NamespaceID.from("minecraft:furnace"), (short) 3374, 3.5, 3.5, false, true, true, false), - OAK_SIGN("minecraft:oak_sign", (short) 3382, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + OAK_SIGN(NamespaceID.from("minecraft:oak_sign"), (short) 3382, 1.0, 1.0, false, true, true, false), - SPRUCE_SIGN("minecraft:spruce_sign", (short) 3414, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + SPRUCE_SIGN(NamespaceID.from("minecraft:spruce_sign"), (short) 3414, 1.0, 1.0, false, true, true, false), - BIRCH_SIGN("minecraft:birch_sign", (short) 3446, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + BIRCH_SIGN(NamespaceID.from("minecraft:birch_sign"), (short) 3446, 1.0, 1.0, false, true, true, false), - ACACIA_SIGN("minecraft:acacia_sign", (short) 3478, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + ACACIA_SIGN(NamespaceID.from("minecraft:acacia_sign"), (short) 3478, 1.0, 1.0, false, true, true, false), - JUNGLE_SIGN("minecraft:jungle_sign", (short) 3510, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + JUNGLE_SIGN(NamespaceID.from("minecraft:jungle_sign"), (short) 3510, 1.0, 1.0, false, true, true, false), - DARK_OAK_SIGN("minecraft:dark_oak_sign", (short) 3542, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + DARK_OAK_SIGN(NamespaceID.from("minecraft:dark_oak_sign"), (short) 3542, 1.0, 1.0, false, true, true, false), - OAK_DOOR("minecraft:oak_door", (short) 3584, 3.0, 3.0, false, true, null, false), + OAK_DOOR(NamespaceID.from("minecraft:oak_door"), (short) 3584, 3.0, 3.0, false, true, false, false), - LADDER("minecraft:ladder", (short) 3638, 0.4, 0.4, false, true, null, false), + LADDER(NamespaceID.from("minecraft:ladder"), (short) 3638, 0.4, 0.4, false, false, false, false), - RAIL("minecraft:rail", (short) 3645, 0.7, 0.7, false, false, null, false), + RAIL(NamespaceID.from("minecraft:rail"), (short) 3645, 0.7, 0.7, false, false, false, false), - COBBLESTONE_STAIRS("minecraft:cobblestone_stairs", (short) 3666, 0.0, 0.0, false, true, null, false), + COBBLESTONE_STAIRS(NamespaceID.from("minecraft:cobblestone_stairs"), (short) 3666, 2.0, 6.0, false, true, false, false), - OAK_WALL_SIGN("minecraft:oak_wall_sign", (short) 3736, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + OAK_WALL_SIGN(NamespaceID.from("minecraft:oak_wall_sign"), (short) 3736, 1.0, 1.0, false, true, true, false), - SPRUCE_WALL_SIGN("minecraft:spruce_wall_sign", (short) 3744, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + SPRUCE_WALL_SIGN(NamespaceID.from("minecraft:spruce_wall_sign"), (short) 3744, 1.0, 1.0, false, true, true, false), - BIRCH_WALL_SIGN("minecraft:birch_wall_sign", (short) 3752, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + BIRCH_WALL_SIGN(NamespaceID.from("minecraft:birch_wall_sign"), (short) 3752, 1.0, 1.0, false, true, true, false), - ACACIA_WALL_SIGN("minecraft:acacia_wall_sign", (short) 3760, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + ACACIA_WALL_SIGN(NamespaceID.from("minecraft:acacia_wall_sign"), (short) 3760, 1.0, 1.0, false, true, true, false), - JUNGLE_WALL_SIGN("minecraft:jungle_wall_sign", (short) 3768, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + JUNGLE_WALL_SIGN(NamespaceID.from("minecraft:jungle_wall_sign"), (short) 3768, 1.0, 1.0, false, true, true, false), - DARK_OAK_WALL_SIGN("minecraft:dark_oak_wall_sign", (short) 3776, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + DARK_OAK_WALL_SIGN(NamespaceID.from("minecraft:dark_oak_wall_sign"), (short) 3776, 1.0, 1.0, false, true, true, false), - LEVER("minecraft:lever", (short) 3792, 0.5, 0.5, false, false, null, false), + LEVER(NamespaceID.from("minecraft:lever"), (short) 3792, 0.5, 0.5, false, false, false, false), - STONE_PRESSURE_PLATE("minecraft:stone_pressure_plate", (short) 3808, 0.5, 0.5, false, false, null, false), + STONE_PRESSURE_PLATE(NamespaceID.from("minecraft:stone_pressure_plate"), (short) 3808, 0.5, 0.5, false, true, false, false), - IRON_DOOR("minecraft:iron_door", (short) 3820, 5.0, 5.0, false, true, null, false), + IRON_DOOR(NamespaceID.from("minecraft:iron_door"), (short) 3820, 5.0, 5.0, false, true, false, false), - OAK_PRESSURE_PLATE("minecraft:oak_pressure_plate", (short) 3874, 0.5, 0.5, false, false, null, false), + OAK_PRESSURE_PLATE(NamespaceID.from("minecraft:oak_pressure_plate"), (short) 3874, 0.5, 0.5, false, true, false, false), - SPRUCE_PRESSURE_PLATE("minecraft:spruce_pressure_plate", (short) 3876, 0.5, 0.5, false, false, null, false), + SPRUCE_PRESSURE_PLATE(NamespaceID.from("minecraft:spruce_pressure_plate"), (short) 3876, 0.5, 0.5, false, true, false, false), - BIRCH_PRESSURE_PLATE("minecraft:birch_pressure_plate", (short) 3878, 0.5, 0.5, false, false, null, false), + BIRCH_PRESSURE_PLATE(NamespaceID.from("minecraft:birch_pressure_plate"), (short) 3878, 0.5, 0.5, false, true, false, false), - JUNGLE_PRESSURE_PLATE("minecraft:jungle_pressure_plate", (short) 3880, 0.5, 0.5, false, false, null, false), + JUNGLE_PRESSURE_PLATE(NamespaceID.from("minecraft:jungle_pressure_plate"), (short) 3880, 0.5, 0.5, false, true, false, false), - ACACIA_PRESSURE_PLATE("minecraft:acacia_pressure_plate", (short) 3882, 0.5, 0.5, false, false, null, false), + ACACIA_PRESSURE_PLATE(NamespaceID.from("minecraft:acacia_pressure_plate"), (short) 3882, 0.5, 0.5, false, true, false, false), - DARK_OAK_PRESSURE_PLATE("minecraft:dark_oak_pressure_plate", (short) 3884, 0.5, 0.5, false, false, null, false), + DARK_OAK_PRESSURE_PLATE(NamespaceID.from("minecraft:dark_oak_pressure_plate"), (short) 3884, 0.5, 0.5, false, true, false, false), - REDSTONE_ORE("minecraft:redstone_ore", (short) 3886, 3.0, 3.0, false, true, null, false), + REDSTONE_ORE(NamespaceID.from("minecraft:redstone_ore"), (short) 3886, 3.0, 3.0, false, true, false, false), - REDSTONE_TORCH("minecraft:redstone_torch", (short) 3887, 0.0, 0.0, false, false, null, false), + REDSTONE_TORCH(NamespaceID.from("minecraft:redstone_torch"), (short) 3887, 0.0, 0.0, false, false, false, false), - REDSTONE_WALL_TORCH("minecraft:redstone_wall_torch", (short) 3889, 0.0, 0.0, false, false, null, false), + REDSTONE_WALL_TORCH(NamespaceID.from("minecraft:redstone_wall_torch"), (short) 3889, 0.0, 0.0, false, false, false, false), - STONE_BUTTON("minecraft:stone_button", (short) 3906, 0.5, 0.5, false, false, null, false), + STONE_BUTTON(NamespaceID.from("minecraft:stone_button"), (short) 3906, 0.5, 0.5, false, false, false, false), - SNOW("minecraft:snow", (short) 3921, 0.1, 0.1, false, true, null, false), + SNOW(NamespaceID.from("minecraft:snow"), (short) 3921, 0.1, 0.1, false, false, false, false), - ICE("minecraft:ice", (short) 3929, 0.5, 0.5, false, true, null, true), + ICE(NamespaceID.from("minecraft:ice"), (short) 3929, 0.5, 0.5, false, true, false, true), - SNOW_BLOCK("minecraft:snow_block", (short) 3930, 0.2, 0.2, false, true, null, true), + SNOW_BLOCK(NamespaceID.from("minecraft:snow_block"), (short) 3930, 0.2, 0.2, false, true, false, true), - CACTUS("minecraft:cactus", (short) 3931, 0.4, 0.4, false, true, null, false), + CACTUS(NamespaceID.from("minecraft:cactus"), (short) 3931, 0.4, 0.4, false, true, false, false), - CLAY("minecraft:clay", (short) 3947, 0.6, 0.6, false, true, null, true), + CLAY(NamespaceID.from("minecraft:clay"), (short) 3947, 0.6, 0.6, false, true, false, true), - SUGAR_CANE("minecraft:sugar_cane", (short) 3948, 0.0, 0.0, false, false, null, false), + SUGAR_CANE(NamespaceID.from("minecraft:sugar_cane"), (short) 3948, 0.0, 0.0, false, false, false, false), - JUKEBOX("minecraft:jukebox", (short) 3965, 2.0, 6.0, false, true, NamespaceID.from("minecraft:jukebox"), false), + JUKEBOX(NamespaceID.from("minecraft:jukebox"), (short) 3965, 2.0, 6.0, false, true, true, false), - OAK_FENCE("minecraft:oak_fence", (short) 3997, 2.0, 3.0, false, true, null, false), + OAK_FENCE(NamespaceID.from("minecraft:oak_fence"), (short) 3997, 2.0, 3.0, false, true, false, false), - PUMPKIN("minecraft:pumpkin", (short) 3998, 1.0, 1.0, false, true, null, true), + PUMPKIN(NamespaceID.from("minecraft:pumpkin"), (short) 3998, 1.0, 1.0, false, true, false, true), - NETHERRACK("minecraft:netherrack", (short) 3999, 0.4, 0.4, false, true, null, true), + NETHERRACK(NamespaceID.from("minecraft:netherrack"), (short) 3999, 0.4, 0.4, false, true, false, true), - SOUL_SAND("minecraft:soul_sand", (short) 4000, 0.5, 0.5, false, true, null, true), + SOUL_SAND(NamespaceID.from("minecraft:soul_sand"), (short) 4000, 0.5, 0.5, false, true, false, true), - SOUL_SOIL("minecraft:soul_soil", (short) 4001, 0.5, 0.5, false, true, null, true), + SOUL_SOIL(NamespaceID.from("minecraft:soul_soil"), (short) 4001, 0.5, 0.5, false, true, false, true), - BASALT("minecraft:basalt", (short) 4003, 1.25, 4.2, false, true, null, false), + BASALT(NamespaceID.from("minecraft:basalt"), (short) 4003, 1.25, 4.2, false, true, false, false), - POLISHED_BASALT("minecraft:polished_basalt", (short) 4006, 1.25, 4.2, false, true, null, false), + POLISHED_BASALT(NamespaceID.from("minecraft:polished_basalt"), (short) 4006, 1.25, 4.2, false, true, false, false), - SOUL_TORCH("minecraft:soul_torch", (short) 4008, 0.0, 0.0, false, false, null, true), + SOUL_TORCH(NamespaceID.from("minecraft:soul_torch"), (short) 4008, 0.0, 0.0, false, false, false, true), - SOUL_WALL_TORCH("minecraft:soul_wall_torch", (short) 4009, 0.0, 0.0, false, false, null, false), + SOUL_WALL_TORCH(NamespaceID.from("minecraft:soul_wall_torch"), (short) 4009, 0.0, 0.0, false, false, false, false), - GLOWSTONE("minecraft:glowstone", (short) 4013, 0.3, 0.3, false, true, null, true), + GLOWSTONE(NamespaceID.from("minecraft:glowstone"), (short) 4013, 0.3, 0.3, false, true, false, true), - NETHER_PORTAL("minecraft:nether_portal", (short) 4014, 0.0, -1.0, false, false, null, false), + NETHER_PORTAL(NamespaceID.from("minecraft:nether_portal"), (short) 4014, -1.0, 0.0, false, false, false, false), - CARVED_PUMPKIN("minecraft:carved_pumpkin", (short) 4016, 1.0, 1.0, false, true, null, false), + CARVED_PUMPKIN(NamespaceID.from("minecraft:carved_pumpkin"), (short) 4016, 1.0, 1.0, false, true, false, false), - JACK_O_LANTERN("minecraft:jack_o_lantern", (short) 4020, 1.0, 1.0, false, true, null, false), + JACK_O_LANTERN(NamespaceID.from("minecraft:jack_o_lantern"), (short) 4020, 1.0, 1.0, false, true, false, false), - CAKE("minecraft:cake", (short) 4024, 0.5, 0.5, false, true, null, false), + CAKE(NamespaceID.from("minecraft:cake"), (short) 4024, 0.5, 0.5, false, true, false, false), - REPEATER("minecraft:repeater", (short) 4034, 0.0, 0.0, false, true, null, false), + REPEATER(NamespaceID.from("minecraft:repeater"), (short) 4034, 0.0, 0.0, false, false, false, false), - WHITE_STAINED_GLASS("minecraft:white_stained_glass", (short) 4095, 0.3, 0.3, false, true, null, true), + WHITE_STAINED_GLASS(NamespaceID.from("minecraft:white_stained_glass"), (short) 4095, 0.3, 0.3, false, true, false, true), - ORANGE_STAINED_GLASS("minecraft:orange_stained_glass", (short) 4096, 0.3, 0.3, false, true, null, true), + ORANGE_STAINED_GLASS(NamespaceID.from("minecraft:orange_stained_glass"), (short) 4096, 0.3, 0.3, false, true, false, true), - MAGENTA_STAINED_GLASS("minecraft:magenta_stained_glass", (short) 4097, 0.3, 0.3, false, true, null, true), + MAGENTA_STAINED_GLASS(NamespaceID.from("minecraft:magenta_stained_glass"), (short) 4097, 0.3, 0.3, false, true, false, true), - LIGHT_BLUE_STAINED_GLASS("minecraft:light_blue_stained_glass", (short) 4098, 0.3, 0.3, false, true, null, true), + LIGHT_BLUE_STAINED_GLASS(NamespaceID.from("minecraft:light_blue_stained_glass"), (short) 4098, 0.3, 0.3, false, true, false, true), - YELLOW_STAINED_GLASS("minecraft:yellow_stained_glass", (short) 4099, 0.3, 0.3, false, true, null, true), + YELLOW_STAINED_GLASS(NamespaceID.from("minecraft:yellow_stained_glass"), (short) 4099, 0.3, 0.3, false, true, false, true), - LIME_STAINED_GLASS("minecraft:lime_stained_glass", (short) 4100, 0.3, 0.3, false, true, null, true), + LIME_STAINED_GLASS(NamespaceID.from("minecraft:lime_stained_glass"), (short) 4100, 0.3, 0.3, false, true, false, true), - PINK_STAINED_GLASS("minecraft:pink_stained_glass", (short) 4101, 0.3, 0.3, false, true, null, true), + PINK_STAINED_GLASS(NamespaceID.from("minecraft:pink_stained_glass"), (short) 4101, 0.3, 0.3, false, true, false, true), - GRAY_STAINED_GLASS("minecraft:gray_stained_glass", (short) 4102, 0.3, 0.3, false, true, null, true), + GRAY_STAINED_GLASS(NamespaceID.from("minecraft:gray_stained_glass"), (short) 4102, 0.3, 0.3, false, true, false, true), - LIGHT_GRAY_STAINED_GLASS("minecraft:light_gray_stained_glass", (short) 4103, 0.3, 0.3, false, true, null, true), + LIGHT_GRAY_STAINED_GLASS(NamespaceID.from("minecraft:light_gray_stained_glass"), (short) 4103, 0.3, 0.3, false, true, false, true), - CYAN_STAINED_GLASS("minecraft:cyan_stained_glass", (short) 4104, 0.3, 0.3, false, true, null, true), + CYAN_STAINED_GLASS(NamespaceID.from("minecraft:cyan_stained_glass"), (short) 4104, 0.3, 0.3, false, true, false, true), - PURPLE_STAINED_GLASS("minecraft:purple_stained_glass", (short) 4105, 0.3, 0.3, false, true, null, true), + PURPLE_STAINED_GLASS(NamespaceID.from("minecraft:purple_stained_glass"), (short) 4105, 0.3, 0.3, false, true, false, true), - BLUE_STAINED_GLASS("minecraft:blue_stained_glass", (short) 4106, 0.3, 0.3, false, true, null, true), + BLUE_STAINED_GLASS(NamespaceID.from("minecraft:blue_stained_glass"), (short) 4106, 0.3, 0.3, false, true, false, true), - BROWN_STAINED_GLASS("minecraft:brown_stained_glass", (short) 4107, 0.3, 0.3, false, true, null, true), + BROWN_STAINED_GLASS(NamespaceID.from("minecraft:brown_stained_glass"), (short) 4107, 0.3, 0.3, false, true, false, true), - GREEN_STAINED_GLASS("minecraft:green_stained_glass", (short) 4108, 0.3, 0.3, false, true, null, true), + GREEN_STAINED_GLASS(NamespaceID.from("minecraft:green_stained_glass"), (short) 4108, 0.3, 0.3, false, true, false, true), - RED_STAINED_GLASS("minecraft:red_stained_glass", (short) 4109, 0.3, 0.3, false, true, null, true), + RED_STAINED_GLASS(NamespaceID.from("minecraft:red_stained_glass"), (short) 4109, 0.3, 0.3, false, true, false, true), - BLACK_STAINED_GLASS("minecraft:black_stained_glass", (short) 4110, 0.3, 0.3, false, true, null, true), + BLACK_STAINED_GLASS(NamespaceID.from("minecraft:black_stained_glass"), (short) 4110, 0.3, 0.3, false, true, false, true), - OAK_TRAPDOOR("minecraft:oak_trapdoor", (short) 4126, 3.0, 3.0, false, true, null, false), + OAK_TRAPDOOR(NamespaceID.from("minecraft:oak_trapdoor"), (short) 4126, 3.0, 3.0, false, true, false, false), - SPRUCE_TRAPDOOR("minecraft:spruce_trapdoor", (short) 4190, 3.0, 3.0, false, true, null, false), + SPRUCE_TRAPDOOR(NamespaceID.from("minecraft:spruce_trapdoor"), (short) 4190, 3.0, 3.0, false, true, false, false), - BIRCH_TRAPDOOR("minecraft:birch_trapdoor", (short) 4254, 3.0, 3.0, false, true, null, false), + BIRCH_TRAPDOOR(NamespaceID.from("minecraft:birch_trapdoor"), (short) 4254, 3.0, 3.0, false, true, false, false), - JUNGLE_TRAPDOOR("minecraft:jungle_trapdoor", (short) 4318, 3.0, 3.0, false, true, null, false), + JUNGLE_TRAPDOOR(NamespaceID.from("minecraft:jungle_trapdoor"), (short) 4318, 3.0, 3.0, false, true, false, false), - ACACIA_TRAPDOOR("minecraft:acacia_trapdoor", (short) 4382, 3.0, 3.0, false, true, null, false), + ACACIA_TRAPDOOR(NamespaceID.from("minecraft:acacia_trapdoor"), (short) 4382, 3.0, 3.0, false, true, false, false), - DARK_OAK_TRAPDOOR("minecraft:dark_oak_trapdoor", (short) 4446, 3.0, 3.0, false, true, null, false), + DARK_OAK_TRAPDOOR(NamespaceID.from("minecraft:dark_oak_trapdoor"), (short) 4446, 3.0, 3.0, false, true, false, false), - STONE_BRICKS("minecraft:stone_bricks", (short) 4495, 1.5, 6.0, false, true, null, true), + STONE_BRICKS(NamespaceID.from("minecraft:stone_bricks"), (short) 4495, 1.5, 6.0, false, true, false, true), - MOSSY_STONE_BRICKS("minecraft:mossy_stone_bricks", (short) 4496, 1.5, 6.0, false, true, null, true), + MOSSY_STONE_BRICKS(NamespaceID.from("minecraft:mossy_stone_bricks"), (short) 4496, 1.5, 6.0, false, true, false, true), - CRACKED_STONE_BRICKS("minecraft:cracked_stone_bricks", (short) 4497, 1.5, 6.0, false, true, null, true), + CRACKED_STONE_BRICKS(NamespaceID.from("minecraft:cracked_stone_bricks"), (short) 4497, 1.5, 6.0, false, true, false, true), - CHISELED_STONE_BRICKS("minecraft:chiseled_stone_bricks", (short) 4498, 1.5, 6.0, false, true, null, true), + CHISELED_STONE_BRICKS(NamespaceID.from("minecraft:chiseled_stone_bricks"), (short) 4498, 1.5, 6.0, false, true, false, true), - INFESTED_STONE("minecraft:infested_stone", (short) 4499, 0.0, 0.75, false, true, null, true), + INFESTED_STONE(NamespaceID.from("minecraft:infested_stone"), (short) 4499, 0.0, 0.75, false, true, false, true), - INFESTED_COBBLESTONE("minecraft:infested_cobblestone", (short) 4500, 0.0, 0.75, false, true, null, true), + INFESTED_COBBLESTONE(NamespaceID.from("minecraft:infested_cobblestone"), (short) 4500, 0.0, 0.75, false, true, false, true), - INFESTED_STONE_BRICKS("minecraft:infested_stone_bricks", (short) 4501, 0.0, 0.75, false, true, null, true), + INFESTED_STONE_BRICKS(NamespaceID.from("minecraft:infested_stone_bricks"), (short) 4501, 0.0, 0.75, false, true, false, true), - INFESTED_MOSSY_STONE_BRICKS("minecraft:infested_mossy_stone_bricks", (short) 4502, 0.0, 0.75, false, true, null, true), + INFESTED_MOSSY_STONE_BRICKS(NamespaceID.from("minecraft:infested_mossy_stone_bricks"), (short) 4502, 0.0, 0.75, false, true, false, true), - INFESTED_CRACKED_STONE_BRICKS("minecraft:infested_cracked_stone_bricks", (short) 4503, 0.0, 0.75, false, true, null, true), + INFESTED_CRACKED_STONE_BRICKS(NamespaceID.from("minecraft:infested_cracked_stone_bricks"), (short) 4503, 0.0, 0.75, false, true, false, true), - INFESTED_CHISELED_STONE_BRICKS("minecraft:infested_chiseled_stone_bricks", (short) 4504, 0.0, 0.75, false, true, null, true), + INFESTED_CHISELED_STONE_BRICKS(NamespaceID.from("minecraft:infested_chiseled_stone_bricks"), (short) 4504, 0.0, 0.75, false, true, false, true), - BROWN_MUSHROOM_BLOCK("minecraft:brown_mushroom_block", (short) 4505, 0.2, 0.2, false, true, null, false), + BROWN_MUSHROOM_BLOCK(NamespaceID.from("minecraft:brown_mushroom_block"), (short) 4505, 0.2, 0.2, false, true, false, false), - RED_MUSHROOM_BLOCK("minecraft:red_mushroom_block", (short) 4569, 0.2, 0.2, false, true, null, false), + RED_MUSHROOM_BLOCK(NamespaceID.from("minecraft:red_mushroom_block"), (short) 4569, 0.2, 0.2, false, true, false, false), - MUSHROOM_STEM("minecraft:mushroom_stem", (short) 4633, 0.2, 0.2, false, true, null, false), + MUSHROOM_STEM(NamespaceID.from("minecraft:mushroom_stem"), (short) 4633, 0.2, 0.2, false, true, false, false), - IRON_BARS("minecraft:iron_bars", (short) 4728, 5.0, 6.0, false, true, null, false), + IRON_BARS(NamespaceID.from("minecraft:iron_bars"), (short) 4728, 5.0, 6.0, false, true, false, false), - CHAIN("minecraft:chain", (short) 4732, 5.0, 6.0, false, true, null, false), + CHAIN(NamespaceID.from("minecraft:chain"), (short) 4732, 5.0, 6.0, false, true, false, false), - GLASS_PANE("minecraft:glass_pane", (short) 4766, 0.3, 0.3, false, true, null, false), + GLASS_PANE(NamespaceID.from("minecraft:glass_pane"), (short) 4766, 0.3, 0.3, false, true, false, false), - MELON("minecraft:melon", (short) 4767, 1.0, 1.0, false, true, null, true), + MELON(NamespaceID.from("minecraft:melon"), (short) 4767, 1.0, 1.0, false, true, false, true), - ATTACHED_PUMPKIN_STEM("minecraft:attached_pumpkin_stem", (short) 4768, 0.0, 0.0, false, false, null, false), + ATTACHED_PUMPKIN_STEM(NamespaceID.from("minecraft:attached_pumpkin_stem"), (short) 4768, 0.0, 0.0, false, false, false, false), - ATTACHED_MELON_STEM("minecraft:attached_melon_stem", (short) 4772, 0.0, 0.0, false, false, null, false), + ATTACHED_MELON_STEM(NamespaceID.from("minecraft:attached_melon_stem"), (short) 4772, 0.0, 0.0, false, false, false, false), - PUMPKIN_STEM("minecraft:pumpkin_stem", (short) 4776, 0.0, 0.0, false, false, null, false), + PUMPKIN_STEM(NamespaceID.from("minecraft:pumpkin_stem"), (short) 4776, 0.0, 0.0, false, false, false, false), - MELON_STEM("minecraft:melon_stem", (short) 4784, 0.0, 0.0, false, false, null, false), + MELON_STEM(NamespaceID.from("minecraft:melon_stem"), (short) 4784, 0.0, 0.0, false, false, false, false), - VINE("minecraft:vine", (short) 4823, 0.2, 0.2, false, false, null, false), + VINE(NamespaceID.from("minecraft:vine"), (short) 4823, 0.2, 0.2, false, false, false, false), - OAK_FENCE_GATE("minecraft:oak_fence_gate", (short) 4831, 2.0, 3.0, false, true, null, false), + OAK_FENCE_GATE(NamespaceID.from("minecraft:oak_fence_gate"), (short) 4831, 2.0, 3.0, false, true, false, false), - BRICK_STAIRS("minecraft:brick_stairs", (short) 4867, 0.0, 0.0, false, true, null, false), + BRICK_STAIRS(NamespaceID.from("minecraft:brick_stairs"), (short) 4867, 2.0, 6.0, false, true, false, false), - STONE_BRICK_STAIRS("minecraft:stone_brick_stairs", (short) 4947, 0.0, 0.0, false, true, null, false), + STONE_BRICK_STAIRS(NamespaceID.from("minecraft:stone_brick_stairs"), (short) 4947, 1.5, 6.0, false, true, false, false), - MYCELIUM("minecraft:mycelium", (short) 5017, 0.6, 0.6, false, true, null, false), + MYCELIUM(NamespaceID.from("minecraft:mycelium"), (short) 5017, 0.6, 0.6, false, true, false, false), - LILY_PAD("minecraft:lily_pad", (short) 5018, 0.0, 0.0, false, true, null, true), + LILY_PAD(NamespaceID.from("minecraft:lily_pad"), (short) 5018, 0.0, 0.0, false, false, false, true), - NETHER_BRICKS("minecraft:nether_bricks", (short) 5019, 2.0, 6.0, false, true, null, true), + NETHER_BRICKS(NamespaceID.from("minecraft:nether_bricks"), (short) 5019, 2.0, 6.0, false, true, false, true), - NETHER_BRICK_FENCE("minecraft:nether_brick_fence", (short) 5051, 2.0, 6.0, false, true, null, false), + NETHER_BRICK_FENCE(NamespaceID.from("minecraft:nether_brick_fence"), (short) 5051, 2.0, 6.0, false, true, false, false), - NETHER_BRICK_STAIRS("minecraft:nether_brick_stairs", (short) 5063, 0.0, 0.0, false, true, null, false), + NETHER_BRICK_STAIRS(NamespaceID.from("minecraft:nether_brick_stairs"), (short) 5063, 2.0, 6.0, false, true, false, false), - NETHER_WART("minecraft:nether_wart", (short) 5132, 0.0, 0.0, false, false, null, false), + NETHER_WART(NamespaceID.from("minecraft:nether_wart"), (short) 5132, 0.0, 0.0, false, false, false, false), - ENCHANTING_TABLE("minecraft:enchanting_table", (short) 5136, 5.0, 1200.0, false, true, NamespaceID.from("minecraft:enchanting_table"), true), + ENCHANTING_TABLE(NamespaceID.from("minecraft:enchanting_table"), (short) 5136, 5.0, 1200.0, false, true, true, true), - BREWING_STAND("minecraft:brewing_stand", (short) 5144, 0.5, 0.5, false, true, NamespaceID.from("minecraft:brewing_stand"), false), + BREWING_STAND(NamespaceID.from("minecraft:brewing_stand"), (short) 5144, 0.5, 0.5, false, true, true, false), - CAULDRON("minecraft:cauldron", (short) 5145, 2.0, 2.0, false, true, null, false), + CAULDRON(NamespaceID.from("minecraft:cauldron"), (short) 5145, 2.0, 2.0, false, true, false, false), - END_PORTAL("minecraft:end_portal", (short) 5149, 0.0, 3600000.0, false, false, NamespaceID.from("minecraft:end_portal"), true), + END_PORTAL(NamespaceID.from("minecraft:end_portal"), (short) 5149, -1.0, 3600000.0, false, false, true, true), - END_PORTAL_FRAME("minecraft:end_portal_frame", (short) 5154, 0.0, 3600000.0, false, true, null, false), + END_PORTAL_FRAME(NamespaceID.from("minecraft:end_portal_frame"), (short) 5154, -1.0, 3600000.0, false, true, false, false), - END_STONE("minecraft:end_stone", (short) 5158, 3.0, 9.0, false, true, null, true), + END_STONE(NamespaceID.from("minecraft:end_stone"), (short) 5158, 3.0, 9.0, false, true, false, true), - DRAGON_EGG("minecraft:dragon_egg", (short) 5159, 3.0, 9.0, false, true, null, true), + DRAGON_EGG(NamespaceID.from("minecraft:dragon_egg"), (short) 5159, 3.0, 9.0, false, true, false, true), - REDSTONE_LAMP("minecraft:redstone_lamp", (short) 5161, 0.3, 0.3, false, true, null, false), + REDSTONE_LAMP(NamespaceID.from("minecraft:redstone_lamp"), (short) 5161, 0.3, 0.3, false, true, false, false), - COCOA("minecraft:cocoa", (short) 5162, 0.2, 3.0, false, true, null, false), + COCOA(NamespaceID.from("minecraft:cocoa"), (short) 5162, 0.2, 3.0, false, false, false, false), - SANDSTONE_STAIRS("minecraft:sandstone_stairs", (short) 5185, 0.0, 0.0, false, true, null, false), + SANDSTONE_STAIRS(NamespaceID.from("minecraft:sandstone_stairs"), (short) 5185, 0.8, 0.8, false, true, false, false), - EMERALD_ORE("minecraft:emerald_ore", (short) 5254, 3.0, 3.0, false, true, null, true), + EMERALD_ORE(NamespaceID.from("minecraft:emerald_ore"), (short) 5254, 3.0, 3.0, false, true, false, true), - ENDER_CHEST("minecraft:ender_chest", (short) 5256, 22.5, 600.0, false, true, NamespaceID.from("minecraft:ender_chest"), false), + ENDER_CHEST(NamespaceID.from("minecraft:ender_chest"), (short) 5256, 22.5, 600.0, false, true, true, false), - TRIPWIRE_HOOK("minecraft:tripwire_hook", (short) 5272, 0.0, 0.0, false, false, null, false), + TRIPWIRE_HOOK(NamespaceID.from("minecraft:tripwire_hook"), (short) 5272, 0.0, 0.0, false, false, false, false), - TRIPWIRE("minecraft:tripwire", (short) 5406, 0.0, 0.0, false, false, null, false), + TRIPWIRE(NamespaceID.from("minecraft:tripwire"), (short) 5406, 0.0, 0.0, false, false, false, false), - EMERALD_BLOCK("minecraft:emerald_block", (short) 5407, 5.0, 6.0, false, true, null, true), + EMERALD_BLOCK(NamespaceID.from("minecraft:emerald_block"), (short) 5407, 5.0, 6.0, false, true, false, true), - SPRUCE_STAIRS("minecraft:spruce_stairs", (short) 5419, 0.0, 0.0, false, true, null, false), + SPRUCE_STAIRS(NamespaceID.from("minecraft:spruce_stairs"), (short) 5419, 2.0, 3.0, false, true, false, false), - BIRCH_STAIRS("minecraft:birch_stairs", (short) 5499, 0.0, 0.0, false, true, null, false), + BIRCH_STAIRS(NamespaceID.from("minecraft:birch_stairs"), (short) 5499, 2.0, 3.0, false, true, false, false), - JUNGLE_STAIRS("minecraft:jungle_stairs", (short) 5579, 0.0, 0.0, false, true, null, false), + JUNGLE_STAIRS(NamespaceID.from("minecraft:jungle_stairs"), (short) 5579, 2.0, 3.0, false, true, false, false), - COMMAND_BLOCK("minecraft:command_block", (short) 5654, 0.0, 3600000.0, false, true, NamespaceID.from("minecraft:command_block"), false), + COMMAND_BLOCK(NamespaceID.from("minecraft:command_block"), (short) 5654, -1.0, 3600000.0, false, true, true, false), - BEACON("minecraft:beacon", (short) 5660, 3.0, 3.0, false, true, NamespaceID.from("minecraft:beacon"), true), + BEACON(NamespaceID.from("minecraft:beacon"), (short) 5660, 3.0, 3.0, false, true, true, true), - COBBLESTONE_WALL("minecraft:cobblestone_wall", (short) 5664, 0.0, 0.0, false, true, null, false), + COBBLESTONE_WALL(NamespaceID.from("minecraft:cobblestone_wall"), (short) 5664, 2.0, 6.0, false, true, false, false), - MOSSY_COBBLESTONE_WALL("minecraft:mossy_cobblestone_wall", (short) 5988, 0.0, 0.0, false, true, null, false), + MOSSY_COBBLESTONE_WALL(NamespaceID.from("minecraft:mossy_cobblestone_wall"), (short) 5988, 2.0, 6.0, false, true, false, false), - FLOWER_POT("minecraft:flower_pot", (short) 6309, 0.0, 0.0, false, true, null, true), + FLOWER_POT(NamespaceID.from("minecraft:flower_pot"), (short) 6309, 0.0, 0.0, false, false, false, true), - POTTED_OAK_SAPLING("minecraft:potted_oak_sapling", (short) 6310, 0.0, 0.0, false, true, null, true), + POTTED_OAK_SAPLING(NamespaceID.from("minecraft:potted_oak_sapling"), (short) 6310, 0.0, 0.0, false, false, false, true), - POTTED_SPRUCE_SAPLING("minecraft:potted_spruce_sapling", (short) 6311, 0.0, 0.0, false, true, null, true), + POTTED_SPRUCE_SAPLING(NamespaceID.from("minecraft:potted_spruce_sapling"), (short) 6311, 0.0, 0.0, false, false, false, true), - POTTED_BIRCH_SAPLING("minecraft:potted_birch_sapling", (short) 6312, 0.0, 0.0, false, true, null, true), + POTTED_BIRCH_SAPLING(NamespaceID.from("minecraft:potted_birch_sapling"), (short) 6312, 0.0, 0.0, false, false, false, true), - POTTED_JUNGLE_SAPLING("minecraft:potted_jungle_sapling", (short) 6313, 0.0, 0.0, false, true, null, true), + POTTED_JUNGLE_SAPLING(NamespaceID.from("minecraft:potted_jungle_sapling"), (short) 6313, 0.0, 0.0, false, false, false, true), - POTTED_ACACIA_SAPLING("minecraft:potted_acacia_sapling", (short) 6314, 0.0, 0.0, false, true, null, true), + POTTED_ACACIA_SAPLING(NamespaceID.from("minecraft:potted_acacia_sapling"), (short) 6314, 0.0, 0.0, false, false, false, true), - POTTED_DARK_OAK_SAPLING("minecraft:potted_dark_oak_sapling", (short) 6315, 0.0, 0.0, false, true, null, true), + POTTED_DARK_OAK_SAPLING(NamespaceID.from("minecraft:potted_dark_oak_sapling"), (short) 6315, 0.0, 0.0, false, false, false, true), - POTTED_FERN("minecraft:potted_fern", (short) 6316, 0.0, 0.0, false, true, null, true), + POTTED_FERN(NamespaceID.from("minecraft:potted_fern"), (short) 6316, 0.0, 0.0, false, false, false, true), - POTTED_DANDELION("minecraft:potted_dandelion", (short) 6317, 0.0, 0.0, false, true, null, true), + POTTED_DANDELION(NamespaceID.from("minecraft:potted_dandelion"), (short) 6317, 0.0, 0.0, false, false, false, true), - POTTED_POPPY("minecraft:potted_poppy", (short) 6318, 0.0, 0.0, false, true, null, true), + POTTED_POPPY(NamespaceID.from("minecraft:potted_poppy"), (short) 6318, 0.0, 0.0, false, false, false, true), - POTTED_BLUE_ORCHID("minecraft:potted_blue_orchid", (short) 6319, 0.0, 0.0, false, true, null, true), + POTTED_BLUE_ORCHID(NamespaceID.from("minecraft:potted_blue_orchid"), (short) 6319, 0.0, 0.0, false, false, false, true), - POTTED_ALLIUM("minecraft:potted_allium", (short) 6320, 0.0, 0.0, false, true, null, true), + POTTED_ALLIUM(NamespaceID.from("minecraft:potted_allium"), (short) 6320, 0.0, 0.0, false, false, false, true), - POTTED_AZURE_BLUET("minecraft:potted_azure_bluet", (short) 6321, 0.0, 0.0, false, true, null, true), + POTTED_AZURE_BLUET(NamespaceID.from("minecraft:potted_azure_bluet"), (short) 6321, 0.0, 0.0, false, false, false, true), - POTTED_RED_TULIP("minecraft:potted_red_tulip", (short) 6322, 0.0, 0.0, false, true, null, true), + POTTED_RED_TULIP(NamespaceID.from("minecraft:potted_red_tulip"), (short) 6322, 0.0, 0.0, false, false, false, true), - POTTED_ORANGE_TULIP("minecraft:potted_orange_tulip", (short) 6323, 0.0, 0.0, false, true, null, true), + POTTED_ORANGE_TULIP(NamespaceID.from("minecraft:potted_orange_tulip"), (short) 6323, 0.0, 0.0, false, false, false, true), - POTTED_WHITE_TULIP("minecraft:potted_white_tulip", (short) 6324, 0.0, 0.0, false, true, null, true), + POTTED_WHITE_TULIP(NamespaceID.from("minecraft:potted_white_tulip"), (short) 6324, 0.0, 0.0, false, false, false, true), - POTTED_PINK_TULIP("minecraft:potted_pink_tulip", (short) 6325, 0.0, 0.0, false, true, null, true), + POTTED_PINK_TULIP(NamespaceID.from("minecraft:potted_pink_tulip"), (short) 6325, 0.0, 0.0, false, false, false, true), - POTTED_OXEYE_DAISY("minecraft:potted_oxeye_daisy", (short) 6326, 0.0, 0.0, false, true, null, true), + POTTED_OXEYE_DAISY(NamespaceID.from("minecraft:potted_oxeye_daisy"), (short) 6326, 0.0, 0.0, false, false, false, true), - POTTED_CORNFLOWER("minecraft:potted_cornflower", (short) 6327, 0.0, 0.0, false, true, null, true), + POTTED_CORNFLOWER(NamespaceID.from("minecraft:potted_cornflower"), (short) 6327, 0.0, 0.0, false, false, false, true), - POTTED_LILY_OF_THE_VALLEY("minecraft:potted_lily_of_the_valley", (short) 6328, 0.0, 0.0, false, true, null, true), + POTTED_LILY_OF_THE_VALLEY(NamespaceID.from("minecraft:potted_lily_of_the_valley"), (short) 6328, 0.0, 0.0, false, false, false, true), - POTTED_WITHER_ROSE("minecraft:potted_wither_rose", (short) 6329, 0.0, 0.0, false, true, null, true), + POTTED_WITHER_ROSE(NamespaceID.from("minecraft:potted_wither_rose"), (short) 6329, 0.0, 0.0, false, false, false, true), - POTTED_RED_MUSHROOM("minecraft:potted_red_mushroom", (short) 6330, 0.0, 0.0, false, true, null, true), + POTTED_RED_MUSHROOM(NamespaceID.from("minecraft:potted_red_mushroom"), (short) 6330, 0.0, 0.0, false, false, false, true), - POTTED_BROWN_MUSHROOM("minecraft:potted_brown_mushroom", (short) 6331, 0.0, 0.0, false, true, null, true), + POTTED_BROWN_MUSHROOM(NamespaceID.from("minecraft:potted_brown_mushroom"), (short) 6331, 0.0, 0.0, false, false, false, true), - POTTED_DEAD_BUSH("minecraft:potted_dead_bush", (short) 6332, 0.0, 0.0, false, true, null, true), + POTTED_DEAD_BUSH(NamespaceID.from("minecraft:potted_dead_bush"), (short) 6332, 0.0, 0.0, false, false, false, true), - POTTED_CACTUS("minecraft:potted_cactus", (short) 6333, 0.0, 0.0, false, true, null, true), + POTTED_CACTUS(NamespaceID.from("minecraft:potted_cactus"), (short) 6333, 0.0, 0.0, false, false, false, true), - CARROTS("minecraft:carrots", (short) 6334, 0.0, 0.0, false, false, null, false), + CARROTS(NamespaceID.from("minecraft:carrots"), (short) 6334, 0.0, 0.0, false, false, false, false), - POTATOES("minecraft:potatoes", (short) 6342, 0.0, 0.0, false, false, null, false), + POTATOES(NamespaceID.from("minecraft:potatoes"), (short) 6342, 0.0, 0.0, false, false, false, false), - OAK_BUTTON("minecraft:oak_button", (short) 6359, 0.5, 0.5, false, false, null, false), + OAK_BUTTON(NamespaceID.from("minecraft:oak_button"), (short) 6359, 0.5, 0.5, false, false, false, false), - SPRUCE_BUTTON("minecraft:spruce_button", (short) 6383, 0.5, 0.5, false, false, null, false), + SPRUCE_BUTTON(NamespaceID.from("minecraft:spruce_button"), (short) 6383, 0.5, 0.5, false, false, false, false), - BIRCH_BUTTON("minecraft:birch_button", (short) 6407, 0.5, 0.5, false, false, null, false), + BIRCH_BUTTON(NamespaceID.from("minecraft:birch_button"), (short) 6407, 0.5, 0.5, false, false, false, false), - JUNGLE_BUTTON("minecraft:jungle_button", (short) 6431, 0.5, 0.5, false, false, null, false), + JUNGLE_BUTTON(NamespaceID.from("minecraft:jungle_button"), (short) 6431, 0.5, 0.5, false, false, false, false), - ACACIA_BUTTON("minecraft:acacia_button", (short) 6455, 0.5, 0.5, false, false, null, false), + ACACIA_BUTTON(NamespaceID.from("minecraft:acacia_button"), (short) 6455, 0.5, 0.5, false, false, false, false), - DARK_OAK_BUTTON("minecraft:dark_oak_button", (short) 6479, 0.5, 0.5, false, false, null, false), + DARK_OAK_BUTTON(NamespaceID.from("minecraft:dark_oak_button"), (short) 6479, 0.5, 0.5, false, false, false, false), - SKELETON_SKULL("minecraft:skeleton_skull", (short) 6494, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + SKELETON_SKULL(NamespaceID.from("minecraft:skeleton_skull"), (short) 6494, 1.0, 1.0, false, false, true, false), - SKELETON_WALL_SKULL("minecraft:skeleton_wall_skull", (short) 6510, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + SKELETON_WALL_SKULL(NamespaceID.from("minecraft:skeleton_wall_skull"), (short) 6510, 1.0, 1.0, false, false, true, false), - WITHER_SKELETON_SKULL("minecraft:wither_skeleton_skull", (short) 6514, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + WITHER_SKELETON_SKULL(NamespaceID.from("minecraft:wither_skeleton_skull"), (short) 6514, 1.0, 1.0, false, false, true, false), - WITHER_SKELETON_WALL_SKULL("minecraft:wither_skeleton_wall_skull", (short) 6530, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + WITHER_SKELETON_WALL_SKULL(NamespaceID.from("minecraft:wither_skeleton_wall_skull"), (short) 6530, 1.0, 1.0, false, false, true, false), - ZOMBIE_HEAD("minecraft:zombie_head", (short) 6534, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + ZOMBIE_HEAD(NamespaceID.from("minecraft:zombie_head"), (short) 6534, 1.0, 1.0, false, false, true, false), - ZOMBIE_WALL_HEAD("minecraft:zombie_wall_head", (short) 6550, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + ZOMBIE_WALL_HEAD(NamespaceID.from("minecraft:zombie_wall_head"), (short) 6550, 1.0, 1.0, false, false, true, false), - PLAYER_HEAD("minecraft:player_head", (short) 6554, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + PLAYER_HEAD(NamespaceID.from("minecraft:player_head"), (short) 6554, 1.0, 1.0, false, false, true, false), - PLAYER_WALL_HEAD("minecraft:player_wall_head", (short) 6570, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + PLAYER_WALL_HEAD(NamespaceID.from("minecraft:player_wall_head"), (short) 6570, 1.0, 1.0, false, false, true, false), - CREEPER_HEAD("minecraft:creeper_head", (short) 6574, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + CREEPER_HEAD(NamespaceID.from("minecraft:creeper_head"), (short) 6574, 1.0, 1.0, false, false, true, false), - CREEPER_WALL_HEAD("minecraft:creeper_wall_head", (short) 6590, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + CREEPER_WALL_HEAD(NamespaceID.from("minecraft:creeper_wall_head"), (short) 6590, 1.0, 1.0, false, false, true, false), - DRAGON_HEAD("minecraft:dragon_head", (short) 6594, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + DRAGON_HEAD(NamespaceID.from("minecraft:dragon_head"), (short) 6594, 1.0, 1.0, false, false, true, false), - DRAGON_WALL_HEAD("minecraft:dragon_wall_head", (short) 6610, 1.0, 1.0, false, true, NamespaceID.from("minecraft:skull"), false), + DRAGON_WALL_HEAD(NamespaceID.from("minecraft:dragon_wall_head"), (short) 6610, 1.0, 1.0, false, false, true, false), - ANVIL("minecraft:anvil", (short) 6614, 5.0, 1200.0, false, true, null, false), + ANVIL(NamespaceID.from("minecraft:anvil"), (short) 6614, 5.0, 1200.0, false, true, false, false), - CHIPPED_ANVIL("minecraft:chipped_anvil", (short) 6618, 5.0, 1200.0, false, true, null, false), + CHIPPED_ANVIL(NamespaceID.from("minecraft:chipped_anvil"), (short) 6618, 5.0, 1200.0, false, true, false, false), - DAMAGED_ANVIL("minecraft:damaged_anvil", (short) 6622, 5.0, 1200.0, false, true, null, false), + DAMAGED_ANVIL(NamespaceID.from("minecraft:damaged_anvil"), (short) 6622, 5.0, 1200.0, false, true, false, false), - TRAPPED_CHEST("minecraft:trapped_chest", (short) 6627, 2.5, 2.5, false, true, NamespaceID.from("minecraft:trapped_chest"), false), + TRAPPED_CHEST(NamespaceID.from("minecraft:trapped_chest"), (short) 6627, 2.5, 2.5, false, true, true, false), - LIGHT_WEIGHTED_PRESSURE_PLATE("minecraft:light_weighted_pressure_plate", (short) 6650, 0.5, 0.5, false, false, null, false), + LIGHT_WEIGHTED_PRESSURE_PLATE(NamespaceID.from("minecraft:light_weighted_pressure_plate"), (short) 6650, 0.5, 0.5, false, true, false, false), - HEAVY_WEIGHTED_PRESSURE_PLATE("minecraft:heavy_weighted_pressure_plate", (short) 6666, 0.5, 0.5, false, false, null, false), + HEAVY_WEIGHTED_PRESSURE_PLATE(NamespaceID.from("minecraft:heavy_weighted_pressure_plate"), (short) 6666, 0.5, 0.5, false, true, false, false), - COMPARATOR("minecraft:comparator", (short) 6683, 0.0, 0.0, false, true, NamespaceID.from("minecraft:comparator"), false), + COMPARATOR(NamespaceID.from("minecraft:comparator"), (short) 6683, 0.0, 0.0, false, false, true, false), - DAYLIGHT_DETECTOR("minecraft:daylight_detector", (short) 6714, 0.2, 0.2, false, true, NamespaceID.from("minecraft:daylight_detector"), false), + DAYLIGHT_DETECTOR(NamespaceID.from("minecraft:daylight_detector"), (short) 6714, 0.2, 0.2, false, true, true, false), - REDSTONE_BLOCK("minecraft:redstone_block", (short) 6730, 5.0, 6.0, false, true, null, true), + REDSTONE_BLOCK(NamespaceID.from("minecraft:redstone_block"), (short) 6730, 5.0, 6.0, false, true, false, true), - NETHER_QUARTZ_ORE("minecraft:nether_quartz_ore", (short) 6731, 3.0, 3.0, false, true, null, true), + NETHER_QUARTZ_ORE(NamespaceID.from("minecraft:nether_quartz_ore"), (short) 6731, 3.0, 3.0, false, true, false, true), - HOPPER("minecraft:hopper", (short) 6732, 3.0, 4.8, false, true, NamespaceID.from("minecraft:hopper"), false), + HOPPER(NamespaceID.from("minecraft:hopper"), (short) 6732, 3.0, 4.8, false, true, true, false), - QUARTZ_BLOCK("minecraft:quartz_block", (short) 6742, 0.8, 0.8, false, true, null, true), + QUARTZ_BLOCK(NamespaceID.from("minecraft:quartz_block"), (short) 6742, 0.8, 0.8, false, true, false, true), - CHISELED_QUARTZ_BLOCK("minecraft:chiseled_quartz_block", (short) 6743, 0.8, 0.8, false, true, null, true), + CHISELED_QUARTZ_BLOCK(NamespaceID.from("minecraft:chiseled_quartz_block"), (short) 6743, 0.8, 0.8, false, true, false, true), - QUARTZ_PILLAR("minecraft:quartz_pillar", (short) 6745, 0.8, 0.8, false, true, null, false), + QUARTZ_PILLAR(NamespaceID.from("minecraft:quartz_pillar"), (short) 6745, 0.8, 0.8, false, true, false, false), - QUARTZ_STAIRS("minecraft:quartz_stairs", (short) 6758, 0.0, 0.0, false, true, null, false), + QUARTZ_STAIRS(NamespaceID.from("minecraft:quartz_stairs"), (short) 6758, 0.8, 0.8, false, true, false, false), - ACTIVATOR_RAIL("minecraft:activator_rail", (short) 6833, 0.7, 0.7, false, false, null, false), + ACTIVATOR_RAIL(NamespaceID.from("minecraft:activator_rail"), (short) 6833, 0.7, 0.7, false, false, false, false), - DROPPER("minecraft:dropper", (short) 6840, 3.5, 3.5, false, true, NamespaceID.from("minecraft:dropper"), false), + DROPPER(NamespaceID.from("minecraft:dropper"), (short) 6840, 3.5, 3.5, false, true, true, false), - WHITE_TERRACOTTA("minecraft:white_terracotta", (short) 6851, 1.25, 4.2, false, true, null, true), + WHITE_TERRACOTTA(NamespaceID.from("minecraft:white_terracotta"), (short) 6851, 1.25, 4.2, false, true, false, true), - ORANGE_TERRACOTTA("minecraft:orange_terracotta", (short) 6852, 1.25, 4.2, false, true, null, true), + ORANGE_TERRACOTTA(NamespaceID.from("minecraft:orange_terracotta"), (short) 6852, 1.25, 4.2, false, true, false, true), - MAGENTA_TERRACOTTA("minecraft:magenta_terracotta", (short) 6853, 1.25, 4.2, false, true, null, true), + MAGENTA_TERRACOTTA(NamespaceID.from("minecraft:magenta_terracotta"), (short) 6853, 1.25, 4.2, false, true, false, true), - LIGHT_BLUE_TERRACOTTA("minecraft:light_blue_terracotta", (short) 6854, 1.25, 4.2, false, true, null, true), + LIGHT_BLUE_TERRACOTTA(NamespaceID.from("minecraft:light_blue_terracotta"), (short) 6854, 1.25, 4.2, false, true, false, true), - YELLOW_TERRACOTTA("minecraft:yellow_terracotta", (short) 6855, 1.25, 4.2, false, true, null, true), + YELLOW_TERRACOTTA(NamespaceID.from("minecraft:yellow_terracotta"), (short) 6855, 1.25, 4.2, false, true, false, true), - LIME_TERRACOTTA("minecraft:lime_terracotta", (short) 6856, 1.25, 4.2, false, true, null, true), + LIME_TERRACOTTA(NamespaceID.from("minecraft:lime_terracotta"), (short) 6856, 1.25, 4.2, false, true, false, true), - PINK_TERRACOTTA("minecraft:pink_terracotta", (short) 6857, 1.25, 4.2, false, true, null, true), + PINK_TERRACOTTA(NamespaceID.from("minecraft:pink_terracotta"), (short) 6857, 1.25, 4.2, false, true, false, true), - GRAY_TERRACOTTA("minecraft:gray_terracotta", (short) 6858, 1.25, 4.2, false, true, null, true), + GRAY_TERRACOTTA(NamespaceID.from("minecraft:gray_terracotta"), (short) 6858, 1.25, 4.2, false, true, false, true), - LIGHT_GRAY_TERRACOTTA("minecraft:light_gray_terracotta", (short) 6859, 1.25, 4.2, false, true, null, true), + LIGHT_GRAY_TERRACOTTA(NamespaceID.from("minecraft:light_gray_terracotta"), (short) 6859, 1.25, 4.2, false, true, false, true), - CYAN_TERRACOTTA("minecraft:cyan_terracotta", (short) 6860, 1.25, 4.2, false, true, null, true), + CYAN_TERRACOTTA(NamespaceID.from("minecraft:cyan_terracotta"), (short) 6860, 1.25, 4.2, false, true, false, true), - PURPLE_TERRACOTTA("minecraft:purple_terracotta", (short) 6861, 1.25, 4.2, false, true, null, true), + PURPLE_TERRACOTTA(NamespaceID.from("minecraft:purple_terracotta"), (short) 6861, 1.25, 4.2, false, true, false, true), - BLUE_TERRACOTTA("minecraft:blue_terracotta", (short) 6862, 1.25, 4.2, false, true, null, true), + BLUE_TERRACOTTA(NamespaceID.from("minecraft:blue_terracotta"), (short) 6862, 1.25, 4.2, false, true, false, true), - BROWN_TERRACOTTA("minecraft:brown_terracotta", (short) 6863, 1.25, 4.2, false, true, null, true), + BROWN_TERRACOTTA(NamespaceID.from("minecraft:brown_terracotta"), (short) 6863, 1.25, 4.2, false, true, false, true), - GREEN_TERRACOTTA("minecraft:green_terracotta", (short) 6864, 1.25, 4.2, false, true, null, true), + GREEN_TERRACOTTA(NamespaceID.from("minecraft:green_terracotta"), (short) 6864, 1.25, 4.2, false, true, false, true), - RED_TERRACOTTA("minecraft:red_terracotta", (short) 6865, 1.25, 4.2, false, true, null, true), + RED_TERRACOTTA(NamespaceID.from("minecraft:red_terracotta"), (short) 6865, 1.25, 4.2, false, true, false, true), - BLACK_TERRACOTTA("minecraft:black_terracotta", (short) 6866, 1.25, 4.2, false, true, null, true), + BLACK_TERRACOTTA(NamespaceID.from("minecraft:black_terracotta"), (short) 6866, 1.25, 4.2, false, true, false, true), - WHITE_STAINED_GLASS_PANE("minecraft:white_stained_glass_pane", (short) 6898, 0.3, 0.3, false, true, null, false), + WHITE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:white_stained_glass_pane"), (short) 6898, 0.3, 0.3, false, true, false, false), - ORANGE_STAINED_GLASS_PANE("minecraft:orange_stained_glass_pane", (short) 6930, 0.3, 0.3, false, true, null, false), + ORANGE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:orange_stained_glass_pane"), (short) 6930, 0.3, 0.3, false, true, false, false), - MAGENTA_STAINED_GLASS_PANE("minecraft:magenta_stained_glass_pane", (short) 6962, 0.3, 0.3, false, true, null, false), + MAGENTA_STAINED_GLASS_PANE(NamespaceID.from("minecraft:magenta_stained_glass_pane"), (short) 6962, 0.3, 0.3, false, true, false, false), - LIGHT_BLUE_STAINED_GLASS_PANE("minecraft:light_blue_stained_glass_pane", (short) 6994, 0.3, 0.3, false, true, null, false), + LIGHT_BLUE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:light_blue_stained_glass_pane"), (short) 6994, 0.3, 0.3, false, true, false, false), - YELLOW_STAINED_GLASS_PANE("minecraft:yellow_stained_glass_pane", (short) 7026, 0.3, 0.3, false, true, null, false), + YELLOW_STAINED_GLASS_PANE(NamespaceID.from("minecraft:yellow_stained_glass_pane"), (short) 7026, 0.3, 0.3, false, true, false, false), - LIME_STAINED_GLASS_PANE("minecraft:lime_stained_glass_pane", (short) 7058, 0.3, 0.3, false, true, null, false), + LIME_STAINED_GLASS_PANE(NamespaceID.from("minecraft:lime_stained_glass_pane"), (short) 7058, 0.3, 0.3, false, true, false, false), - PINK_STAINED_GLASS_PANE("minecraft:pink_stained_glass_pane", (short) 7090, 0.3, 0.3, false, true, null, false), + PINK_STAINED_GLASS_PANE(NamespaceID.from("minecraft:pink_stained_glass_pane"), (short) 7090, 0.3, 0.3, false, true, false, false), - GRAY_STAINED_GLASS_PANE("minecraft:gray_stained_glass_pane", (short) 7122, 0.3, 0.3, false, true, null, false), + GRAY_STAINED_GLASS_PANE(NamespaceID.from("minecraft:gray_stained_glass_pane"), (short) 7122, 0.3, 0.3, false, true, false, false), - LIGHT_GRAY_STAINED_GLASS_PANE("minecraft:light_gray_stained_glass_pane", (short) 7154, 0.3, 0.3, false, true, null, false), + LIGHT_GRAY_STAINED_GLASS_PANE(NamespaceID.from("minecraft:light_gray_stained_glass_pane"), (short) 7154, 0.3, 0.3, false, true, false, false), - CYAN_STAINED_GLASS_PANE("minecraft:cyan_stained_glass_pane", (short) 7186, 0.3, 0.3, false, true, null, false), + CYAN_STAINED_GLASS_PANE(NamespaceID.from("minecraft:cyan_stained_glass_pane"), (short) 7186, 0.3, 0.3, false, true, false, false), - PURPLE_STAINED_GLASS_PANE("minecraft:purple_stained_glass_pane", (short) 7218, 0.3, 0.3, false, true, null, false), + PURPLE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:purple_stained_glass_pane"), (short) 7218, 0.3, 0.3, false, true, false, false), - BLUE_STAINED_GLASS_PANE("minecraft:blue_stained_glass_pane", (short) 7250, 0.3, 0.3, false, true, null, false), + BLUE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:blue_stained_glass_pane"), (short) 7250, 0.3, 0.3, false, true, false, false), - BROWN_STAINED_GLASS_PANE("minecraft:brown_stained_glass_pane", (short) 7282, 0.3, 0.3, false, true, null, false), + BROWN_STAINED_GLASS_PANE(NamespaceID.from("minecraft:brown_stained_glass_pane"), (short) 7282, 0.3, 0.3, false, true, false, false), - GREEN_STAINED_GLASS_PANE("minecraft:green_stained_glass_pane", (short) 7314, 0.3, 0.3, false, true, null, false), + GREEN_STAINED_GLASS_PANE(NamespaceID.from("minecraft:green_stained_glass_pane"), (short) 7314, 0.3, 0.3, false, true, false, false), - RED_STAINED_GLASS_PANE("minecraft:red_stained_glass_pane", (short) 7346, 0.3, 0.3, false, true, null, false), + RED_STAINED_GLASS_PANE(NamespaceID.from("minecraft:red_stained_glass_pane"), (short) 7346, 0.3, 0.3, false, true, false, false), - BLACK_STAINED_GLASS_PANE("minecraft:black_stained_glass_pane", (short) 7378, 0.3, 0.3, false, true, null, false), + BLACK_STAINED_GLASS_PANE(NamespaceID.from("minecraft:black_stained_glass_pane"), (short) 7378, 0.3, 0.3, false, true, false, false), - ACACIA_STAIRS("minecraft:acacia_stairs", (short) 7390, 0.0, 0.0, false, true, null, false), + ACACIA_STAIRS(NamespaceID.from("minecraft:acacia_stairs"), (short) 7390, 2.0, 3.0, false, true, false, false), - DARK_OAK_STAIRS("minecraft:dark_oak_stairs", (short) 7470, 0.0, 0.0, false, true, null, false), + DARK_OAK_STAIRS(NamespaceID.from("minecraft:dark_oak_stairs"), (short) 7470, 2.0, 3.0, false, true, false, false), - SLIME_BLOCK("minecraft:slime_block", (short) 7539, 0.0, 0.0, false, true, null, true), + SLIME_BLOCK(NamespaceID.from("minecraft:slime_block"), (short) 7539, 0.0, 0.0, false, true, false, true), - BARRIER("minecraft:barrier", (short) 7540, 0.0, 3600000.75, false, true, null, true), + BARRIER(NamespaceID.from("minecraft:barrier"), (short) 7540, -1.0, 3600000.8, false, true, false, true), - IRON_TRAPDOOR("minecraft:iron_trapdoor", (short) 7556, 5.0, 5.0, false, true, null, false), + IRON_TRAPDOOR(NamespaceID.from("minecraft:iron_trapdoor"), (short) 7556, 5.0, 5.0, false, true, false, false), - PRISMARINE("minecraft:prismarine", (short) 7605, 1.5, 6.0, false, true, null, true), + PRISMARINE(NamespaceID.from("minecraft:prismarine"), (short) 7605, 1.5, 6.0, false, true, false, true), - PRISMARINE_BRICKS("minecraft:prismarine_bricks", (short) 7606, 1.5, 6.0, false, true, null, true), + PRISMARINE_BRICKS(NamespaceID.from("minecraft:prismarine_bricks"), (short) 7606, 1.5, 6.0, false, true, false, true), - DARK_PRISMARINE("minecraft:dark_prismarine", (short) 7607, 1.5, 6.0, false, true, null, true), + DARK_PRISMARINE(NamespaceID.from("minecraft:dark_prismarine"), (short) 7607, 1.5, 6.0, false, true, false, true), - PRISMARINE_STAIRS("minecraft:prismarine_stairs", (short) 7619, 0.0, 0.0, false, true, null, false), + PRISMARINE_STAIRS(NamespaceID.from("minecraft:prismarine_stairs"), (short) 7619, 1.5, 6.0, false, true, false, false), - PRISMARINE_BRICK_STAIRS("minecraft:prismarine_brick_stairs", (short) 7699, 0.0, 0.0, false, true, null, false), + PRISMARINE_BRICK_STAIRS(NamespaceID.from("minecraft:prismarine_brick_stairs"), (short) 7699, 1.5, 6.0, false, true, false, false), - DARK_PRISMARINE_STAIRS("minecraft:dark_prismarine_stairs", (short) 7779, 0.0, 0.0, false, true, null, false), + DARK_PRISMARINE_STAIRS(NamespaceID.from("minecraft:dark_prismarine_stairs"), (short) 7779, 1.5, 6.0, false, true, false, false), - PRISMARINE_SLAB("minecraft:prismarine_slab", (short) 7851, 1.5, 6.0, false, true, null, false), + PRISMARINE_SLAB(NamespaceID.from("minecraft:prismarine_slab"), (short) 7851, 1.5, 6.0, false, true, false, false), - PRISMARINE_BRICK_SLAB("minecraft:prismarine_brick_slab", (short) 7857, 1.5, 6.0, false, true, null, false), + PRISMARINE_BRICK_SLAB(NamespaceID.from("minecraft:prismarine_brick_slab"), (short) 7857, 1.5, 6.0, false, true, false, false), - DARK_PRISMARINE_SLAB("minecraft:dark_prismarine_slab", (short) 7863, 1.5, 6.0, false, true, null, false), + DARK_PRISMARINE_SLAB(NamespaceID.from("minecraft:dark_prismarine_slab"), (short) 7863, 1.5, 6.0, false, true, false, false), - SEA_LANTERN("minecraft:sea_lantern", (short) 7866, 0.3, 0.3, false, true, null, true), + SEA_LANTERN(NamespaceID.from("minecraft:sea_lantern"), (short) 7866, 0.3, 0.3, false, true, false, true), - HAY_BLOCK("minecraft:hay_block", (short) 7868, 0.5, 0.5, false, true, null, false), + HAY_BLOCK(NamespaceID.from("minecraft:hay_block"), (short) 7868, 0.5, 0.5, false, true, false, false), - WHITE_CARPET("minecraft:white_carpet", (short) 7870, 0.1, 0.1, false, true, null, true), + WHITE_CARPET(NamespaceID.from("minecraft:white_carpet"), (short) 7870, 0.1, 0.1, false, false, false, true), - ORANGE_CARPET("minecraft:orange_carpet", (short) 7871, 0.1, 0.1, false, true, null, true), + ORANGE_CARPET(NamespaceID.from("minecraft:orange_carpet"), (short) 7871, 0.1, 0.1, false, false, false, true), - MAGENTA_CARPET("minecraft:magenta_carpet", (short) 7872, 0.1, 0.1, false, true, null, true), + MAGENTA_CARPET(NamespaceID.from("minecraft:magenta_carpet"), (short) 7872, 0.1, 0.1, false, false, false, true), - LIGHT_BLUE_CARPET("minecraft:light_blue_carpet", (short) 7873, 0.1, 0.1, false, true, null, true), + LIGHT_BLUE_CARPET(NamespaceID.from("minecraft:light_blue_carpet"), (short) 7873, 0.1, 0.1, false, false, false, true), - YELLOW_CARPET("minecraft:yellow_carpet", (short) 7874, 0.1, 0.1, false, true, null, true), + YELLOW_CARPET(NamespaceID.from("minecraft:yellow_carpet"), (short) 7874, 0.1, 0.1, false, false, false, true), - LIME_CARPET("minecraft:lime_carpet", (short) 7875, 0.1, 0.1, false, true, null, true), + LIME_CARPET(NamespaceID.from("minecraft:lime_carpet"), (short) 7875, 0.1, 0.1, false, false, false, true), - PINK_CARPET("minecraft:pink_carpet", (short) 7876, 0.1, 0.1, false, true, null, true), + PINK_CARPET(NamespaceID.from("minecraft:pink_carpet"), (short) 7876, 0.1, 0.1, false, false, false, true), - GRAY_CARPET("minecraft:gray_carpet", (short) 7877, 0.1, 0.1, false, true, null, true), + GRAY_CARPET(NamespaceID.from("minecraft:gray_carpet"), (short) 7877, 0.1, 0.1, false, false, false, true), - LIGHT_GRAY_CARPET("minecraft:light_gray_carpet", (short) 7878, 0.1, 0.1, false, true, null, true), + LIGHT_GRAY_CARPET(NamespaceID.from("minecraft:light_gray_carpet"), (short) 7878, 0.1, 0.1, false, false, false, true), - CYAN_CARPET("minecraft:cyan_carpet", (short) 7879, 0.1, 0.1, false, true, null, true), + CYAN_CARPET(NamespaceID.from("minecraft:cyan_carpet"), (short) 7879, 0.1, 0.1, false, false, false, true), - PURPLE_CARPET("minecraft:purple_carpet", (short) 7880, 0.1, 0.1, false, true, null, true), + PURPLE_CARPET(NamespaceID.from("minecraft:purple_carpet"), (short) 7880, 0.1, 0.1, false, false, false, true), - BLUE_CARPET("minecraft:blue_carpet", (short) 7881, 0.1, 0.1, false, true, null, true), + BLUE_CARPET(NamespaceID.from("minecraft:blue_carpet"), (short) 7881, 0.1, 0.1, false, false, false, true), - BROWN_CARPET("minecraft:brown_carpet", (short) 7882, 0.1, 0.1, false, true, null, true), + BROWN_CARPET(NamespaceID.from("minecraft:brown_carpet"), (short) 7882, 0.1, 0.1, false, false, false, true), - GREEN_CARPET("minecraft:green_carpet", (short) 7883, 0.1, 0.1, false, true, null, true), + GREEN_CARPET(NamespaceID.from("minecraft:green_carpet"), (short) 7883, 0.1, 0.1, false, false, false, true), - RED_CARPET("minecraft:red_carpet", (short) 7884, 0.1, 0.1, false, true, null, true), + RED_CARPET(NamespaceID.from("minecraft:red_carpet"), (short) 7884, 0.1, 0.1, false, false, false, true), - BLACK_CARPET("minecraft:black_carpet", (short) 7885, 0.1, 0.1, false, true, null, true), + BLACK_CARPET(NamespaceID.from("minecraft:black_carpet"), (short) 7885, 0.1, 0.1, false, false, false, true), - TERRACOTTA("minecraft:terracotta", (short) 7886, 1.25, 4.2, false, true, null, true), + TERRACOTTA(NamespaceID.from("minecraft:terracotta"), (short) 7886, 1.25, 4.2, false, true, false, true), - COAL_BLOCK("minecraft:coal_block", (short) 7887, 5.0, 6.0, false, true, null, true), + COAL_BLOCK(NamespaceID.from("minecraft:coal_block"), (short) 7887, 5.0, 6.0, false, true, false, true), - PACKED_ICE("minecraft:packed_ice", (short) 7888, 0.5, 0.5, false, true, null, true), + PACKED_ICE(NamespaceID.from("minecraft:packed_ice"), (short) 7888, 0.5, 0.5, false, true, false, true), - SUNFLOWER("minecraft:sunflower", (short) 7890, 0.0, 0.0, false, false, null, false), + SUNFLOWER(NamespaceID.from("minecraft:sunflower"), (short) 7890, 0.0, 0.0, false, false, false, false), - LILAC("minecraft:lilac", (short) 7892, 0.0, 0.0, false, false, null, false), + LILAC(NamespaceID.from("minecraft:lilac"), (short) 7892, 0.0, 0.0, false, false, false, false), - ROSE_BUSH("minecraft:rose_bush", (short) 7894, 0.0, 0.0, false, false, null, false), + ROSE_BUSH(NamespaceID.from("minecraft:rose_bush"), (short) 7894, 0.0, 0.0, false, false, false, false), - PEONY("minecraft:peony", (short) 7896, 0.0, 0.0, false, false, null, false), + PEONY(NamespaceID.from("minecraft:peony"), (short) 7896, 0.0, 0.0, false, false, false, false), - TALL_GRASS("minecraft:tall_grass", (short) 7898, 0.0, 0.0, false, false, null, false), + TALL_GRASS(NamespaceID.from("minecraft:tall_grass"), (short) 7898, 0.0, 0.0, false, false, false, false), - LARGE_FERN("minecraft:large_fern", (short) 7900, 0.0, 0.0, false, false, null, false), + LARGE_FERN(NamespaceID.from("minecraft:large_fern"), (short) 7900, 0.0, 0.0, false, false, false, false), - WHITE_BANNER("minecraft:white_banner", (short) 7901, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + WHITE_BANNER(NamespaceID.from("minecraft:white_banner"), (short) 7901, 1.0, 1.0, false, true, true, false), - ORANGE_BANNER("minecraft:orange_banner", (short) 7917, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + ORANGE_BANNER(NamespaceID.from("minecraft:orange_banner"), (short) 7917, 1.0, 1.0, false, true, true, false), - MAGENTA_BANNER("minecraft:magenta_banner", (short) 7933, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + MAGENTA_BANNER(NamespaceID.from("minecraft:magenta_banner"), (short) 7933, 1.0, 1.0, false, true, true, false), - LIGHT_BLUE_BANNER("minecraft:light_blue_banner", (short) 7949, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + LIGHT_BLUE_BANNER(NamespaceID.from("minecraft:light_blue_banner"), (short) 7949, 1.0, 1.0, false, true, true, false), - YELLOW_BANNER("minecraft:yellow_banner", (short) 7965, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + YELLOW_BANNER(NamespaceID.from("minecraft:yellow_banner"), (short) 7965, 1.0, 1.0, false, true, true, false), - LIME_BANNER("minecraft:lime_banner", (short) 7981, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + LIME_BANNER(NamespaceID.from("minecraft:lime_banner"), (short) 7981, 1.0, 1.0, false, true, true, false), - PINK_BANNER("minecraft:pink_banner", (short) 7997, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + PINK_BANNER(NamespaceID.from("minecraft:pink_banner"), (short) 7997, 1.0, 1.0, false, true, true, false), - GRAY_BANNER("minecraft:gray_banner", (short) 8013, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + GRAY_BANNER(NamespaceID.from("minecraft:gray_banner"), (short) 8013, 1.0, 1.0, false, true, true, false), - LIGHT_GRAY_BANNER("minecraft:light_gray_banner", (short) 8029, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + LIGHT_GRAY_BANNER(NamespaceID.from("minecraft:light_gray_banner"), (short) 8029, 1.0, 1.0, false, true, true, false), - CYAN_BANNER("minecraft:cyan_banner", (short) 8045, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + CYAN_BANNER(NamespaceID.from("minecraft:cyan_banner"), (short) 8045, 1.0, 1.0, false, true, true, false), - PURPLE_BANNER("minecraft:purple_banner", (short) 8061, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + PURPLE_BANNER(NamespaceID.from("minecraft:purple_banner"), (short) 8061, 1.0, 1.0, false, true, true, false), - BLUE_BANNER("minecraft:blue_banner", (short) 8077, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + BLUE_BANNER(NamespaceID.from("minecraft:blue_banner"), (short) 8077, 1.0, 1.0, false, true, true, false), - BROWN_BANNER("minecraft:brown_banner", (short) 8093, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + BROWN_BANNER(NamespaceID.from("minecraft:brown_banner"), (short) 8093, 1.0, 1.0, false, true, true, false), - GREEN_BANNER("minecraft:green_banner", (short) 8109, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + GREEN_BANNER(NamespaceID.from("minecraft:green_banner"), (short) 8109, 1.0, 1.0, false, true, true, false), - RED_BANNER("minecraft:red_banner", (short) 8125, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + RED_BANNER(NamespaceID.from("minecraft:red_banner"), (short) 8125, 1.0, 1.0, false, true, true, false), - BLACK_BANNER("minecraft:black_banner", (short) 8141, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + BLACK_BANNER(NamespaceID.from("minecraft:black_banner"), (short) 8141, 1.0, 1.0, false, true, true, false), - WHITE_WALL_BANNER("minecraft:white_wall_banner", (short) 8157, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + WHITE_WALL_BANNER(NamespaceID.from("minecraft:white_wall_banner"), (short) 8157, 1.0, 1.0, false, true, true, false), - ORANGE_WALL_BANNER("minecraft:orange_wall_banner", (short) 8161, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + ORANGE_WALL_BANNER(NamespaceID.from("minecraft:orange_wall_banner"), (short) 8161, 1.0, 1.0, false, true, true, false), - MAGENTA_WALL_BANNER("minecraft:magenta_wall_banner", (short) 8165, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + MAGENTA_WALL_BANNER(NamespaceID.from("minecraft:magenta_wall_banner"), (short) 8165, 1.0, 1.0, false, true, true, false), - LIGHT_BLUE_WALL_BANNER("minecraft:light_blue_wall_banner", (short) 8169, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + LIGHT_BLUE_WALL_BANNER(NamespaceID.from("minecraft:light_blue_wall_banner"), (short) 8169, 1.0, 1.0, false, true, true, false), - YELLOW_WALL_BANNER("minecraft:yellow_wall_banner", (short) 8173, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + YELLOW_WALL_BANNER(NamespaceID.from("minecraft:yellow_wall_banner"), (short) 8173, 1.0, 1.0, false, true, true, false), - LIME_WALL_BANNER("minecraft:lime_wall_banner", (short) 8177, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + LIME_WALL_BANNER(NamespaceID.from("minecraft:lime_wall_banner"), (short) 8177, 1.0, 1.0, false, true, true, false), - PINK_WALL_BANNER("minecraft:pink_wall_banner", (short) 8181, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + PINK_WALL_BANNER(NamespaceID.from("minecraft:pink_wall_banner"), (short) 8181, 1.0, 1.0, false, true, true, false), - GRAY_WALL_BANNER("minecraft:gray_wall_banner", (short) 8185, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + GRAY_WALL_BANNER(NamespaceID.from("minecraft:gray_wall_banner"), (short) 8185, 1.0, 1.0, false, true, true, false), - LIGHT_GRAY_WALL_BANNER("minecraft:light_gray_wall_banner", (short) 8189, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + LIGHT_GRAY_WALL_BANNER(NamespaceID.from("minecraft:light_gray_wall_banner"), (short) 8189, 1.0, 1.0, false, true, true, false), - CYAN_WALL_BANNER("minecraft:cyan_wall_banner", (short) 8193, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + CYAN_WALL_BANNER(NamespaceID.from("minecraft:cyan_wall_banner"), (short) 8193, 1.0, 1.0, false, true, true, false), - PURPLE_WALL_BANNER("minecraft:purple_wall_banner", (short) 8197, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + PURPLE_WALL_BANNER(NamespaceID.from("minecraft:purple_wall_banner"), (short) 8197, 1.0, 1.0, false, true, true, false), - BLUE_WALL_BANNER("minecraft:blue_wall_banner", (short) 8201, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + BLUE_WALL_BANNER(NamespaceID.from("minecraft:blue_wall_banner"), (short) 8201, 1.0, 1.0, false, true, true, false), - BROWN_WALL_BANNER("minecraft:brown_wall_banner", (short) 8205, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + BROWN_WALL_BANNER(NamespaceID.from("minecraft:brown_wall_banner"), (short) 8205, 1.0, 1.0, false, true, true, false), - GREEN_WALL_BANNER("minecraft:green_wall_banner", (short) 8209, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + GREEN_WALL_BANNER(NamespaceID.from("minecraft:green_wall_banner"), (short) 8209, 1.0, 1.0, false, true, true, false), - RED_WALL_BANNER("minecraft:red_wall_banner", (short) 8213, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + RED_WALL_BANNER(NamespaceID.from("minecraft:red_wall_banner"), (short) 8213, 1.0, 1.0, false, true, true, false), - BLACK_WALL_BANNER("minecraft:black_wall_banner", (short) 8217, 1.0, 1.0, false, false, NamespaceID.from("minecraft:banner"), false), + BLACK_WALL_BANNER(NamespaceID.from("minecraft:black_wall_banner"), (short) 8217, 1.0, 1.0, false, true, true, false), - RED_SANDSTONE("minecraft:red_sandstone", (short) 8221, 0.8, 0.8, false, true, null, true), + RED_SANDSTONE(NamespaceID.from("minecraft:red_sandstone"), (short) 8221, 0.8, 0.8, false, true, false, true), - CHISELED_RED_SANDSTONE("minecraft:chiseled_red_sandstone", (short) 8222, 0.8, 0.8, false, true, null, true), + CHISELED_RED_SANDSTONE(NamespaceID.from("minecraft:chiseled_red_sandstone"), (short) 8222, 0.8, 0.8, false, true, false, true), - CUT_RED_SANDSTONE("minecraft:cut_red_sandstone", (short) 8223, 0.8, 0.8, false, true, null, true), + CUT_RED_SANDSTONE(NamespaceID.from("minecraft:cut_red_sandstone"), (short) 8223, 0.8, 0.8, false, true, false, true), - RED_SANDSTONE_STAIRS("minecraft:red_sandstone_stairs", (short) 8235, 0.0, 0.0, false, true, null, false), + RED_SANDSTONE_STAIRS(NamespaceID.from("minecraft:red_sandstone_stairs"), (short) 8235, 0.8, 0.8, false, true, false, false), - OAK_SLAB("minecraft:oak_slab", (short) 8307, 2.0, 3.0, false, true, null, false), + OAK_SLAB(NamespaceID.from("minecraft:oak_slab"), (short) 8307, 2.0, 3.0, false, true, false, false), - SPRUCE_SLAB("minecraft:spruce_slab", (short) 8313, 2.0, 3.0, false, true, null, false), + SPRUCE_SLAB(NamespaceID.from("minecraft:spruce_slab"), (short) 8313, 2.0, 3.0, false, true, false, false), - BIRCH_SLAB("minecraft:birch_slab", (short) 8319, 2.0, 3.0, false, true, null, false), + BIRCH_SLAB(NamespaceID.from("minecraft:birch_slab"), (short) 8319, 2.0, 3.0, false, true, false, false), - JUNGLE_SLAB("minecraft:jungle_slab", (short) 8325, 2.0, 3.0, false, true, null, false), + JUNGLE_SLAB(NamespaceID.from("minecraft:jungle_slab"), (short) 8325, 2.0, 3.0, false, true, false, false), - ACACIA_SLAB("minecraft:acacia_slab", (short) 8331, 2.0, 3.0, false, true, null, false), + ACACIA_SLAB(NamespaceID.from("minecraft:acacia_slab"), (short) 8331, 2.0, 3.0, false, true, false, false), - DARK_OAK_SLAB("minecraft:dark_oak_slab", (short) 8337, 2.0, 3.0, false, true, null, false), + DARK_OAK_SLAB(NamespaceID.from("minecraft:dark_oak_slab"), (short) 8337, 2.0, 3.0, false, true, false, false), - STONE_SLAB("minecraft:stone_slab", (short) 8343, 2.0, 6.0, false, true, null, false), + STONE_SLAB(NamespaceID.from("minecraft:stone_slab"), (short) 8343, 2.0, 6.0, false, true, false, false), - SMOOTH_STONE_SLAB("minecraft:smooth_stone_slab", (short) 8349, 2.0, 6.0, false, true, null, false), + SMOOTH_STONE_SLAB(NamespaceID.from("minecraft:smooth_stone_slab"), (short) 8349, 2.0, 6.0, false, true, false, false), - SANDSTONE_SLAB("minecraft:sandstone_slab", (short) 8355, 2.0, 6.0, false, true, null, false), + SANDSTONE_SLAB(NamespaceID.from("minecraft:sandstone_slab"), (short) 8355, 2.0, 6.0, false, true, false, false), - CUT_SANDSTONE_SLAB("minecraft:cut_sandstone_slab", (short) 8361, 2.0, 6.0, false, true, null, false), + CUT_SANDSTONE_SLAB(NamespaceID.from("minecraft:cut_sandstone_slab"), (short) 8361, 2.0, 6.0, false, true, false, false), - PETRIFIED_OAK_SLAB("minecraft:petrified_oak_slab", (short) 8367, 2.0, 6.0, false, true, null, false), + PETRIFIED_OAK_SLAB(NamespaceID.from("minecraft:petrified_oak_slab"), (short) 8367, 2.0, 6.0, false, true, false, false), - COBBLESTONE_SLAB("minecraft:cobblestone_slab", (short) 8373, 2.0, 6.0, false, true, null, false), + COBBLESTONE_SLAB(NamespaceID.from("minecraft:cobblestone_slab"), (short) 8373, 2.0, 6.0, false, true, false, false), - BRICK_SLAB("minecraft:brick_slab", (short) 8379, 2.0, 6.0, false, true, null, false), + BRICK_SLAB(NamespaceID.from("minecraft:brick_slab"), (short) 8379, 2.0, 6.0, false, true, false, false), - STONE_BRICK_SLAB("minecraft:stone_brick_slab", (short) 8385, 2.0, 6.0, false, true, null, false), + STONE_BRICK_SLAB(NamespaceID.from("minecraft:stone_brick_slab"), (short) 8385, 2.0, 6.0, false, true, false, false), - NETHER_BRICK_SLAB("minecraft:nether_brick_slab", (short) 8391, 2.0, 6.0, false, true, null, false), + NETHER_BRICK_SLAB(NamespaceID.from("minecraft:nether_brick_slab"), (short) 8391, 2.0, 6.0, false, true, false, false), - QUARTZ_SLAB("minecraft:quartz_slab", (short) 8397, 2.0, 6.0, false, true, null, false), + QUARTZ_SLAB(NamespaceID.from("minecraft:quartz_slab"), (short) 8397, 2.0, 6.0, false, true, false, false), - RED_SANDSTONE_SLAB("minecraft:red_sandstone_slab", (short) 8403, 2.0, 6.0, false, true, null, false), + RED_SANDSTONE_SLAB(NamespaceID.from("minecraft:red_sandstone_slab"), (short) 8403, 2.0, 6.0, false, true, false, false), - CUT_RED_SANDSTONE_SLAB("minecraft:cut_red_sandstone_slab", (short) 8409, 2.0, 6.0, false, true, null, false), + CUT_RED_SANDSTONE_SLAB(NamespaceID.from("minecraft:cut_red_sandstone_slab"), (short) 8409, 2.0, 6.0, false, true, false, false), - PURPUR_SLAB("minecraft:purpur_slab", (short) 8415, 2.0, 6.0, false, true, null, false), + PURPUR_SLAB(NamespaceID.from("minecraft:purpur_slab"), (short) 8415, 2.0, 6.0, false, true, false, false), - SMOOTH_STONE("minecraft:smooth_stone", (short) 8418, 2.0, 6.0, false, true, null, true), + SMOOTH_STONE(NamespaceID.from("minecraft:smooth_stone"), (short) 8418, 2.0, 6.0, false, true, false, true), - SMOOTH_SANDSTONE("minecraft:smooth_sandstone", (short) 8419, 2.0, 6.0, false, true, null, true), + SMOOTH_SANDSTONE(NamespaceID.from("minecraft:smooth_sandstone"), (short) 8419, 2.0, 6.0, false, true, false, true), - SMOOTH_QUARTZ("minecraft:smooth_quartz", (short) 8420, 2.0, 6.0, false, true, null, true), + SMOOTH_QUARTZ(NamespaceID.from("minecraft:smooth_quartz"), (short) 8420, 2.0, 6.0, false, true, false, true), - SMOOTH_RED_SANDSTONE("minecraft:smooth_red_sandstone", (short) 8421, 2.0, 6.0, false, true, null, true), + SMOOTH_RED_SANDSTONE(NamespaceID.from("minecraft:smooth_red_sandstone"), (short) 8421, 2.0, 6.0, false, true, false, true), - SPRUCE_FENCE_GATE("minecraft:spruce_fence_gate", (short) 8429, 2.0, 3.0, false, true, null, false), + SPRUCE_FENCE_GATE(NamespaceID.from("minecraft:spruce_fence_gate"), (short) 8429, 2.0, 3.0, false, true, false, false), - BIRCH_FENCE_GATE("minecraft:birch_fence_gate", (short) 8461, 2.0, 3.0, false, true, null, false), + BIRCH_FENCE_GATE(NamespaceID.from("minecraft:birch_fence_gate"), (short) 8461, 2.0, 3.0, false, true, false, false), - JUNGLE_FENCE_GATE("minecraft:jungle_fence_gate", (short) 8493, 2.0, 3.0, false, true, null, false), + JUNGLE_FENCE_GATE(NamespaceID.from("minecraft:jungle_fence_gate"), (short) 8493, 2.0, 3.0, false, true, false, false), - ACACIA_FENCE_GATE("minecraft:acacia_fence_gate", (short) 8525, 2.0, 3.0, false, true, null, false), + ACACIA_FENCE_GATE(NamespaceID.from("minecraft:acacia_fence_gate"), (short) 8525, 2.0, 3.0, false, true, false, false), - DARK_OAK_FENCE_GATE("minecraft:dark_oak_fence_gate", (short) 8557, 2.0, 3.0, false, true, null, false), + DARK_OAK_FENCE_GATE(NamespaceID.from("minecraft:dark_oak_fence_gate"), (short) 8557, 2.0, 3.0, false, true, false, false), - SPRUCE_FENCE("minecraft:spruce_fence", (short) 8613, 2.0, 3.0, false, true, null, false), + SPRUCE_FENCE(NamespaceID.from("minecraft:spruce_fence"), (short) 8613, 2.0, 3.0, false, true, false, false), - BIRCH_FENCE("minecraft:birch_fence", (short) 8645, 2.0, 3.0, false, true, null, false), + BIRCH_FENCE(NamespaceID.from("minecraft:birch_fence"), (short) 8645, 2.0, 3.0, false, true, false, false), - JUNGLE_FENCE("minecraft:jungle_fence", (short) 8677, 2.0, 3.0, false, true, null, false), + JUNGLE_FENCE(NamespaceID.from("minecraft:jungle_fence"), (short) 8677, 2.0, 3.0, false, true, false, false), - ACACIA_FENCE("minecraft:acacia_fence", (short) 8709, 2.0, 3.0, false, true, null, false), + ACACIA_FENCE(NamespaceID.from("minecraft:acacia_fence"), (short) 8709, 2.0, 3.0, false, true, false, false), - DARK_OAK_FENCE("minecraft:dark_oak_fence", (short) 8741, 2.0, 3.0, false, true, null, false), + DARK_OAK_FENCE(NamespaceID.from("minecraft:dark_oak_fence"), (short) 8741, 2.0, 3.0, false, true, false, false), - SPRUCE_DOOR("minecraft:spruce_door", (short) 8753, 3.0, 3.0, false, true, null, false), + SPRUCE_DOOR(NamespaceID.from("minecraft:spruce_door"), (short) 8753, 3.0, 3.0, false, true, false, false), - BIRCH_DOOR("minecraft:birch_door", (short) 8817, 3.0, 3.0, false, true, null, false), + BIRCH_DOOR(NamespaceID.from("minecraft:birch_door"), (short) 8817, 3.0, 3.0, false, true, false, false), - JUNGLE_DOOR("minecraft:jungle_door", (short) 8881, 3.0, 3.0, false, true, null, false), + JUNGLE_DOOR(NamespaceID.from("minecraft:jungle_door"), (short) 8881, 3.0, 3.0, false, true, false, false), - ACACIA_DOOR("minecraft:acacia_door", (short) 8945, 3.0, 3.0, false, true, null, false), + ACACIA_DOOR(NamespaceID.from("minecraft:acacia_door"), (short) 8945, 3.0, 3.0, false, true, false, false), - DARK_OAK_DOOR("minecraft:dark_oak_door", (short) 9009, 3.0, 3.0, false, true, null, false), + DARK_OAK_DOOR(NamespaceID.from("minecraft:dark_oak_door"), (short) 9009, 3.0, 3.0, false, true, false, false), - END_ROD("minecraft:end_rod", (short) 9066, 0.0, 0.0, false, true, null, false), + END_ROD(NamespaceID.from("minecraft:end_rod"), (short) 9066, 0.0, 0.0, false, false, false, false), - CHORUS_PLANT("minecraft:chorus_plant", (short) 9131, 0.4, 0.4, false, true, null, false), + CHORUS_PLANT(NamespaceID.from("minecraft:chorus_plant"), (short) 9131, 0.4, 0.4, false, false, false, false), - CHORUS_FLOWER("minecraft:chorus_flower", (short) 9132, 0.4, 0.4, false, true, null, false), + CHORUS_FLOWER(NamespaceID.from("minecraft:chorus_flower"), (short) 9132, 0.4, 0.4, false, false, false, false), - PURPUR_BLOCK("minecraft:purpur_block", (short) 9138, 1.5, 6.0, false, true, null, true), + PURPUR_BLOCK(NamespaceID.from("minecraft:purpur_block"), (short) 9138, 1.5, 6.0, false, true, false, true), - PURPUR_PILLAR("minecraft:purpur_pillar", (short) 9140, 1.5, 6.0, false, true, null, false), + PURPUR_PILLAR(NamespaceID.from("minecraft:purpur_pillar"), (short) 9140, 1.5, 6.0, false, true, false, false), - PURPUR_STAIRS("minecraft:purpur_stairs", (short) 9153, 0.0, 0.0, false, true, null, false), + PURPUR_STAIRS(NamespaceID.from("minecraft:purpur_stairs"), (short) 9153, 1.5, 6.0, false, true, false, false), - END_STONE_BRICKS("minecraft:end_stone_bricks", (short) 9222, 3.0, 9.0, false, true, null, true), + END_STONE_BRICKS(NamespaceID.from("minecraft:end_stone_bricks"), (short) 9222, 3.0, 9.0, false, true, false, true), - BEETROOTS("minecraft:beetroots", (short) 9223, 0.0, 0.0, false, false, null, false), + BEETROOTS(NamespaceID.from("minecraft:beetroots"), (short) 9223, 0.0, 0.0, false, false, false, false), - GRASS_PATH("minecraft:grass_path", (short) 9227, 0.65, 0.65, false, true, null, true), + GRASS_PATH(NamespaceID.from("minecraft:grass_path"), (short) 9227, 0.65, 0.65, false, true, false, true), - END_GATEWAY("minecraft:end_gateway", (short) 9228, 0.0, 3600000.0, false, false, NamespaceID.from("minecraft:end_gateway"), true), + END_GATEWAY(NamespaceID.from("minecraft:end_gateway"), (short) 9228, -1.0, 3600000.0, false, false, true, true), - REPEATING_COMMAND_BLOCK("minecraft:repeating_command_block", (short) 9235, 0.0, 3600000.0, false, true, NamespaceID.from("minecraft:command_block"), false), + REPEATING_COMMAND_BLOCK(NamespaceID.from("minecraft:repeating_command_block"), (short) 9235, -1.0, 3600000.0, false, true, true, false), - CHAIN_COMMAND_BLOCK("minecraft:chain_command_block", (short) 9247, 0.0, 3600000.0, false, true, NamespaceID.from("minecraft:command_block"), false), + CHAIN_COMMAND_BLOCK(NamespaceID.from("minecraft:chain_command_block"), (short) 9247, -1.0, 3600000.0, false, true, true, false), - FROSTED_ICE("minecraft:frosted_ice", (short) 9253, 0.5, 0.5, false, true, null, false), + FROSTED_ICE(NamespaceID.from("minecraft:frosted_ice"), (short) 9253, 0.5, 0.5, false, true, false, false), - MAGMA_BLOCK("minecraft:magma_block", (short) 9257, 0.5, 0.5, false, true, null, true), + MAGMA_BLOCK(NamespaceID.from("minecraft:magma_block"), (short) 9257, 0.5, 0.5, false, true, false, true), - NETHER_WART_BLOCK("minecraft:nether_wart_block", (short) 9258, 1.0, 1.0, false, true, null, true), + NETHER_WART_BLOCK(NamespaceID.from("minecraft:nether_wart_block"), (short) 9258, 1.0, 1.0, false, true, false, true), - RED_NETHER_BRICKS("minecraft:red_nether_bricks", (short) 9259, 2.0, 6.0, false, true, null, true), + RED_NETHER_BRICKS(NamespaceID.from("minecraft:red_nether_bricks"), (short) 9259, 2.0, 6.0, false, true, false, true), - BONE_BLOCK("minecraft:bone_block", (short) 9261, 2.0, 2.0, false, true, null, false), + BONE_BLOCK(NamespaceID.from("minecraft:bone_block"), (short) 9261, 2.0, 2.0, false, true, false, false), - STRUCTURE_VOID("minecraft:structure_void", (short) 9263, 0.0, 0.0, false, false, null, true), + STRUCTURE_VOID(NamespaceID.from("minecraft:structure_void"), (short) 9263, 0.0, 0.0, false, false, false, true), - OBSERVER("minecraft:observer", (short) 9269, 3.0, 3.0, false, true, null, false), + OBSERVER(NamespaceID.from("minecraft:observer"), (short) 9269, 3.0, 3.0, false, true, false, false), - SHULKER_BOX("minecraft:shulker_box", (short) 9280, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + SHULKER_BOX(NamespaceID.from("minecraft:shulker_box"), (short) 9280, 2.0, 2.0, false, true, true, false), - WHITE_SHULKER_BOX("minecraft:white_shulker_box", (short) 9286, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + WHITE_SHULKER_BOX(NamespaceID.from("minecraft:white_shulker_box"), (short) 9286, 2.0, 2.0, false, true, true, false), - ORANGE_SHULKER_BOX("minecraft:orange_shulker_box", (short) 9292, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + ORANGE_SHULKER_BOX(NamespaceID.from("minecraft:orange_shulker_box"), (short) 9292, 2.0, 2.0, false, true, true, false), - MAGENTA_SHULKER_BOX("minecraft:magenta_shulker_box", (short) 9298, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + MAGENTA_SHULKER_BOX(NamespaceID.from("minecraft:magenta_shulker_box"), (short) 9298, 2.0, 2.0, false, true, true, false), - LIGHT_BLUE_SHULKER_BOX("minecraft:light_blue_shulker_box", (short) 9304, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + LIGHT_BLUE_SHULKER_BOX(NamespaceID.from("minecraft:light_blue_shulker_box"), (short) 9304, 2.0, 2.0, false, true, true, false), - YELLOW_SHULKER_BOX("minecraft:yellow_shulker_box", (short) 9310, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + YELLOW_SHULKER_BOX(NamespaceID.from("minecraft:yellow_shulker_box"), (short) 9310, 2.0, 2.0, false, true, true, false), - LIME_SHULKER_BOX("minecraft:lime_shulker_box", (short) 9316, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + LIME_SHULKER_BOX(NamespaceID.from("minecraft:lime_shulker_box"), (short) 9316, 2.0, 2.0, false, true, true, false), - PINK_SHULKER_BOX("minecraft:pink_shulker_box", (short) 9322, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + PINK_SHULKER_BOX(NamespaceID.from("minecraft:pink_shulker_box"), (short) 9322, 2.0, 2.0, false, true, true, false), - GRAY_SHULKER_BOX("minecraft:gray_shulker_box", (short) 9328, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + GRAY_SHULKER_BOX(NamespaceID.from("minecraft:gray_shulker_box"), (short) 9328, 2.0, 2.0, false, true, true, false), - LIGHT_GRAY_SHULKER_BOX("minecraft:light_gray_shulker_box", (short) 9334, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + LIGHT_GRAY_SHULKER_BOX(NamespaceID.from("minecraft:light_gray_shulker_box"), (short) 9334, 2.0, 2.0, false, true, true, false), - CYAN_SHULKER_BOX("minecraft:cyan_shulker_box", (short) 9340, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + CYAN_SHULKER_BOX(NamespaceID.from("minecraft:cyan_shulker_box"), (short) 9340, 2.0, 2.0, false, true, true, false), - PURPLE_SHULKER_BOX("minecraft:purple_shulker_box", (short) 9346, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + PURPLE_SHULKER_BOX(NamespaceID.from("minecraft:purple_shulker_box"), (short) 9346, 2.0, 2.0, false, true, true, false), - BLUE_SHULKER_BOX("minecraft:blue_shulker_box", (short) 9352, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + BLUE_SHULKER_BOX(NamespaceID.from("minecraft:blue_shulker_box"), (short) 9352, 2.0, 2.0, false, true, true, false), - BROWN_SHULKER_BOX("minecraft:brown_shulker_box", (short) 9358, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + BROWN_SHULKER_BOX(NamespaceID.from("minecraft:brown_shulker_box"), (short) 9358, 2.0, 2.0, false, true, true, false), - GREEN_SHULKER_BOX("minecraft:green_shulker_box", (short) 9364, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + GREEN_SHULKER_BOX(NamespaceID.from("minecraft:green_shulker_box"), (short) 9364, 2.0, 2.0, false, true, true, false), - RED_SHULKER_BOX("minecraft:red_shulker_box", (short) 9370, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + RED_SHULKER_BOX(NamespaceID.from("minecraft:red_shulker_box"), (short) 9370, 2.0, 2.0, false, true, true, false), - BLACK_SHULKER_BOX("minecraft:black_shulker_box", (short) 9376, 2.0, 2.0, false, true, NamespaceID.from("minecraft:shulker_box"), false), + BLACK_SHULKER_BOX(NamespaceID.from("minecraft:black_shulker_box"), (short) 9376, 2.0, 2.0, false, true, true, false), - WHITE_GLAZED_TERRACOTTA("minecraft:white_glazed_terracotta", (short) 9378, 1.4, 1.4, false, true, null, false), + WHITE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:white_glazed_terracotta"), (short) 9378, 1.4, 1.4, false, true, false, false), - ORANGE_GLAZED_TERRACOTTA("minecraft:orange_glazed_terracotta", (short) 9382, 1.4, 1.4, false, true, null, false), + ORANGE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:orange_glazed_terracotta"), (short) 9382, 1.4, 1.4, false, true, false, false), - MAGENTA_GLAZED_TERRACOTTA("minecraft:magenta_glazed_terracotta", (short) 9386, 1.4, 1.4, false, true, null, false), + MAGENTA_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:magenta_glazed_terracotta"), (short) 9386, 1.4, 1.4, false, true, false, false), - LIGHT_BLUE_GLAZED_TERRACOTTA("minecraft:light_blue_glazed_terracotta", (short) 9390, 1.4, 1.4, false, true, null, false), + LIGHT_BLUE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:light_blue_glazed_terracotta"), (short) 9390, 1.4, 1.4, false, true, false, false), - YELLOW_GLAZED_TERRACOTTA("minecraft:yellow_glazed_terracotta", (short) 9394, 1.4, 1.4, false, true, null, false), + YELLOW_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:yellow_glazed_terracotta"), (short) 9394, 1.4, 1.4, false, true, false, false), - LIME_GLAZED_TERRACOTTA("minecraft:lime_glazed_terracotta", (short) 9398, 1.4, 1.4, false, true, null, false), + LIME_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:lime_glazed_terracotta"), (short) 9398, 1.4, 1.4, false, true, false, false), - PINK_GLAZED_TERRACOTTA("minecraft:pink_glazed_terracotta", (short) 9402, 1.4, 1.4, false, true, null, false), + PINK_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:pink_glazed_terracotta"), (short) 9402, 1.4, 1.4, false, true, false, false), - GRAY_GLAZED_TERRACOTTA("minecraft:gray_glazed_terracotta", (short) 9406, 1.4, 1.4, false, true, null, false), + GRAY_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:gray_glazed_terracotta"), (short) 9406, 1.4, 1.4, false, true, false, false), - LIGHT_GRAY_GLAZED_TERRACOTTA("minecraft:light_gray_glazed_terracotta", (short) 9410, 1.4, 1.4, false, true, null, false), + LIGHT_GRAY_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:light_gray_glazed_terracotta"), (short) 9410, 1.4, 1.4, false, true, false, false), - CYAN_GLAZED_TERRACOTTA("minecraft:cyan_glazed_terracotta", (short) 9414, 1.4, 1.4, false, true, null, false), + CYAN_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:cyan_glazed_terracotta"), (short) 9414, 1.4, 1.4, false, true, false, false), - PURPLE_GLAZED_TERRACOTTA("minecraft:purple_glazed_terracotta", (short) 9418, 1.4, 1.4, false, true, null, false), + PURPLE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:purple_glazed_terracotta"), (short) 9418, 1.4, 1.4, false, true, false, false), - BLUE_GLAZED_TERRACOTTA("minecraft:blue_glazed_terracotta", (short) 9422, 1.4, 1.4, false, true, null, false), + BLUE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:blue_glazed_terracotta"), (short) 9422, 1.4, 1.4, false, true, false, false), - BROWN_GLAZED_TERRACOTTA("minecraft:brown_glazed_terracotta", (short) 9426, 1.4, 1.4, false, true, null, false), + BROWN_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:brown_glazed_terracotta"), (short) 9426, 1.4, 1.4, false, true, false, false), - GREEN_GLAZED_TERRACOTTA("minecraft:green_glazed_terracotta", (short) 9430, 1.4, 1.4, false, true, null, false), + GREEN_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:green_glazed_terracotta"), (short) 9430, 1.4, 1.4, false, true, false, false), - RED_GLAZED_TERRACOTTA("minecraft:red_glazed_terracotta", (short) 9434, 1.4, 1.4, false, true, null, false), + RED_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:red_glazed_terracotta"), (short) 9434, 1.4, 1.4, false, true, false, false), - BLACK_GLAZED_TERRACOTTA("minecraft:black_glazed_terracotta", (short) 9438, 1.4, 1.4, false, true, null, false), + BLACK_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:black_glazed_terracotta"), (short) 9438, 1.4, 1.4, false, true, false, false), - WHITE_CONCRETE("minecraft:white_concrete", (short) 9442, 1.8, 1.8, false, true, null, true), + WHITE_CONCRETE(NamespaceID.from("minecraft:white_concrete"), (short) 9442, 1.8, 1.8, false, true, false, true), - ORANGE_CONCRETE("minecraft:orange_concrete", (short) 9443, 1.8, 1.8, false, true, null, true), + ORANGE_CONCRETE(NamespaceID.from("minecraft:orange_concrete"), (short) 9443, 1.8, 1.8, false, true, false, true), - MAGENTA_CONCRETE("minecraft:magenta_concrete", (short) 9444, 1.8, 1.8, false, true, null, true), + MAGENTA_CONCRETE(NamespaceID.from("minecraft:magenta_concrete"), (short) 9444, 1.8, 1.8, false, true, false, true), - LIGHT_BLUE_CONCRETE("minecraft:light_blue_concrete", (short) 9445, 1.8, 1.8, false, true, null, true), + LIGHT_BLUE_CONCRETE(NamespaceID.from("minecraft:light_blue_concrete"), (short) 9445, 1.8, 1.8, false, true, false, true), - YELLOW_CONCRETE("minecraft:yellow_concrete", (short) 9446, 1.8, 1.8, false, true, null, true), + YELLOW_CONCRETE(NamespaceID.from("minecraft:yellow_concrete"), (short) 9446, 1.8, 1.8, false, true, false, true), - LIME_CONCRETE("minecraft:lime_concrete", (short) 9447, 1.8, 1.8, false, true, null, true), + LIME_CONCRETE(NamespaceID.from("minecraft:lime_concrete"), (short) 9447, 1.8, 1.8, false, true, false, true), - PINK_CONCRETE("minecraft:pink_concrete", (short) 9448, 1.8, 1.8, false, true, null, true), + PINK_CONCRETE(NamespaceID.from("minecraft:pink_concrete"), (short) 9448, 1.8, 1.8, false, true, false, true), - GRAY_CONCRETE("minecraft:gray_concrete", (short) 9449, 1.8, 1.8, false, true, null, true), + GRAY_CONCRETE(NamespaceID.from("minecraft:gray_concrete"), (short) 9449, 1.8, 1.8, false, true, false, true), - LIGHT_GRAY_CONCRETE("minecraft:light_gray_concrete", (short) 9450, 1.8, 1.8, false, true, null, true), + LIGHT_GRAY_CONCRETE(NamespaceID.from("minecraft:light_gray_concrete"), (short) 9450, 1.8, 1.8, false, true, false, true), - CYAN_CONCRETE("minecraft:cyan_concrete", (short) 9451, 1.8, 1.8, false, true, null, true), + CYAN_CONCRETE(NamespaceID.from("minecraft:cyan_concrete"), (short) 9451, 1.8, 1.8, false, true, false, true), - PURPLE_CONCRETE("minecraft:purple_concrete", (short) 9452, 1.8, 1.8, false, true, null, true), + PURPLE_CONCRETE(NamespaceID.from("minecraft:purple_concrete"), (short) 9452, 1.8, 1.8, false, true, false, true), - BLUE_CONCRETE("minecraft:blue_concrete", (short) 9453, 1.8, 1.8, false, true, null, true), + BLUE_CONCRETE(NamespaceID.from("minecraft:blue_concrete"), (short) 9453, 1.8, 1.8, false, true, false, true), - BROWN_CONCRETE("minecraft:brown_concrete", (short) 9454, 1.8, 1.8, false, true, null, true), + BROWN_CONCRETE(NamespaceID.from("minecraft:brown_concrete"), (short) 9454, 1.8, 1.8, false, true, false, true), - GREEN_CONCRETE("minecraft:green_concrete", (short) 9455, 1.8, 1.8, false, true, null, true), + GREEN_CONCRETE(NamespaceID.from("minecraft:green_concrete"), (short) 9455, 1.8, 1.8, false, true, false, true), - RED_CONCRETE("minecraft:red_concrete", (short) 9456, 1.8, 1.8, false, true, null, true), + RED_CONCRETE(NamespaceID.from("minecraft:red_concrete"), (short) 9456, 1.8, 1.8, false, true, false, true), - BLACK_CONCRETE("minecraft:black_concrete", (short) 9457, 1.8, 1.8, false, true, null, true), + BLACK_CONCRETE(NamespaceID.from("minecraft:black_concrete"), (short) 9457, 1.8, 1.8, false, true, false, true), - WHITE_CONCRETE_POWDER("minecraft:white_concrete_powder", (short) 9458, 0.5, 0.5, false, true, null, true), + WHITE_CONCRETE_POWDER(NamespaceID.from("minecraft:white_concrete_powder"), (short) 9458, 0.5, 0.5, false, true, false, true), - ORANGE_CONCRETE_POWDER("minecraft:orange_concrete_powder", (short) 9459, 0.5, 0.5, false, true, null, true), + ORANGE_CONCRETE_POWDER(NamespaceID.from("minecraft:orange_concrete_powder"), (short) 9459, 0.5, 0.5, false, true, false, true), - MAGENTA_CONCRETE_POWDER("minecraft:magenta_concrete_powder", (short) 9460, 0.5, 0.5, false, true, null, true), + MAGENTA_CONCRETE_POWDER(NamespaceID.from("minecraft:magenta_concrete_powder"), (short) 9460, 0.5, 0.5, false, true, false, true), - LIGHT_BLUE_CONCRETE_POWDER("minecraft:light_blue_concrete_powder", (short) 9461, 0.5, 0.5, false, true, null, true), + LIGHT_BLUE_CONCRETE_POWDER(NamespaceID.from("minecraft:light_blue_concrete_powder"), (short) 9461, 0.5, 0.5, false, true, false, true), - YELLOW_CONCRETE_POWDER("minecraft:yellow_concrete_powder", (short) 9462, 0.5, 0.5, false, true, null, true), + YELLOW_CONCRETE_POWDER(NamespaceID.from("minecraft:yellow_concrete_powder"), (short) 9462, 0.5, 0.5, false, true, false, true), - LIME_CONCRETE_POWDER("minecraft:lime_concrete_powder", (short) 9463, 0.5, 0.5, false, true, null, true), + LIME_CONCRETE_POWDER(NamespaceID.from("minecraft:lime_concrete_powder"), (short) 9463, 0.5, 0.5, false, true, false, true), - PINK_CONCRETE_POWDER("minecraft:pink_concrete_powder", (short) 9464, 0.5, 0.5, false, true, null, true), + PINK_CONCRETE_POWDER(NamespaceID.from("minecraft:pink_concrete_powder"), (short) 9464, 0.5, 0.5, false, true, false, true), - GRAY_CONCRETE_POWDER("minecraft:gray_concrete_powder", (short) 9465, 0.5, 0.5, false, true, null, true), + GRAY_CONCRETE_POWDER(NamespaceID.from("minecraft:gray_concrete_powder"), (short) 9465, 0.5, 0.5, false, true, false, true), - LIGHT_GRAY_CONCRETE_POWDER("minecraft:light_gray_concrete_powder", (short) 9466, 0.5, 0.5, false, true, null, true), + LIGHT_GRAY_CONCRETE_POWDER(NamespaceID.from("minecraft:light_gray_concrete_powder"), (short) 9466, 0.5, 0.5, false, true, false, true), - CYAN_CONCRETE_POWDER("minecraft:cyan_concrete_powder", (short) 9467, 0.5, 0.5, false, true, null, true), + CYAN_CONCRETE_POWDER(NamespaceID.from("minecraft:cyan_concrete_powder"), (short) 9467, 0.5, 0.5, false, true, false, true), - PURPLE_CONCRETE_POWDER("minecraft:purple_concrete_powder", (short) 9468, 0.5, 0.5, false, true, null, true), + PURPLE_CONCRETE_POWDER(NamespaceID.from("minecraft:purple_concrete_powder"), (short) 9468, 0.5, 0.5, false, true, false, true), - BLUE_CONCRETE_POWDER("minecraft:blue_concrete_powder", (short) 9469, 0.5, 0.5, false, true, null, true), + BLUE_CONCRETE_POWDER(NamespaceID.from("minecraft:blue_concrete_powder"), (short) 9469, 0.5, 0.5, false, true, false, true), - BROWN_CONCRETE_POWDER("minecraft:brown_concrete_powder", (short) 9470, 0.5, 0.5, false, true, null, true), + BROWN_CONCRETE_POWDER(NamespaceID.from("minecraft:brown_concrete_powder"), (short) 9470, 0.5, 0.5, false, true, false, true), - GREEN_CONCRETE_POWDER("minecraft:green_concrete_powder", (short) 9471, 0.5, 0.5, false, true, null, true), + GREEN_CONCRETE_POWDER(NamespaceID.from("minecraft:green_concrete_powder"), (short) 9471, 0.5, 0.5, false, true, false, true), - RED_CONCRETE_POWDER("minecraft:red_concrete_powder", (short) 9472, 0.5, 0.5, false, true, null, true), + RED_CONCRETE_POWDER(NamespaceID.from("minecraft:red_concrete_powder"), (short) 9472, 0.5, 0.5, false, true, false, true), - BLACK_CONCRETE_POWDER("minecraft:black_concrete_powder", (short) 9473, 0.5, 0.5, false, true, null, true), + BLACK_CONCRETE_POWDER(NamespaceID.from("minecraft:black_concrete_powder"), (short) 9473, 0.5, 0.5, false, true, false, true), - KELP("minecraft:kelp", (short) 9474, 0.0, 0.0, false, false, null, false), + KELP(NamespaceID.from("minecraft:kelp"), (short) 9474, 0.0, 0.0, false, false, false, false), - KELP_PLANT("minecraft:kelp_plant", (short) 9500, 0.0, 0.0, false, false, null, true), + KELP_PLANT(NamespaceID.from("minecraft:kelp_plant"), (short) 9500, 0.0, 0.0, false, false, false, true), - DRIED_KELP_BLOCK("minecraft:dried_kelp_block", (short) 9501, 0.5, 2.5, false, true, null, true), + DRIED_KELP_BLOCK(NamespaceID.from("minecraft:dried_kelp_block"), (short) 9501, 0.5, 2.5, false, true, false, true), - TURTLE_EGG("minecraft:turtle_egg", (short) 9502, 0.5, 0.5, false, true, null, false), + TURTLE_EGG(NamespaceID.from("minecraft:turtle_egg"), (short) 9502, 0.5, 0.5, false, true, false, false), - DEAD_TUBE_CORAL_BLOCK("minecraft:dead_tube_coral_block", (short) 9514, 1.5, 6.0, false, true, null, true), + DEAD_TUBE_CORAL_BLOCK(NamespaceID.from("minecraft:dead_tube_coral_block"), (short) 9514, 1.5, 6.0, false, true, false, true), - DEAD_BRAIN_CORAL_BLOCK("minecraft:dead_brain_coral_block", (short) 9515, 1.5, 6.0, false, true, null, true), + DEAD_BRAIN_CORAL_BLOCK(NamespaceID.from("minecraft:dead_brain_coral_block"), (short) 9515, 1.5, 6.0, false, true, false, true), - DEAD_BUBBLE_CORAL_BLOCK("minecraft:dead_bubble_coral_block", (short) 9516, 1.5, 6.0, false, true, null, true), + DEAD_BUBBLE_CORAL_BLOCK(NamespaceID.from("minecraft:dead_bubble_coral_block"), (short) 9516, 1.5, 6.0, false, true, false, true), - DEAD_FIRE_CORAL_BLOCK("minecraft:dead_fire_coral_block", (short) 9517, 1.5, 6.0, false, true, null, true), + DEAD_FIRE_CORAL_BLOCK(NamespaceID.from("minecraft:dead_fire_coral_block"), (short) 9517, 1.5, 6.0, false, true, false, true), - DEAD_HORN_CORAL_BLOCK("minecraft:dead_horn_coral_block", (short) 9518, 1.5, 6.0, false, true, null, true), + DEAD_HORN_CORAL_BLOCK(NamespaceID.from("minecraft:dead_horn_coral_block"), (short) 9518, 1.5, 6.0, false, true, false, true), - TUBE_CORAL_BLOCK("minecraft:tube_coral_block", (short) 9519, 1.5, 6.0, false, true, null, true), + TUBE_CORAL_BLOCK(NamespaceID.from("minecraft:tube_coral_block"), (short) 9519, 1.5, 6.0, false, true, false, true), - BRAIN_CORAL_BLOCK("minecraft:brain_coral_block", (short) 9520, 1.5, 6.0, false, true, null, true), + BRAIN_CORAL_BLOCK(NamespaceID.from("minecraft:brain_coral_block"), (short) 9520, 1.5, 6.0, false, true, false, true), - BUBBLE_CORAL_BLOCK("minecraft:bubble_coral_block", (short) 9521, 1.5, 6.0, false, true, null, true), + BUBBLE_CORAL_BLOCK(NamespaceID.from("minecraft:bubble_coral_block"), (short) 9521, 1.5, 6.0, false, true, false, true), - FIRE_CORAL_BLOCK("minecraft:fire_coral_block", (short) 9522, 1.5, 6.0, false, true, null, true), + FIRE_CORAL_BLOCK(NamespaceID.from("minecraft:fire_coral_block"), (short) 9522, 1.5, 6.0, false, true, false, true), - HORN_CORAL_BLOCK("minecraft:horn_coral_block", (short) 9523, 1.5, 6.0, false, true, null, true), + HORN_CORAL_BLOCK(NamespaceID.from("minecraft:horn_coral_block"), (short) 9523, 1.5, 6.0, false, true, false, true), - DEAD_TUBE_CORAL("minecraft:dead_tube_coral", (short) 9524, 0.0, 0.0, false, false, null, false), + DEAD_TUBE_CORAL(NamespaceID.from("minecraft:dead_tube_coral"), (short) 9524, 0.0, 0.0, false, true, false, false), - DEAD_BRAIN_CORAL("minecraft:dead_brain_coral", (short) 9526, 0.0, 0.0, false, false, null, false), + DEAD_BRAIN_CORAL(NamespaceID.from("minecraft:dead_brain_coral"), (short) 9526, 0.0, 0.0, false, true, false, false), - DEAD_BUBBLE_CORAL("minecraft:dead_bubble_coral", (short) 9528, 0.0, 0.0, false, false, null, false), + DEAD_BUBBLE_CORAL(NamespaceID.from("minecraft:dead_bubble_coral"), (short) 9528, 0.0, 0.0, false, true, false, false), - DEAD_FIRE_CORAL("minecraft:dead_fire_coral", (short) 9530, 0.0, 0.0, false, false, null, false), + DEAD_FIRE_CORAL(NamespaceID.from("minecraft:dead_fire_coral"), (short) 9530, 0.0, 0.0, false, true, false, false), - DEAD_HORN_CORAL("minecraft:dead_horn_coral", (short) 9532, 0.0, 0.0, false, false, null, false), + DEAD_HORN_CORAL(NamespaceID.from("minecraft:dead_horn_coral"), (short) 9532, 0.0, 0.0, false, true, false, false), - TUBE_CORAL("minecraft:tube_coral", (short) 9534, 0.0, 0.0, false, false, null, false), + TUBE_CORAL(NamespaceID.from("minecraft:tube_coral"), (short) 9534, 0.0, 0.0, false, false, false, false), - BRAIN_CORAL("minecraft:brain_coral", (short) 9536, 0.0, 0.0, false, false, null, false), + BRAIN_CORAL(NamespaceID.from("minecraft:brain_coral"), (short) 9536, 0.0, 0.0, false, false, false, false), - BUBBLE_CORAL("minecraft:bubble_coral", (short) 9538, 0.0, 0.0, false, false, null, false), + BUBBLE_CORAL(NamespaceID.from("minecraft:bubble_coral"), (short) 9538, 0.0, 0.0, false, false, false, false), - FIRE_CORAL("minecraft:fire_coral", (short) 9540, 0.0, 0.0, false, false, null, false), + FIRE_CORAL(NamespaceID.from("minecraft:fire_coral"), (short) 9540, 0.0, 0.0, false, false, false, false), - HORN_CORAL("minecraft:horn_coral", (short) 9542, 0.0, 0.0, false, false, null, false), + HORN_CORAL(NamespaceID.from("minecraft:horn_coral"), (short) 9542, 0.0, 0.0, false, false, false, false), - DEAD_TUBE_CORAL_FAN("minecraft:dead_tube_coral_fan", (short) 9544, 0.0, 0.0, false, false, null, false), + DEAD_TUBE_CORAL_FAN(NamespaceID.from("minecraft:dead_tube_coral_fan"), (short) 9544, 0.0, 0.0, false, true, false, false), - DEAD_BRAIN_CORAL_FAN("minecraft:dead_brain_coral_fan", (short) 9546, 0.0, 0.0, false, false, null, false), + DEAD_BRAIN_CORAL_FAN(NamespaceID.from("minecraft:dead_brain_coral_fan"), (short) 9546, 0.0, 0.0, false, true, false, false), - DEAD_BUBBLE_CORAL_FAN("minecraft:dead_bubble_coral_fan", (short) 9548, 0.0, 0.0, false, false, null, false), + DEAD_BUBBLE_CORAL_FAN(NamespaceID.from("minecraft:dead_bubble_coral_fan"), (short) 9548, 0.0, 0.0, false, true, false, false), - DEAD_FIRE_CORAL_FAN("minecraft:dead_fire_coral_fan", (short) 9550, 0.0, 0.0, false, false, null, false), + DEAD_FIRE_CORAL_FAN(NamespaceID.from("minecraft:dead_fire_coral_fan"), (short) 9550, 0.0, 0.0, false, true, false, false), - DEAD_HORN_CORAL_FAN("minecraft:dead_horn_coral_fan", (short) 9552, 0.0, 0.0, false, false, null, false), + DEAD_HORN_CORAL_FAN(NamespaceID.from("minecraft:dead_horn_coral_fan"), (short) 9552, 0.0, 0.0, false, true, false, false), - TUBE_CORAL_FAN("minecraft:tube_coral_fan", (short) 9554, 0.0, 0.0, false, false, null, false), + TUBE_CORAL_FAN(NamespaceID.from("minecraft:tube_coral_fan"), (short) 9554, 0.0, 0.0, false, false, false, false), - BRAIN_CORAL_FAN("minecraft:brain_coral_fan", (short) 9556, 0.0, 0.0, false, false, null, false), + BRAIN_CORAL_FAN(NamespaceID.from("minecraft:brain_coral_fan"), (short) 9556, 0.0, 0.0, false, false, false, false), - BUBBLE_CORAL_FAN("minecraft:bubble_coral_fan", (short) 9558, 0.0, 0.0, false, false, null, false), + BUBBLE_CORAL_FAN(NamespaceID.from("minecraft:bubble_coral_fan"), (short) 9558, 0.0, 0.0, false, false, false, false), - FIRE_CORAL_FAN("minecraft:fire_coral_fan", (short) 9560, 0.0, 0.0, false, false, null, false), + FIRE_CORAL_FAN(NamespaceID.from("minecraft:fire_coral_fan"), (short) 9560, 0.0, 0.0, false, false, false, false), - HORN_CORAL_FAN("minecraft:horn_coral_fan", (short) 9562, 0.0, 0.0, false, false, null, false), + HORN_CORAL_FAN(NamespaceID.from("minecraft:horn_coral_fan"), (short) 9562, 0.0, 0.0, false, false, false, false), - DEAD_TUBE_CORAL_WALL_FAN("minecraft:dead_tube_coral_wall_fan", (short) 9564, 0.0, 0.0, false, false, null, false), + DEAD_TUBE_CORAL_WALL_FAN(NamespaceID.from("minecraft:dead_tube_coral_wall_fan"), (short) 9564, 0.0, 0.0, false, true, false, false), - DEAD_BRAIN_CORAL_WALL_FAN("minecraft:dead_brain_coral_wall_fan", (short) 9572, 0.0, 0.0, false, false, null, false), + DEAD_BRAIN_CORAL_WALL_FAN(NamespaceID.from("minecraft:dead_brain_coral_wall_fan"), (short) 9572, 0.0, 0.0, false, true, false, false), - DEAD_BUBBLE_CORAL_WALL_FAN("minecraft:dead_bubble_coral_wall_fan", (short) 9580, 0.0, 0.0, false, false, null, false), + DEAD_BUBBLE_CORAL_WALL_FAN(NamespaceID.from("minecraft:dead_bubble_coral_wall_fan"), (short) 9580, 0.0, 0.0, false, true, false, false), - DEAD_FIRE_CORAL_WALL_FAN("minecraft:dead_fire_coral_wall_fan", (short) 9588, 0.0, 0.0, false, false, null, false), + DEAD_FIRE_CORAL_WALL_FAN(NamespaceID.from("minecraft:dead_fire_coral_wall_fan"), (short) 9588, 0.0, 0.0, false, true, false, false), - DEAD_HORN_CORAL_WALL_FAN("minecraft:dead_horn_coral_wall_fan", (short) 9596, 0.0, 0.0, false, false, null, false), + DEAD_HORN_CORAL_WALL_FAN(NamespaceID.from("minecraft:dead_horn_coral_wall_fan"), (short) 9596, 0.0, 0.0, false, true, false, false), - TUBE_CORAL_WALL_FAN("minecraft:tube_coral_wall_fan", (short) 9604, 0.0, 0.0, false, false, null, false), + TUBE_CORAL_WALL_FAN(NamespaceID.from("minecraft:tube_coral_wall_fan"), (short) 9604, 0.0, 0.0, false, false, false, false), - BRAIN_CORAL_WALL_FAN("minecraft:brain_coral_wall_fan", (short) 9612, 0.0, 0.0, false, false, null, false), + BRAIN_CORAL_WALL_FAN(NamespaceID.from("minecraft:brain_coral_wall_fan"), (short) 9612, 0.0, 0.0, false, false, false, false), - BUBBLE_CORAL_WALL_FAN("minecraft:bubble_coral_wall_fan", (short) 9620, 0.0, 0.0, false, false, null, false), + BUBBLE_CORAL_WALL_FAN(NamespaceID.from("minecraft:bubble_coral_wall_fan"), (short) 9620, 0.0, 0.0, false, false, false, false), - FIRE_CORAL_WALL_FAN("minecraft:fire_coral_wall_fan", (short) 9628, 0.0, 0.0, false, false, null, false), + FIRE_CORAL_WALL_FAN(NamespaceID.from("minecraft:fire_coral_wall_fan"), (short) 9628, 0.0, 0.0, false, false, false, false), - HORN_CORAL_WALL_FAN("minecraft:horn_coral_wall_fan", (short) 9636, 0.0, 0.0, false, false, null, false), + HORN_CORAL_WALL_FAN(NamespaceID.from("minecraft:horn_coral_wall_fan"), (short) 9636, 0.0, 0.0, false, false, false, false), - SEA_PICKLE("minecraft:sea_pickle", (short) 9644, 0.0, 0.0, false, true, null, false), + SEA_PICKLE(NamespaceID.from("minecraft:sea_pickle"), (short) 9644, 0.0, 0.0, false, false, false, false), - BLUE_ICE("minecraft:blue_ice", (short) 9652, 2.8, 2.8, false, true, null, true), + BLUE_ICE(NamespaceID.from("minecraft:blue_ice"), (short) 9652, 2.8, 2.8, false, true, false, true), - CONDUIT("minecraft:conduit", (short) 9653, 3.0, 3.0, false, true, NamespaceID.from("minecraft:conduit"), false), + CONDUIT(NamespaceID.from("minecraft:conduit"), (short) 9653, 3.0, 3.0, false, true, true, false), - BAMBOO_SAPLING("minecraft:bamboo_sapling", (short) 9655, 1.0, 1.0, false, false, null, true), + BAMBOO_SAPLING(NamespaceID.from("minecraft:bamboo_sapling"), (short) 9655, 1.0, 1.0, false, true, false, true), - BAMBOO("minecraft:bamboo", (short) 9656, 1.0, 1.0, false, true, null, false), + BAMBOO(NamespaceID.from("minecraft:bamboo"), (short) 9656, 1.0, 1.0, false, true, false, false), - POTTED_BAMBOO("minecraft:potted_bamboo", (short) 9668, 0.0, 0.0, false, true, null, true), + POTTED_BAMBOO(NamespaceID.from("minecraft:potted_bamboo"), (short) 9668, 0.0, 0.0, false, false, false, true), - VOID_AIR("minecraft:void_air", (short) 9669, 0.0, 0.0, true, false, null, true), + VOID_AIR(NamespaceID.from("minecraft:void_air"), (short) 9669, 0.0, 0.0, true, false, false, true), - CAVE_AIR("minecraft:cave_air", (short) 9670, 0.0, 0.0, true, false, null, true), + CAVE_AIR(NamespaceID.from("minecraft:cave_air"), (short) 9670, 0.0, 0.0, true, false, false, true), - BUBBLE_COLUMN("minecraft:bubble_column", (short) 9671, 0.0, 0.0, false, false, null, false), + BUBBLE_COLUMN(NamespaceID.from("minecraft:bubble_column"), (short) 9671, 0.0, 0.0, false, false, false, false), - POLISHED_GRANITE_STAIRS("minecraft:polished_granite_stairs", (short) 9684, 0.0, 0.0, false, true, null, false), + POLISHED_GRANITE_STAIRS(NamespaceID.from("minecraft:polished_granite_stairs"), (short) 9684, 1.5, 6.0, false, true, false, false), - SMOOTH_RED_SANDSTONE_STAIRS("minecraft:smooth_red_sandstone_stairs", (short) 9764, 0.0, 0.0, false, true, null, false), + SMOOTH_RED_SANDSTONE_STAIRS(NamespaceID.from("minecraft:smooth_red_sandstone_stairs"), (short) 9764, 2.0, 6.0, false, true, false, false), - MOSSY_STONE_BRICK_STAIRS("minecraft:mossy_stone_brick_stairs", (short) 9844, 0.0, 0.0, false, true, null, false), + MOSSY_STONE_BRICK_STAIRS(NamespaceID.from("minecraft:mossy_stone_brick_stairs"), (short) 9844, 1.5, 6.0, false, true, false, false), - POLISHED_DIORITE_STAIRS("minecraft:polished_diorite_stairs", (short) 9924, 0.0, 0.0, false, true, null, false), + POLISHED_DIORITE_STAIRS(NamespaceID.from("minecraft:polished_diorite_stairs"), (short) 9924, 1.5, 6.0, false, true, false, false), - MOSSY_COBBLESTONE_STAIRS("minecraft:mossy_cobblestone_stairs", (short) 10004, 0.0, 0.0, false, true, null, false), + MOSSY_COBBLESTONE_STAIRS(NamespaceID.from("minecraft:mossy_cobblestone_stairs"), (short) 10004, 2.0, 6.0, false, true, false, false), - END_STONE_BRICK_STAIRS("minecraft:end_stone_brick_stairs", (short) 10084, 0.0, 0.0, false, true, null, false), + END_STONE_BRICK_STAIRS(NamespaceID.from("minecraft:end_stone_brick_stairs"), (short) 10084, 3.0, 9.0, false, true, false, false), - STONE_STAIRS("minecraft:stone_stairs", (short) 10164, 0.0, 0.0, false, true, null, false), + STONE_STAIRS(NamespaceID.from("minecraft:stone_stairs"), (short) 10164, 1.5, 6.0, false, true, false, false), - SMOOTH_SANDSTONE_STAIRS("minecraft:smooth_sandstone_stairs", (short) 10244, 0.0, 0.0, false, true, null, false), + SMOOTH_SANDSTONE_STAIRS(NamespaceID.from("minecraft:smooth_sandstone_stairs"), (short) 10244, 2.0, 6.0, false, true, false, false), - SMOOTH_QUARTZ_STAIRS("minecraft:smooth_quartz_stairs", (short) 10324, 0.0, 0.0, false, true, null, false), + SMOOTH_QUARTZ_STAIRS(NamespaceID.from("minecraft:smooth_quartz_stairs"), (short) 10324, 2.0, 6.0, false, true, false, false), - GRANITE_STAIRS("minecraft:granite_stairs", (short) 10404, 0.0, 0.0, false, true, null, false), + GRANITE_STAIRS(NamespaceID.from("minecraft:granite_stairs"), (short) 10404, 1.5, 6.0, false, true, false, false), - ANDESITE_STAIRS("minecraft:andesite_stairs", (short) 10484, 0.0, 0.0, false, true, null, false), + ANDESITE_STAIRS(NamespaceID.from("minecraft:andesite_stairs"), (short) 10484, 1.5, 6.0, false, true, false, false), - RED_NETHER_BRICK_STAIRS("minecraft:red_nether_brick_stairs", (short) 10564, 0.0, 0.0, false, true, null, false), + RED_NETHER_BRICK_STAIRS(NamespaceID.from("minecraft:red_nether_brick_stairs"), (short) 10564, 2.0, 6.0, false, true, false, false), - POLISHED_ANDESITE_STAIRS("minecraft:polished_andesite_stairs", (short) 10644, 0.0, 0.0, false, true, null, false), + POLISHED_ANDESITE_STAIRS(NamespaceID.from("minecraft:polished_andesite_stairs"), (short) 10644, 1.5, 6.0, false, true, false, false), - DIORITE_STAIRS("minecraft:diorite_stairs", (short) 10724, 0.0, 0.0, false, true, null, false), + DIORITE_STAIRS(NamespaceID.from("minecraft:diorite_stairs"), (short) 10724, 1.5, 6.0, false, true, false, false), - POLISHED_GRANITE_SLAB("minecraft:polished_granite_slab", (short) 10796, 0.0, 0.0, false, true, null, false), + POLISHED_GRANITE_SLAB(NamespaceID.from("minecraft:polished_granite_slab"), (short) 10796, 1.5, 6.0, false, true, false, false), - SMOOTH_RED_SANDSTONE_SLAB("minecraft:smooth_red_sandstone_slab", (short) 10802, 0.0, 0.0, false, true, null, false), + SMOOTH_RED_SANDSTONE_SLAB(NamespaceID.from("minecraft:smooth_red_sandstone_slab"), (short) 10802, 2.0, 6.0, false, true, false, false), - MOSSY_STONE_BRICK_SLAB("minecraft:mossy_stone_brick_slab", (short) 10808, 0.0, 0.0, false, true, null, false), + MOSSY_STONE_BRICK_SLAB(NamespaceID.from("minecraft:mossy_stone_brick_slab"), (short) 10808, 1.5, 6.0, false, true, false, false), - POLISHED_DIORITE_SLAB("minecraft:polished_diorite_slab", (short) 10814, 0.0, 0.0, false, true, null, false), + POLISHED_DIORITE_SLAB(NamespaceID.from("minecraft:polished_diorite_slab"), (short) 10814, 1.5, 6.0, false, true, false, false), - MOSSY_COBBLESTONE_SLAB("minecraft:mossy_cobblestone_slab", (short) 10820, 0.0, 0.0, false, true, null, false), + MOSSY_COBBLESTONE_SLAB(NamespaceID.from("minecraft:mossy_cobblestone_slab"), (short) 10820, 2.0, 6.0, false, true, false, false), - END_STONE_BRICK_SLAB("minecraft:end_stone_brick_slab", (short) 10826, 0.0, 0.0, false, true, null, false), + END_STONE_BRICK_SLAB(NamespaceID.from("minecraft:end_stone_brick_slab"), (short) 10826, 3.0, 9.0, false, true, false, false), - SMOOTH_SANDSTONE_SLAB("minecraft:smooth_sandstone_slab", (short) 10832, 0.0, 0.0, false, true, null, false), + SMOOTH_SANDSTONE_SLAB(NamespaceID.from("minecraft:smooth_sandstone_slab"), (short) 10832, 2.0, 6.0, false, true, false, false), - SMOOTH_QUARTZ_SLAB("minecraft:smooth_quartz_slab", (short) 10838, 0.0, 0.0, false, true, null, false), + SMOOTH_QUARTZ_SLAB(NamespaceID.from("minecraft:smooth_quartz_slab"), (short) 10838, 2.0, 6.0, false, true, false, false), - GRANITE_SLAB("minecraft:granite_slab", (short) 10844, 0.0, 0.0, false, true, null, false), + GRANITE_SLAB(NamespaceID.from("minecraft:granite_slab"), (short) 10844, 1.5, 6.0, false, true, false, false), - ANDESITE_SLAB("minecraft:andesite_slab", (short) 10850, 0.0, 0.0, false, true, null, false), + ANDESITE_SLAB(NamespaceID.from("minecraft:andesite_slab"), (short) 10850, 1.5, 6.0, false, true, false, false), - RED_NETHER_BRICK_SLAB("minecraft:red_nether_brick_slab", (short) 10856, 0.0, 0.0, false, true, null, false), + RED_NETHER_BRICK_SLAB(NamespaceID.from("minecraft:red_nether_brick_slab"), (short) 10856, 2.0, 6.0, false, true, false, false), - POLISHED_ANDESITE_SLAB("minecraft:polished_andesite_slab", (short) 10862, 0.0, 0.0, false, true, null, false), + POLISHED_ANDESITE_SLAB(NamespaceID.from("minecraft:polished_andesite_slab"), (short) 10862, 1.5, 6.0, false, true, false, false), - DIORITE_SLAB("minecraft:diorite_slab", (short) 10868, 0.0, 0.0, false, true, null, false), + DIORITE_SLAB(NamespaceID.from("minecraft:diorite_slab"), (short) 10868, 1.5, 6.0, false, true, false, false), - BRICK_WALL("minecraft:brick_wall", (short) 10874, 0.0, 0.0, false, true, null, false), + BRICK_WALL(NamespaceID.from("minecraft:brick_wall"), (short) 10874, 2.0, 6.0, false, true, false, false), - PRISMARINE_WALL("minecraft:prismarine_wall", (short) 11198, 0.0, 0.0, false, true, null, false), + PRISMARINE_WALL(NamespaceID.from("minecraft:prismarine_wall"), (short) 11198, 1.5, 6.0, false, true, false, false), - RED_SANDSTONE_WALL("minecraft:red_sandstone_wall", (short) 11522, 0.0, 0.0, false, true, null, false), + RED_SANDSTONE_WALL(NamespaceID.from("minecraft:red_sandstone_wall"), (short) 11522, 0.8, 0.8, false, true, false, false), - MOSSY_STONE_BRICK_WALL("minecraft:mossy_stone_brick_wall", (short) 11846, 0.0, 0.0, false, true, null, false), + MOSSY_STONE_BRICK_WALL(NamespaceID.from("minecraft:mossy_stone_brick_wall"), (short) 11846, 1.5, 6.0, false, true, false, false), - GRANITE_WALL("minecraft:granite_wall", (short) 12170, 0.0, 0.0, false, true, null, false), + GRANITE_WALL(NamespaceID.from("minecraft:granite_wall"), (short) 12170, 1.5, 6.0, false, true, false, false), - STONE_BRICK_WALL("minecraft:stone_brick_wall", (short) 12494, 0.0, 0.0, false, true, null, false), + STONE_BRICK_WALL(NamespaceID.from("minecraft:stone_brick_wall"), (short) 12494, 1.5, 6.0, false, true, false, false), - NETHER_BRICK_WALL("minecraft:nether_brick_wall", (short) 12818, 0.0, 0.0, false, true, null, false), + NETHER_BRICK_WALL(NamespaceID.from("minecraft:nether_brick_wall"), (short) 12818, 2.0, 6.0, false, true, false, false), - ANDESITE_WALL("minecraft:andesite_wall", (short) 13142, 0.0, 0.0, false, true, null, false), + ANDESITE_WALL(NamespaceID.from("minecraft:andesite_wall"), (short) 13142, 1.5, 6.0, false, true, false, false), - RED_NETHER_BRICK_WALL("minecraft:red_nether_brick_wall", (short) 13466, 0.0, 0.0, false, true, null, false), + RED_NETHER_BRICK_WALL(NamespaceID.from("minecraft:red_nether_brick_wall"), (short) 13466, 2.0, 6.0, false, true, false, false), - SANDSTONE_WALL("minecraft:sandstone_wall", (short) 13790, 0.0, 0.0, false, true, null, false), + SANDSTONE_WALL(NamespaceID.from("minecraft:sandstone_wall"), (short) 13790, 0.8, 0.8, false, true, false, false), - END_STONE_BRICK_WALL("minecraft:end_stone_brick_wall", (short) 14114, 0.0, 0.0, false, true, null, false), + END_STONE_BRICK_WALL(NamespaceID.from("minecraft:end_stone_brick_wall"), (short) 14114, 3.0, 9.0, false, true, false, false), - DIORITE_WALL("minecraft:diorite_wall", (short) 14438, 0.0, 0.0, false, true, null, false), + DIORITE_WALL(NamespaceID.from("minecraft:diorite_wall"), (short) 14438, 1.5, 6.0, false, true, false, false), - SCAFFOLDING("minecraft:scaffolding", (short) 14790, 0.0, 0.0, false, true, null, false), + SCAFFOLDING(NamespaceID.from("minecraft:scaffolding"), (short) 14790, 0.0, 0.0, false, false, false, false), - LOOM("minecraft:loom", (short) 14791, 2.5, 2.5, false, true, null, false), + LOOM(NamespaceID.from("minecraft:loom"), (short) 14791, 2.5, 2.5, false, true, false, false), - BARREL("minecraft:barrel", (short) 14796, 2.5, 2.5, false, true, NamespaceID.from("minecraft:barrel"), false), + BARREL(NamespaceID.from("minecraft:barrel"), (short) 14796, 2.5, 2.5, false, true, true, false), - SMOKER("minecraft:smoker", (short) 14808, 3.5, 3.5, false, true, NamespaceID.from("minecraft:smoker"), false), + SMOKER(NamespaceID.from("minecraft:smoker"), (short) 14808, 3.5, 3.5, false, true, true, false), - BLAST_FURNACE("minecraft:blast_furnace", (short) 14816, 3.5, 3.5, false, true, NamespaceID.from("minecraft:blast_furnace"), false), + BLAST_FURNACE(NamespaceID.from("minecraft:blast_furnace"), (short) 14816, 3.5, 3.5, false, true, true, false), - CARTOGRAPHY_TABLE("minecraft:cartography_table", (short) 14823, 2.5, 2.5, false, true, null, true), + CARTOGRAPHY_TABLE(NamespaceID.from("minecraft:cartography_table"), (short) 14823, 2.5, 2.5, false, true, false, true), - FLETCHING_TABLE("minecraft:fletching_table", (short) 14824, 2.5, 2.5, false, true, null, true), + FLETCHING_TABLE(NamespaceID.from("minecraft:fletching_table"), (short) 14824, 2.5, 2.5, false, true, false, true), - GRINDSTONE("minecraft:grindstone", (short) 14829, 2.0, 6.0, false, true, null, false), + GRINDSTONE(NamespaceID.from("minecraft:grindstone"), (short) 14829, 2.0, 6.0, false, true, false, false), - LECTERN("minecraft:lectern", (short) 14840, 2.5, 2.5, false, true, NamespaceID.from("minecraft:lectern"), false), + LECTERN(NamespaceID.from("minecraft:lectern"), (short) 14840, 2.5, 2.5, false, true, true, false), - SMITHING_TABLE("minecraft:smithing_table", (short) 14853, 2.5, 2.5, false, true, null, true), + SMITHING_TABLE(NamespaceID.from("minecraft:smithing_table"), (short) 14853, 2.5, 2.5, false, true, false, true), - STONECUTTER("minecraft:stonecutter", (short) 14854, 3.5, 3.5, false, true, null, false), + STONECUTTER(NamespaceID.from("minecraft:stonecutter"), (short) 14854, 3.5, 3.5, false, true, false, false), - BELL("minecraft:bell", (short) 14859, 5.0, 5.0, false, true, NamespaceID.from("minecraft:bell"), false), + BELL(NamespaceID.from("minecraft:bell"), (short) 14859, 5.0, 5.0, false, true, true, false), - LANTERN("minecraft:lantern", (short) 14893, 3.5, 3.5, false, true, null, false), + LANTERN(NamespaceID.from("minecraft:lantern"), (short) 14893, 3.5, 3.5, false, true, false, false), - SOUL_LANTERN("minecraft:soul_lantern", (short) 14897, 3.5, 3.5, false, true, null, false), + SOUL_LANTERN(NamespaceID.from("minecraft:soul_lantern"), (short) 14897, 3.5, 3.5, false, true, false, false), - CAMPFIRE("minecraft:campfire", (short) 14901, 2.0, 2.0, false, true, NamespaceID.from("minecraft:campfire"), false), + CAMPFIRE(NamespaceID.from("minecraft:campfire"), (short) 14901, 2.0, 2.0, false, true, true, false), - SOUL_CAMPFIRE("minecraft:soul_campfire", (short) 14933, 2.0, 2.0, false, true, NamespaceID.from("minecraft:campfire"), false), + SOUL_CAMPFIRE(NamespaceID.from("minecraft:soul_campfire"), (short) 14933, 2.0, 2.0, false, true, true, false), - SWEET_BERRY_BUSH("minecraft:sweet_berry_bush", (short) 14962, 0.0, 0.0, false, false, null, false), + SWEET_BERRY_BUSH(NamespaceID.from("minecraft:sweet_berry_bush"), (short) 14962, 0.0, 0.0, false, false, false, false), - WARPED_STEM("minecraft:warped_stem", (short) 14967, 2.0, 2.0, false, true, null, false), + WARPED_STEM(NamespaceID.from("minecraft:warped_stem"), (short) 14967, 2.0, 2.0, false, true, false, false), - STRIPPED_WARPED_STEM("minecraft:stripped_warped_stem", (short) 14970, 2.0, 2.0, false, true, null, false), + STRIPPED_WARPED_STEM(NamespaceID.from("minecraft:stripped_warped_stem"), (short) 14970, 2.0, 2.0, false, true, false, false), - WARPED_HYPHAE("minecraft:warped_hyphae", (short) 14973, 2.0, 2.0, false, true, null, false), + WARPED_HYPHAE(NamespaceID.from("minecraft:warped_hyphae"), (short) 14973, 2.0, 2.0, false, true, false, false), - STRIPPED_WARPED_HYPHAE("minecraft:stripped_warped_hyphae", (short) 14976, 2.0, 2.0, false, true, null, false), + STRIPPED_WARPED_HYPHAE(NamespaceID.from("minecraft:stripped_warped_hyphae"), (short) 14976, 2.0, 2.0, false, true, false, false), - WARPED_NYLIUM("minecraft:warped_nylium", (short) 14978, 0.4, 0.4, false, true, null, true), + WARPED_NYLIUM(NamespaceID.from("minecraft:warped_nylium"), (short) 14978, 0.4, 0.4, false, true, false, true), - WARPED_FUNGUS("minecraft:warped_fungus", (short) 14979, 0.0, 0.0, false, false, null, true), + WARPED_FUNGUS(NamespaceID.from("minecraft:warped_fungus"), (short) 14979, 0.0, 0.0, false, false, false, true), - WARPED_WART_BLOCK("minecraft:warped_wart_block", (short) 14980, 1.0, 1.0, false, true, null, true), + WARPED_WART_BLOCK(NamespaceID.from("minecraft:warped_wart_block"), (short) 14980, 1.0, 1.0, false, true, false, true), - WARPED_ROOTS("minecraft:warped_roots", (short) 14981, 0.0, 0.0, false, false, null, true), + WARPED_ROOTS(NamespaceID.from("minecraft:warped_roots"), (short) 14981, 0.0, 0.0, false, false, false, true), - NETHER_SPROUTS("minecraft:nether_sprouts", (short) 14982, 0.0, 0.0, false, false, null, true), + NETHER_SPROUTS(NamespaceID.from("minecraft:nether_sprouts"), (short) 14982, 0.0, 0.0, false, false, false, true), - CRIMSON_STEM("minecraft:crimson_stem", (short) 14984, 2.0, 2.0, false, true, null, false), + CRIMSON_STEM(NamespaceID.from("minecraft:crimson_stem"), (short) 14984, 2.0, 2.0, false, true, false, false), - STRIPPED_CRIMSON_STEM("minecraft:stripped_crimson_stem", (short) 14987, 2.0, 2.0, false, true, null, false), + STRIPPED_CRIMSON_STEM(NamespaceID.from("minecraft:stripped_crimson_stem"), (short) 14987, 2.0, 2.0, false, true, false, false), - CRIMSON_HYPHAE("minecraft:crimson_hyphae", (short) 14990, 2.0, 2.0, false, true, null, false), + CRIMSON_HYPHAE(NamespaceID.from("minecraft:crimson_hyphae"), (short) 14990, 2.0, 2.0, false, true, false, false), - STRIPPED_CRIMSON_HYPHAE("minecraft:stripped_crimson_hyphae", (short) 14993, 2.0, 2.0, false, true, null, false), + STRIPPED_CRIMSON_HYPHAE(NamespaceID.from("minecraft:stripped_crimson_hyphae"), (short) 14993, 2.0, 2.0, false, true, false, false), - CRIMSON_NYLIUM("minecraft:crimson_nylium", (short) 14995, 0.4, 0.4, false, true, null, true), + CRIMSON_NYLIUM(NamespaceID.from("minecraft:crimson_nylium"), (short) 14995, 0.4, 0.4, false, true, false, true), - CRIMSON_FUNGUS("minecraft:crimson_fungus", (short) 14996, 0.0, 0.0, false, false, null, true), + CRIMSON_FUNGUS(NamespaceID.from("minecraft:crimson_fungus"), (short) 14996, 0.0, 0.0, false, false, false, true), - SHROOMLIGHT("minecraft:shroomlight", (short) 14997, 1.0, 1.0, false, true, null, true), + SHROOMLIGHT(NamespaceID.from("minecraft:shroomlight"), (short) 14997, 1.0, 1.0, false, true, false, true), - WEEPING_VINES("minecraft:weeping_vines", (short) 14998, 0.0, 0.0, false, false, null, false), + WEEPING_VINES(NamespaceID.from("minecraft:weeping_vines"), (short) 14998, 0.0, 0.0, false, false, false, false), - WEEPING_VINES_PLANT("minecraft:weeping_vines_plant", (short) 15024, 0.0, 0.0, false, false, null, true), + WEEPING_VINES_PLANT(NamespaceID.from("minecraft:weeping_vines_plant"), (short) 15024, 0.0, 0.0, false, false, false, true), - TWISTING_VINES("minecraft:twisting_vines", (short) 15025, 0.0, 0.0, false, false, null, false), + TWISTING_VINES(NamespaceID.from("minecraft:twisting_vines"), (short) 15025, 0.0, 0.0, false, false, false, false), - TWISTING_VINES_PLANT("minecraft:twisting_vines_plant", (short) 15051, 0.0, 0.0, false, false, null, true), + TWISTING_VINES_PLANT(NamespaceID.from("minecraft:twisting_vines_plant"), (short) 15051, 0.0, 0.0, false, false, false, true), - CRIMSON_ROOTS("minecraft:crimson_roots", (short) 15052, 0.0, 0.0, false, false, null, true), + CRIMSON_ROOTS(NamespaceID.from("minecraft:crimson_roots"), (short) 15052, 0.0, 0.0, false, false, false, true), - CRIMSON_PLANKS("minecraft:crimson_planks", (short) 15053, 2.0, 3.0, false, true, null, true), + CRIMSON_PLANKS(NamespaceID.from("minecraft:crimson_planks"), (short) 15053, 2.0, 3.0, false, true, false, true), - WARPED_PLANKS("minecraft:warped_planks", (short) 15054, 2.0, 3.0, false, true, null, true), + WARPED_PLANKS(NamespaceID.from("minecraft:warped_planks"), (short) 15054, 2.0, 3.0, false, true, false, true), - CRIMSON_SLAB("minecraft:crimson_slab", (short) 15058, 2.0, 3.0, false, true, null, false), + CRIMSON_SLAB(NamespaceID.from("minecraft:crimson_slab"), (short) 15058, 2.0, 3.0, false, true, false, false), - WARPED_SLAB("minecraft:warped_slab", (short) 15064, 2.0, 3.0, false, true, null, false), + WARPED_SLAB(NamespaceID.from("minecraft:warped_slab"), (short) 15064, 2.0, 3.0, false, true, false, false), - CRIMSON_PRESSURE_PLATE("minecraft:crimson_pressure_plate", (short) 15068, 0.5, 0.5, false, false, null, false), + CRIMSON_PRESSURE_PLATE(NamespaceID.from("minecraft:crimson_pressure_plate"), (short) 15068, 0.5, 0.5, false, true, false, false), - WARPED_PRESSURE_PLATE("minecraft:warped_pressure_plate", (short) 15070, 0.5, 0.5, false, false, null, false), + WARPED_PRESSURE_PLATE(NamespaceID.from("minecraft:warped_pressure_plate"), (short) 15070, 0.5, 0.5, false, true, false, false), - CRIMSON_FENCE("minecraft:crimson_fence", (short) 15102, 2.0, 3.0, false, true, null, false), + CRIMSON_FENCE(NamespaceID.from("minecraft:crimson_fence"), (short) 15102, 2.0, 3.0, false, true, false, false), - WARPED_FENCE("minecraft:warped_fence", (short) 15134, 2.0, 3.0, false, true, null, false), + WARPED_FENCE(NamespaceID.from("minecraft:warped_fence"), (short) 15134, 2.0, 3.0, false, true, false, false), - CRIMSON_TRAPDOOR("minecraft:crimson_trapdoor", (short) 15150, 3.0, 3.0, false, true, null, false), + CRIMSON_TRAPDOOR(NamespaceID.from("minecraft:crimson_trapdoor"), (short) 15150, 3.0, 3.0, false, true, false, false), - WARPED_TRAPDOOR("minecraft:warped_trapdoor", (short) 15214, 3.0, 3.0, false, true, null, false), + WARPED_TRAPDOOR(NamespaceID.from("minecraft:warped_trapdoor"), (short) 15214, 3.0, 3.0, false, true, false, false), - CRIMSON_FENCE_GATE("minecraft:crimson_fence_gate", (short) 15270, 2.0, 3.0, false, true, null, false), + CRIMSON_FENCE_GATE(NamespaceID.from("minecraft:crimson_fence_gate"), (short) 15270, 2.0, 3.0, false, true, false, false), - WARPED_FENCE_GATE("minecraft:warped_fence_gate", (short) 15302, 2.0, 3.0, false, true, null, false), + WARPED_FENCE_GATE(NamespaceID.from("minecraft:warped_fence_gate"), (short) 15302, 2.0, 3.0, false, true, false, false), - CRIMSON_STAIRS("minecraft:crimson_stairs", (short) 15338, 0.0, 0.0, false, true, null, false), + CRIMSON_STAIRS(NamespaceID.from("minecraft:crimson_stairs"), (short) 15338, 2.0, 3.0, false, true, false, false), - WARPED_STAIRS("minecraft:warped_stairs", (short) 15418, 0.0, 0.0, false, true, null, false), + WARPED_STAIRS(NamespaceID.from("minecraft:warped_stairs"), (short) 15418, 2.0, 3.0, false, true, false, false), - CRIMSON_BUTTON("minecraft:crimson_button", (short) 15496, 0.5, 0.5, false, false, null, false), + CRIMSON_BUTTON(NamespaceID.from("minecraft:crimson_button"), (short) 15496, 0.5, 0.5, false, false, false, false), - WARPED_BUTTON("minecraft:warped_button", (short) 15520, 0.5, 0.5, false, false, null, false), + WARPED_BUTTON(NamespaceID.from("minecraft:warped_button"), (short) 15520, 0.5, 0.5, false, false, false, false), - CRIMSON_DOOR("minecraft:crimson_door", (short) 15546, 3.0, 3.0, false, true, null, false), + CRIMSON_DOOR(NamespaceID.from("minecraft:crimson_door"), (short) 15546, 3.0, 3.0, false, true, false, false), - WARPED_DOOR("minecraft:warped_door", (short) 15610, 3.0, 3.0, false, true, null, false), + WARPED_DOOR(NamespaceID.from("minecraft:warped_door"), (short) 15610, 3.0, 3.0, false, true, false, false), - CRIMSON_SIGN("minecraft:crimson_sign", (short) 15664, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + CRIMSON_SIGN(NamespaceID.from("minecraft:crimson_sign"), (short) 15664, 1.0, 1.0, false, true, true, false), - WARPED_SIGN("minecraft:warped_sign", (short) 15696, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + WARPED_SIGN(NamespaceID.from("minecraft:warped_sign"), (short) 15696, 1.0, 1.0, false, true, true, false), - CRIMSON_WALL_SIGN("minecraft:crimson_wall_sign", (short) 15728, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + CRIMSON_WALL_SIGN(NamespaceID.from("minecraft:crimson_wall_sign"), (short) 15728, 1.0, 1.0, false, true, true, false), - WARPED_WALL_SIGN("minecraft:warped_wall_sign", (short) 15736, 1.0, 1.0, false, false, NamespaceID.from("minecraft:sign"), false), + WARPED_WALL_SIGN(NamespaceID.from("minecraft:warped_wall_sign"), (short) 15736, 1.0, 1.0, false, true, true, false), - STRUCTURE_BLOCK("minecraft:structure_block", (short) 15743, 0.0, 3600000.0, false, true, NamespaceID.from("minecraft:structure_block"), false), + STRUCTURE_BLOCK(NamespaceID.from("minecraft:structure_block"), (short) 15743, -1.0, 3600000.0, false, true, true, false), - JIGSAW("minecraft:jigsaw", (short) 15757, 0.0, 3600000.0, false, true, NamespaceID.from("minecraft:jigsaw"), false), + JIGSAW(NamespaceID.from("minecraft:jigsaw"), (short) 15757, -1.0, 3600000.0, false, true, true, false), - COMPOSTER("minecraft:composter", (short) 15759, 0.6, 0.6, false, true, null, false), + COMPOSTER(NamespaceID.from("minecraft:composter"), (short) 15759, 0.6, 0.6, false, true, false, false), - TARGET("minecraft:target", (short) 15768, 0.5, 0.5, false, true, null, false), + TARGET(NamespaceID.from("minecraft:target"), (short) 15768, 0.5, 0.5, false, true, false, false), - BEE_NEST("minecraft:bee_nest", (short) 15784, 0.3, 0.3, false, true, NamespaceID.from("minecraft:beehive"), false), + BEE_NEST(NamespaceID.from("minecraft:bee_nest"), (short) 15784, 0.3, 0.3, false, true, true, false), - BEEHIVE("minecraft:beehive", (short) 15808, 0.6, 0.6, false, true, NamespaceID.from("minecraft:beehive"), false), + BEEHIVE(NamespaceID.from("minecraft:beehive"), (short) 15808, 0.6, 0.6, false, true, true, false), - HONEY_BLOCK("minecraft:honey_block", (short) 15832, 0.0, 0.0, false, true, null, true), + HONEY_BLOCK(NamespaceID.from("minecraft:honey_block"), (short) 15832, 0.0, 0.0, false, true, false, true), - HONEYCOMB_BLOCK("minecraft:honeycomb_block", (short) 15833, 0.6, 0.6, false, true, null, true), + HONEYCOMB_BLOCK(NamespaceID.from("minecraft:honeycomb_block"), (short) 15833, 0.6, 0.6, false, true, false, true), - NETHERITE_BLOCK("minecraft:netherite_block", (short) 15834, 50.0, 1200.0, false, true, null, true), + NETHERITE_BLOCK(NamespaceID.from("minecraft:netherite_block"), (short) 15834, 50.0, 1200.0, false, true, false, true), - ANCIENT_DEBRIS("minecraft:ancient_debris", (short) 15835, 30.0, 1200.0, false, true, null, true), + ANCIENT_DEBRIS(NamespaceID.from("minecraft:ancient_debris"), (short) 15835, 30.0, 1200.0, false, true, false, true), - CRYING_OBSIDIAN("minecraft:crying_obsidian", (short) 15836, 50.0, 1200.0, false, true, null, true), + CRYING_OBSIDIAN(NamespaceID.from("minecraft:crying_obsidian"), (short) 15836, 50.0, 1200.0, false, true, false, true), - RESPAWN_ANCHOR("minecraft:respawn_anchor", (short) 15837, 50.0, 1200.0, false, true, null, false), + RESPAWN_ANCHOR(NamespaceID.from("minecraft:respawn_anchor"), (short) 15837, 50.0, 1200.0, false, true, false, false), - POTTED_CRIMSON_FUNGUS("minecraft:potted_crimson_fungus", (short) 15842, 0.0, 0.0, false, true, null, true), + POTTED_CRIMSON_FUNGUS(NamespaceID.from("minecraft:potted_crimson_fungus"), (short) 15842, 0.0, 0.0, false, false, false, true), - POTTED_WARPED_FUNGUS("minecraft:potted_warped_fungus", (short) 15843, 0.0, 0.0, false, true, null, true), + POTTED_WARPED_FUNGUS(NamespaceID.from("minecraft:potted_warped_fungus"), (short) 15843, 0.0, 0.0, false, false, false, true), - POTTED_CRIMSON_ROOTS("minecraft:potted_crimson_roots", (short) 15844, 0.0, 0.0, false, true, null, true), + POTTED_CRIMSON_ROOTS(NamespaceID.from("minecraft:potted_crimson_roots"), (short) 15844, 0.0, 0.0, false, false, false, true), - POTTED_WARPED_ROOTS("minecraft:potted_warped_roots", (short) 15845, 0.0, 0.0, false, true, null, true), + POTTED_WARPED_ROOTS(NamespaceID.from("minecraft:potted_warped_roots"), (short) 15845, 0.0, 0.0, false, false, false, true), - LODESTONE("minecraft:lodestone", (short) 15846, 3.5, 3.5, false, true, null, true), + LODESTONE(NamespaceID.from("minecraft:lodestone"), (short) 15846, 3.5, 3.5, false, true, false, true), - BLACKSTONE("minecraft:blackstone", (short) 15847, 1.5, 6.0, false, true, null, true), + BLACKSTONE(NamespaceID.from("minecraft:blackstone"), (short) 15847, 1.5, 6.0, false, true, false, true), - BLACKSTONE_STAIRS("minecraft:blackstone_stairs", (short) 15859, 0.0, 0.0, false, true, null, false), + BLACKSTONE_STAIRS(NamespaceID.from("minecraft:blackstone_stairs"), (short) 15859, 1.5, 6.0, false, true, false, false), - BLACKSTONE_WALL("minecraft:blackstone_wall", (short) 15931, 0.0, 0.0, false, true, null, false), + BLACKSTONE_WALL(NamespaceID.from("minecraft:blackstone_wall"), (short) 15931, 1.5, 6.0, false, true, false, false), - BLACKSTONE_SLAB("minecraft:blackstone_slab", (short) 16255, 2.0, 6.0, false, true, null, false), + BLACKSTONE_SLAB(NamespaceID.from("minecraft:blackstone_slab"), (short) 16255, 2.0, 6.0, false, true, false, false), - POLISHED_BLACKSTONE("minecraft:polished_blackstone", (short) 16258, 2.0, 6.0, false, true, null, true), + POLISHED_BLACKSTONE(NamespaceID.from("minecraft:polished_blackstone"), (short) 16258, 2.0, 6.0, false, true, false, true), - POLISHED_BLACKSTONE_BRICKS("minecraft:polished_blackstone_bricks", (short) 16259, 1.5, 6.0, false, true, null, true), + POLISHED_BLACKSTONE_BRICKS(NamespaceID.from("minecraft:polished_blackstone_bricks"), (short) 16259, 1.5, 6.0, false, true, false, true), - CRACKED_POLISHED_BLACKSTONE_BRICKS("minecraft:cracked_polished_blackstone_bricks", (short) 16260, 0.0, 0.0, false, true, null, true), + CRACKED_POLISHED_BLACKSTONE_BRICKS(NamespaceID.from("minecraft:cracked_polished_blackstone_bricks"), (short) 16260, 1.5, 6.0, false, true, false, true), - CHISELED_POLISHED_BLACKSTONE("minecraft:chiseled_polished_blackstone", (short) 16261, 1.5, 6.0, false, true, null, true), + CHISELED_POLISHED_BLACKSTONE(NamespaceID.from("minecraft:chiseled_polished_blackstone"), (short) 16261, 1.5, 6.0, false, true, false, true), - POLISHED_BLACKSTONE_BRICK_SLAB("minecraft:polished_blackstone_brick_slab", (short) 16265, 2.0, 6.0, false, true, null, false), + POLISHED_BLACKSTONE_BRICK_SLAB(NamespaceID.from("minecraft:polished_blackstone_brick_slab"), (short) 16265, 2.0, 6.0, false, true, false, false), - POLISHED_BLACKSTONE_BRICK_STAIRS("minecraft:polished_blackstone_brick_stairs", (short) 16279, 0.0, 0.0, false, true, null, false), + POLISHED_BLACKSTONE_BRICK_STAIRS(NamespaceID.from("minecraft:polished_blackstone_brick_stairs"), (short) 16279, 1.5, 6.0, false, true, false, false), - POLISHED_BLACKSTONE_BRICK_WALL("minecraft:polished_blackstone_brick_wall", (short) 16351, 0.0, 0.0, false, true, null, false), + POLISHED_BLACKSTONE_BRICK_WALL(NamespaceID.from("minecraft:polished_blackstone_brick_wall"), (short) 16351, 1.5, 6.0, false, true, false, false), - GILDED_BLACKSTONE("minecraft:gilded_blackstone", (short) 16672, 0.0, 0.0, false, true, null, true), + GILDED_BLACKSTONE(NamespaceID.from("minecraft:gilded_blackstone"), (short) 16672, 1.5, 6.0, false, true, false, true), - POLISHED_BLACKSTONE_STAIRS("minecraft:polished_blackstone_stairs", (short) 16684, 0.0, 0.0, false, true, null, false), + POLISHED_BLACKSTONE_STAIRS(NamespaceID.from("minecraft:polished_blackstone_stairs"), (short) 16684, 2.0, 6.0, false, true, false, false), - POLISHED_BLACKSTONE_SLAB("minecraft:polished_blackstone_slab", (short) 16756, 0.0, 0.0, false, true, null, false), + POLISHED_BLACKSTONE_SLAB(NamespaceID.from("minecraft:polished_blackstone_slab"), (short) 16756, 2.0, 6.0, false, true, false, false), - POLISHED_BLACKSTONE_PRESSURE_PLATE("minecraft:polished_blackstone_pressure_plate", (short) 16760, 0.5, 0.5, false, false, null, false), + POLISHED_BLACKSTONE_PRESSURE_PLATE(NamespaceID.from("minecraft:polished_blackstone_pressure_plate"), (short) 16760, 0.5, 0.5, false, true, false, false), - POLISHED_BLACKSTONE_BUTTON("minecraft:polished_blackstone_button", (short) 16770, 0.5, 0.5, false, false, null, false), + POLISHED_BLACKSTONE_BUTTON(NamespaceID.from("minecraft:polished_blackstone_button"), (short) 16770, 0.5, 0.5, false, false, false, false), - POLISHED_BLACKSTONE_WALL("minecraft:polished_blackstone_wall", (short) 16788, 0.0, 0.0, false, true, null, false), + POLISHED_BLACKSTONE_WALL(NamespaceID.from("minecraft:polished_blackstone_wall"), (short) 16788, 2.0, 6.0, false, true, false, false), - CHISELED_NETHER_BRICKS("minecraft:chiseled_nether_bricks", (short) 17109, 2.0, 6.0, false, true, null, true), + CHISELED_NETHER_BRICKS(NamespaceID.from("minecraft:chiseled_nether_bricks"), (short) 17109, 2.0, 6.0, false, true, false, true), - CRACKED_NETHER_BRICKS("minecraft:cracked_nether_bricks", (short) 17110, 2.0, 6.0, false, true, null, true), + CRACKED_NETHER_BRICKS(NamespaceID.from("minecraft:cracked_nether_bricks"), (short) 17110, 2.0, 6.0, false, true, false, true), - QUARTZ_BRICKS("minecraft:quartz_bricks", (short) 17111, 0.0, 0.0, false, true, null, true); + QUARTZ_BRICKS(NamespaceID.from("minecraft:quartz_bricks"), (short) 17111, 0.8, 0.8, false, true, false, true); static { GrassBlock.initStates(); @@ -2482,7 +2481,7 @@ public enum Block implements Keyed { } @NotNull - private final String namespaceID; + private final NamespaceID id; private final short defaultID; @@ -2494,19 +2493,16 @@ public enum Block implements Keyed { private final boolean isSolid; - @Nullable - private final NamespaceID blockEntity; + private final boolean blockEntity; private final boolean singleState; - private List alternatives = new java.util.ArrayList<>(); + @NotNull + private final List alternatives = new ArrayList<>(); - private final Key key; - - Block(@NotNull String namespaceID, short defaultID, double hardness, double resistance, - boolean isAir, boolean isSolid, @Nullable NamespaceID blockEntity, - boolean singleState) { - this.namespaceID = namespaceID; + Block(@NotNull NamespaceID id, short defaultID, double hardness, double resistance, + boolean isAir, boolean isSolid, boolean blockEntity, boolean singleState) { + this.id = id; this.defaultID = defaultID; this.hardness = hardness; this.resistance = resistance; @@ -2514,85 +2510,91 @@ public enum Block implements Keyed { this.isSolid = isSolid; this.blockEntity = blockEntity; this.singleState = singleState; - if(singleState) { + if (singleState) { addBlockAlternative(new BlockAlternative(defaultID)); } - Registries.blocks.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); + Registries.blocks.put(id, this); + } + + @Override + @NotNull + public Key key() { + return this.id; + } + + public final void addBlockAlternative(@NotNull BlockAlternative alternative) { + this.alternatives.add(alternative); + BlockArray.blocks[alternative.getId()] = this; } public short getBlockId() { return defaultID; } + @NotNull public String getName() { - return namespaceID; + return this.id.asString(); + } + + public double getHardness() { + return this.hardness; + } + + public double getResistance() { + return this.resistance; + } + + public boolean breaksInstantaneously() { + return this.hardness == 0; + } + + @NotNull + public final List getAlternatives() { + return this.alternatives; } public boolean isAir() { return isAir; } - public boolean hasBlockEntity() { - return blockEntity != null; - } - - public NamespaceID getBlockEntityName() { - return blockEntity; + public boolean isLiquid() { + return this == WATER || this == LAVA; } public boolean isSolid() { return isSolid; } - public boolean isLiquid() { - return this == WATER || this == LAVA; - } - - public double getHardness() { - return hardness; - } - - public double getResistance() { - return resistance; - } - - public boolean breaksInstantaneously() { - return hardness == 0; - } - - public void addBlockAlternative(BlockAlternative alternative) { - alternatives.add(alternative); - BlockArray.blocks[alternative.getId()] = this; + public boolean hasBlockEntity() { + return blockEntity; } + @Nullable public BlockAlternative getAlternative(short blockId) { - for(BlockAlternative alt : alternatives) { - if(alt.getId() == blockId) { + for (BlockAlternative alt : alternatives) { + if (alt.getId() == blockId) { return alt; } } return null; } - public List getAlternatives() { - return alternatives; - } - - public short withProperties(String... properties) { - for(BlockAlternative alt : alternatives) { - if(Arrays.equals(alt.getProperties(), properties)) { + public short withProperties(@NotNull String... properties) { + for (BlockAlternative alt : alternatives) { + if (Arrays.equals(alt.getProperties(), properties)) { return alt.getId(); } } - return defaultID; + return this.defaultID; } public static Block fromStateId(short blockStateId) { return BlockArray.blocks[blockStateId]; } - public Key key() { - return this.key; + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; } } diff --git a/src/autogenerated/java/net/minestom/server/item/Enchantment.java b/src/autogenerated/java/net/minestom/server/item/Enchantment.java index faba57e8b..4b0219c1c 100644 --- a/src/autogenerated/java/net/minestom/server/item/Enchantment.java +++ b/src/autogenerated/java/net/minestom/server/item/Enchantment.java @@ -4,116 +4,125 @@ import net.kyori.adventure.key.Key; import net.kyori.adventure.key.Keyed; import net.minestom.server.registry.Registries; import net.minestom.server.utils.NamespaceID; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== + * AUTOGENERATED by EnchantmentGenerator */ -@SuppressWarnings({"deprecation"}) public enum Enchantment implements Keyed { - PROTECTION("minecraft:protection"), + ALL_DAMAGE_PROTECTION(NamespaceID.from("minecraft:protection")), - FIRE_PROTECTION("minecraft:fire_protection"), + FIRE_PROTECTION(NamespaceID.from("minecraft:fire_protection")), - FEATHER_FALLING("minecraft:feather_falling"), + FALL_PROTECTION(NamespaceID.from("minecraft:feather_falling")), - BLAST_PROTECTION("minecraft:blast_protection"), + BLAST_PROTECTION(NamespaceID.from("minecraft:blast_protection")), - PROJECTILE_PROTECTION("minecraft:projectile_protection"), + PROJECTILE_PROTECTION(NamespaceID.from("minecraft:projectile_protection")), - RESPIRATION("minecraft:respiration"), + RESPIRATION(NamespaceID.from("minecraft:respiration")), - AQUA_AFFINITY("minecraft:aqua_affinity"), + AQUA_AFFINITY(NamespaceID.from("minecraft:aqua_affinity")), - THORNS("minecraft:thorns"), + THORNS(NamespaceID.from("minecraft:thorns")), - DEPTH_STRIDER("minecraft:depth_strider"), + DEPTH_STRIDER(NamespaceID.from("minecraft:depth_strider")), - FROST_WALKER("minecraft:frost_walker"), + FROST_WALKER(NamespaceID.from("minecraft:frost_walker")), - BINDING_CURSE("minecraft:binding_curse"), + BINDING_CURSE(NamespaceID.from("minecraft:binding_curse")), - SOUL_SPEED("minecraft:soul_speed"), + SOUL_SPEED(NamespaceID.from("minecraft:soul_speed")), - SHARPNESS("minecraft:sharpness"), + SHARPNESS(NamespaceID.from("minecraft:sharpness")), - SMITE("minecraft:smite"), + SMITE(NamespaceID.from("minecraft:smite")), - BANE_OF_ARTHROPODS("minecraft:bane_of_arthropods"), + BANE_OF_ARTHROPODS(NamespaceID.from("minecraft:bane_of_arthropods")), - KNOCKBACK("minecraft:knockback"), + KNOCKBACK(NamespaceID.from("minecraft:knockback")), - FIRE_ASPECT("minecraft:fire_aspect"), + FIRE_ASPECT(NamespaceID.from("minecraft:fire_aspect")), - LOOTING("minecraft:looting"), + MOB_LOOTING(NamespaceID.from("minecraft:looting")), - SWEEPING("minecraft:sweeping"), + SWEEPING_EDGE(NamespaceID.from("minecraft:sweeping")), - EFFICIENCY("minecraft:efficiency"), + BLOCK_EFFICIENCY(NamespaceID.from("minecraft:efficiency")), - SILK_TOUCH("minecraft:silk_touch"), + SILK_TOUCH(NamespaceID.from("minecraft:silk_touch")), - UNBREAKING("minecraft:unbreaking"), + UNBREAKING(NamespaceID.from("minecraft:unbreaking")), - FORTUNE("minecraft:fortune"), + BLOCK_FORTUNE(NamespaceID.from("minecraft:fortune")), - POWER("minecraft:power"), + POWER_ARROWS(NamespaceID.from("minecraft:power")), - PUNCH("minecraft:punch"), + PUNCH_ARROWS(NamespaceID.from("minecraft:punch")), - FLAME("minecraft:flame"), + FLAMING_ARROWS(NamespaceID.from("minecraft:flame")), - INFINITY("minecraft:infinity"), + INFINITY_ARROWS(NamespaceID.from("minecraft:infinity")), - LUCK_OF_THE_SEA("minecraft:luck_of_the_sea"), + FISHING_LUCK(NamespaceID.from("minecraft:luck_of_the_sea")), - LURE("minecraft:lure"), + FISHING_SPEED(NamespaceID.from("minecraft:lure")), - LOYALTY("minecraft:loyalty"), + LOYALTY(NamespaceID.from("minecraft:loyalty")), - IMPALING("minecraft:impaling"), + IMPALING(NamespaceID.from("minecraft:impaling")), - RIPTIDE("minecraft:riptide"), + RIPTIDE(NamespaceID.from("minecraft:riptide")), - CHANNELING("minecraft:channeling"), + CHANNELING(NamespaceID.from("minecraft:channeling")), - MULTISHOT("minecraft:multishot"), + MULTISHOT(NamespaceID.from("minecraft:multishot")), - QUICK_CHARGE("minecraft:quick_charge"), + QUICK_CHARGE(NamespaceID.from("minecraft:quick_charge")), - PIERCING("minecraft:piercing"), + PIERCING(NamespaceID.from("minecraft:piercing")), - MENDING("minecraft:mending"), + MENDING(NamespaceID.from("minecraft:mending")), - VANISHING_CURSE("minecraft:vanishing_curse"); + VANISHING_CURSE(NamespaceID.from("minecraft:vanishing_curse")); - private final String namespaceID; + private static final Enchantment[] VALUES = values(); - private final Key key; + @NotNull + private final NamespaceID id; - Enchantment(String namespaceID) { - this.namespaceID = namespaceID; - Registries.enchantments.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); - } - - public int getId() { - return ordinal(); - } - - public String getNamespaceID() { - return namespaceID; + Enchantment(@NotNull NamespaceID id) { + this.id = id; + Registries.enchantments.put(id, this); } + @Override + @NotNull public Key key() { - return this.key; + return this.id; } - public static Enchantment fromId(int id) { - if (id >= 0 && id < values().length) { - return values()[id]; + public short getId() { + return (short) ordinal(); + } + + @NotNull + public NamespaceID getNamespaceID() { + return this.id; + } + + @Nullable + public static Enchantment fromId(short id) { + if(id >= 0 && id < VALUES.length) { + return VALUES[id]; } return null; } + + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; + } } diff --git a/src/autogenerated/java/net/minestom/server/item/Material.java b/src/autogenerated/java/net/minestom/server/item/Material.java index 0a6f526ac..33bb71bf9 100644 --- a/src/autogenerated/java/net/minestom/server/item/Material.java +++ b/src/autogenerated/java/net/minestom/server/item/Material.java @@ -1,5 +1,6 @@ package net.minestom.server.item; +import java.util.function.Supplier; import net.kyori.adventure.key.Key; import net.kyori.adventure.key.Keyed; import net.minestom.server.instance.block.Block; @@ -9,2087 +10,2499 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== + * AUTOGENERATED by MaterialGenerator */ -@SuppressWarnings({"deprecation"}) public enum Material implements Keyed { - AIR("minecraft:air", 64, Block.AIR), + AIR(NamespaceID.from("minecraft:air"), (byte) 64, () -> null), - STONE("minecraft:stone", 64, Block.STONE), + STONE(NamespaceID.from("minecraft:stone"), (byte) 64, () -> Registries.getBlock("minecraft:stone")), - GRANITE("minecraft:granite", 64, Block.GRANITE), + GRANITE(NamespaceID.from("minecraft:granite"), (byte) 64, () -> Registries.getBlock("minecraft:granite")), - POLISHED_GRANITE("minecraft:polished_granite", 64, Block.POLISHED_GRANITE), + POLISHED_GRANITE(NamespaceID.from("minecraft:polished_granite"), (byte) 64, () -> Registries.getBlock("minecraft:polished_granite")), - DIORITE("minecraft:diorite", 64, Block.DIORITE), + DIORITE(NamespaceID.from("minecraft:diorite"), (byte) 64, () -> Registries.getBlock("minecraft:diorite")), - POLISHED_DIORITE("minecraft:polished_diorite", 64, Block.POLISHED_DIORITE), + POLISHED_DIORITE(NamespaceID.from("minecraft:polished_diorite"), (byte) 64, () -> Registries.getBlock("minecraft:polished_diorite")), - ANDESITE("minecraft:andesite", 64, Block.ANDESITE), + ANDESITE(NamespaceID.from("minecraft:andesite"), (byte) 64, () -> Registries.getBlock("minecraft:andesite")), - POLISHED_ANDESITE("minecraft:polished_andesite", 64, Block.POLISHED_ANDESITE), + POLISHED_ANDESITE(NamespaceID.from("minecraft:polished_andesite"), (byte) 64, () -> Registries.getBlock("minecraft:polished_andesite")), - GRASS_BLOCK("minecraft:grass_block", 64, Block.GRASS_BLOCK), + GRASS_BLOCK(NamespaceID.from("minecraft:grass_block"), (byte) 64, () -> Registries.getBlock("minecraft:grass_block")), - DIRT("minecraft:dirt", 64, Block.DIRT), + DIRT(NamespaceID.from("minecraft:dirt"), (byte) 64, () -> Registries.getBlock("minecraft:dirt")), - COARSE_DIRT("minecraft:coarse_dirt", 64, Block.COARSE_DIRT), + COARSE_DIRT(NamespaceID.from("minecraft:coarse_dirt"), (byte) 64, () -> Registries.getBlock("minecraft:coarse_dirt")), - PODZOL("minecraft:podzol", 64, Block.PODZOL), + PODZOL(NamespaceID.from("minecraft:podzol"), (byte) 64, () -> Registries.getBlock("minecraft:podzol")), - CRIMSON_NYLIUM("minecraft:crimson_nylium", 64, Block.CRIMSON_NYLIUM), + CRIMSON_NYLIUM(NamespaceID.from("minecraft:crimson_nylium"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_nylium")), - WARPED_NYLIUM("minecraft:warped_nylium", 64, Block.WARPED_NYLIUM), + WARPED_NYLIUM(NamespaceID.from("minecraft:warped_nylium"), (byte) 64, () -> Registries.getBlock("minecraft:warped_nylium")), - COBBLESTONE("minecraft:cobblestone", 64, Block.COBBLESTONE), + COBBLESTONE(NamespaceID.from("minecraft:cobblestone"), (byte) 64, () -> Registries.getBlock("minecraft:cobblestone")), - OAK_PLANKS("minecraft:oak_planks", 64, Block.OAK_PLANKS), + OAK_PLANKS(NamespaceID.from("minecraft:oak_planks"), (byte) 64, () -> Registries.getBlock("minecraft:oak_planks")), - SPRUCE_PLANKS("minecraft:spruce_planks", 64, Block.SPRUCE_PLANKS), + SPRUCE_PLANKS(NamespaceID.from("minecraft:spruce_planks"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_planks")), - BIRCH_PLANKS("minecraft:birch_planks", 64, Block.BIRCH_PLANKS), + BIRCH_PLANKS(NamespaceID.from("minecraft:birch_planks"), (byte) 64, () -> Registries.getBlock("minecraft:birch_planks")), - JUNGLE_PLANKS("minecraft:jungle_planks", 64, Block.JUNGLE_PLANKS), + JUNGLE_PLANKS(NamespaceID.from("minecraft:jungle_planks"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_planks")), - ACACIA_PLANKS("minecraft:acacia_planks", 64, Block.ACACIA_PLANKS), + ACACIA_PLANKS(NamespaceID.from("minecraft:acacia_planks"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_planks")), - DARK_OAK_PLANKS("minecraft:dark_oak_planks", 64, Block.DARK_OAK_PLANKS), + DARK_OAK_PLANKS(NamespaceID.from("minecraft:dark_oak_planks"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_planks")), - CRIMSON_PLANKS("minecraft:crimson_planks", 64, Block.CRIMSON_PLANKS), + CRIMSON_PLANKS(NamespaceID.from("minecraft:crimson_planks"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_planks")), - WARPED_PLANKS("minecraft:warped_planks", 64, Block.WARPED_PLANKS), + WARPED_PLANKS(NamespaceID.from("minecraft:warped_planks"), (byte) 64, () -> Registries.getBlock("minecraft:warped_planks")), - OAK_SAPLING("minecraft:oak_sapling", 64, Block.OAK_SAPLING), + OAK_SAPLING(NamespaceID.from("minecraft:oak_sapling"), (byte) 64, () -> Registries.getBlock("minecraft:oak_sapling")), - SPRUCE_SAPLING("minecraft:spruce_sapling", 64, Block.SPRUCE_SAPLING), + SPRUCE_SAPLING(NamespaceID.from("minecraft:spruce_sapling"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_sapling")), - BIRCH_SAPLING("minecraft:birch_sapling", 64, Block.BIRCH_SAPLING), + BIRCH_SAPLING(NamespaceID.from("minecraft:birch_sapling"), (byte) 64, () -> Registries.getBlock("minecraft:birch_sapling")), - JUNGLE_SAPLING("minecraft:jungle_sapling", 64, Block.JUNGLE_SAPLING), + JUNGLE_SAPLING(NamespaceID.from("minecraft:jungle_sapling"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_sapling")), - ACACIA_SAPLING("minecraft:acacia_sapling", 64, Block.ACACIA_SAPLING), + ACACIA_SAPLING(NamespaceID.from("minecraft:acacia_sapling"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_sapling")), - DARK_OAK_SAPLING("minecraft:dark_oak_sapling", 64, Block.DARK_OAK_SAPLING), + DARK_OAK_SAPLING(NamespaceID.from("minecraft:dark_oak_sapling"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_sapling")), - BEDROCK("minecraft:bedrock", 64, Block.BEDROCK), + BEDROCK(NamespaceID.from("minecraft:bedrock"), (byte) 64, () -> Registries.getBlock("minecraft:bedrock")), - SAND("minecraft:sand", 64, Block.SAND), + SAND(NamespaceID.from("minecraft:sand"), (byte) 64, () -> Registries.getBlock("minecraft:sand")), - RED_SAND("minecraft:red_sand", 64, Block.RED_SAND), + RED_SAND(NamespaceID.from("minecraft:red_sand"), (byte) 64, () -> Registries.getBlock("minecraft:red_sand")), - GRAVEL("minecraft:gravel", 64, Block.GRAVEL), + GRAVEL(NamespaceID.from("minecraft:gravel"), (byte) 64, () -> Registries.getBlock("minecraft:gravel")), - GOLD_ORE("minecraft:gold_ore", 64, Block.GOLD_ORE), + GOLD_ORE(NamespaceID.from("minecraft:gold_ore"), (byte) 64, () -> Registries.getBlock("minecraft:gold_ore")), - IRON_ORE("minecraft:iron_ore", 64, Block.IRON_ORE), + IRON_ORE(NamespaceID.from("minecraft:iron_ore"), (byte) 64, () -> Registries.getBlock("minecraft:iron_ore")), - COAL_ORE("minecraft:coal_ore", 64, Block.COAL_ORE), + COAL_ORE(NamespaceID.from("minecraft:coal_ore"), (byte) 64, () -> Registries.getBlock("minecraft:coal_ore")), - NETHER_GOLD_ORE("minecraft:nether_gold_ore", 64, Block.NETHER_GOLD_ORE), + NETHER_GOLD_ORE(NamespaceID.from("minecraft:nether_gold_ore"), (byte) 64, () -> Registries.getBlock("minecraft:nether_gold_ore")), - OAK_LOG("minecraft:oak_log", 64, Block.OAK_LOG), + OAK_LOG(NamespaceID.from("minecraft:oak_log"), (byte) 64, () -> Registries.getBlock("minecraft:oak_log")), - SPRUCE_LOG("minecraft:spruce_log", 64, Block.SPRUCE_LOG), + SPRUCE_LOG(NamespaceID.from("minecraft:spruce_log"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_log")), - BIRCH_LOG("minecraft:birch_log", 64, Block.BIRCH_LOG), + BIRCH_LOG(NamespaceID.from("minecraft:birch_log"), (byte) 64, () -> Registries.getBlock("minecraft:birch_log")), - JUNGLE_LOG("minecraft:jungle_log", 64, Block.JUNGLE_LOG), + JUNGLE_LOG(NamespaceID.from("minecraft:jungle_log"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_log")), - ACACIA_LOG("minecraft:acacia_log", 64, Block.ACACIA_LOG), + ACACIA_LOG(NamespaceID.from("minecraft:acacia_log"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_log")), - DARK_OAK_LOG("minecraft:dark_oak_log", 64, Block.DARK_OAK_LOG), + DARK_OAK_LOG(NamespaceID.from("minecraft:dark_oak_log"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_log")), - CRIMSON_STEM("minecraft:crimson_stem", 64, Block.CRIMSON_STEM), + CRIMSON_STEM(NamespaceID.from("minecraft:crimson_stem"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_stem")), - WARPED_STEM("minecraft:warped_stem", 64, Block.WARPED_STEM), + WARPED_STEM(NamespaceID.from("minecraft:warped_stem"), (byte) 64, () -> Registries.getBlock("minecraft:warped_stem")), - STRIPPED_OAK_LOG("minecraft:stripped_oak_log", 64, Block.STRIPPED_OAK_LOG), + STRIPPED_OAK_LOG(NamespaceID.from("minecraft:stripped_oak_log"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_oak_log")), - STRIPPED_SPRUCE_LOG("minecraft:stripped_spruce_log", 64, Block.STRIPPED_SPRUCE_LOG), + STRIPPED_SPRUCE_LOG(NamespaceID.from("minecraft:stripped_spruce_log"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_spruce_log")), - STRIPPED_BIRCH_LOG("minecraft:stripped_birch_log", 64, Block.STRIPPED_BIRCH_LOG), + STRIPPED_BIRCH_LOG(NamespaceID.from("minecraft:stripped_birch_log"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_birch_log")), - STRIPPED_JUNGLE_LOG("minecraft:stripped_jungle_log", 64, Block.STRIPPED_JUNGLE_LOG), + STRIPPED_JUNGLE_LOG(NamespaceID.from("minecraft:stripped_jungle_log"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_jungle_log")), - STRIPPED_ACACIA_LOG("minecraft:stripped_acacia_log", 64, Block.STRIPPED_ACACIA_LOG), + STRIPPED_ACACIA_LOG(NamespaceID.from("minecraft:stripped_acacia_log"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_acacia_log")), - STRIPPED_DARK_OAK_LOG("minecraft:stripped_dark_oak_log", 64, Block.STRIPPED_DARK_OAK_LOG), + STRIPPED_DARK_OAK_LOG(NamespaceID.from("minecraft:stripped_dark_oak_log"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_dark_oak_log")), - STRIPPED_CRIMSON_STEM("minecraft:stripped_crimson_stem", 64, Block.STRIPPED_CRIMSON_STEM), + STRIPPED_CRIMSON_STEM(NamespaceID.from("minecraft:stripped_crimson_stem"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_crimson_stem")), - STRIPPED_WARPED_STEM("minecraft:stripped_warped_stem", 64, Block.STRIPPED_WARPED_STEM), + STRIPPED_WARPED_STEM(NamespaceID.from("minecraft:stripped_warped_stem"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_warped_stem")), - STRIPPED_OAK_WOOD("minecraft:stripped_oak_wood", 64, Block.STRIPPED_OAK_WOOD), + STRIPPED_OAK_WOOD(NamespaceID.from("minecraft:stripped_oak_wood"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_oak_wood")), - STRIPPED_SPRUCE_WOOD("minecraft:stripped_spruce_wood", 64, Block.STRIPPED_SPRUCE_WOOD), + STRIPPED_SPRUCE_WOOD(NamespaceID.from("minecraft:stripped_spruce_wood"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_spruce_wood")), - STRIPPED_BIRCH_WOOD("minecraft:stripped_birch_wood", 64, Block.STRIPPED_BIRCH_WOOD), + STRIPPED_BIRCH_WOOD(NamespaceID.from("minecraft:stripped_birch_wood"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_birch_wood")), - STRIPPED_JUNGLE_WOOD("minecraft:stripped_jungle_wood", 64, Block.STRIPPED_JUNGLE_WOOD), + STRIPPED_JUNGLE_WOOD(NamespaceID.from("minecraft:stripped_jungle_wood"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_jungle_wood")), - STRIPPED_ACACIA_WOOD("minecraft:stripped_acacia_wood", 64, Block.STRIPPED_ACACIA_WOOD), + STRIPPED_ACACIA_WOOD(NamespaceID.from("minecraft:stripped_acacia_wood"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_acacia_wood")), - STRIPPED_DARK_OAK_WOOD("minecraft:stripped_dark_oak_wood", 64, Block.STRIPPED_DARK_OAK_WOOD), + STRIPPED_DARK_OAK_WOOD(NamespaceID.from("minecraft:stripped_dark_oak_wood"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_dark_oak_wood")), - STRIPPED_CRIMSON_HYPHAE("minecraft:stripped_crimson_hyphae", 64, Block.STRIPPED_CRIMSON_HYPHAE), + STRIPPED_CRIMSON_HYPHAE(NamespaceID.from("minecraft:stripped_crimson_hyphae"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_crimson_hyphae")), - STRIPPED_WARPED_HYPHAE("minecraft:stripped_warped_hyphae", 64, Block.STRIPPED_WARPED_HYPHAE), + STRIPPED_WARPED_HYPHAE(NamespaceID.from("minecraft:stripped_warped_hyphae"), (byte) 64, () -> Registries.getBlock("minecraft:stripped_warped_hyphae")), - OAK_WOOD("minecraft:oak_wood", 64, Block.OAK_WOOD), + OAK_WOOD(NamespaceID.from("minecraft:oak_wood"), (byte) 64, () -> Registries.getBlock("minecraft:oak_wood")), - SPRUCE_WOOD("minecraft:spruce_wood", 64, Block.SPRUCE_WOOD), + SPRUCE_WOOD(NamespaceID.from("minecraft:spruce_wood"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_wood")), - BIRCH_WOOD("minecraft:birch_wood", 64, Block.BIRCH_WOOD), + BIRCH_WOOD(NamespaceID.from("minecraft:birch_wood"), (byte) 64, () -> Registries.getBlock("minecraft:birch_wood")), - JUNGLE_WOOD("minecraft:jungle_wood", 64, Block.JUNGLE_WOOD), + JUNGLE_WOOD(NamespaceID.from("minecraft:jungle_wood"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_wood")), - ACACIA_WOOD("minecraft:acacia_wood", 64, Block.ACACIA_WOOD), + ACACIA_WOOD(NamespaceID.from("minecraft:acacia_wood"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_wood")), - DARK_OAK_WOOD("minecraft:dark_oak_wood", 64, Block.DARK_OAK_WOOD), + DARK_OAK_WOOD(NamespaceID.from("minecraft:dark_oak_wood"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_wood")), - CRIMSON_HYPHAE("minecraft:crimson_hyphae", 64, Block.CRIMSON_HYPHAE), + CRIMSON_HYPHAE(NamespaceID.from("minecraft:crimson_hyphae"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_hyphae")), - WARPED_HYPHAE("minecraft:warped_hyphae", 64, Block.WARPED_HYPHAE), + WARPED_HYPHAE(NamespaceID.from("minecraft:warped_hyphae"), (byte) 64, () -> Registries.getBlock("minecraft:warped_hyphae")), - OAK_LEAVES("minecraft:oak_leaves", 64, Block.OAK_LEAVES), + OAK_LEAVES(NamespaceID.from("minecraft:oak_leaves"), (byte) 64, () -> Registries.getBlock("minecraft:oak_leaves")), - SPRUCE_LEAVES("minecraft:spruce_leaves", 64, Block.SPRUCE_LEAVES), + SPRUCE_LEAVES(NamespaceID.from("minecraft:spruce_leaves"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_leaves")), - BIRCH_LEAVES("minecraft:birch_leaves", 64, Block.BIRCH_LEAVES), + BIRCH_LEAVES(NamespaceID.from("minecraft:birch_leaves"), (byte) 64, () -> Registries.getBlock("minecraft:birch_leaves")), - JUNGLE_LEAVES("minecraft:jungle_leaves", 64, Block.JUNGLE_LEAVES), + JUNGLE_LEAVES(NamespaceID.from("minecraft:jungle_leaves"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_leaves")), - ACACIA_LEAVES("minecraft:acacia_leaves", 64, Block.ACACIA_LEAVES), + ACACIA_LEAVES(NamespaceID.from("minecraft:acacia_leaves"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_leaves")), - DARK_OAK_LEAVES("minecraft:dark_oak_leaves", 64, Block.DARK_OAK_LEAVES), + DARK_OAK_LEAVES(NamespaceID.from("minecraft:dark_oak_leaves"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_leaves")), - SPONGE("minecraft:sponge", 64, Block.SPONGE), + SPONGE(NamespaceID.from("minecraft:sponge"), (byte) 64, () -> Registries.getBlock("minecraft:sponge")), - WET_SPONGE("minecraft:wet_sponge", 64, Block.WET_SPONGE), + WET_SPONGE(NamespaceID.from("minecraft:wet_sponge"), (byte) 64, () -> Registries.getBlock("minecraft:wet_sponge")), - GLASS("minecraft:glass", 64, Block.GLASS), + GLASS(NamespaceID.from("minecraft:glass"), (byte) 64, () -> Registries.getBlock("minecraft:glass")), - LAPIS_ORE("minecraft:lapis_ore", 64, Block.LAPIS_ORE), + LAPIS_ORE(NamespaceID.from("minecraft:lapis_ore"), (byte) 64, () -> Registries.getBlock("minecraft:lapis_ore")), - LAPIS_BLOCK("minecraft:lapis_block", 64, Block.LAPIS_BLOCK), + LAPIS_BLOCK(NamespaceID.from("minecraft:lapis_block"), (byte) 64, () -> Registries.getBlock("minecraft:lapis_block")), - DISPENSER("minecraft:dispenser", 64, Block.DISPENSER), + DISPENSER(NamespaceID.from("minecraft:dispenser"), (byte) 64, () -> Registries.getBlock("minecraft:dispenser")), - SANDSTONE("minecraft:sandstone", 64, Block.SANDSTONE), + SANDSTONE(NamespaceID.from("minecraft:sandstone"), (byte) 64, () -> Registries.getBlock("minecraft:sandstone")), - CHISELED_SANDSTONE("minecraft:chiseled_sandstone", 64, Block.CHISELED_SANDSTONE), + CHISELED_SANDSTONE(NamespaceID.from("minecraft:chiseled_sandstone"), (byte) 64, () -> Registries.getBlock("minecraft:chiseled_sandstone")), - CUT_SANDSTONE("minecraft:cut_sandstone", 64, Block.CUT_SANDSTONE), + CUT_SANDSTONE(NamespaceID.from("minecraft:cut_sandstone"), (byte) 64, () -> Registries.getBlock("minecraft:cut_sandstone")), - NOTE_BLOCK("minecraft:note_block", 64, Block.NOTE_BLOCK), + NOTE_BLOCK(NamespaceID.from("minecraft:note_block"), (byte) 64, () -> Registries.getBlock("minecraft:note_block")), - POWERED_RAIL("minecraft:powered_rail", 64, Block.POWERED_RAIL), + POWERED_RAIL(NamespaceID.from("minecraft:powered_rail"), (byte) 64, () -> Registries.getBlock("minecraft:powered_rail")), - DETECTOR_RAIL("minecraft:detector_rail", 64, Block.DETECTOR_RAIL), + DETECTOR_RAIL(NamespaceID.from("minecraft:detector_rail"), (byte) 64, () -> Registries.getBlock("minecraft:detector_rail")), - STICKY_PISTON("minecraft:sticky_piston", 64, Block.STICKY_PISTON), + STICKY_PISTON(NamespaceID.from("minecraft:sticky_piston"), (byte) 64, () -> Registries.getBlock("minecraft:sticky_piston")), - COBWEB("minecraft:cobweb", 64, Block.COBWEB), + COBWEB(NamespaceID.from("minecraft:cobweb"), (byte) 64, () -> Registries.getBlock("minecraft:cobweb")), - GRASS("minecraft:grass", 64, Block.GRASS), + GRASS(NamespaceID.from("minecraft:grass"), (byte) 64, () -> Registries.getBlock("minecraft:grass")), - FERN("minecraft:fern", 64, Block.FERN), + FERN(NamespaceID.from("minecraft:fern"), (byte) 64, () -> Registries.getBlock("minecraft:fern")), - DEAD_BUSH("minecraft:dead_bush", 64, Block.DEAD_BUSH), + DEAD_BUSH(NamespaceID.from("minecraft:dead_bush"), (byte) 64, () -> Registries.getBlock("minecraft:dead_bush")), - SEAGRASS("minecraft:seagrass", 64, Block.SEAGRASS), + SEAGRASS(NamespaceID.from("minecraft:seagrass"), (byte) 64, () -> Registries.getBlock("minecraft:seagrass")), - SEA_PICKLE("minecraft:sea_pickle", 64, Block.SEA_PICKLE), + SEA_PICKLE(NamespaceID.from("minecraft:sea_pickle"), (byte) 64, () -> Registries.getBlock("minecraft:sea_pickle")), - PISTON("minecraft:piston", 64, Block.PISTON), + PISTON(NamespaceID.from("minecraft:piston"), (byte) 64, () -> Registries.getBlock("minecraft:piston")), - WHITE_WOOL("minecraft:white_wool", 64, Block.WHITE_WOOL), + WHITE_WOOL(NamespaceID.from("minecraft:white_wool"), (byte) 64, () -> Registries.getBlock("minecraft:white_wool")), - ORANGE_WOOL("minecraft:orange_wool", 64, Block.ORANGE_WOOL), + ORANGE_WOOL(NamespaceID.from("minecraft:orange_wool"), (byte) 64, () -> Registries.getBlock("minecraft:orange_wool")), - MAGENTA_WOOL("minecraft:magenta_wool", 64, Block.MAGENTA_WOOL), + MAGENTA_WOOL(NamespaceID.from("minecraft:magenta_wool"), (byte) 64, () -> Registries.getBlock("minecraft:magenta_wool")), - LIGHT_BLUE_WOOL("minecraft:light_blue_wool", 64, Block.LIGHT_BLUE_WOOL), + LIGHT_BLUE_WOOL(NamespaceID.from("minecraft:light_blue_wool"), (byte) 64, () -> Registries.getBlock("minecraft:light_blue_wool")), - YELLOW_WOOL("minecraft:yellow_wool", 64, Block.YELLOW_WOOL), + YELLOW_WOOL(NamespaceID.from("minecraft:yellow_wool"), (byte) 64, () -> Registries.getBlock("minecraft:yellow_wool")), - LIME_WOOL("minecraft:lime_wool", 64, Block.LIME_WOOL), + LIME_WOOL(NamespaceID.from("minecraft:lime_wool"), (byte) 64, () -> Registries.getBlock("minecraft:lime_wool")), - PINK_WOOL("minecraft:pink_wool", 64, Block.PINK_WOOL), + PINK_WOOL(NamespaceID.from("minecraft:pink_wool"), (byte) 64, () -> Registries.getBlock("minecraft:pink_wool")), - GRAY_WOOL("minecraft:gray_wool", 64, Block.GRAY_WOOL), + GRAY_WOOL(NamespaceID.from("minecraft:gray_wool"), (byte) 64, () -> Registries.getBlock("minecraft:gray_wool")), - LIGHT_GRAY_WOOL("minecraft:light_gray_wool", 64, Block.LIGHT_GRAY_WOOL), + LIGHT_GRAY_WOOL(NamespaceID.from("minecraft:light_gray_wool"), (byte) 64, () -> Registries.getBlock("minecraft:light_gray_wool")), - CYAN_WOOL("minecraft:cyan_wool", 64, Block.CYAN_WOOL), + CYAN_WOOL(NamespaceID.from("minecraft:cyan_wool"), (byte) 64, () -> Registries.getBlock("minecraft:cyan_wool")), - PURPLE_WOOL("minecraft:purple_wool", 64, Block.PURPLE_WOOL), + PURPLE_WOOL(NamespaceID.from("minecraft:purple_wool"), (byte) 64, () -> Registries.getBlock("minecraft:purple_wool")), - BLUE_WOOL("minecraft:blue_wool", 64, Block.BLUE_WOOL), + BLUE_WOOL(NamespaceID.from("minecraft:blue_wool"), (byte) 64, () -> Registries.getBlock("minecraft:blue_wool")), - BROWN_WOOL("minecraft:brown_wool", 64, Block.BROWN_WOOL), + BROWN_WOOL(NamespaceID.from("minecraft:brown_wool"), (byte) 64, () -> Registries.getBlock("minecraft:brown_wool")), - GREEN_WOOL("minecraft:green_wool", 64, Block.GREEN_WOOL), + GREEN_WOOL(NamespaceID.from("minecraft:green_wool"), (byte) 64, () -> Registries.getBlock("minecraft:green_wool")), - RED_WOOL("minecraft:red_wool", 64, Block.RED_WOOL), + RED_WOOL(NamespaceID.from("minecraft:red_wool"), (byte) 64, () -> Registries.getBlock("minecraft:red_wool")), - BLACK_WOOL("minecraft:black_wool", 64, Block.BLACK_WOOL), + BLACK_WOOL(NamespaceID.from("minecraft:black_wool"), (byte) 64, () -> Registries.getBlock("minecraft:black_wool")), - DANDELION("minecraft:dandelion", 64, Block.DANDELION), + DANDELION(NamespaceID.from("minecraft:dandelion"), (byte) 64, () -> Registries.getBlock("minecraft:dandelion")), - POPPY("minecraft:poppy", 64, Block.POPPY), + POPPY(NamespaceID.from("minecraft:poppy"), (byte) 64, () -> Registries.getBlock("minecraft:poppy")), - BLUE_ORCHID("minecraft:blue_orchid", 64, Block.BLUE_ORCHID), + BLUE_ORCHID(NamespaceID.from("minecraft:blue_orchid"), (byte) 64, () -> Registries.getBlock("minecraft:blue_orchid")), - ALLIUM("minecraft:allium", 64, Block.ALLIUM), + ALLIUM(NamespaceID.from("minecraft:allium"), (byte) 64, () -> Registries.getBlock("minecraft:allium")), - AZURE_BLUET("minecraft:azure_bluet", 64, Block.AZURE_BLUET), + AZURE_BLUET(NamespaceID.from("minecraft:azure_bluet"), (byte) 64, () -> Registries.getBlock("minecraft:azure_bluet")), - RED_TULIP("minecraft:red_tulip", 64, Block.RED_TULIP), + RED_TULIP(NamespaceID.from("minecraft:red_tulip"), (byte) 64, () -> Registries.getBlock("minecraft:red_tulip")), - ORANGE_TULIP("minecraft:orange_tulip", 64, Block.ORANGE_TULIP), + ORANGE_TULIP(NamespaceID.from("minecraft:orange_tulip"), (byte) 64, () -> Registries.getBlock("minecraft:orange_tulip")), - WHITE_TULIP("minecraft:white_tulip", 64, Block.WHITE_TULIP), + WHITE_TULIP(NamespaceID.from("minecraft:white_tulip"), (byte) 64, () -> Registries.getBlock("minecraft:white_tulip")), - PINK_TULIP("minecraft:pink_tulip", 64, Block.PINK_TULIP), + PINK_TULIP(NamespaceID.from("minecraft:pink_tulip"), (byte) 64, () -> Registries.getBlock("minecraft:pink_tulip")), - OXEYE_DAISY("minecraft:oxeye_daisy", 64, Block.OXEYE_DAISY), + OXEYE_DAISY(NamespaceID.from("minecraft:oxeye_daisy"), (byte) 64, () -> Registries.getBlock("minecraft:oxeye_daisy")), - CORNFLOWER("minecraft:cornflower", 64, Block.CORNFLOWER), + CORNFLOWER(NamespaceID.from("minecraft:cornflower"), (byte) 64, () -> Registries.getBlock("minecraft:cornflower")), - LILY_OF_THE_VALLEY("minecraft:lily_of_the_valley", 64, Block.LILY_OF_THE_VALLEY), + LILY_OF_THE_VALLEY(NamespaceID.from("minecraft:lily_of_the_valley"), (byte) 64, () -> Registries.getBlock("minecraft:lily_of_the_valley")), - WITHER_ROSE("minecraft:wither_rose", 64, Block.WITHER_ROSE), + WITHER_ROSE(NamespaceID.from("minecraft:wither_rose"), (byte) 64, () -> Registries.getBlock("minecraft:wither_rose")), - BROWN_MUSHROOM("minecraft:brown_mushroom", 64, Block.BROWN_MUSHROOM), + BROWN_MUSHROOM(NamespaceID.from("minecraft:brown_mushroom"), (byte) 64, () -> Registries.getBlock("minecraft:brown_mushroom")), - RED_MUSHROOM("minecraft:red_mushroom", 64, Block.RED_MUSHROOM), + RED_MUSHROOM(NamespaceID.from("minecraft:red_mushroom"), (byte) 64, () -> Registries.getBlock("minecraft:red_mushroom")), - CRIMSON_FUNGUS("minecraft:crimson_fungus", 64, Block.CRIMSON_FUNGUS), + CRIMSON_FUNGUS(NamespaceID.from("minecraft:crimson_fungus"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_fungus")), - WARPED_FUNGUS("minecraft:warped_fungus", 64, Block.WARPED_FUNGUS), + WARPED_FUNGUS(NamespaceID.from("minecraft:warped_fungus"), (byte) 64, () -> Registries.getBlock("minecraft:warped_fungus")), - CRIMSON_ROOTS("minecraft:crimson_roots", 64, Block.CRIMSON_ROOTS), + CRIMSON_ROOTS(NamespaceID.from("minecraft:crimson_roots"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_roots")), - WARPED_ROOTS("minecraft:warped_roots", 64, Block.WARPED_ROOTS), + WARPED_ROOTS(NamespaceID.from("minecraft:warped_roots"), (byte) 64, () -> Registries.getBlock("minecraft:warped_roots")), - NETHER_SPROUTS("minecraft:nether_sprouts", 64, Block.NETHER_SPROUTS), + NETHER_SPROUTS(NamespaceID.from("minecraft:nether_sprouts"), (byte) 64, () -> Registries.getBlock("minecraft:nether_sprouts")), - WEEPING_VINES("minecraft:weeping_vines", 64, Block.WEEPING_VINES), + WEEPING_VINES(NamespaceID.from("minecraft:weeping_vines"), (byte) 64, () -> Registries.getBlock("minecraft:weeping_vines")), - TWISTING_VINES("minecraft:twisting_vines", 64, Block.TWISTING_VINES), + TWISTING_VINES(NamespaceID.from("minecraft:twisting_vines"), (byte) 64, () -> Registries.getBlock("minecraft:twisting_vines")), - SUGAR_CANE("minecraft:sugar_cane", 64, Block.SUGAR_CANE), + SUGAR_CANE(NamespaceID.from("minecraft:sugar_cane"), (byte) 64, () -> Registries.getBlock("minecraft:sugar_cane")), - KELP("minecraft:kelp", 64, Block.KELP), + KELP(NamespaceID.from("minecraft:kelp"), (byte) 64, () -> Registries.getBlock("minecraft:kelp")), - BAMBOO("minecraft:bamboo", 64, Block.BAMBOO), + BAMBOO(NamespaceID.from("minecraft:bamboo"), (byte) 64, () -> Registries.getBlock("minecraft:bamboo")), - GOLD_BLOCK("minecraft:gold_block", 64, Block.GOLD_BLOCK), + GOLD_BLOCK(NamespaceID.from("minecraft:gold_block"), (byte) 64, () -> Registries.getBlock("minecraft:gold_block")), - IRON_BLOCK("minecraft:iron_block", 64, Block.IRON_BLOCK), + IRON_BLOCK(NamespaceID.from("minecraft:iron_block"), (byte) 64, () -> Registries.getBlock("minecraft:iron_block")), - OAK_SLAB("minecraft:oak_slab", 64, Block.OAK_SLAB), + OAK_SLAB(NamespaceID.from("minecraft:oak_slab"), (byte) 64, () -> Registries.getBlock("minecraft:oak_slab")), - SPRUCE_SLAB("minecraft:spruce_slab", 64, Block.SPRUCE_SLAB), + SPRUCE_SLAB(NamespaceID.from("minecraft:spruce_slab"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_slab")), - BIRCH_SLAB("minecraft:birch_slab", 64, Block.BIRCH_SLAB), + BIRCH_SLAB(NamespaceID.from("minecraft:birch_slab"), (byte) 64, () -> Registries.getBlock("minecraft:birch_slab")), - JUNGLE_SLAB("minecraft:jungle_slab", 64, Block.JUNGLE_SLAB), + JUNGLE_SLAB(NamespaceID.from("minecraft:jungle_slab"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_slab")), - ACACIA_SLAB("minecraft:acacia_slab", 64, Block.ACACIA_SLAB), + ACACIA_SLAB(NamespaceID.from("minecraft:acacia_slab"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_slab")), - DARK_OAK_SLAB("minecraft:dark_oak_slab", 64, Block.DARK_OAK_SLAB), + DARK_OAK_SLAB(NamespaceID.from("minecraft:dark_oak_slab"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_slab")), - CRIMSON_SLAB("minecraft:crimson_slab", 64, Block.CRIMSON_SLAB), + CRIMSON_SLAB(NamespaceID.from("minecraft:crimson_slab"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_slab")), - WARPED_SLAB("minecraft:warped_slab", 64, Block.WARPED_SLAB), + WARPED_SLAB(NamespaceID.from("minecraft:warped_slab"), (byte) 64, () -> Registries.getBlock("minecraft:warped_slab")), - STONE_SLAB("minecraft:stone_slab", 64, Block.STONE_SLAB), + STONE_SLAB(NamespaceID.from("minecraft:stone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:stone_slab")), - SMOOTH_STONE_SLAB("minecraft:smooth_stone_slab", 64, Block.SMOOTH_STONE_SLAB), + SMOOTH_STONE_SLAB(NamespaceID.from("minecraft:smooth_stone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_stone_slab")), - SANDSTONE_SLAB("minecraft:sandstone_slab", 64, Block.SANDSTONE_SLAB), + SANDSTONE_SLAB(NamespaceID.from("minecraft:sandstone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:sandstone_slab")), - CUT_SANDSTONE_SLAB("minecraft:cut_sandstone_slab", 64, Block.CUT_SANDSTONE_SLAB), + CUT_STANDSTONE_SLAB(NamespaceID.from("minecraft:cut_sandstone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:cut_sandstone_slab")), - PETRIFIED_OAK_SLAB("minecraft:petrified_oak_slab", 64, Block.PETRIFIED_OAK_SLAB), + PETRIFIED_OAK_SLAB(NamespaceID.from("minecraft:petrified_oak_slab"), (byte) 64, () -> Registries.getBlock("minecraft:petrified_oak_slab")), - COBBLESTONE_SLAB("minecraft:cobblestone_slab", 64, Block.COBBLESTONE_SLAB), + COBBLESTONE_SLAB(NamespaceID.from("minecraft:cobblestone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:cobblestone_slab")), - BRICK_SLAB("minecraft:brick_slab", 64, Block.BRICK_SLAB), + BRICK_SLAB(NamespaceID.from("minecraft:brick_slab"), (byte) 64, () -> Registries.getBlock("minecraft:brick_slab")), - STONE_BRICK_SLAB("minecraft:stone_brick_slab", 64, Block.STONE_BRICK_SLAB), + STONE_BRICK_SLAB(NamespaceID.from("minecraft:stone_brick_slab"), (byte) 64, () -> Registries.getBlock("minecraft:stone_brick_slab")), - NETHER_BRICK_SLAB("minecraft:nether_brick_slab", 64, Block.NETHER_BRICK_SLAB), + NETHER_BRICK_SLAB(NamespaceID.from("minecraft:nether_brick_slab"), (byte) 64, () -> Registries.getBlock("minecraft:nether_brick_slab")), - QUARTZ_SLAB("minecraft:quartz_slab", 64, Block.QUARTZ_SLAB), + QUARTZ_SLAB(NamespaceID.from("minecraft:quartz_slab"), (byte) 64, () -> Registries.getBlock("minecraft:quartz_slab")), - RED_SANDSTONE_SLAB("minecraft:red_sandstone_slab", 64, Block.RED_SANDSTONE_SLAB), + RED_SANDSTONE_SLAB(NamespaceID.from("minecraft:red_sandstone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:red_sandstone_slab")), - CUT_RED_SANDSTONE_SLAB("minecraft:cut_red_sandstone_slab", 64, Block.CUT_RED_SANDSTONE_SLAB), + CUT_RED_SANDSTONE_SLAB(NamespaceID.from("minecraft:cut_red_sandstone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:cut_red_sandstone_slab")), - PURPUR_SLAB("minecraft:purpur_slab", 64, Block.PURPUR_SLAB), + PURPUR_SLAB(NamespaceID.from("minecraft:purpur_slab"), (byte) 64, () -> Registries.getBlock("minecraft:purpur_slab")), - PRISMARINE_SLAB("minecraft:prismarine_slab", 64, Block.PRISMARINE_SLAB), + PRISMARINE_SLAB(NamespaceID.from("minecraft:prismarine_slab"), (byte) 64, () -> Registries.getBlock("minecraft:prismarine_slab")), - PRISMARINE_BRICK_SLAB("minecraft:prismarine_brick_slab", 64, Block.PRISMARINE_BRICK_SLAB), + PRISMARINE_BRICK_SLAB(NamespaceID.from("minecraft:prismarine_brick_slab"), (byte) 64, () -> Registries.getBlock("minecraft:prismarine_brick_slab")), - DARK_PRISMARINE_SLAB("minecraft:dark_prismarine_slab", 64, Block.DARK_PRISMARINE_SLAB), + DARK_PRISMARINE_SLAB(NamespaceID.from("minecraft:dark_prismarine_slab"), (byte) 64, () -> Registries.getBlock("minecraft:dark_prismarine_slab")), - SMOOTH_QUARTZ("minecraft:smooth_quartz", 64, Block.SMOOTH_QUARTZ), + SMOOTH_QUARTZ(NamespaceID.from("minecraft:smooth_quartz"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_quartz")), - SMOOTH_RED_SANDSTONE("minecraft:smooth_red_sandstone", 64, Block.SMOOTH_RED_SANDSTONE), + SMOOTH_RED_SANDSTONE(NamespaceID.from("minecraft:smooth_red_sandstone"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_red_sandstone")), - SMOOTH_SANDSTONE("minecraft:smooth_sandstone", 64, Block.SMOOTH_SANDSTONE), + SMOOTH_SANDSTONE(NamespaceID.from("minecraft:smooth_sandstone"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_sandstone")), - SMOOTH_STONE("minecraft:smooth_stone", 64, Block.SMOOTH_STONE), + SMOOTH_STONE(NamespaceID.from("minecraft:smooth_stone"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_stone")), - BRICKS("minecraft:bricks", 64, Block.BRICKS), + BRICKS(NamespaceID.from("minecraft:bricks"), (byte) 64, () -> Registries.getBlock("minecraft:bricks")), - TNT("minecraft:tnt", 64, Block.TNT), + TNT(NamespaceID.from("minecraft:tnt"), (byte) 64, () -> Registries.getBlock("minecraft:tnt")), - BOOKSHELF("minecraft:bookshelf", 64, Block.BOOKSHELF), + BOOKSHELF(NamespaceID.from("minecraft:bookshelf"), (byte) 64, () -> Registries.getBlock("minecraft:bookshelf")), - MOSSY_COBBLESTONE("minecraft:mossy_cobblestone", 64, Block.MOSSY_COBBLESTONE), + MOSSY_COBBLESTONE(NamespaceID.from("minecraft:mossy_cobblestone"), (byte) 64, () -> Registries.getBlock("minecraft:mossy_cobblestone")), - OBSIDIAN("minecraft:obsidian", 64, Block.OBSIDIAN), + OBSIDIAN(NamespaceID.from("minecraft:obsidian"), (byte) 64, () -> Registries.getBlock("minecraft:obsidian")), - TORCH("minecraft:torch", 64, Block.TORCH), + TORCH(NamespaceID.from("minecraft:torch"), (byte) 64, () -> Registries.getBlock("minecraft:torch")), - END_ROD("minecraft:end_rod", 64, Block.END_ROD), + END_ROD(NamespaceID.from("minecraft:end_rod"), (byte) 64, () -> Registries.getBlock("minecraft:end_rod")), - CHORUS_PLANT("minecraft:chorus_plant", 64, Block.CHORUS_PLANT), + CHORUS_PLANT(NamespaceID.from("minecraft:chorus_plant"), (byte) 64, () -> Registries.getBlock("minecraft:chorus_plant")), - CHORUS_FLOWER("minecraft:chorus_flower", 64, Block.CHORUS_FLOWER), + CHORUS_FLOWER(NamespaceID.from("minecraft:chorus_flower"), (byte) 64, () -> Registries.getBlock("minecraft:chorus_flower")), - PURPUR_BLOCK("minecraft:purpur_block", 64, Block.PURPUR_BLOCK), + PURPUR_BLOCK(NamespaceID.from("minecraft:purpur_block"), (byte) 64, () -> Registries.getBlock("minecraft:purpur_block")), - PURPUR_PILLAR("minecraft:purpur_pillar", 64, Block.PURPUR_PILLAR), + PURPUR_PILLAR(NamespaceID.from("minecraft:purpur_pillar"), (byte) 64, () -> Registries.getBlock("minecraft:purpur_pillar")), - PURPUR_STAIRS("minecraft:purpur_stairs", 64, Block.PURPUR_STAIRS), + PURPUR_STAIRS(NamespaceID.from("minecraft:purpur_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:purpur_stairs")), - SPAWNER("minecraft:spawner", 64, Block.SPAWNER), + SPAWNER(NamespaceID.from("minecraft:spawner"), (byte) 64, () -> Registries.getBlock("minecraft:spawner")), - OAK_STAIRS("minecraft:oak_stairs", 64, Block.OAK_STAIRS), + OAK_STAIRS(NamespaceID.from("minecraft:oak_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:oak_stairs")), - CHEST("minecraft:chest", 64, Block.CHEST), + CHEST(NamespaceID.from("minecraft:chest"), (byte) 64, () -> Registries.getBlock("minecraft:chest")), - DIAMOND_ORE("minecraft:diamond_ore", 64, Block.DIAMOND_ORE), + DIAMOND_ORE(NamespaceID.from("minecraft:diamond_ore"), (byte) 64, () -> Registries.getBlock("minecraft:diamond_ore")), - DIAMOND_BLOCK("minecraft:diamond_block", 64, Block.DIAMOND_BLOCK), + DIAMOND_BLOCK(NamespaceID.from("minecraft:diamond_block"), (byte) 64, () -> Registries.getBlock("minecraft:diamond_block")), - CRAFTING_TABLE("minecraft:crafting_table", 64, Block.CRAFTING_TABLE), + CRAFTING_TABLE(NamespaceID.from("minecraft:crafting_table"), (byte) 64, () -> Registries.getBlock("minecraft:crafting_table")), - FARMLAND("minecraft:farmland", 64, Block.FARMLAND), + FARMLAND(NamespaceID.from("minecraft:farmland"), (byte) 64, () -> Registries.getBlock("minecraft:farmland")), - FURNACE("minecraft:furnace", 64, Block.FURNACE), + FURNACE(NamespaceID.from("minecraft:furnace"), (byte) 64, () -> Registries.getBlock("minecraft:furnace")), - LADDER("minecraft:ladder", 64, Block.LADDER), + LADDER(NamespaceID.from("minecraft:ladder"), (byte) 64, () -> Registries.getBlock("minecraft:ladder")), - RAIL("minecraft:rail", 64, Block.RAIL), + RAIL(NamespaceID.from("minecraft:rail"), (byte) 64, () -> Registries.getBlock("minecraft:rail")), - COBBLESTONE_STAIRS("minecraft:cobblestone_stairs", 64, Block.COBBLESTONE_STAIRS), + COBBLESTONE_STAIRS(NamespaceID.from("minecraft:cobblestone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:cobblestone_stairs")), - LEVER("minecraft:lever", 64, Block.LEVER), + LEVER(NamespaceID.from("minecraft:lever"), (byte) 64, () -> Registries.getBlock("minecraft:lever")), - STONE_PRESSURE_PLATE("minecraft:stone_pressure_plate", 64, Block.STONE_PRESSURE_PLATE), + STONE_PRESSURE_PLATE(NamespaceID.from("minecraft:stone_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:stone_pressure_plate")), - OAK_PRESSURE_PLATE("minecraft:oak_pressure_plate", 64, Block.OAK_PRESSURE_PLATE), + OAK_PRESSURE_PLATE(NamespaceID.from("minecraft:oak_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:oak_pressure_plate")), - SPRUCE_PRESSURE_PLATE("minecraft:spruce_pressure_plate", 64, Block.SPRUCE_PRESSURE_PLATE), + SPRUCE_PRESSURE_PLATE(NamespaceID.from("minecraft:spruce_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_pressure_plate")), - BIRCH_PRESSURE_PLATE("minecraft:birch_pressure_plate", 64, Block.BIRCH_PRESSURE_PLATE), + BIRCH_PRESSURE_PLATE(NamespaceID.from("minecraft:birch_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:birch_pressure_plate")), - JUNGLE_PRESSURE_PLATE("minecraft:jungle_pressure_plate", 64, Block.JUNGLE_PRESSURE_PLATE), + JUNGLE_PRESSURE_PLATE(NamespaceID.from("minecraft:jungle_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_pressure_plate")), - ACACIA_PRESSURE_PLATE("minecraft:acacia_pressure_plate", 64, Block.ACACIA_PRESSURE_PLATE), + ACACIA_PRESSURE_PLATE(NamespaceID.from("minecraft:acacia_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_pressure_plate")), - DARK_OAK_PRESSURE_PLATE("minecraft:dark_oak_pressure_plate", 64, Block.DARK_OAK_PRESSURE_PLATE), + DARK_OAK_PRESSURE_PLATE(NamespaceID.from("minecraft:dark_oak_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_pressure_plate")), - CRIMSON_PRESSURE_PLATE("minecraft:crimson_pressure_plate", 64, Block.CRIMSON_PRESSURE_PLATE), + CRIMSON_PRESSURE_PLATE(NamespaceID.from("minecraft:crimson_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_pressure_plate")), - WARPED_PRESSURE_PLATE("minecraft:warped_pressure_plate", 64, Block.WARPED_PRESSURE_PLATE), + WARPED_PRESSURE_PLATE(NamespaceID.from("minecraft:warped_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:warped_pressure_plate")), - POLISHED_BLACKSTONE_PRESSURE_PLATE("minecraft:polished_blackstone_pressure_plate", 64, Block.POLISHED_BLACKSTONE_PRESSURE_PLATE), + POLISHED_BLACKSTONE_PRESSURE_PLATE(NamespaceID.from("minecraft:polished_blackstone_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_pressure_plate")), - REDSTONE_ORE("minecraft:redstone_ore", 64, Block.REDSTONE_ORE), + REDSTONE_ORE(NamespaceID.from("minecraft:redstone_ore"), (byte) 64, () -> Registries.getBlock("minecraft:redstone_ore")), - REDSTONE_TORCH("minecraft:redstone_torch", 64, Block.REDSTONE_TORCH), + REDSTONE_TORCH(NamespaceID.from("minecraft:redstone_torch"), (byte) 64, () -> Registries.getBlock("minecraft:redstone_torch")), - SNOW("minecraft:snow", 64, Block.SNOW), + SNOW(NamespaceID.from("minecraft:snow"), (byte) 64, () -> Registries.getBlock("minecraft:snow")), - ICE("minecraft:ice", 64, Block.ICE), + ICE(NamespaceID.from("minecraft:ice"), (byte) 64, () -> Registries.getBlock("minecraft:ice")), - SNOW_BLOCK("minecraft:snow_block", 64, Block.SNOW_BLOCK), + SNOW_BLOCK(NamespaceID.from("minecraft:snow_block"), (byte) 64, () -> Registries.getBlock("minecraft:snow_block")), - CACTUS("minecraft:cactus", 64, Block.CACTUS), + CACTUS(NamespaceID.from("minecraft:cactus"), (byte) 64, () -> Registries.getBlock("minecraft:cactus")), - CLAY("minecraft:clay", 64, Block.CLAY), + CLAY(NamespaceID.from("minecraft:clay"), (byte) 64, () -> Registries.getBlock("minecraft:clay")), - JUKEBOX("minecraft:jukebox", 64, Block.JUKEBOX), + JUKEBOX(NamespaceID.from("minecraft:jukebox"), (byte) 64, () -> Registries.getBlock("minecraft:jukebox")), - OAK_FENCE("minecraft:oak_fence", 64, Block.OAK_FENCE), + OAK_FENCE(NamespaceID.from("minecraft:oak_fence"), (byte) 64, () -> Registries.getBlock("minecraft:oak_fence")), - SPRUCE_FENCE("minecraft:spruce_fence", 64, Block.SPRUCE_FENCE), + SPRUCE_FENCE(NamespaceID.from("minecraft:spruce_fence"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_fence")), - BIRCH_FENCE("minecraft:birch_fence", 64, Block.BIRCH_FENCE), + BIRCH_FENCE(NamespaceID.from("minecraft:birch_fence"), (byte) 64, () -> Registries.getBlock("minecraft:birch_fence")), - JUNGLE_FENCE("minecraft:jungle_fence", 64, Block.JUNGLE_FENCE), + JUNGLE_FENCE(NamespaceID.from("minecraft:jungle_fence"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_fence")), - ACACIA_FENCE("minecraft:acacia_fence", 64, Block.ACACIA_FENCE), + ACACIA_FENCE(NamespaceID.from("minecraft:acacia_fence"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_fence")), - DARK_OAK_FENCE("minecraft:dark_oak_fence", 64, Block.DARK_OAK_FENCE), + DARK_OAK_FENCE(NamespaceID.from("minecraft:dark_oak_fence"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_fence")), - CRIMSON_FENCE("minecraft:crimson_fence", 64, Block.CRIMSON_FENCE), + CRIMSON_FENCE(NamespaceID.from("minecraft:crimson_fence"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_fence")), - WARPED_FENCE("minecraft:warped_fence", 64, Block.WARPED_FENCE), + WARPED_FENCE(NamespaceID.from("minecraft:warped_fence"), (byte) 64, () -> Registries.getBlock("minecraft:warped_fence")), - PUMPKIN("minecraft:pumpkin", 64, Block.PUMPKIN), + PUMPKIN(NamespaceID.from("minecraft:pumpkin"), (byte) 64, () -> Registries.getBlock("minecraft:pumpkin")), - CARVED_PUMPKIN("minecraft:carved_pumpkin", 64, Block.CARVED_PUMPKIN), + CARVED_PUMPKIN(NamespaceID.from("minecraft:carved_pumpkin"), (byte) 64, () -> Registries.getBlock("minecraft:carved_pumpkin")), - NETHERRACK("minecraft:netherrack", 64, Block.NETHERRACK), + NETHERRACK(NamespaceID.from("minecraft:netherrack"), (byte) 64, () -> Registries.getBlock("minecraft:netherrack")), - SOUL_SAND("minecraft:soul_sand", 64, Block.SOUL_SAND), + SOUL_SAND(NamespaceID.from("minecraft:soul_sand"), (byte) 64, () -> Registries.getBlock("minecraft:soul_sand")), - SOUL_SOIL("minecraft:soul_soil", 64, Block.SOUL_SOIL), + SOUL_SOIL(NamespaceID.from("minecraft:soul_soil"), (byte) 64, () -> Registries.getBlock("minecraft:soul_soil")), - BASALT("minecraft:basalt", 64, Block.BASALT), + BASALT(NamespaceID.from("minecraft:basalt"), (byte) 64, () -> Registries.getBlock("minecraft:basalt")), - POLISHED_BASALT("minecraft:polished_basalt", 64, Block.POLISHED_BASALT), + POLISHED_BASALT(NamespaceID.from("minecraft:polished_basalt"), (byte) 64, () -> Registries.getBlock("minecraft:polished_basalt")), - SOUL_TORCH("minecraft:soul_torch", 64, Block.SOUL_TORCH), + SOUL_TORCH(NamespaceID.from("minecraft:soul_torch"), (byte) 64, () -> Registries.getBlock("minecraft:soul_torch")), - GLOWSTONE("minecraft:glowstone", 64, Block.GLOWSTONE), + GLOWSTONE(NamespaceID.from("minecraft:glowstone"), (byte) 64, () -> Registries.getBlock("minecraft:glowstone")), - JACK_O_LANTERN("minecraft:jack_o_lantern", 64, Block.JACK_O_LANTERN), + JACK_O_LANTERN(NamespaceID.from("minecraft:jack_o_lantern"), (byte) 64, () -> Registries.getBlock("minecraft:jack_o_lantern")), - OAK_TRAPDOOR("minecraft:oak_trapdoor", 64, Block.OAK_TRAPDOOR), + OAK_TRAPDOOR(NamespaceID.from("minecraft:oak_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:oak_trapdoor")), - SPRUCE_TRAPDOOR("minecraft:spruce_trapdoor", 64, Block.SPRUCE_TRAPDOOR), + SPRUCE_TRAPDOOR(NamespaceID.from("minecraft:spruce_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_trapdoor")), - BIRCH_TRAPDOOR("minecraft:birch_trapdoor", 64, Block.BIRCH_TRAPDOOR), + BIRCH_TRAPDOOR(NamespaceID.from("minecraft:birch_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:birch_trapdoor")), - JUNGLE_TRAPDOOR("minecraft:jungle_trapdoor", 64, Block.JUNGLE_TRAPDOOR), + JUNGLE_TRAPDOOR(NamespaceID.from("minecraft:jungle_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_trapdoor")), - ACACIA_TRAPDOOR("minecraft:acacia_trapdoor", 64, Block.ACACIA_TRAPDOOR), + ACACIA_TRAPDOOR(NamespaceID.from("minecraft:acacia_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_trapdoor")), - DARK_OAK_TRAPDOOR("minecraft:dark_oak_trapdoor", 64, Block.DARK_OAK_TRAPDOOR), + DARK_OAK_TRAPDOOR(NamespaceID.from("minecraft:dark_oak_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_trapdoor")), - CRIMSON_TRAPDOOR("minecraft:crimson_trapdoor", 64, Block.CRIMSON_TRAPDOOR), + CRIMSON_TRAPDOOR(NamespaceID.from("minecraft:crimson_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_trapdoor")), - WARPED_TRAPDOOR("minecraft:warped_trapdoor", 64, Block.WARPED_TRAPDOOR), + WARPED_TRAPDOOR(NamespaceID.from("minecraft:warped_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:warped_trapdoor")), - INFESTED_STONE("minecraft:infested_stone", 64, Block.INFESTED_STONE), + INFESTED_STONE(NamespaceID.from("minecraft:infested_stone"), (byte) 64, () -> Registries.getBlock("minecraft:infested_stone")), - INFESTED_COBBLESTONE("minecraft:infested_cobblestone", 64, Block.INFESTED_COBBLESTONE), + INFESTED_COBBLESTONE(NamespaceID.from("minecraft:infested_cobblestone"), (byte) 64, () -> Registries.getBlock("minecraft:infested_cobblestone")), - INFESTED_STONE_BRICKS("minecraft:infested_stone_bricks", 64, Block.INFESTED_STONE_BRICKS), + INFESTED_STONE_BRICKS(NamespaceID.from("minecraft:infested_stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:infested_stone_bricks")), - INFESTED_MOSSY_STONE_BRICKS("minecraft:infested_mossy_stone_bricks", 64, Block.INFESTED_MOSSY_STONE_BRICKS), + INFESTED_MOSSY_STONE_BRICKS(NamespaceID.from("minecraft:infested_mossy_stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:infested_mossy_stone_bricks")), - INFESTED_CRACKED_STONE_BRICKS("minecraft:infested_cracked_stone_bricks", 64, Block.INFESTED_CRACKED_STONE_BRICKS), + INFESTED_CRACKED_STONE_BRICKS(NamespaceID.from("minecraft:infested_cracked_stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:infested_cracked_stone_bricks")), - INFESTED_CHISELED_STONE_BRICKS("minecraft:infested_chiseled_stone_bricks", 64, Block.INFESTED_CHISELED_STONE_BRICKS), + INFESTED_CHISELED_STONE_BRICKS(NamespaceID.from("minecraft:infested_chiseled_stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:infested_chiseled_stone_bricks")), - STONE_BRICKS("minecraft:stone_bricks", 64, Block.STONE_BRICKS), + STONE_BRICKS(NamespaceID.from("minecraft:stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:stone_bricks")), - MOSSY_STONE_BRICKS("minecraft:mossy_stone_bricks", 64, Block.MOSSY_STONE_BRICKS), + MOSSY_STONE_BRICKS(NamespaceID.from("minecraft:mossy_stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:mossy_stone_bricks")), - CRACKED_STONE_BRICKS("minecraft:cracked_stone_bricks", 64, Block.CRACKED_STONE_BRICKS), + CRACKED_STONE_BRICKS(NamespaceID.from("minecraft:cracked_stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:cracked_stone_bricks")), - CHISELED_STONE_BRICKS("minecraft:chiseled_stone_bricks", 64, Block.CHISELED_STONE_BRICKS), + CHISELED_STONE_BRICKS(NamespaceID.from("minecraft:chiseled_stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:chiseled_stone_bricks")), - BROWN_MUSHROOM_BLOCK("minecraft:brown_mushroom_block", 64, Block.BROWN_MUSHROOM_BLOCK), + BROWN_MUSHROOM_BLOCK(NamespaceID.from("minecraft:brown_mushroom_block"), (byte) 64, () -> Registries.getBlock("minecraft:brown_mushroom_block")), - RED_MUSHROOM_BLOCK("minecraft:red_mushroom_block", 64, Block.RED_MUSHROOM_BLOCK), + RED_MUSHROOM_BLOCK(NamespaceID.from("minecraft:red_mushroom_block"), (byte) 64, () -> Registries.getBlock("minecraft:red_mushroom_block")), - MUSHROOM_STEM("minecraft:mushroom_stem", 64, Block.MUSHROOM_STEM), + MUSHROOM_STEM(NamespaceID.from("minecraft:mushroom_stem"), (byte) 64, () -> Registries.getBlock("minecraft:mushroom_stem")), - IRON_BARS("minecraft:iron_bars", 64, Block.IRON_BARS), + IRON_BARS(NamespaceID.from("minecraft:iron_bars"), (byte) 64, () -> Registries.getBlock("minecraft:iron_bars")), - CHAIN("minecraft:chain", 64, Block.CHAIN), + CHAIN(NamespaceID.from("minecraft:chain"), (byte) 64, () -> Registries.getBlock("minecraft:chain")), - GLASS_PANE("minecraft:glass_pane", 64, Block.GLASS_PANE), + GLASS_PANE(NamespaceID.from("minecraft:glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:glass_pane")), - MELON("minecraft:melon", 64, Block.MELON), + MELON(NamespaceID.from("minecraft:melon"), (byte) 64, () -> Registries.getBlock("minecraft:melon")), - VINE("minecraft:vine", 64, Block.VINE), + VINE(NamespaceID.from("minecraft:vine"), (byte) 64, () -> Registries.getBlock("minecraft:vine")), - OAK_FENCE_GATE("minecraft:oak_fence_gate", 64, Block.OAK_FENCE_GATE), + OAK_FENCE_GATE(NamespaceID.from("minecraft:oak_fence_gate"), (byte) 64, () -> Registries.getBlock("minecraft:oak_fence_gate")), - SPRUCE_FENCE_GATE("minecraft:spruce_fence_gate", 64, Block.SPRUCE_FENCE_GATE), + SPRUCE_FENCE_GATE(NamespaceID.from("minecraft:spruce_fence_gate"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_fence_gate")), - BIRCH_FENCE_GATE("minecraft:birch_fence_gate", 64, Block.BIRCH_FENCE_GATE), + BIRCH_FENCE_GATE(NamespaceID.from("minecraft:birch_fence_gate"), (byte) 64, () -> Registries.getBlock("minecraft:birch_fence_gate")), - JUNGLE_FENCE_GATE("minecraft:jungle_fence_gate", 64, Block.JUNGLE_FENCE_GATE), + JUNGLE_FENCE_GATE(NamespaceID.from("minecraft:jungle_fence_gate"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_fence_gate")), - ACACIA_FENCE_GATE("minecraft:acacia_fence_gate", 64, Block.ACACIA_FENCE_GATE), + ACACIA_FENCE_GATE(NamespaceID.from("minecraft:acacia_fence_gate"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_fence_gate")), - DARK_OAK_FENCE_GATE("minecraft:dark_oak_fence_gate", 64, Block.DARK_OAK_FENCE_GATE), + DARK_OAK_FENCE_GATE(NamespaceID.from("minecraft:dark_oak_fence_gate"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_fence_gate")), - CRIMSON_FENCE_GATE("minecraft:crimson_fence_gate", 64, Block.CRIMSON_FENCE_GATE), + CRIMSON_FENCE_GATE(NamespaceID.from("minecraft:crimson_fence_gate"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_fence_gate")), - WARPED_FENCE_GATE("minecraft:warped_fence_gate", 64, Block.WARPED_FENCE_GATE), + WARPED_FENCE_GATE(NamespaceID.from("minecraft:warped_fence_gate"), (byte) 64, () -> Registries.getBlock("minecraft:warped_fence_gate")), - BRICK_STAIRS("minecraft:brick_stairs", 64, Block.BRICK_STAIRS), + BRICK_STAIRS(NamespaceID.from("minecraft:brick_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:brick_stairs")), - STONE_BRICK_STAIRS("minecraft:stone_brick_stairs", 64, Block.STONE_BRICK_STAIRS), + STONE_BRICK_STAIRS(NamespaceID.from("minecraft:stone_brick_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:stone_brick_stairs")), - MYCELIUM("minecraft:mycelium", 64, Block.MYCELIUM), + MYCELIUM(NamespaceID.from("minecraft:mycelium"), (byte) 64, () -> Registries.getBlock("minecraft:mycelium")), - LILY_PAD("minecraft:lily_pad", 64, Block.LILY_PAD), + LILY_PAD(NamespaceID.from("minecraft:lily_pad"), (byte) 64, () -> Registries.getBlock("minecraft:lily_pad")), - NETHER_BRICKS("minecraft:nether_bricks", 64, Block.NETHER_BRICKS), + NETHER_BRICKS(NamespaceID.from("minecraft:nether_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:nether_bricks")), - CRACKED_NETHER_BRICKS("minecraft:cracked_nether_bricks", 64, Block.CRACKED_NETHER_BRICKS), + CRACKED_NETHER_BRICKS(NamespaceID.from("minecraft:cracked_nether_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:cracked_nether_bricks")), - CHISELED_NETHER_BRICKS("minecraft:chiseled_nether_bricks", 64, Block.CHISELED_NETHER_BRICKS), + CHISELED_NETHER_BRICKS(NamespaceID.from("minecraft:chiseled_nether_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:chiseled_nether_bricks")), - NETHER_BRICK_FENCE("minecraft:nether_brick_fence", 64, Block.NETHER_BRICK_FENCE), + NETHER_BRICK_FENCE(NamespaceID.from("minecraft:nether_brick_fence"), (byte) 64, () -> Registries.getBlock("minecraft:nether_brick_fence")), - NETHER_BRICK_STAIRS("minecraft:nether_brick_stairs", 64, Block.NETHER_BRICK_STAIRS), + NETHER_BRICK_STAIRS(NamespaceID.from("minecraft:nether_brick_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:nether_brick_stairs")), - ENCHANTING_TABLE("minecraft:enchanting_table", 64, Block.ENCHANTING_TABLE), + ENCHANTING_TABLE(NamespaceID.from("minecraft:enchanting_table"), (byte) 64, () -> Registries.getBlock("minecraft:enchanting_table")), - END_PORTAL_FRAME("minecraft:end_portal_frame", 64, Block.END_PORTAL_FRAME), + END_PORTAL_FRAME(NamespaceID.from("minecraft:end_portal_frame"), (byte) 64, () -> Registries.getBlock("minecraft:end_portal_frame")), - END_STONE("minecraft:end_stone", 64, Block.END_STONE), + END_STONE(NamespaceID.from("minecraft:end_stone"), (byte) 64, () -> Registries.getBlock("minecraft:end_stone")), - END_STONE_BRICKS("minecraft:end_stone_bricks", 64, Block.END_STONE_BRICKS), + END_STONE_BRICKS(NamespaceID.from("minecraft:end_stone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:end_stone_bricks")), - DRAGON_EGG("minecraft:dragon_egg", 64, Block.DRAGON_EGG), + DRAGON_EGG(NamespaceID.from("minecraft:dragon_egg"), (byte) 64, () -> Registries.getBlock("minecraft:dragon_egg")), - REDSTONE_LAMP("minecraft:redstone_lamp", 64, Block.REDSTONE_LAMP), + REDSTONE_LAMP(NamespaceID.from("minecraft:redstone_lamp"), (byte) 64, () -> Registries.getBlock("minecraft:redstone_lamp")), - SANDSTONE_STAIRS("minecraft:sandstone_stairs", 64, Block.SANDSTONE_STAIRS), + SANDSTONE_STAIRS(NamespaceID.from("minecraft:sandstone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:sandstone_stairs")), - EMERALD_ORE("minecraft:emerald_ore", 64, Block.EMERALD_ORE), + EMERALD_ORE(NamespaceID.from("minecraft:emerald_ore"), (byte) 64, () -> Registries.getBlock("minecraft:emerald_ore")), - ENDER_CHEST("minecraft:ender_chest", 64, Block.ENDER_CHEST), + ENDER_CHEST(NamespaceID.from("minecraft:ender_chest"), (byte) 64, () -> Registries.getBlock("minecraft:ender_chest")), - TRIPWIRE_HOOK("minecraft:tripwire_hook", 64, Block.TRIPWIRE_HOOK), + TRIPWIRE_HOOK(NamespaceID.from("minecraft:tripwire_hook"), (byte) 64, () -> Registries.getBlock("minecraft:tripwire_hook")), - EMERALD_BLOCK("minecraft:emerald_block", 64, Block.EMERALD_BLOCK), + EMERALD_BLOCK(NamespaceID.from("minecraft:emerald_block"), (byte) 64, () -> Registries.getBlock("minecraft:emerald_block")), - SPRUCE_STAIRS("minecraft:spruce_stairs", 64, Block.SPRUCE_STAIRS), + SPRUCE_STAIRS(NamespaceID.from("minecraft:spruce_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_stairs")), - BIRCH_STAIRS("minecraft:birch_stairs", 64, Block.BIRCH_STAIRS), + BIRCH_STAIRS(NamespaceID.from("minecraft:birch_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:birch_stairs")), - JUNGLE_STAIRS("minecraft:jungle_stairs", 64, Block.JUNGLE_STAIRS), + JUNGLE_STAIRS(NamespaceID.from("minecraft:jungle_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_stairs")), - CRIMSON_STAIRS("minecraft:crimson_stairs", 64, Block.CRIMSON_STAIRS), + CRIMSON_STAIRS(NamespaceID.from("minecraft:crimson_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_stairs")), - WARPED_STAIRS("minecraft:warped_stairs", 64, Block.WARPED_STAIRS), + WARPED_STAIRS(NamespaceID.from("minecraft:warped_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:warped_stairs")), - COMMAND_BLOCK("minecraft:command_block", 64, Block.COMMAND_BLOCK), + COMMAND_BLOCK(NamespaceID.from("minecraft:command_block"), (byte) 64, () -> Registries.getBlock("minecraft:command_block")), - BEACON("minecraft:beacon", 64, Block.BEACON), + BEACON(NamespaceID.from("minecraft:beacon"), (byte) 64, () -> Registries.getBlock("minecraft:beacon")), - COBBLESTONE_WALL("minecraft:cobblestone_wall", 64, Block.COBBLESTONE_WALL), + COBBLESTONE_WALL(NamespaceID.from("minecraft:cobblestone_wall"), (byte) 64, () -> Registries.getBlock("minecraft:cobblestone_wall")), - MOSSY_COBBLESTONE_WALL("minecraft:mossy_cobblestone_wall", 64, Block.MOSSY_COBBLESTONE_WALL), + MOSSY_COBBLESTONE_WALL(NamespaceID.from("minecraft:mossy_cobblestone_wall"), (byte) 64, () -> Registries.getBlock("minecraft:mossy_cobblestone_wall")), - BRICK_WALL("minecraft:brick_wall", 64, Block.BRICK_WALL), + BRICK_WALL(NamespaceID.from("minecraft:brick_wall"), (byte) 64, () -> Registries.getBlock("minecraft:brick_wall")), - PRISMARINE_WALL("minecraft:prismarine_wall", 64, Block.PRISMARINE_WALL), + PRISMARINE_WALL(NamespaceID.from("minecraft:prismarine_wall"), (byte) 64, () -> Registries.getBlock("minecraft:prismarine_wall")), - RED_SANDSTONE_WALL("minecraft:red_sandstone_wall", 64, Block.RED_SANDSTONE_WALL), + RED_SANDSTONE_WALL(NamespaceID.from("minecraft:red_sandstone_wall"), (byte) 64, () -> Registries.getBlock("minecraft:red_sandstone_wall")), - MOSSY_STONE_BRICK_WALL("minecraft:mossy_stone_brick_wall", 64, Block.MOSSY_STONE_BRICK_WALL), + MOSSY_STONE_BRICK_WALL(NamespaceID.from("minecraft:mossy_stone_brick_wall"), (byte) 64, () -> Registries.getBlock("minecraft:mossy_stone_brick_wall")), - GRANITE_WALL("minecraft:granite_wall", 64, Block.GRANITE_WALL), + GRANITE_WALL(NamespaceID.from("minecraft:granite_wall"), (byte) 64, () -> Registries.getBlock("minecraft:granite_wall")), - STONE_BRICK_WALL("minecraft:stone_brick_wall", 64, Block.STONE_BRICK_WALL), + STONE_BRICK_WALL(NamespaceID.from("minecraft:stone_brick_wall"), (byte) 64, () -> Registries.getBlock("minecraft:stone_brick_wall")), - NETHER_BRICK_WALL("minecraft:nether_brick_wall", 64, Block.NETHER_BRICK_WALL), + NETHER_BRICK_WALL(NamespaceID.from("minecraft:nether_brick_wall"), (byte) 64, () -> Registries.getBlock("minecraft:nether_brick_wall")), - ANDESITE_WALL("minecraft:andesite_wall", 64, Block.ANDESITE_WALL), + ANDESITE_WALL(NamespaceID.from("minecraft:andesite_wall"), (byte) 64, () -> Registries.getBlock("minecraft:andesite_wall")), - RED_NETHER_BRICK_WALL("minecraft:red_nether_brick_wall", 64, Block.RED_NETHER_BRICK_WALL), + RED_NETHER_BRICK_WALL(NamespaceID.from("minecraft:red_nether_brick_wall"), (byte) 64, () -> Registries.getBlock("minecraft:red_nether_brick_wall")), - SANDSTONE_WALL("minecraft:sandstone_wall", 64, Block.SANDSTONE_WALL), + SANDSTONE_WALL(NamespaceID.from("minecraft:sandstone_wall"), (byte) 64, () -> Registries.getBlock("minecraft:sandstone_wall")), - END_STONE_BRICK_WALL("minecraft:end_stone_brick_wall", 64, Block.END_STONE_BRICK_WALL), + END_STONE_BRICK_WALL(NamespaceID.from("minecraft:end_stone_brick_wall"), (byte) 64, () -> Registries.getBlock("minecraft:end_stone_brick_wall")), - DIORITE_WALL("minecraft:diorite_wall", 64, Block.DIORITE_WALL), + DIORITE_WALL(NamespaceID.from("minecraft:diorite_wall"), (byte) 64, () -> Registries.getBlock("minecraft:diorite_wall")), - BLACKSTONE_WALL("minecraft:blackstone_wall", 64, Block.BLACKSTONE_WALL), + BLACKSTONE_WALL(NamespaceID.from("minecraft:blackstone_wall"), (byte) 64, () -> Registries.getBlock("minecraft:blackstone_wall")), - POLISHED_BLACKSTONE_WALL("minecraft:polished_blackstone_wall", 64, Block.POLISHED_BLACKSTONE_WALL), + POLISHED_BLACKSTONE_WALL(NamespaceID.from("minecraft:polished_blackstone_wall"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_wall")), - POLISHED_BLACKSTONE_BRICK_WALL("minecraft:polished_blackstone_brick_wall", 64, Block.POLISHED_BLACKSTONE_BRICK_WALL), + POLISHED_BLACKSTONE_BRICK_WALL(NamespaceID.from("minecraft:polished_blackstone_brick_wall"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_brick_wall")), - STONE_BUTTON("minecraft:stone_button", 64, Block.STONE_BUTTON), + STONE_BUTTON(NamespaceID.from("minecraft:stone_button"), (byte) 64, () -> Registries.getBlock("minecraft:stone_button")), - OAK_BUTTON("minecraft:oak_button", 64, Block.OAK_BUTTON), + OAK_BUTTON(NamespaceID.from("minecraft:oak_button"), (byte) 64, () -> Registries.getBlock("minecraft:oak_button")), - SPRUCE_BUTTON("minecraft:spruce_button", 64, Block.SPRUCE_BUTTON), + SPRUCE_BUTTON(NamespaceID.from("minecraft:spruce_button"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_button")), - BIRCH_BUTTON("minecraft:birch_button", 64, Block.BIRCH_BUTTON), + BIRCH_BUTTON(NamespaceID.from("minecraft:birch_button"), (byte) 64, () -> Registries.getBlock("minecraft:birch_button")), - JUNGLE_BUTTON("minecraft:jungle_button", 64, Block.JUNGLE_BUTTON), + JUNGLE_BUTTON(NamespaceID.from("minecraft:jungle_button"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_button")), - ACACIA_BUTTON("minecraft:acacia_button", 64, Block.ACACIA_BUTTON), + ACACIA_BUTTON(NamespaceID.from("minecraft:acacia_button"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_button")), - DARK_OAK_BUTTON("minecraft:dark_oak_button", 64, Block.DARK_OAK_BUTTON), + DARK_OAK_BUTTON(NamespaceID.from("minecraft:dark_oak_button"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_button")), - CRIMSON_BUTTON("minecraft:crimson_button", 64, Block.CRIMSON_BUTTON), + CRIMSON_BUTTON(NamespaceID.from("minecraft:crimson_button"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_button")), - WARPED_BUTTON("minecraft:warped_button", 64, Block.WARPED_BUTTON), + WARPED_BUTTON(NamespaceID.from("minecraft:warped_button"), (byte) 64, () -> Registries.getBlock("minecraft:warped_button")), - POLISHED_BLACKSTONE_BUTTON("minecraft:polished_blackstone_button", 64, Block.POLISHED_BLACKSTONE_BUTTON), + POLISHED_BLACKSTONE_BUTTON(NamespaceID.from("minecraft:polished_blackstone_button"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_button")), - ANVIL("minecraft:anvil", 64, Block.ANVIL), + ANVIL(NamespaceID.from("minecraft:anvil"), (byte) 64, () -> Registries.getBlock("minecraft:anvil")), - CHIPPED_ANVIL("minecraft:chipped_anvil", 64, Block.CHIPPED_ANVIL), + CHIPPED_ANVIL(NamespaceID.from("minecraft:chipped_anvil"), (byte) 64, () -> Registries.getBlock("minecraft:chipped_anvil")), - DAMAGED_ANVIL("minecraft:damaged_anvil", 64, Block.DAMAGED_ANVIL), + DAMAGED_ANVIL(NamespaceID.from("minecraft:damaged_anvil"), (byte) 64, () -> Registries.getBlock("minecraft:damaged_anvil")), - TRAPPED_CHEST("minecraft:trapped_chest", 64, Block.TRAPPED_CHEST), + TRAPPED_CHEST(NamespaceID.from("minecraft:trapped_chest"), (byte) 64, () -> Registries.getBlock("minecraft:trapped_chest")), - LIGHT_WEIGHTED_PRESSURE_PLATE("minecraft:light_weighted_pressure_plate", 64, Block.LIGHT_WEIGHTED_PRESSURE_PLATE), + LIGHT_WEIGHTED_PRESSURE_PLATE(NamespaceID.from("minecraft:light_weighted_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:light_weighted_pressure_plate")), - HEAVY_WEIGHTED_PRESSURE_PLATE("minecraft:heavy_weighted_pressure_plate", 64, Block.HEAVY_WEIGHTED_PRESSURE_PLATE), + HEAVY_WEIGHTED_PRESSURE_PLATE(NamespaceID.from("minecraft:heavy_weighted_pressure_plate"), (byte) 64, () -> Registries.getBlock("minecraft:heavy_weighted_pressure_plate")), - DAYLIGHT_DETECTOR("minecraft:daylight_detector", 64, Block.DAYLIGHT_DETECTOR), + DAYLIGHT_DETECTOR(NamespaceID.from("minecraft:daylight_detector"), (byte) 64, () -> Registries.getBlock("minecraft:daylight_detector")), - REDSTONE_BLOCK("minecraft:redstone_block", 64, Block.REDSTONE_BLOCK), + REDSTONE_BLOCK(NamespaceID.from("minecraft:redstone_block"), (byte) 64, () -> Registries.getBlock("minecraft:redstone_block")), - NETHER_QUARTZ_ORE("minecraft:nether_quartz_ore", 64, Block.NETHER_QUARTZ_ORE), + NETHER_QUARTZ_ORE(NamespaceID.from("minecraft:nether_quartz_ore"), (byte) 64, () -> Registries.getBlock("minecraft:nether_quartz_ore")), - HOPPER("minecraft:hopper", 64, Block.HOPPER), + HOPPER(NamespaceID.from("minecraft:hopper"), (byte) 64, () -> Registries.getBlock("minecraft:hopper")), - CHISELED_QUARTZ_BLOCK("minecraft:chiseled_quartz_block", 64, Block.CHISELED_QUARTZ_BLOCK), + CHISELED_QUARTZ_BLOCK(NamespaceID.from("minecraft:chiseled_quartz_block"), (byte) 64, () -> Registries.getBlock("minecraft:chiseled_quartz_block")), - QUARTZ_BLOCK("minecraft:quartz_block", 64, Block.QUARTZ_BLOCK), + QUARTZ_BLOCK(NamespaceID.from("minecraft:quartz_block"), (byte) 64, () -> Registries.getBlock("minecraft:quartz_block")), - QUARTZ_BRICKS("minecraft:quartz_bricks", 64, Block.QUARTZ_BRICKS), + QUARTZ_BRICKS(NamespaceID.from("minecraft:quartz_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:quartz_bricks")), - QUARTZ_PILLAR("minecraft:quartz_pillar", 64, Block.QUARTZ_PILLAR), + QUARTZ_PILLAR(NamespaceID.from("minecraft:quartz_pillar"), (byte) 64, () -> Registries.getBlock("minecraft:quartz_pillar")), - QUARTZ_STAIRS("minecraft:quartz_stairs", 64, Block.QUARTZ_STAIRS), + QUARTZ_STAIRS(NamespaceID.from("minecraft:quartz_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:quartz_stairs")), - ACTIVATOR_RAIL("minecraft:activator_rail", 64, Block.ACTIVATOR_RAIL), + ACTIVATOR_RAIL(NamespaceID.from("minecraft:activator_rail"), (byte) 64, () -> Registries.getBlock("minecraft:activator_rail")), - DROPPER("minecraft:dropper", 64, Block.DROPPER), + DROPPER(NamespaceID.from("minecraft:dropper"), (byte) 64, () -> Registries.getBlock("minecraft:dropper")), - WHITE_TERRACOTTA("minecraft:white_terracotta", 64, Block.WHITE_TERRACOTTA), + WHITE_TERRACOTTA(NamespaceID.from("minecraft:white_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:white_terracotta")), - ORANGE_TERRACOTTA("minecraft:orange_terracotta", 64, Block.ORANGE_TERRACOTTA), + ORANGE_TERRACOTTA(NamespaceID.from("minecraft:orange_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:orange_terracotta")), - MAGENTA_TERRACOTTA("minecraft:magenta_terracotta", 64, Block.MAGENTA_TERRACOTTA), + MAGENTA_TERRACOTTA(NamespaceID.from("minecraft:magenta_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:magenta_terracotta")), - LIGHT_BLUE_TERRACOTTA("minecraft:light_blue_terracotta", 64, Block.LIGHT_BLUE_TERRACOTTA), + LIGHT_BLUE_TERRACOTTA(NamespaceID.from("minecraft:light_blue_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:light_blue_terracotta")), - YELLOW_TERRACOTTA("minecraft:yellow_terracotta", 64, Block.YELLOW_TERRACOTTA), + YELLOW_TERRACOTTA(NamespaceID.from("minecraft:yellow_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:yellow_terracotta")), - LIME_TERRACOTTA("minecraft:lime_terracotta", 64, Block.LIME_TERRACOTTA), + LIME_TERRACOTTA(NamespaceID.from("minecraft:lime_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:lime_terracotta")), - PINK_TERRACOTTA("minecraft:pink_terracotta", 64, Block.PINK_TERRACOTTA), + PINK_TERRACOTTA(NamespaceID.from("minecraft:pink_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:pink_terracotta")), - GRAY_TERRACOTTA("minecraft:gray_terracotta", 64, Block.GRAY_TERRACOTTA), + GRAY_TERRACOTTA(NamespaceID.from("minecraft:gray_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:gray_terracotta")), - LIGHT_GRAY_TERRACOTTA("minecraft:light_gray_terracotta", 64, Block.LIGHT_GRAY_TERRACOTTA), + LIGHT_GRAY_TERRACOTTA(NamespaceID.from("minecraft:light_gray_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:light_gray_terracotta")), - CYAN_TERRACOTTA("minecraft:cyan_terracotta", 64, Block.CYAN_TERRACOTTA), + CYAN_TERRACOTTA(NamespaceID.from("minecraft:cyan_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:cyan_terracotta")), - PURPLE_TERRACOTTA("minecraft:purple_terracotta", 64, Block.PURPLE_TERRACOTTA), + PURPLE_TERRACOTTA(NamespaceID.from("minecraft:purple_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:purple_terracotta")), - BLUE_TERRACOTTA("minecraft:blue_terracotta", 64, Block.BLUE_TERRACOTTA), + BLUE_TERRACOTTA(NamespaceID.from("minecraft:blue_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:blue_terracotta")), - BROWN_TERRACOTTA("minecraft:brown_terracotta", 64, Block.BROWN_TERRACOTTA), + BROWN_TERRACOTTA(NamespaceID.from("minecraft:brown_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:brown_terracotta")), - GREEN_TERRACOTTA("minecraft:green_terracotta", 64, Block.GREEN_TERRACOTTA), + GREEN_TERRACOTTA(NamespaceID.from("minecraft:green_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:green_terracotta")), - RED_TERRACOTTA("minecraft:red_terracotta", 64, Block.RED_TERRACOTTA), + RED_TERRACOTTA(NamespaceID.from("minecraft:red_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:red_terracotta")), - BLACK_TERRACOTTA("minecraft:black_terracotta", 64, Block.BLACK_TERRACOTTA), + BLACK_TERRACOTTA(NamespaceID.from("minecraft:black_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:black_terracotta")), - BARRIER("minecraft:barrier", 64, Block.BARRIER), + BARRIER(NamespaceID.from("minecraft:barrier"), (byte) 64, () -> Registries.getBlock("minecraft:barrier")), - IRON_TRAPDOOR("minecraft:iron_trapdoor", 64, Block.IRON_TRAPDOOR), + IRON_TRAPDOOR(NamespaceID.from("minecraft:iron_trapdoor"), (byte) 64, () -> Registries.getBlock("minecraft:iron_trapdoor")), - HAY_BLOCK("minecraft:hay_block", 64, Block.HAY_BLOCK), + HAY_BLOCK(NamespaceID.from("minecraft:hay_block"), (byte) 64, () -> Registries.getBlock("minecraft:hay_block")), - WHITE_CARPET("minecraft:white_carpet", 64, Block.WHITE_CARPET), + WHITE_CARPET(NamespaceID.from("minecraft:white_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:white_carpet")), - ORANGE_CARPET("minecraft:orange_carpet", 64, Block.ORANGE_CARPET), + ORANGE_CARPET(NamespaceID.from("minecraft:orange_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:orange_carpet")), - MAGENTA_CARPET("minecraft:magenta_carpet", 64, Block.MAGENTA_CARPET), + MAGENTA_CARPET(NamespaceID.from("minecraft:magenta_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:magenta_carpet")), - LIGHT_BLUE_CARPET("minecraft:light_blue_carpet", 64, Block.LIGHT_BLUE_CARPET), + LIGHT_BLUE_CARPET(NamespaceID.from("minecraft:light_blue_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:light_blue_carpet")), - YELLOW_CARPET("minecraft:yellow_carpet", 64, Block.YELLOW_CARPET), + YELLOW_CARPET(NamespaceID.from("minecraft:yellow_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:yellow_carpet")), - LIME_CARPET("minecraft:lime_carpet", 64, Block.LIME_CARPET), + LIME_CARPET(NamespaceID.from("minecraft:lime_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:lime_carpet")), - PINK_CARPET("minecraft:pink_carpet", 64, Block.PINK_CARPET), + PINK_CARPET(NamespaceID.from("minecraft:pink_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:pink_carpet")), - GRAY_CARPET("minecraft:gray_carpet", 64, Block.GRAY_CARPET), + GRAY_CARPET(NamespaceID.from("minecraft:gray_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:gray_carpet")), - LIGHT_GRAY_CARPET("minecraft:light_gray_carpet", 64, Block.LIGHT_GRAY_CARPET), + LIGHT_GRAY_CARPET(NamespaceID.from("minecraft:light_gray_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:light_gray_carpet")), - CYAN_CARPET("minecraft:cyan_carpet", 64, Block.CYAN_CARPET), + CYAN_CARPET(NamespaceID.from("minecraft:cyan_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:cyan_carpet")), - PURPLE_CARPET("minecraft:purple_carpet", 64, Block.PURPLE_CARPET), + PURPLE_CARPET(NamespaceID.from("minecraft:purple_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:purple_carpet")), - BLUE_CARPET("minecraft:blue_carpet", 64, Block.BLUE_CARPET), + BLUE_CARPET(NamespaceID.from("minecraft:blue_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:blue_carpet")), - BROWN_CARPET("minecraft:brown_carpet", 64, Block.BROWN_CARPET), + BROWN_CARPET(NamespaceID.from("minecraft:brown_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:brown_carpet")), - GREEN_CARPET("minecraft:green_carpet", 64, Block.GREEN_CARPET), + GREEN_CARPET(NamespaceID.from("minecraft:green_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:green_carpet")), - RED_CARPET("minecraft:red_carpet", 64, Block.RED_CARPET), + RED_CARPET(NamespaceID.from("minecraft:red_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:red_carpet")), - BLACK_CARPET("minecraft:black_carpet", 64, Block.BLACK_CARPET), + BLACK_CARPET(NamespaceID.from("minecraft:black_carpet"), (byte) 64, () -> Registries.getBlock("minecraft:black_carpet")), - TERRACOTTA("minecraft:terracotta", 64, Block.TERRACOTTA), + TERRACOTTA(NamespaceID.from("minecraft:terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:terracotta")), - COAL_BLOCK("minecraft:coal_block", 64, Block.COAL_BLOCK), + COAL_BLOCK(NamespaceID.from("minecraft:coal_block"), (byte) 64, () -> Registries.getBlock("minecraft:coal_block")), - PACKED_ICE("minecraft:packed_ice", 64, Block.PACKED_ICE), + PACKED_ICE(NamespaceID.from("minecraft:packed_ice"), (byte) 64, () -> Registries.getBlock("minecraft:packed_ice")), - ACACIA_STAIRS("minecraft:acacia_stairs", 64, Block.ACACIA_STAIRS), + ACACIA_STAIRS(NamespaceID.from("minecraft:acacia_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_stairs")), - DARK_OAK_STAIRS("minecraft:dark_oak_stairs", 64, Block.DARK_OAK_STAIRS), + DARK_OAK_STAIRS(NamespaceID.from("minecraft:dark_oak_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_stairs")), - SLIME_BLOCK("minecraft:slime_block", 64, Block.SLIME_BLOCK), + SLIME_BLOCK(NamespaceID.from("minecraft:slime_block"), (byte) 64, () -> Registries.getBlock("minecraft:slime_block")), - GRASS_PATH("minecraft:grass_path", 64, Block.GRASS_PATH), + GRASS_PATH(NamespaceID.from("minecraft:grass_path"), (byte) 64, () -> Registries.getBlock("minecraft:grass_path")), - SUNFLOWER("minecraft:sunflower", 64, Block.SUNFLOWER), + SUNFLOWER(NamespaceID.from("minecraft:sunflower"), (byte) 64, () -> Registries.getBlock("minecraft:sunflower")), - LILAC("minecraft:lilac", 64, Block.LILAC), + LILAC(NamespaceID.from("minecraft:lilac"), (byte) 64, () -> Registries.getBlock("minecraft:lilac")), - ROSE_BUSH("minecraft:rose_bush", 64, Block.ROSE_BUSH), + ROSE_BUSH(NamespaceID.from("minecraft:rose_bush"), (byte) 64, () -> Registries.getBlock("minecraft:rose_bush")), - PEONY("minecraft:peony", 64, Block.PEONY), + PEONY(NamespaceID.from("minecraft:peony"), (byte) 64, () -> Registries.getBlock("minecraft:peony")), - TALL_GRASS("minecraft:tall_grass", 64, Block.TALL_GRASS), + TALL_GRASS(NamespaceID.from("minecraft:tall_grass"), (byte) 64, () -> Registries.getBlock("minecraft:tall_grass")), - LARGE_FERN("minecraft:large_fern", 64, Block.LARGE_FERN), + LARGE_FERN(NamespaceID.from("minecraft:large_fern"), (byte) 64, () -> Registries.getBlock("minecraft:large_fern")), - WHITE_STAINED_GLASS("minecraft:white_stained_glass", 64, Block.WHITE_STAINED_GLASS), + WHITE_STAINED_GLASS(NamespaceID.from("minecraft:white_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:white_stained_glass")), - ORANGE_STAINED_GLASS("minecraft:orange_stained_glass", 64, Block.ORANGE_STAINED_GLASS), + ORANGE_STAINED_GLASS(NamespaceID.from("minecraft:orange_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:orange_stained_glass")), - MAGENTA_STAINED_GLASS("minecraft:magenta_stained_glass", 64, Block.MAGENTA_STAINED_GLASS), + MAGENTA_STAINED_GLASS(NamespaceID.from("minecraft:magenta_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:magenta_stained_glass")), - LIGHT_BLUE_STAINED_GLASS("minecraft:light_blue_stained_glass", 64, Block.LIGHT_BLUE_STAINED_GLASS), + LIGHT_BLUE_STAINED_GLASS(NamespaceID.from("minecraft:light_blue_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:light_blue_stained_glass")), - YELLOW_STAINED_GLASS("minecraft:yellow_stained_glass", 64, Block.YELLOW_STAINED_GLASS), + YELLOW_STAINED_GLASS(NamespaceID.from("minecraft:yellow_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:yellow_stained_glass")), - LIME_STAINED_GLASS("minecraft:lime_stained_glass", 64, Block.LIME_STAINED_GLASS), + LIME_STAINED_GLASS(NamespaceID.from("minecraft:lime_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:lime_stained_glass")), - PINK_STAINED_GLASS("minecraft:pink_stained_glass", 64, Block.PINK_STAINED_GLASS), + PINK_STAINED_GLASS(NamespaceID.from("minecraft:pink_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:pink_stained_glass")), - GRAY_STAINED_GLASS("minecraft:gray_stained_glass", 64, Block.GRAY_STAINED_GLASS), + GRAY_STAINED_GLASS(NamespaceID.from("minecraft:gray_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:gray_stained_glass")), - LIGHT_GRAY_STAINED_GLASS("minecraft:light_gray_stained_glass", 64, Block.LIGHT_GRAY_STAINED_GLASS), + LIGHT_GRAY_STAINED_GLASS(NamespaceID.from("minecraft:light_gray_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:light_gray_stained_glass")), - CYAN_STAINED_GLASS("minecraft:cyan_stained_glass", 64, Block.CYAN_STAINED_GLASS), + CYAN_STAINED_GLASS(NamespaceID.from("minecraft:cyan_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:cyan_stained_glass")), - PURPLE_STAINED_GLASS("minecraft:purple_stained_glass", 64, Block.PURPLE_STAINED_GLASS), + PURPLE_STAINED_GLASS(NamespaceID.from("minecraft:purple_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:purple_stained_glass")), - BLUE_STAINED_GLASS("minecraft:blue_stained_glass", 64, Block.BLUE_STAINED_GLASS), + BLUE_STAINED_GLASS(NamespaceID.from("minecraft:blue_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:blue_stained_glass")), - BROWN_STAINED_GLASS("minecraft:brown_stained_glass", 64, Block.BROWN_STAINED_GLASS), + BROWN_STAINED_GLASS(NamespaceID.from("minecraft:brown_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:brown_stained_glass")), - GREEN_STAINED_GLASS("minecraft:green_stained_glass", 64, Block.GREEN_STAINED_GLASS), + GREEN_STAINED_GLASS(NamespaceID.from("minecraft:green_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:green_stained_glass")), - RED_STAINED_GLASS("minecraft:red_stained_glass", 64, Block.RED_STAINED_GLASS), + RED_STAINED_GLASS(NamespaceID.from("minecraft:red_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:red_stained_glass")), - BLACK_STAINED_GLASS("minecraft:black_stained_glass", 64, Block.BLACK_STAINED_GLASS), + BLACK_STAINED_GLASS(NamespaceID.from("minecraft:black_stained_glass"), (byte) 64, () -> Registries.getBlock("minecraft:black_stained_glass")), - WHITE_STAINED_GLASS_PANE("minecraft:white_stained_glass_pane", 64, Block.WHITE_STAINED_GLASS_PANE), + WHITE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:white_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:white_stained_glass_pane")), - ORANGE_STAINED_GLASS_PANE("minecraft:orange_stained_glass_pane", 64, Block.ORANGE_STAINED_GLASS_PANE), + ORANGE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:orange_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:orange_stained_glass_pane")), - MAGENTA_STAINED_GLASS_PANE("minecraft:magenta_stained_glass_pane", 64, Block.MAGENTA_STAINED_GLASS_PANE), + MAGENTA_STAINED_GLASS_PANE(NamespaceID.from("minecraft:magenta_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:magenta_stained_glass_pane")), - LIGHT_BLUE_STAINED_GLASS_PANE("minecraft:light_blue_stained_glass_pane", 64, Block.LIGHT_BLUE_STAINED_GLASS_PANE), + LIGHT_BLUE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:light_blue_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:light_blue_stained_glass_pane")), - YELLOW_STAINED_GLASS_PANE("minecraft:yellow_stained_glass_pane", 64, Block.YELLOW_STAINED_GLASS_PANE), + YELLOW_STAINED_GLASS_PANE(NamespaceID.from("minecraft:yellow_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:yellow_stained_glass_pane")), - LIME_STAINED_GLASS_PANE("minecraft:lime_stained_glass_pane", 64, Block.LIME_STAINED_GLASS_PANE), + LIME_STAINED_GLASS_PANE(NamespaceID.from("minecraft:lime_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:lime_stained_glass_pane")), - PINK_STAINED_GLASS_PANE("minecraft:pink_stained_glass_pane", 64, Block.PINK_STAINED_GLASS_PANE), + PINK_STAINED_GLASS_PANE(NamespaceID.from("minecraft:pink_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:pink_stained_glass_pane")), - GRAY_STAINED_GLASS_PANE("minecraft:gray_stained_glass_pane", 64, Block.GRAY_STAINED_GLASS_PANE), + GRAY_STAINED_GLASS_PANE(NamespaceID.from("minecraft:gray_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:gray_stained_glass_pane")), - LIGHT_GRAY_STAINED_GLASS_PANE("minecraft:light_gray_stained_glass_pane", 64, Block.LIGHT_GRAY_STAINED_GLASS_PANE), + LIGHT_GRAY_STAINED_GLASS_PANE(NamespaceID.from("minecraft:light_gray_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:light_gray_stained_glass_pane")), - CYAN_STAINED_GLASS_PANE("minecraft:cyan_stained_glass_pane", 64, Block.CYAN_STAINED_GLASS_PANE), + CYAN_STAINED_GLASS_PANE(NamespaceID.from("minecraft:cyan_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:cyan_stained_glass_pane")), - PURPLE_STAINED_GLASS_PANE("minecraft:purple_stained_glass_pane", 64, Block.PURPLE_STAINED_GLASS_PANE), + PURPLE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:purple_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:purple_stained_glass_pane")), - BLUE_STAINED_GLASS_PANE("minecraft:blue_stained_glass_pane", 64, Block.BLUE_STAINED_GLASS_PANE), + BLUE_STAINED_GLASS_PANE(NamespaceID.from("minecraft:blue_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:blue_stained_glass_pane")), - BROWN_STAINED_GLASS_PANE("minecraft:brown_stained_glass_pane", 64, Block.BROWN_STAINED_GLASS_PANE), + BROWN_STAINED_GLASS_PANE(NamespaceID.from("minecraft:brown_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:brown_stained_glass_pane")), - GREEN_STAINED_GLASS_PANE("minecraft:green_stained_glass_pane", 64, Block.GREEN_STAINED_GLASS_PANE), + GREEN_STAINED_GLASS_PANE(NamespaceID.from("minecraft:green_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:green_stained_glass_pane")), - RED_STAINED_GLASS_PANE("minecraft:red_stained_glass_pane", 64, Block.RED_STAINED_GLASS_PANE), + RED_STAINED_GLASS_PANE(NamespaceID.from("minecraft:red_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:red_stained_glass_pane")), - BLACK_STAINED_GLASS_PANE("minecraft:black_stained_glass_pane", 64, Block.BLACK_STAINED_GLASS_PANE), + BLACK_STAINED_GLASS_PANE(NamespaceID.from("minecraft:black_stained_glass_pane"), (byte) 64, () -> Registries.getBlock("minecraft:black_stained_glass_pane")), - PRISMARINE("minecraft:prismarine", 64, Block.PRISMARINE), + PRISMARINE(NamespaceID.from("minecraft:prismarine"), (byte) 64, () -> Registries.getBlock("minecraft:prismarine")), - PRISMARINE_BRICKS("minecraft:prismarine_bricks", 64, Block.PRISMARINE_BRICKS), + PRISMARINE_BRICKS(NamespaceID.from("minecraft:prismarine_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:prismarine_bricks")), - DARK_PRISMARINE("minecraft:dark_prismarine", 64, Block.DARK_PRISMARINE), + DARK_PRISMARINE(NamespaceID.from("minecraft:dark_prismarine"), (byte) 64, () -> Registries.getBlock("minecraft:dark_prismarine")), - PRISMARINE_STAIRS("minecraft:prismarine_stairs", 64, Block.PRISMARINE_STAIRS), + PRISMARINE_STAIRS(NamespaceID.from("minecraft:prismarine_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:prismarine_stairs")), - PRISMARINE_BRICK_STAIRS("minecraft:prismarine_brick_stairs", 64, Block.PRISMARINE_BRICK_STAIRS), + PRISMARINE_BRICK_STAIRS(NamespaceID.from("minecraft:prismarine_brick_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:prismarine_brick_stairs")), - DARK_PRISMARINE_STAIRS("minecraft:dark_prismarine_stairs", 64, Block.DARK_PRISMARINE_STAIRS), + DARK_PRISMARINE_STAIRS(NamespaceID.from("minecraft:dark_prismarine_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:dark_prismarine_stairs")), - SEA_LANTERN("minecraft:sea_lantern", 64, Block.SEA_LANTERN), + SEA_LANTERN(NamespaceID.from("minecraft:sea_lantern"), (byte) 64, () -> Registries.getBlock("minecraft:sea_lantern")), - RED_SANDSTONE("minecraft:red_sandstone", 64, Block.RED_SANDSTONE), + RED_SANDSTONE(NamespaceID.from("minecraft:red_sandstone"), (byte) 64, () -> Registries.getBlock("minecraft:red_sandstone")), - CHISELED_RED_SANDSTONE("minecraft:chiseled_red_sandstone", 64, Block.CHISELED_RED_SANDSTONE), + CHISELED_RED_SANDSTONE(NamespaceID.from("minecraft:chiseled_red_sandstone"), (byte) 64, () -> Registries.getBlock("minecraft:chiseled_red_sandstone")), - CUT_RED_SANDSTONE("minecraft:cut_red_sandstone", 64, Block.CUT_RED_SANDSTONE), + CUT_RED_SANDSTONE(NamespaceID.from("minecraft:cut_red_sandstone"), (byte) 64, () -> Registries.getBlock("minecraft:cut_red_sandstone")), - RED_SANDSTONE_STAIRS("minecraft:red_sandstone_stairs", 64, Block.RED_SANDSTONE_STAIRS), + RED_SANDSTONE_STAIRS(NamespaceID.from("minecraft:red_sandstone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:red_sandstone_stairs")), - REPEATING_COMMAND_BLOCK("minecraft:repeating_command_block", 64, Block.REPEATING_COMMAND_BLOCK), + REPEATING_COMMAND_BLOCK(NamespaceID.from("minecraft:repeating_command_block"), (byte) 64, () -> Registries.getBlock("minecraft:repeating_command_block")), - CHAIN_COMMAND_BLOCK("minecraft:chain_command_block", 64, Block.CHAIN_COMMAND_BLOCK), + CHAIN_COMMAND_BLOCK(NamespaceID.from("minecraft:chain_command_block"), (byte) 64, () -> Registries.getBlock("minecraft:chain_command_block")), - MAGMA_BLOCK("minecraft:magma_block", 64, Block.MAGMA_BLOCK), + MAGMA_BLOCK(NamespaceID.from("minecraft:magma_block"), (byte) 64, () -> Registries.getBlock("minecraft:magma_block")), - NETHER_WART_BLOCK("minecraft:nether_wart_block", 64, Block.NETHER_WART_BLOCK), + NETHER_WART_BLOCK(NamespaceID.from("minecraft:nether_wart_block"), (byte) 64, () -> Registries.getBlock("minecraft:nether_wart_block")), - WARPED_WART_BLOCK("minecraft:warped_wart_block", 64, Block.WARPED_WART_BLOCK), + WARPED_WART_BLOCK(NamespaceID.from("minecraft:warped_wart_block"), (byte) 64, () -> Registries.getBlock("minecraft:warped_wart_block")), - RED_NETHER_BRICKS("minecraft:red_nether_bricks", 64, Block.RED_NETHER_BRICKS), + RED_NETHER_BRICKS(NamespaceID.from("minecraft:red_nether_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:red_nether_bricks")), - BONE_BLOCK("minecraft:bone_block", 64, Block.BONE_BLOCK), + BONE_BLOCK(NamespaceID.from("minecraft:bone_block"), (byte) 64, () -> Registries.getBlock("minecraft:bone_block")), - STRUCTURE_VOID("minecraft:structure_void", 64, Block.STRUCTURE_VOID), + STRUCTURE_VOID(NamespaceID.from("minecraft:structure_void"), (byte) 64, () -> Registries.getBlock("minecraft:structure_void")), - OBSERVER("minecraft:observer", 64, Block.OBSERVER), + OBSERVER(NamespaceID.from("minecraft:observer"), (byte) 64, () -> Registries.getBlock("minecraft:observer")), - SHULKER_BOX("minecraft:shulker_box", 1, Block.SHULKER_BOX), + SHULKER_BOX(NamespaceID.from("minecraft:shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:shulker_box")), - WHITE_SHULKER_BOX("minecraft:white_shulker_box", 1, Block.WHITE_SHULKER_BOX), + WHITE_SHULKER_BOX(NamespaceID.from("minecraft:white_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:white_shulker_box")), - ORANGE_SHULKER_BOX("minecraft:orange_shulker_box", 1, Block.ORANGE_SHULKER_BOX), + ORANGE_SHULKER_BOX(NamespaceID.from("minecraft:orange_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:orange_shulker_box")), - MAGENTA_SHULKER_BOX("minecraft:magenta_shulker_box", 1, Block.MAGENTA_SHULKER_BOX), + MAGENTA_SHULKER_BOX(NamespaceID.from("minecraft:magenta_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:magenta_shulker_box")), - LIGHT_BLUE_SHULKER_BOX("minecraft:light_blue_shulker_box", 1, Block.LIGHT_BLUE_SHULKER_BOX), + LIGHT_BLUE_SHULKER_BOX(NamespaceID.from("minecraft:light_blue_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:light_blue_shulker_box")), - YELLOW_SHULKER_BOX("minecraft:yellow_shulker_box", 1, Block.YELLOW_SHULKER_BOX), + YELLOW_SHULKER_BOX(NamespaceID.from("minecraft:yellow_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:yellow_shulker_box")), - LIME_SHULKER_BOX("minecraft:lime_shulker_box", 1, Block.LIME_SHULKER_BOX), + LIME_SHULKER_BOX(NamespaceID.from("minecraft:lime_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:lime_shulker_box")), - PINK_SHULKER_BOX("minecraft:pink_shulker_box", 1, Block.PINK_SHULKER_BOX), + PINK_SHULKER_BOX(NamespaceID.from("minecraft:pink_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:pink_shulker_box")), - GRAY_SHULKER_BOX("minecraft:gray_shulker_box", 1, Block.GRAY_SHULKER_BOX), + GRAY_SHULKER_BOX(NamespaceID.from("minecraft:gray_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:gray_shulker_box")), - LIGHT_GRAY_SHULKER_BOX("minecraft:light_gray_shulker_box", 1, Block.LIGHT_GRAY_SHULKER_BOX), + LIGHT_GRAY_SHULKER_BOX(NamespaceID.from("minecraft:light_gray_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:light_gray_shulker_box")), - CYAN_SHULKER_BOX("minecraft:cyan_shulker_box", 1, Block.CYAN_SHULKER_BOX), + CYAN_SHULKER_BOX(NamespaceID.from("minecraft:cyan_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:cyan_shulker_box")), - PURPLE_SHULKER_BOX("minecraft:purple_shulker_box", 1, Block.PURPLE_SHULKER_BOX), + PURPLE_SHULKER_BOX(NamespaceID.from("minecraft:purple_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:purple_shulker_box")), - BLUE_SHULKER_BOX("minecraft:blue_shulker_box", 1, Block.BLUE_SHULKER_BOX), + BLUE_SHULKER_BOX(NamespaceID.from("minecraft:blue_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:blue_shulker_box")), - BROWN_SHULKER_BOX("minecraft:brown_shulker_box", 1, Block.BROWN_SHULKER_BOX), + BROWN_SHULKER_BOX(NamespaceID.from("minecraft:brown_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:brown_shulker_box")), - GREEN_SHULKER_BOX("minecraft:green_shulker_box", 1, Block.GREEN_SHULKER_BOX), + GREEN_SHULKER_BOX(NamespaceID.from("minecraft:green_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:green_shulker_box")), - RED_SHULKER_BOX("minecraft:red_shulker_box", 1, Block.RED_SHULKER_BOX), + RED_SHULKER_BOX(NamespaceID.from("minecraft:red_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:red_shulker_box")), - BLACK_SHULKER_BOX("minecraft:black_shulker_box", 1, Block.BLACK_SHULKER_BOX), + BLACK_SHULKER_BOX(NamespaceID.from("minecraft:black_shulker_box"), (byte) 1, () -> Registries.getBlock("minecraft:black_shulker_box")), - WHITE_GLAZED_TERRACOTTA("minecraft:white_glazed_terracotta", 64, Block.WHITE_GLAZED_TERRACOTTA), + WHITE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:white_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:white_glazed_terracotta")), - ORANGE_GLAZED_TERRACOTTA("minecraft:orange_glazed_terracotta", 64, Block.ORANGE_GLAZED_TERRACOTTA), + ORANGE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:orange_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:orange_glazed_terracotta")), - MAGENTA_GLAZED_TERRACOTTA("minecraft:magenta_glazed_terracotta", 64, Block.MAGENTA_GLAZED_TERRACOTTA), + MAGENTA_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:magenta_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:magenta_glazed_terracotta")), - LIGHT_BLUE_GLAZED_TERRACOTTA("minecraft:light_blue_glazed_terracotta", 64, Block.LIGHT_BLUE_GLAZED_TERRACOTTA), + LIGHT_BLUE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:light_blue_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:light_blue_glazed_terracotta")), - YELLOW_GLAZED_TERRACOTTA("minecraft:yellow_glazed_terracotta", 64, Block.YELLOW_GLAZED_TERRACOTTA), + YELLOW_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:yellow_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:yellow_glazed_terracotta")), - LIME_GLAZED_TERRACOTTA("minecraft:lime_glazed_terracotta", 64, Block.LIME_GLAZED_TERRACOTTA), + LIME_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:lime_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:lime_glazed_terracotta")), - PINK_GLAZED_TERRACOTTA("minecraft:pink_glazed_terracotta", 64, Block.PINK_GLAZED_TERRACOTTA), + PINK_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:pink_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:pink_glazed_terracotta")), - GRAY_GLAZED_TERRACOTTA("minecraft:gray_glazed_terracotta", 64, Block.GRAY_GLAZED_TERRACOTTA), + GRAY_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:gray_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:gray_glazed_terracotta")), - LIGHT_GRAY_GLAZED_TERRACOTTA("minecraft:light_gray_glazed_terracotta", 64, Block.LIGHT_GRAY_GLAZED_TERRACOTTA), + LIGHT_GRAY_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:light_gray_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:light_gray_glazed_terracotta")), - CYAN_GLAZED_TERRACOTTA("minecraft:cyan_glazed_terracotta", 64, Block.CYAN_GLAZED_TERRACOTTA), + CYAN_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:cyan_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:cyan_glazed_terracotta")), - PURPLE_GLAZED_TERRACOTTA("minecraft:purple_glazed_terracotta", 64, Block.PURPLE_GLAZED_TERRACOTTA), + PURPLE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:purple_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:purple_glazed_terracotta")), - BLUE_GLAZED_TERRACOTTA("minecraft:blue_glazed_terracotta", 64, Block.BLUE_GLAZED_TERRACOTTA), + BLUE_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:blue_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:blue_glazed_terracotta")), - BROWN_GLAZED_TERRACOTTA("minecraft:brown_glazed_terracotta", 64, Block.BROWN_GLAZED_TERRACOTTA), + BROWN_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:brown_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:brown_glazed_terracotta")), - GREEN_GLAZED_TERRACOTTA("minecraft:green_glazed_terracotta", 64, Block.GREEN_GLAZED_TERRACOTTA), + GREEN_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:green_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:green_glazed_terracotta")), - RED_GLAZED_TERRACOTTA("minecraft:red_glazed_terracotta", 64, Block.RED_GLAZED_TERRACOTTA), + RED_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:red_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:red_glazed_terracotta")), - BLACK_GLAZED_TERRACOTTA("minecraft:black_glazed_terracotta", 64, Block.BLACK_GLAZED_TERRACOTTA), + BLACK_GLAZED_TERRACOTTA(NamespaceID.from("minecraft:black_glazed_terracotta"), (byte) 64, () -> Registries.getBlock("minecraft:black_glazed_terracotta")), - WHITE_CONCRETE("minecraft:white_concrete", 64, Block.WHITE_CONCRETE), + WHITE_CONCRETE(NamespaceID.from("minecraft:white_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:white_concrete")), - ORANGE_CONCRETE("minecraft:orange_concrete", 64, Block.ORANGE_CONCRETE), + ORANGE_CONCRETE(NamespaceID.from("minecraft:orange_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:orange_concrete")), - MAGENTA_CONCRETE("minecraft:magenta_concrete", 64, Block.MAGENTA_CONCRETE), + MAGENTA_CONCRETE(NamespaceID.from("minecraft:magenta_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:magenta_concrete")), - LIGHT_BLUE_CONCRETE("minecraft:light_blue_concrete", 64, Block.LIGHT_BLUE_CONCRETE), + LIGHT_BLUE_CONCRETE(NamespaceID.from("minecraft:light_blue_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:light_blue_concrete")), - YELLOW_CONCRETE("minecraft:yellow_concrete", 64, Block.YELLOW_CONCRETE), + YELLOW_CONCRETE(NamespaceID.from("minecraft:yellow_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:yellow_concrete")), - LIME_CONCRETE("minecraft:lime_concrete", 64, Block.LIME_CONCRETE), + LIME_CONCRETE(NamespaceID.from("minecraft:lime_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:lime_concrete")), - PINK_CONCRETE("minecraft:pink_concrete", 64, Block.PINK_CONCRETE), + PINK_CONCRETE(NamespaceID.from("minecraft:pink_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:pink_concrete")), - GRAY_CONCRETE("minecraft:gray_concrete", 64, Block.GRAY_CONCRETE), + GRAY_CONCRETE(NamespaceID.from("minecraft:gray_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:gray_concrete")), - LIGHT_GRAY_CONCRETE("minecraft:light_gray_concrete", 64, Block.LIGHT_GRAY_CONCRETE), + LIGHT_GRAY_CONCRETE(NamespaceID.from("minecraft:light_gray_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:light_gray_concrete")), - CYAN_CONCRETE("minecraft:cyan_concrete", 64, Block.CYAN_CONCRETE), + CYAN_CONCRETE(NamespaceID.from("minecraft:cyan_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:cyan_concrete")), - PURPLE_CONCRETE("minecraft:purple_concrete", 64, Block.PURPLE_CONCRETE), + PURPLE_CONCRETE(NamespaceID.from("minecraft:purple_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:purple_concrete")), - BLUE_CONCRETE("minecraft:blue_concrete", 64, Block.BLUE_CONCRETE), + BLUE_CONCRETE(NamespaceID.from("minecraft:blue_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:blue_concrete")), - BROWN_CONCRETE("minecraft:brown_concrete", 64, Block.BROWN_CONCRETE), + BROWN_CONCRETE(NamespaceID.from("minecraft:brown_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:brown_concrete")), - GREEN_CONCRETE("minecraft:green_concrete", 64, Block.GREEN_CONCRETE), + GREEN_CONCRETE(NamespaceID.from("minecraft:green_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:green_concrete")), - RED_CONCRETE("minecraft:red_concrete", 64, Block.RED_CONCRETE), + RED_CONCRETE(NamespaceID.from("minecraft:red_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:red_concrete")), - BLACK_CONCRETE("minecraft:black_concrete", 64, Block.BLACK_CONCRETE), + BLACK_CONCRETE(NamespaceID.from("minecraft:black_concrete"), (byte) 64, () -> Registries.getBlock("minecraft:black_concrete")), - WHITE_CONCRETE_POWDER("minecraft:white_concrete_powder", 64, Block.WHITE_CONCRETE_POWDER), + WHITE_CONCRETE_POWDER(NamespaceID.from("minecraft:white_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:white_concrete_powder")), - ORANGE_CONCRETE_POWDER("minecraft:orange_concrete_powder", 64, Block.ORANGE_CONCRETE_POWDER), + ORANGE_CONCRETE_POWDER(NamespaceID.from("minecraft:orange_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:orange_concrete_powder")), - MAGENTA_CONCRETE_POWDER("minecraft:magenta_concrete_powder", 64, Block.MAGENTA_CONCRETE_POWDER), + MAGENTA_CONCRETE_POWDER(NamespaceID.from("minecraft:magenta_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:magenta_concrete_powder")), - LIGHT_BLUE_CONCRETE_POWDER("minecraft:light_blue_concrete_powder", 64, Block.LIGHT_BLUE_CONCRETE_POWDER), + LIGHT_BLUE_CONCRETE_POWDER(NamespaceID.from("minecraft:light_blue_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:light_blue_concrete_powder")), - YELLOW_CONCRETE_POWDER("minecraft:yellow_concrete_powder", 64, Block.YELLOW_CONCRETE_POWDER), + YELLOW_CONCRETE_POWDER(NamespaceID.from("minecraft:yellow_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:yellow_concrete_powder")), - LIME_CONCRETE_POWDER("minecraft:lime_concrete_powder", 64, Block.LIME_CONCRETE_POWDER), + LIME_CONCRETE_POWDER(NamespaceID.from("minecraft:lime_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:lime_concrete_powder")), - PINK_CONCRETE_POWDER("minecraft:pink_concrete_powder", 64, Block.PINK_CONCRETE_POWDER), + PINK_CONCRETE_POWDER(NamespaceID.from("minecraft:pink_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:pink_concrete_powder")), - GRAY_CONCRETE_POWDER("minecraft:gray_concrete_powder", 64, Block.GRAY_CONCRETE_POWDER), + GRAY_CONCRETE_POWDER(NamespaceID.from("minecraft:gray_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:gray_concrete_powder")), - LIGHT_GRAY_CONCRETE_POWDER("minecraft:light_gray_concrete_powder", 64, Block.LIGHT_GRAY_CONCRETE_POWDER), + LIGHT_GRAY_CONCRETE_POWDER(NamespaceID.from("minecraft:light_gray_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:light_gray_concrete_powder")), - CYAN_CONCRETE_POWDER("minecraft:cyan_concrete_powder", 64, Block.CYAN_CONCRETE_POWDER), + CYAN_CONCRETE_POWDER(NamespaceID.from("minecraft:cyan_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:cyan_concrete_powder")), - PURPLE_CONCRETE_POWDER("minecraft:purple_concrete_powder", 64, Block.PURPLE_CONCRETE_POWDER), + PURPLE_CONCRETE_POWDER(NamespaceID.from("minecraft:purple_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:purple_concrete_powder")), - BLUE_CONCRETE_POWDER("minecraft:blue_concrete_powder", 64, Block.BLUE_CONCRETE_POWDER), + BLUE_CONCRETE_POWDER(NamespaceID.from("minecraft:blue_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:blue_concrete_powder")), - BROWN_CONCRETE_POWDER("minecraft:brown_concrete_powder", 64, Block.BROWN_CONCRETE_POWDER), + BROWN_CONCRETE_POWDER(NamespaceID.from("minecraft:brown_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:brown_concrete_powder")), - GREEN_CONCRETE_POWDER("minecraft:green_concrete_powder", 64, Block.GREEN_CONCRETE_POWDER), + GREEN_CONCRETE_POWDER(NamespaceID.from("minecraft:green_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:green_concrete_powder")), - RED_CONCRETE_POWDER("minecraft:red_concrete_powder", 64, Block.RED_CONCRETE_POWDER), + RED_CONCRETE_POWDER(NamespaceID.from("minecraft:red_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:red_concrete_powder")), - BLACK_CONCRETE_POWDER("minecraft:black_concrete_powder", 64, Block.BLACK_CONCRETE_POWDER), + BLACK_CONCRETE_POWDER(NamespaceID.from("minecraft:black_concrete_powder"), (byte) 64, () -> Registries.getBlock("minecraft:black_concrete_powder")), - TURTLE_EGG("minecraft:turtle_egg", 64, Block.TURTLE_EGG), + TURTLE_EGG(NamespaceID.from("minecraft:turtle_egg"), (byte) 64, () -> Registries.getBlock("minecraft:turtle_egg")), - DEAD_TUBE_CORAL_BLOCK("minecraft:dead_tube_coral_block", 64, Block.DEAD_TUBE_CORAL_BLOCK), + DEAD_TUBE_CORAL_BLOCK(NamespaceID.from("minecraft:dead_tube_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:dead_tube_coral_block")), - DEAD_BRAIN_CORAL_BLOCK("minecraft:dead_brain_coral_block", 64, Block.DEAD_BRAIN_CORAL_BLOCK), + DEAD_BRAIN_CORAL_BLOCK(NamespaceID.from("minecraft:dead_brain_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:dead_brain_coral_block")), - DEAD_BUBBLE_CORAL_BLOCK("minecraft:dead_bubble_coral_block", 64, Block.DEAD_BUBBLE_CORAL_BLOCK), + DEAD_BUBBLE_CORAL_BLOCK(NamespaceID.from("minecraft:dead_bubble_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:dead_bubble_coral_block")), - DEAD_FIRE_CORAL_BLOCK("minecraft:dead_fire_coral_block", 64, Block.DEAD_FIRE_CORAL_BLOCK), + DEAD_FIRE_CORAL_BLOCK(NamespaceID.from("minecraft:dead_fire_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:dead_fire_coral_block")), - DEAD_HORN_CORAL_BLOCK("minecraft:dead_horn_coral_block", 64, Block.DEAD_HORN_CORAL_BLOCK), + DEAD_HORN_CORAL_BLOCK(NamespaceID.from("minecraft:dead_horn_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:dead_horn_coral_block")), - TUBE_CORAL_BLOCK("minecraft:tube_coral_block", 64, Block.TUBE_CORAL_BLOCK), + TUBE_CORAL_BLOCK(NamespaceID.from("minecraft:tube_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:tube_coral_block")), - BRAIN_CORAL_BLOCK("minecraft:brain_coral_block", 64, Block.BRAIN_CORAL_BLOCK), + BRAIN_CORAL_BLOCK(NamespaceID.from("minecraft:brain_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:brain_coral_block")), - BUBBLE_CORAL_BLOCK("minecraft:bubble_coral_block", 64, Block.BUBBLE_CORAL_BLOCK), + BUBBLE_CORAL_BLOCK(NamespaceID.from("minecraft:bubble_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:bubble_coral_block")), - FIRE_CORAL_BLOCK("minecraft:fire_coral_block", 64, Block.FIRE_CORAL_BLOCK), + FIRE_CORAL_BLOCK(NamespaceID.from("minecraft:fire_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:fire_coral_block")), - HORN_CORAL_BLOCK("minecraft:horn_coral_block", 64, Block.HORN_CORAL_BLOCK), + HORN_CORAL_BLOCK(NamespaceID.from("minecraft:horn_coral_block"), (byte) 64, () -> Registries.getBlock("minecraft:horn_coral_block")), - TUBE_CORAL("minecraft:tube_coral", 64, Block.TUBE_CORAL), + TUBE_CORAL(NamespaceID.from("minecraft:tube_coral"), (byte) 64, () -> Registries.getBlock("minecraft:tube_coral")), - BRAIN_CORAL("minecraft:brain_coral", 64, Block.BRAIN_CORAL), + BRAIN_CORAL(NamespaceID.from("minecraft:brain_coral"), (byte) 64, () -> Registries.getBlock("minecraft:brain_coral")), - BUBBLE_CORAL("minecraft:bubble_coral", 64, Block.BUBBLE_CORAL), + BUBBLE_CORAL(NamespaceID.from("minecraft:bubble_coral"), (byte) 64, () -> Registries.getBlock("minecraft:bubble_coral")), - FIRE_CORAL("minecraft:fire_coral", 64, Block.FIRE_CORAL), + FIRE_CORAL(NamespaceID.from("minecraft:fire_coral"), (byte) 64, () -> Registries.getBlock("minecraft:fire_coral")), - HORN_CORAL("minecraft:horn_coral", 64, Block.HORN_CORAL), + HORN_CORAL(NamespaceID.from("minecraft:horn_coral"), (byte) 64, () -> Registries.getBlock("minecraft:horn_coral")), - DEAD_BRAIN_CORAL("minecraft:dead_brain_coral", 64, Block.DEAD_BRAIN_CORAL), + DEAD_BRAIN_CORAL(NamespaceID.from("minecraft:dead_brain_coral"), (byte) 64, () -> Registries.getBlock("minecraft:dead_brain_coral")), - DEAD_BUBBLE_CORAL("minecraft:dead_bubble_coral", 64, Block.DEAD_BUBBLE_CORAL), + DEAD_BUBBLE_CORAL(NamespaceID.from("minecraft:dead_bubble_coral"), (byte) 64, () -> Registries.getBlock("minecraft:dead_bubble_coral")), - DEAD_FIRE_CORAL("minecraft:dead_fire_coral", 64, Block.DEAD_FIRE_CORAL), + DEAD_FIRE_CORAL(NamespaceID.from("minecraft:dead_fire_coral"), (byte) 64, () -> Registries.getBlock("minecraft:dead_fire_coral")), - DEAD_HORN_CORAL("minecraft:dead_horn_coral", 64, Block.DEAD_HORN_CORAL), + DEAD_HORN_CORAL(NamespaceID.from("minecraft:dead_horn_coral"), (byte) 64, () -> Registries.getBlock("minecraft:dead_horn_coral")), - DEAD_TUBE_CORAL("minecraft:dead_tube_coral", 64, Block.DEAD_TUBE_CORAL), + DEAD_TUBE_CORAL(NamespaceID.from("minecraft:dead_tube_coral"), (byte) 64, () -> Registries.getBlock("minecraft:dead_tube_coral")), - TUBE_CORAL_FAN("minecraft:tube_coral_fan", 64, Block.TUBE_CORAL_FAN), + TUBE_CORAL_FAN(NamespaceID.from("minecraft:tube_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:tube_coral_fan")), - BRAIN_CORAL_FAN("minecraft:brain_coral_fan", 64, Block.BRAIN_CORAL_FAN), + BRAIN_CORAL_FAN(NamespaceID.from("minecraft:brain_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:brain_coral_fan")), - BUBBLE_CORAL_FAN("minecraft:bubble_coral_fan", 64, Block.BUBBLE_CORAL_FAN), + BUBBLE_CORAL_FAN(NamespaceID.from("minecraft:bubble_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:bubble_coral_fan")), - FIRE_CORAL_FAN("minecraft:fire_coral_fan", 64, Block.FIRE_CORAL_FAN), + FIRE_CORAL_FAN(NamespaceID.from("minecraft:fire_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:fire_coral_fan")), - HORN_CORAL_FAN("minecraft:horn_coral_fan", 64, Block.HORN_CORAL_FAN), + HORN_CORAL_FAN(NamespaceID.from("minecraft:horn_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:horn_coral_fan")), - DEAD_TUBE_CORAL_FAN("minecraft:dead_tube_coral_fan", 64, Block.DEAD_TUBE_CORAL_FAN), + DEAD_TUBE_CORAL_FAN(NamespaceID.from("minecraft:dead_tube_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:dead_tube_coral_fan")), - DEAD_BRAIN_CORAL_FAN("minecraft:dead_brain_coral_fan", 64, Block.DEAD_BRAIN_CORAL_FAN), + DEAD_BRAIN_CORAL_FAN(NamespaceID.from("minecraft:dead_brain_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:dead_brain_coral_fan")), - DEAD_BUBBLE_CORAL_FAN("minecraft:dead_bubble_coral_fan", 64, Block.DEAD_BUBBLE_CORAL_FAN), + DEAD_BUBBLE_CORAL_FAN(NamespaceID.from("minecraft:dead_bubble_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:dead_bubble_coral_fan")), - DEAD_FIRE_CORAL_FAN("minecraft:dead_fire_coral_fan", 64, Block.DEAD_FIRE_CORAL_FAN), + DEAD_FIRE_CORAL_FAN(NamespaceID.from("minecraft:dead_fire_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:dead_fire_coral_fan")), - DEAD_HORN_CORAL_FAN("minecraft:dead_horn_coral_fan", 64, Block.DEAD_HORN_CORAL_FAN), + DEAD_HORN_CORAL_FAN(NamespaceID.from("minecraft:dead_horn_coral_fan"), (byte) 64, () -> Registries.getBlock("minecraft:dead_horn_coral_fan")), - BLUE_ICE("minecraft:blue_ice", 64, Block.BLUE_ICE), + BLUE_ICE(NamespaceID.from("minecraft:blue_ice"), (byte) 64, () -> Registries.getBlock("minecraft:blue_ice")), - CONDUIT("minecraft:conduit", 64, Block.CONDUIT), + CONDUIT(NamespaceID.from("minecraft:conduit"), (byte) 64, () -> Registries.getBlock("minecraft:conduit")), - POLISHED_GRANITE_STAIRS("minecraft:polished_granite_stairs", 64, Block.POLISHED_GRANITE_STAIRS), + POLISHED_GRANITE_STAIRS(NamespaceID.from("minecraft:polished_granite_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:polished_granite_stairs")), - SMOOTH_RED_SANDSTONE_STAIRS("minecraft:smooth_red_sandstone_stairs", 64, Block.SMOOTH_RED_SANDSTONE_STAIRS), + SMOOTH_RED_SANDSTONE_STAIRS(NamespaceID.from("minecraft:smooth_red_sandstone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_red_sandstone_stairs")), - MOSSY_STONE_BRICK_STAIRS("minecraft:mossy_stone_brick_stairs", 64, Block.MOSSY_STONE_BRICK_STAIRS), + MOSSY_STONE_BRICK_STAIRS(NamespaceID.from("minecraft:mossy_stone_brick_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:mossy_stone_brick_stairs")), - POLISHED_DIORITE_STAIRS("minecraft:polished_diorite_stairs", 64, Block.POLISHED_DIORITE_STAIRS), + POLISHED_DIORITE_STAIRS(NamespaceID.from("minecraft:polished_diorite_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:polished_diorite_stairs")), - MOSSY_COBBLESTONE_STAIRS("minecraft:mossy_cobblestone_stairs", 64, Block.MOSSY_COBBLESTONE_STAIRS), + MOSSY_COBBLESTONE_STAIRS(NamespaceID.from("minecraft:mossy_cobblestone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:mossy_cobblestone_stairs")), - END_STONE_BRICK_STAIRS("minecraft:end_stone_brick_stairs", 64, Block.END_STONE_BRICK_STAIRS), + END_STONE_BRICK_STAIRS(NamespaceID.from("minecraft:end_stone_brick_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:end_stone_brick_stairs")), - STONE_STAIRS("minecraft:stone_stairs", 64, Block.STONE_STAIRS), + STONE_STAIRS(NamespaceID.from("minecraft:stone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:stone_stairs")), - SMOOTH_SANDSTONE_STAIRS("minecraft:smooth_sandstone_stairs", 64, Block.SMOOTH_SANDSTONE_STAIRS), + SMOOTH_SANDSTONE_STAIRS(NamespaceID.from("minecraft:smooth_sandstone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_sandstone_stairs")), - SMOOTH_QUARTZ_STAIRS("minecraft:smooth_quartz_stairs", 64, Block.SMOOTH_QUARTZ_STAIRS), + SMOOTH_QUARTZ_STAIRS(NamespaceID.from("minecraft:smooth_quartz_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_quartz_stairs")), - GRANITE_STAIRS("minecraft:granite_stairs", 64, Block.GRANITE_STAIRS), + GRANITE_STAIRS(NamespaceID.from("minecraft:granite_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:granite_stairs")), - ANDESITE_STAIRS("minecraft:andesite_stairs", 64, Block.ANDESITE_STAIRS), + ANDESITE_STAIRS(NamespaceID.from("minecraft:andesite_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:andesite_stairs")), - RED_NETHER_BRICK_STAIRS("minecraft:red_nether_brick_stairs", 64, Block.RED_NETHER_BRICK_STAIRS), + RED_NETHER_BRICK_STAIRS(NamespaceID.from("minecraft:red_nether_brick_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:red_nether_brick_stairs")), - POLISHED_ANDESITE_STAIRS("minecraft:polished_andesite_stairs", 64, Block.POLISHED_ANDESITE_STAIRS), + POLISHED_ANDESITE_STAIRS(NamespaceID.from("minecraft:polished_andesite_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:polished_andesite_stairs")), - DIORITE_STAIRS("minecraft:diorite_stairs", 64, Block.DIORITE_STAIRS), + DIORITE_STAIRS(NamespaceID.from("minecraft:diorite_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:diorite_stairs")), - POLISHED_GRANITE_SLAB("minecraft:polished_granite_slab", 64, Block.POLISHED_GRANITE_SLAB), + POLISHED_GRANITE_SLAB(NamespaceID.from("minecraft:polished_granite_slab"), (byte) 64, () -> Registries.getBlock("minecraft:polished_granite_slab")), - SMOOTH_RED_SANDSTONE_SLAB("minecraft:smooth_red_sandstone_slab", 64, Block.SMOOTH_RED_SANDSTONE_SLAB), + SMOOTH_RED_SANDSTONE_SLAB(NamespaceID.from("minecraft:smooth_red_sandstone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_red_sandstone_slab")), - MOSSY_STONE_BRICK_SLAB("minecraft:mossy_stone_brick_slab", 64, Block.MOSSY_STONE_BRICK_SLAB), + MOSSY_STONE_BRICK_SLAB(NamespaceID.from("minecraft:mossy_stone_brick_slab"), (byte) 64, () -> Registries.getBlock("minecraft:mossy_stone_brick_slab")), - POLISHED_DIORITE_SLAB("minecraft:polished_diorite_slab", 64, Block.POLISHED_DIORITE_SLAB), + POLISHED_DIORITE_SLAB(NamespaceID.from("minecraft:polished_diorite_slab"), (byte) 64, () -> Registries.getBlock("minecraft:polished_diorite_slab")), - MOSSY_COBBLESTONE_SLAB("minecraft:mossy_cobblestone_slab", 64, Block.MOSSY_COBBLESTONE_SLAB), + MOSSY_COBBLESTONE_SLAB(NamespaceID.from("minecraft:mossy_cobblestone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:mossy_cobblestone_slab")), - END_STONE_BRICK_SLAB("minecraft:end_stone_brick_slab", 64, Block.END_STONE_BRICK_SLAB), + END_STONE_BRICK_SLAB(NamespaceID.from("minecraft:end_stone_brick_slab"), (byte) 64, () -> Registries.getBlock("minecraft:end_stone_brick_slab")), - SMOOTH_SANDSTONE_SLAB("minecraft:smooth_sandstone_slab", 64, Block.SMOOTH_SANDSTONE_SLAB), + SMOOTH_SANDSTONE_SLAB(NamespaceID.from("minecraft:smooth_sandstone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_sandstone_slab")), - SMOOTH_QUARTZ_SLAB("minecraft:smooth_quartz_slab", 64, Block.SMOOTH_QUARTZ_SLAB), + SMOOTH_QUARTZ_SLAB(NamespaceID.from("minecraft:smooth_quartz_slab"), (byte) 64, () -> Registries.getBlock("minecraft:smooth_quartz_slab")), - GRANITE_SLAB("minecraft:granite_slab", 64, Block.GRANITE_SLAB), + GRANITE_SLAB(NamespaceID.from("minecraft:granite_slab"), (byte) 64, () -> Registries.getBlock("minecraft:granite_slab")), - ANDESITE_SLAB("minecraft:andesite_slab", 64, Block.ANDESITE_SLAB), + ANDESITE_SLAB(NamespaceID.from("minecraft:andesite_slab"), (byte) 64, () -> Registries.getBlock("minecraft:andesite_slab")), - RED_NETHER_BRICK_SLAB("minecraft:red_nether_brick_slab", 64, Block.RED_NETHER_BRICK_SLAB), + RED_NETHER_BRICK_SLAB(NamespaceID.from("minecraft:red_nether_brick_slab"), (byte) 64, () -> Registries.getBlock("minecraft:red_nether_brick_slab")), - POLISHED_ANDESITE_SLAB("minecraft:polished_andesite_slab", 64, Block.POLISHED_ANDESITE_SLAB), + POLISHED_ANDESITE_SLAB(NamespaceID.from("minecraft:polished_andesite_slab"), (byte) 64, () -> Registries.getBlock("minecraft:polished_andesite_slab")), - DIORITE_SLAB("minecraft:diorite_slab", 64, Block.DIORITE_SLAB), + DIORITE_SLAB(NamespaceID.from("minecraft:diorite_slab"), (byte) 64, () -> Registries.getBlock("minecraft:diorite_slab")), - SCAFFOLDING("minecraft:scaffolding", 64, Block.SCAFFOLDING), + SCAFFOLDING(NamespaceID.from("minecraft:scaffolding"), (byte) 64, () -> Registries.getBlock("minecraft:scaffolding")), - IRON_DOOR("minecraft:iron_door", 64, Block.IRON_DOOR), + IRON_DOOR(NamespaceID.from("minecraft:iron_door"), (byte) 64, () -> Registries.getBlock("minecraft:iron_door")), - OAK_DOOR("minecraft:oak_door", 64, Block.OAK_DOOR), + OAK_DOOR(NamespaceID.from("minecraft:oak_door"), (byte) 64, () -> Registries.getBlock("minecraft:oak_door")), - SPRUCE_DOOR("minecraft:spruce_door", 64, Block.SPRUCE_DOOR), + SPRUCE_DOOR(NamespaceID.from("minecraft:spruce_door"), (byte) 64, () -> Registries.getBlock("minecraft:spruce_door")), - BIRCH_DOOR("minecraft:birch_door", 64, Block.BIRCH_DOOR), + BIRCH_DOOR(NamespaceID.from("minecraft:birch_door"), (byte) 64, () -> Registries.getBlock("minecraft:birch_door")), - JUNGLE_DOOR("minecraft:jungle_door", 64, Block.JUNGLE_DOOR), + JUNGLE_DOOR(NamespaceID.from("minecraft:jungle_door"), (byte) 64, () -> Registries.getBlock("minecraft:jungle_door")), - ACACIA_DOOR("minecraft:acacia_door", 64, Block.ACACIA_DOOR), + ACACIA_DOOR(NamespaceID.from("minecraft:acacia_door"), (byte) 64, () -> Registries.getBlock("minecraft:acacia_door")), - DARK_OAK_DOOR("minecraft:dark_oak_door", 64, Block.DARK_OAK_DOOR), + DARK_OAK_DOOR(NamespaceID.from("minecraft:dark_oak_door"), (byte) 64, () -> Registries.getBlock("minecraft:dark_oak_door")), - CRIMSON_DOOR("minecraft:crimson_door", 64, Block.CRIMSON_DOOR), + CRIMSON_DOOR(NamespaceID.from("minecraft:crimson_door"), (byte) 64, () -> Registries.getBlock("minecraft:crimson_door")), - WARPED_DOOR("minecraft:warped_door", 64, Block.WARPED_DOOR), + WARPED_DOOR(NamespaceID.from("minecraft:warped_door"), (byte) 64, () -> Registries.getBlock("minecraft:warped_door")), - REPEATER("minecraft:repeater", 64, Block.REPEATER), + REPEATER(NamespaceID.from("minecraft:repeater"), (byte) 64, () -> Registries.getBlock("minecraft:repeater")), - COMPARATOR("minecraft:comparator", 64, Block.COMPARATOR), + COMPARATOR(NamespaceID.from("minecraft:comparator"), (byte) 64, () -> Registries.getBlock("minecraft:comparator")), - STRUCTURE_BLOCK("minecraft:structure_block", 64, Block.STRUCTURE_BLOCK), + STRUCTURE_BLOCK(NamespaceID.from("minecraft:structure_block"), (byte) 64, () -> Registries.getBlock("minecraft:structure_block")), - JIGSAW("minecraft:jigsaw", 64, Block.JIGSAW), + JIGSAW(NamespaceID.from("minecraft:jigsaw"), (byte) 64, () -> Registries.getBlock("minecraft:jigsaw")), - TURTLE_HELMET("minecraft:turtle_helmet", 64, null), + TURTLE_HELMET(NamespaceID.from("minecraft:turtle_helmet"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } - SCUTE("minecraft:scute", 64, null), + @Override + public boolean isHelmet() { + return true; + } + }, - FLINT_AND_STEEL("minecraft:flint_and_steel", 64, null), + SCUTE(NamespaceID.from("minecraft:scute"), (byte) 64, () -> null), - APPLE("minecraft:apple", 64, null), + FLINT_AND_STEEL(NamespaceID.from("minecraft:flint_and_steel"), (byte) 1, () -> null), - BOW("minecraft:bow", 64, null), + APPLE(NamespaceID.from("minecraft:apple"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - ARROW("minecraft:arrow", 64, null), + BOW(NamespaceID.from("minecraft:bow"), (byte) 1, () -> null), - COAL("minecraft:coal", 64, null), + ARROW(NamespaceID.from("minecraft:arrow"), (byte) 64, () -> null), - CHARCOAL("minecraft:charcoal", 64, null), + COAL(NamespaceID.from("minecraft:coal"), (byte) 64, () -> null), - DIAMOND("minecraft:diamond", 64, null), + CHARCOAL(NamespaceID.from("minecraft:charcoal"), (byte) 64, () -> null), - IRON_INGOT("minecraft:iron_ingot", 64, null), + DIAMOND(NamespaceID.from("minecraft:diamond"), (byte) 64, () -> null), - GOLD_INGOT("minecraft:gold_ingot", 64, null), + IRON_INGOT(NamespaceID.from("minecraft:iron_ingot"), (byte) 64, () -> null), - NETHERITE_INGOT("minecraft:netherite_ingot", 64, null), + GOLD_INGOT(NamespaceID.from("minecraft:gold_ingot"), (byte) 64, () -> null), - NETHERITE_SCRAP("minecraft:netherite_scrap", 64, null), + NETHERITE_INGOT(NamespaceID.from("minecraft:netherite_ingot"), (byte) 64, () -> null), - WOODEN_SWORD("minecraft:wooden_sword", 64, null), + NETHERITE_SCRAP(NamespaceID.from("minecraft:netherite_scrap"), (byte) 64, () -> null), - WOODEN_SHOVEL("minecraft:wooden_shovel", 64, null), + WOODEN_SWORD(NamespaceID.from("minecraft:wooden_sword"), (byte) 1, () -> null), - WOODEN_PICKAXE("minecraft:wooden_pickaxe", 64, null), + WOODEN_SHOVEL(NamespaceID.from("minecraft:wooden_shovel"), (byte) 1, () -> null), - WOODEN_AXE("minecraft:wooden_axe", 64, null), + WOODEN_PICKAXE(NamespaceID.from("minecraft:wooden_pickaxe"), (byte) 1, () -> null), - WOODEN_HOE("minecraft:wooden_hoe", 64, null), + WOODEN_AXE(NamespaceID.from("minecraft:wooden_axe"), (byte) 1, () -> null), - STONE_SWORD("minecraft:stone_sword", 64, null), + WOODEN_HOE(NamespaceID.from("minecraft:wooden_hoe"), (byte) 1, () -> null), - STONE_SHOVEL("minecraft:stone_shovel", 64, null), + STONE_SWORD(NamespaceID.from("minecraft:stone_sword"), (byte) 1, () -> null), - STONE_PICKAXE("minecraft:stone_pickaxe", 64, null), + STONE_SHOVEL(NamespaceID.from("minecraft:stone_shovel"), (byte) 1, () -> null), - STONE_AXE("minecraft:stone_axe", 64, null), + STONE_PICKAXE(NamespaceID.from("minecraft:stone_pickaxe"), (byte) 1, () -> null), - STONE_HOE("minecraft:stone_hoe", 64, null), + STONE_AXE(NamespaceID.from("minecraft:stone_axe"), (byte) 1, () -> null), - GOLDEN_SWORD("minecraft:golden_sword", 64, null), + STONE_HOE(NamespaceID.from("minecraft:stone_hoe"), (byte) 1, () -> null), - GOLDEN_SHOVEL("minecraft:golden_shovel", 64, null), + GOLDEN_SWORD(NamespaceID.from("minecraft:golden_sword"), (byte) 1, () -> null), - GOLDEN_PICKAXE("minecraft:golden_pickaxe", 64, null), + GOLDEN_SHOVEL(NamespaceID.from("minecraft:golden_shovel"), (byte) 1, () -> null), - GOLDEN_AXE("minecraft:golden_axe", 64, null), + GOLDEN_PICKAXE(NamespaceID.from("minecraft:golden_pickaxe"), (byte) 1, () -> null), - GOLDEN_HOE("minecraft:golden_hoe", 64, null), + GOLDEN_AXE(NamespaceID.from("minecraft:golden_axe"), (byte) 1, () -> null), - IRON_SWORD("minecraft:iron_sword", 64, null), + GOLDEN_HOE(NamespaceID.from("minecraft:golden_hoe"), (byte) 1, () -> null), - IRON_SHOVEL("minecraft:iron_shovel", 64, null), + IRON_SWORD(NamespaceID.from("minecraft:iron_sword"), (byte) 1, () -> null), - IRON_PICKAXE("minecraft:iron_pickaxe", 64, null), + IRON_SHOVEL(NamespaceID.from("minecraft:iron_shovel"), (byte) 1, () -> null), - IRON_AXE("minecraft:iron_axe", 64, null), + IRON_PICKAXE(NamespaceID.from("minecraft:iron_pickaxe"), (byte) 1, () -> null), - IRON_HOE("minecraft:iron_hoe", 64, null), + IRON_AXE(NamespaceID.from("minecraft:iron_axe"), (byte) 1, () -> null), - DIAMOND_SWORD("minecraft:diamond_sword", 64, null), + IRON_HOE(NamespaceID.from("minecraft:iron_hoe"), (byte) 1, () -> null), - DIAMOND_SHOVEL("minecraft:diamond_shovel", 64, null), + DIAMOND_SWORD(NamespaceID.from("minecraft:diamond_sword"), (byte) 1, () -> null), - DIAMOND_PICKAXE("minecraft:diamond_pickaxe", 64, null), + DIAMOND_SHOVEL(NamespaceID.from("minecraft:diamond_shovel"), (byte) 1, () -> null), - DIAMOND_AXE("minecraft:diamond_axe", 64, null), + DIAMOND_PICKAXE(NamespaceID.from("minecraft:diamond_pickaxe"), (byte) 1, () -> null), - DIAMOND_HOE("minecraft:diamond_hoe", 64, null), + DIAMOND_AXE(NamespaceID.from("minecraft:diamond_axe"), (byte) 1, () -> null), - NETHERITE_SWORD("minecraft:netherite_sword", 64, null), + DIAMOND_HOE(NamespaceID.from("minecraft:diamond_hoe"), (byte) 1, () -> null), - NETHERITE_SHOVEL("minecraft:netherite_shovel", 64, null), + NETHERITE_SWORD(NamespaceID.from("minecraft:netherite_sword"), (byte) 1, () -> null), - NETHERITE_PICKAXE("minecraft:netherite_pickaxe", 64, null), + NETHERITE_SHOVEL(NamespaceID.from("minecraft:netherite_shovel"), (byte) 1, () -> null), - NETHERITE_AXE("minecraft:netherite_axe", 64, null), + NETHERITE_PICKAXE(NamespaceID.from("minecraft:netherite_pickaxe"), (byte) 1, () -> null), - NETHERITE_HOE("minecraft:netherite_hoe", 64, null), + NETHERITE_AXE(NamespaceID.from("minecraft:netherite_axe"), (byte) 1, () -> null), - STICK("minecraft:stick", 64, null), + NETHERITE_HOE(NamespaceID.from("minecraft:netherite_hoe"), (byte) 1, () -> null), - BOWL("minecraft:bowl", 64, null), + STICK(NamespaceID.from("minecraft:stick"), (byte) 64, () -> null), - MUSHROOM_STEW("minecraft:mushroom_stew", 1, null), + BOWL(NamespaceID.from("minecraft:bowl"), (byte) 64, () -> null), - STRING("minecraft:string", 64, null), + MUSHROOM_STEW(NamespaceID.from("minecraft:mushroom_stew"), (byte) 1, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - FEATHER("minecraft:feather", 64, null), + STRING(NamespaceID.from("minecraft:string"), (byte) 64, () -> Registries.getBlock("minecraft:tripwire")), - GUNPOWDER("minecraft:gunpowder", 64, null), + FEATHER(NamespaceID.from("minecraft:feather"), (byte) 64, () -> null), - WHEAT_SEEDS("minecraft:wheat_seeds", 64, null), + GUNPOWDER(NamespaceID.from("minecraft:gunpowder"), (byte) 64, () -> null), - WHEAT("minecraft:wheat", 64, Block.WHEAT), + WHEAT_SEEDS(NamespaceID.from("minecraft:wheat_seeds"), (byte) 64, () -> Registries.getBlock("minecraft:wheat")), - BREAD("minecraft:bread", 64, null), + WHEAT(NamespaceID.from("minecraft:wheat"), (byte) 64, () -> null), - LEATHER_HELMET("minecraft:leather_helmet", 64, null), + BREAD(NamespaceID.from("minecraft:bread"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - LEATHER_CHESTPLATE("minecraft:leather_chestplate", 64, null), + LEATHER_HELMET(NamespaceID.from("minecraft:leather_helmet"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } - LEATHER_LEGGINGS("minecraft:leather_leggings", 64, null), + @Override + public boolean isHelmet() { + return true; + } + }, - LEATHER_BOOTS("minecraft:leather_boots", 64, null), + LEATHER_CHESTPLATE(NamespaceID.from("minecraft:leather_chestplate"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } - CHAINMAIL_HELMET("minecraft:chainmail_helmet", 64, null), + @Override + public boolean isChestplate() { + return true; + } + }, - CHAINMAIL_CHESTPLATE("minecraft:chainmail_chestplate", 64, null), + LEATHER_LEGGINGS(NamespaceID.from("minecraft:leather_leggings"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } - CHAINMAIL_LEGGINGS("minecraft:chainmail_leggings", 64, null), + @Override + public boolean isLeggings() { + return true; + } + }, - CHAINMAIL_BOOTS("minecraft:chainmail_boots", 64, null), + LEATHER_BOOTS(NamespaceID.from("minecraft:leather_boots"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isBoots() { + return true; + } + }, + + CHAINMAIL_HELMET(NamespaceID.from("minecraft:chainmail_helmet"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isHelmet() { + return true; + } + }, + + CHAINMAIL_CHESTPLATE(NamespaceID.from("minecraft:chainmail_chestplate"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isChestplate() { + return true; + } + }, + + CHAINMAIL_LEGGINGS(NamespaceID.from("minecraft:chainmail_leggings"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isLeggings() { + return true; + } + }, + + CHAINMAIL_BOOTS(NamespaceID.from("minecraft:chainmail_boots"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isBoots() { + return true; + } + }, + + IRON_HELMET(NamespaceID.from("minecraft:iron_helmet"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isHelmet() { + return true; + } + }, + + IRON_CHESTPLATE(NamespaceID.from("minecraft:iron_chestplate"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isChestplate() { + return true; + } + }, + + IRON_LEGGINGS(NamespaceID.from("minecraft:iron_leggings"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isLeggings() { + return true; + } + }, + + IRON_BOOTS(NamespaceID.from("minecraft:iron_boots"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isBoots() { + return true; + } + }, + + DIAMOND_HELMET(NamespaceID.from("minecraft:diamond_helmet"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isHelmet() { + return true; + } + }, + + DIAMOND_CHESTPLATE(NamespaceID.from("minecraft:diamond_chestplate"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isChestplate() { + return true; + } + }, + + DIAMOND_LEGGINGS(NamespaceID.from("minecraft:diamond_leggings"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isLeggings() { + return true; + } + }, + + DIAMOND_BOOTS(NamespaceID.from("minecraft:diamond_boots"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isBoots() { + return true; + } + }, + + GOLDEN_HELMET(NamespaceID.from("minecraft:golden_helmet"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isHelmet() { + return true; + } + }, + + GOLDEN_CHESTPLATE(NamespaceID.from("minecraft:golden_chestplate"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isChestplate() { + return true; + } + }, + + GOLDEN_LEGGINGS(NamespaceID.from("minecraft:golden_leggings"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isLeggings() { + return true; + } + }, + + GOLDEN_BOOTS(NamespaceID.from("minecraft:golden_boots"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isBoots() { + return true; + } + }, + + NETHERITE_HELMET(NamespaceID.from("minecraft:netherite_helmet"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isHelmet() { + return true; + } + }, + + NETHERITE_CHESTPLATE(NamespaceID.from("minecraft:netherite_chestplate"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } + + @Override + public boolean isChestplate() { + return true; + } + }, + + NETHERITE_LEGGINGS(NamespaceID.from("minecraft:netherite_leggings"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } - IRON_HELMET("minecraft:iron_helmet", 64, null), + @Override + public boolean isLeggings() { + return true; + } + }, - IRON_CHESTPLATE("minecraft:iron_chestplate", 64, null), + NETHERITE_BOOTS(NamespaceID.from("minecraft:netherite_boots"), (byte) 1, () -> null) { + @Override + public boolean isArmor() { + return true; + } - IRON_LEGGINGS("minecraft:iron_leggings", 64, null), + @Override + public boolean isBoots() { + return true; + } + }, - IRON_BOOTS("minecraft:iron_boots", 64, null), + FLINT(NamespaceID.from("minecraft:flint"), (byte) 64, () -> null), - DIAMOND_HELMET("minecraft:diamond_helmet", 64, null), + PORKCHOP(NamespaceID.from("minecraft:porkchop"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - DIAMOND_CHESTPLATE("minecraft:diamond_chestplate", 64, null), + COOKED_PORKCHOP(NamespaceID.from("minecraft:cooked_porkchop"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - DIAMOND_LEGGINGS("minecraft:diamond_leggings", 64, null), + PAINTING(NamespaceID.from("minecraft:painting"), (byte) 64, () -> null), - DIAMOND_BOOTS("minecraft:diamond_boots", 64, null), + GOLDEN_APPLE(NamespaceID.from("minecraft:golden_apple"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - GOLDEN_HELMET("minecraft:golden_helmet", 64, null), + ENCHANTED_GOLDEN_APPLE(NamespaceID.from("minecraft:enchanted_golden_apple"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - GOLDEN_CHESTPLATE("minecraft:golden_chestplate", 64, null), + OAK_SIGN(NamespaceID.from("minecraft:oak_sign"), (byte) 16, () -> Registries.getBlock("minecraft:oak_sign")), - GOLDEN_LEGGINGS("minecraft:golden_leggings", 64, null), + SPRUCE_SIGN(NamespaceID.from("minecraft:spruce_sign"), (byte) 16, () -> Registries.getBlock("minecraft:spruce_sign")), - GOLDEN_BOOTS("minecraft:golden_boots", 64, null), + BIRCH_SIGN(NamespaceID.from("minecraft:birch_sign"), (byte) 16, () -> Registries.getBlock("minecraft:birch_sign")), - NETHERITE_HELMET("minecraft:netherite_helmet", 64, null), + JUNGLE_SIGN(NamespaceID.from("minecraft:jungle_sign"), (byte) 16, () -> Registries.getBlock("minecraft:jungle_sign")), - NETHERITE_CHESTPLATE("minecraft:netherite_chestplate", 64, null), + ACACIA_SIGN(NamespaceID.from("minecraft:acacia_sign"), (byte) 16, () -> Registries.getBlock("minecraft:acacia_sign")), - NETHERITE_LEGGINGS("minecraft:netherite_leggings", 64, null), + DARK_OAK_SIGN(NamespaceID.from("minecraft:dark_oak_sign"), (byte) 16, () -> Registries.getBlock("minecraft:dark_oak_sign")), - NETHERITE_BOOTS("minecraft:netherite_boots", 64, null), + CRIMSON_SIGN(NamespaceID.from("minecraft:crimson_sign"), (byte) 16, () -> Registries.getBlock("minecraft:crimson_sign")), - FLINT("minecraft:flint", 64, null), + WARPED_SIGN(NamespaceID.from("minecraft:warped_sign"), (byte) 16, () -> Registries.getBlock("minecraft:warped_sign")), - PORKCHOP("minecraft:porkchop", 64, null), + BUCKET(NamespaceID.from("minecraft:bucket"), (byte) 16, () -> null), - COOKED_PORKCHOP("minecraft:cooked_porkchop", 64, null), + WATER_BUCKET(NamespaceID.from("minecraft:water_bucket"), (byte) 1, () -> null), - PAINTING("minecraft:painting", 64, null), + LAVA_BUCKET(NamespaceID.from("minecraft:lava_bucket"), (byte) 1, () -> null), - GOLDEN_APPLE("minecraft:golden_apple", 64, null), + MINECART(NamespaceID.from("minecraft:minecart"), (byte) 1, () -> null), - ENCHANTED_GOLDEN_APPLE("minecraft:enchanted_golden_apple", 64, null), + SADDLE(NamespaceID.from("minecraft:saddle"), (byte) 1, () -> null), - OAK_SIGN("minecraft:oak_sign", 16, Block.OAK_SIGN), + REDSTONE(NamespaceID.from("minecraft:redstone"), (byte) 64, () -> Registries.getBlock("minecraft:redstone_wire")), - SPRUCE_SIGN("minecraft:spruce_sign", 16, Block.SPRUCE_SIGN), + SNOWBALL(NamespaceID.from("minecraft:snowball"), (byte) 16, () -> null), - BIRCH_SIGN("minecraft:birch_sign", 16, Block.BIRCH_SIGN), + OAK_BOAT(NamespaceID.from("minecraft:oak_boat"), (byte) 1, () -> null), - JUNGLE_SIGN("minecraft:jungle_sign", 16, Block.JUNGLE_SIGN), + LEATHER(NamespaceID.from("minecraft:leather"), (byte) 64, () -> null), - ACACIA_SIGN("minecraft:acacia_sign", 16, Block.ACACIA_SIGN), + MILK_BUCKET(NamespaceID.from("minecraft:milk_bucket"), (byte) 1, () -> null), - DARK_OAK_SIGN("minecraft:dark_oak_sign", 16, Block.DARK_OAK_SIGN), + PUFFERFISH_BUCKET(NamespaceID.from("minecraft:pufferfish_bucket"), (byte) 1, () -> null), - CRIMSON_SIGN("minecraft:crimson_sign", 16, Block.CRIMSON_SIGN), + SALMON_BUCKET(NamespaceID.from("minecraft:salmon_bucket"), (byte) 1, () -> null), - WARPED_SIGN("minecraft:warped_sign", 16, Block.WARPED_SIGN), + COD_BUCKET(NamespaceID.from("minecraft:cod_bucket"), (byte) 1, () -> null), - BUCKET("minecraft:bucket", 16, null), + TROPICAL_FISH_BUCKET(NamespaceID.from("minecraft:tropical_fish_bucket"), (byte) 1, () -> null), - WATER_BUCKET("minecraft:water_bucket", 1, null), + BRICK(NamespaceID.from("minecraft:brick"), (byte) 64, () -> null), - LAVA_BUCKET("minecraft:lava_bucket", 1, null), + CLAY_BALL(NamespaceID.from("minecraft:clay_ball"), (byte) 64, () -> null), - MINECART("minecraft:minecart", 1, null), + DRIED_KELP_BLOCK(NamespaceID.from("minecraft:dried_kelp_block"), (byte) 64, () -> Registries.getBlock("minecraft:dried_kelp_block")), - SADDLE("minecraft:saddle", 1, null), + PAPER(NamespaceID.from("minecraft:paper"), (byte) 64, () -> null), - REDSTONE("minecraft:redstone", 64, Block.REDSTONE_WIRE), + BOOK(NamespaceID.from("minecraft:book"), (byte) 64, () -> null), - SNOWBALL("minecraft:snowball", 16, null), + SLIME_BALL(NamespaceID.from("minecraft:slime_ball"), (byte) 64, () -> null), - OAK_BOAT("minecraft:oak_boat", 1, null), + CHEST_MINECART(NamespaceID.from("minecraft:chest_minecart"), (byte) 1, () -> null), - LEATHER("minecraft:leather", 64, null), + FURNACE_MINECART(NamespaceID.from("minecraft:furnace_minecart"), (byte) 1, () -> null), - MILK_BUCKET("minecraft:milk_bucket", 1, null), + EGG(NamespaceID.from("minecraft:egg"), (byte) 16, () -> null), - PUFFERFISH_BUCKET("minecraft:pufferfish_bucket", 1, null), + COMPASS(NamespaceID.from("minecraft:compass"), (byte) 64, () -> null), - SALMON_BUCKET("minecraft:salmon_bucket", 1, null), + FISHING_ROD(NamespaceID.from("minecraft:fishing_rod"), (byte) 1, () -> null), - COD_BUCKET("minecraft:cod_bucket", 1, null), + CLOCK(NamespaceID.from("minecraft:clock"), (byte) 64, () -> null), - TROPICAL_FISH_BUCKET("minecraft:tropical_fish_bucket", 1, null), + GLOWSTONE_DUST(NamespaceID.from("minecraft:glowstone_dust"), (byte) 64, () -> null), - BRICK("minecraft:brick", 64, null), + COD(NamespaceID.from("minecraft:cod"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - CLAY_BALL("minecraft:clay_ball", 64, null), + SALMON(NamespaceID.from("minecraft:salmon"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - DRIED_KELP_BLOCK("minecraft:dried_kelp_block", 64, Block.DRIED_KELP_BLOCK), + TROPICAL_FISH(NamespaceID.from("minecraft:tropical_fish"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - PAPER("minecraft:paper", 64, null), + PUFFERFISH(NamespaceID.from("minecraft:pufferfish"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - BOOK("minecraft:book", 64, null), + COOKED_COD(NamespaceID.from("minecraft:cooked_cod"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - SLIME_BALL("minecraft:slime_ball", 64, null), + COOKED_SALMON(NamespaceID.from("minecraft:cooked_salmon"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - CHEST_MINECART("minecraft:chest_minecart", 1, null), + INK_SAC(NamespaceID.from("minecraft:ink_sac"), (byte) 64, () -> null), - FURNACE_MINECART("minecraft:furnace_minecart", 1, null), + COCOA_BEANS(NamespaceID.from("minecraft:cocoa_beans"), (byte) 64, () -> Registries.getBlock("minecraft:cocoa")), - EGG("minecraft:egg", 16, null), + LAPIS_LAZULI(NamespaceID.from("minecraft:lapis_lazuli"), (byte) 64, () -> null), - COMPASS("minecraft:compass", 64, null), + WHITE_DYE(NamespaceID.from("minecraft:white_dye"), (byte) 64, () -> null), - FISHING_ROD("minecraft:fishing_rod", 64, null), + ORANGE_DYE(NamespaceID.from("minecraft:orange_dye"), (byte) 64, () -> null), - CLOCK("minecraft:clock", 64, null), + MAGENTA_DYE(NamespaceID.from("minecraft:magenta_dye"), (byte) 64, () -> null), - GLOWSTONE_DUST("minecraft:glowstone_dust", 64, null), + LIGHT_BLUE_DYE(NamespaceID.from("minecraft:light_blue_dye"), (byte) 64, () -> null), - COD("minecraft:cod", 64, null), + YELLOW_DYE(NamespaceID.from("minecraft:yellow_dye"), (byte) 64, () -> null), - SALMON("minecraft:salmon", 64, null), + LIME_DYE(NamespaceID.from("minecraft:lime_dye"), (byte) 64, () -> null), - TROPICAL_FISH("minecraft:tropical_fish", 64, null), + PINK_DYE(NamespaceID.from("minecraft:pink_dye"), (byte) 64, () -> null), - PUFFERFISH("minecraft:pufferfish", 64, null), + GRAY_DYE(NamespaceID.from("minecraft:gray_dye"), (byte) 64, () -> null), - COOKED_COD("minecraft:cooked_cod", 64, null), + LIGHT_GRAY_DYE(NamespaceID.from("minecraft:light_gray_dye"), (byte) 64, () -> null), - COOKED_SALMON("minecraft:cooked_salmon", 64, null), + CYAN_DYE(NamespaceID.from("minecraft:cyan_dye"), (byte) 64, () -> null), - INK_SAC("minecraft:ink_sac", 64, null), + PURPLE_DYE(NamespaceID.from("minecraft:purple_dye"), (byte) 64, () -> null), - COCOA_BEANS("minecraft:cocoa_beans", 64, null), + BLUE_DYE(NamespaceID.from("minecraft:blue_dye"), (byte) 64, () -> null), - LAPIS_LAZULI("minecraft:lapis_lazuli", 64, null), + BROWN_DYE(NamespaceID.from("minecraft:brown_dye"), (byte) 64, () -> null), - WHITE_DYE("minecraft:white_dye", 64, null), + GREEN_DYE(NamespaceID.from("minecraft:green_dye"), (byte) 64, () -> null), - ORANGE_DYE("minecraft:orange_dye", 64, null), + RED_DYE(NamespaceID.from("minecraft:red_dye"), (byte) 64, () -> null), - MAGENTA_DYE("minecraft:magenta_dye", 64, null), + BLACK_DYE(NamespaceID.from("minecraft:black_dye"), (byte) 64, () -> null), - LIGHT_BLUE_DYE("minecraft:light_blue_dye", 64, null), + BONE_MEAL(NamespaceID.from("minecraft:bone_meal"), (byte) 64, () -> null), - YELLOW_DYE("minecraft:yellow_dye", 64, null), + BONE(NamespaceID.from("minecraft:bone"), (byte) 64, () -> null), - LIME_DYE("minecraft:lime_dye", 64, null), + SUGAR(NamespaceID.from("minecraft:sugar"), (byte) 64, () -> null), - PINK_DYE("minecraft:pink_dye", 64, null), + CAKE(NamespaceID.from("minecraft:cake"), (byte) 1, () -> Registries.getBlock("minecraft:cake")), - GRAY_DYE("minecraft:gray_dye", 64, null), + WHITE_BED(NamespaceID.from("minecraft:white_bed"), (byte) 1, () -> Registries.getBlock("minecraft:white_bed")), - LIGHT_GRAY_DYE("minecraft:light_gray_dye", 64, null), + ORANGE_BED(NamespaceID.from("minecraft:orange_bed"), (byte) 1, () -> Registries.getBlock("minecraft:orange_bed")), - CYAN_DYE("minecraft:cyan_dye", 64, null), + MAGENTA_BED(NamespaceID.from("minecraft:magenta_bed"), (byte) 1, () -> Registries.getBlock("minecraft:magenta_bed")), - PURPLE_DYE("minecraft:purple_dye", 64, null), + LIGHT_BLUE_BED(NamespaceID.from("minecraft:light_blue_bed"), (byte) 1, () -> Registries.getBlock("minecraft:light_blue_bed")), - BLUE_DYE("minecraft:blue_dye", 64, null), + YELLOW_BED(NamespaceID.from("minecraft:yellow_bed"), (byte) 1, () -> Registries.getBlock("minecraft:yellow_bed")), - BROWN_DYE("minecraft:brown_dye", 64, null), + LIME_BED(NamespaceID.from("minecraft:lime_bed"), (byte) 1, () -> Registries.getBlock("minecraft:lime_bed")), - GREEN_DYE("minecraft:green_dye", 64, null), + PINK_BED(NamespaceID.from("minecraft:pink_bed"), (byte) 1, () -> Registries.getBlock("minecraft:pink_bed")), - RED_DYE("minecraft:red_dye", 64, null), + GRAY_BED(NamespaceID.from("minecraft:gray_bed"), (byte) 1, () -> Registries.getBlock("minecraft:gray_bed")), - BLACK_DYE("minecraft:black_dye", 64, null), + LIGHT_GRAY_BED(NamespaceID.from("minecraft:light_gray_bed"), (byte) 1, () -> Registries.getBlock("minecraft:light_gray_bed")), - BONE_MEAL("minecraft:bone_meal", 64, null), + CYAN_BED(NamespaceID.from("minecraft:cyan_bed"), (byte) 1, () -> Registries.getBlock("minecraft:cyan_bed")), - BONE("minecraft:bone", 64, null), + PURPLE_BED(NamespaceID.from("minecraft:purple_bed"), (byte) 1, () -> Registries.getBlock("minecraft:purple_bed")), - SUGAR("minecraft:sugar", 64, null), + BLUE_BED(NamespaceID.from("minecraft:blue_bed"), (byte) 1, () -> Registries.getBlock("minecraft:blue_bed")), - CAKE("minecraft:cake", 1, Block.CAKE), + BROWN_BED(NamespaceID.from("minecraft:brown_bed"), (byte) 1, () -> Registries.getBlock("minecraft:brown_bed")), - WHITE_BED("minecraft:white_bed", 1, Block.WHITE_BED), + GREEN_BED(NamespaceID.from("minecraft:green_bed"), (byte) 1, () -> Registries.getBlock("minecraft:green_bed")), - ORANGE_BED("minecraft:orange_bed", 1, Block.ORANGE_BED), + RED_BED(NamespaceID.from("minecraft:red_bed"), (byte) 1, () -> Registries.getBlock("minecraft:red_bed")), - MAGENTA_BED("minecraft:magenta_bed", 1, Block.MAGENTA_BED), + BLACK_BED(NamespaceID.from("minecraft:black_bed"), (byte) 1, () -> Registries.getBlock("minecraft:black_bed")), - LIGHT_BLUE_BED("minecraft:light_blue_bed", 1, Block.LIGHT_BLUE_BED), + COOKIE(NamespaceID.from("minecraft:cookie"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - YELLOW_BED("minecraft:yellow_bed", 1, Block.YELLOW_BED), + FILLED_MAP(NamespaceID.from("minecraft:filled_map"), (byte) 64, () -> null), - LIME_BED("minecraft:lime_bed", 1, Block.LIME_BED), + SHEARS(NamespaceID.from("minecraft:shears"), (byte) 1, () -> null), - PINK_BED("minecraft:pink_bed", 1, Block.PINK_BED), + MELON_SLICE(NamespaceID.from("minecraft:melon_slice"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - GRAY_BED("minecraft:gray_bed", 1, Block.GRAY_BED), + DRIED_KELP(NamespaceID.from("minecraft:dried_kelp"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - LIGHT_GRAY_BED("minecraft:light_gray_bed", 1, Block.LIGHT_GRAY_BED), + PUMPKIN_SEEDS(NamespaceID.from("minecraft:pumpkin_seeds"), (byte) 64, () -> Registries.getBlock("minecraft:pumpkin_stem")), - CYAN_BED("minecraft:cyan_bed", 1, Block.CYAN_BED), + MELON_SEEDS(NamespaceID.from("minecraft:melon_seeds"), (byte) 64, () -> Registries.getBlock("minecraft:melon_stem")), - PURPLE_BED("minecraft:purple_bed", 1, Block.PURPLE_BED), + BEEF(NamespaceID.from("minecraft:beef"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - BLUE_BED("minecraft:blue_bed", 1, Block.BLUE_BED), + COOKED_BEEF(NamespaceID.from("minecraft:cooked_beef"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - BROWN_BED("minecraft:brown_bed", 1, Block.BROWN_BED), + CHICKEN(NamespaceID.from("minecraft:chicken"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - GREEN_BED("minecraft:green_bed", 1, Block.GREEN_BED), + COOKED_CHICKEN(NamespaceID.from("minecraft:cooked_chicken"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - RED_BED("minecraft:red_bed", 1, Block.RED_BED), + ROTTEN_FLESH(NamespaceID.from("minecraft:rotten_flesh"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - BLACK_BED("minecraft:black_bed", 1, Block.BLACK_BED), + ENDER_PEARL(NamespaceID.from("minecraft:ender_pearl"), (byte) 16, () -> null), - COOKIE("minecraft:cookie", 64, null), + BLAZE_ROD(NamespaceID.from("minecraft:blaze_rod"), (byte) 64, () -> null), - FILLED_MAP("minecraft:filled_map", 64, null), + GHAST_TEAR(NamespaceID.from("minecraft:ghast_tear"), (byte) 64, () -> null), - SHEARS("minecraft:shears", 64, null), + GOLD_NUGGET(NamespaceID.from("minecraft:gold_nugget"), (byte) 64, () -> null), - MELON_SLICE("minecraft:melon_slice", 64, null), + NETHER_WART(NamespaceID.from("minecraft:nether_wart"), (byte) 64, () -> Registries.getBlock("minecraft:nether_wart")), - DRIED_KELP("minecraft:dried_kelp", 64, null), + POTION(NamespaceID.from("minecraft:potion"), (byte) 1, () -> null), - PUMPKIN_SEEDS("minecraft:pumpkin_seeds", 64, null), + GLASS_BOTTLE(NamespaceID.from("minecraft:glass_bottle"), (byte) 64, () -> null), - MELON_SEEDS("minecraft:melon_seeds", 64, null), + SPIDER_EYE(NamespaceID.from("minecraft:spider_eye"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - BEEF("minecraft:beef", 64, null), + FERMENTED_SPIDER_EYE(NamespaceID.from("minecraft:fermented_spider_eye"), (byte) 64, () -> null), - COOKED_BEEF("minecraft:cooked_beef", 64, null), + BLAZE_POWDER(NamespaceID.from("minecraft:blaze_powder"), (byte) 64, () -> null), - CHICKEN("minecraft:chicken", 64, null), + MAGMA_CREAM(NamespaceID.from("minecraft:magma_cream"), (byte) 64, () -> null), - COOKED_CHICKEN("minecraft:cooked_chicken", 64, null), + BREWING_STAND(NamespaceID.from("minecraft:brewing_stand"), (byte) 64, () -> Registries.getBlock("minecraft:brewing_stand")), - ROTTEN_FLESH("minecraft:rotten_flesh", 64, null), + CAULDRON(NamespaceID.from("minecraft:cauldron"), (byte) 64, () -> Registries.getBlock("minecraft:cauldron")), - ENDER_PEARL("minecraft:ender_pearl", 16, null), + ENDER_EYE(NamespaceID.from("minecraft:ender_eye"), (byte) 64, () -> null), - BLAZE_ROD("minecraft:blaze_rod", 64, null), + GLISTERING_MELON_SLICE(NamespaceID.from("minecraft:glistering_melon_slice"), (byte) 64, () -> null), - GHAST_TEAR("minecraft:ghast_tear", 64, null), + BAT_SPAWN_EGG(NamespaceID.from("minecraft:bat_spawn_egg"), (byte) 64, () -> null), - GOLD_NUGGET("minecraft:gold_nugget", 64, null), + BEE_SPAWN_EGG(NamespaceID.from("minecraft:bee_spawn_egg"), (byte) 64, () -> null), - NETHER_WART("minecraft:nether_wart", 64, Block.NETHER_WART), + BLAZE_SPAWN_EGG(NamespaceID.from("minecraft:blaze_spawn_egg"), (byte) 64, () -> null), - POTION("minecraft:potion", 1, null), + CAT_SPAWN_EGG(NamespaceID.from("minecraft:cat_spawn_egg"), (byte) 64, () -> null), - GLASS_BOTTLE("minecraft:glass_bottle", 64, null), + CAVE_SPIDER_SPAWN_EGG(NamespaceID.from("minecraft:cave_spider_spawn_egg"), (byte) 64, () -> null), - SPIDER_EYE("minecraft:spider_eye", 64, null), + CHICKEN_SPAWN_EGG(NamespaceID.from("minecraft:chicken_spawn_egg"), (byte) 64, () -> null), - FERMENTED_SPIDER_EYE("minecraft:fermented_spider_eye", 64, null), + COD_SPAWN_EGG(NamespaceID.from("minecraft:cod_spawn_egg"), (byte) 64, () -> null), - BLAZE_POWDER("minecraft:blaze_powder", 64, null), + COW_SPAWN_EGG(NamespaceID.from("minecraft:cow_spawn_egg"), (byte) 64, () -> null), - MAGMA_CREAM("minecraft:magma_cream", 64, null), + CREEPER_SPAWN_EGG(NamespaceID.from("minecraft:creeper_spawn_egg"), (byte) 64, () -> null), - BREWING_STAND("minecraft:brewing_stand", 64, Block.BREWING_STAND), + DOLPHIN_SPAWN_EGG(NamespaceID.from("minecraft:dolphin_spawn_egg"), (byte) 64, () -> null), - CAULDRON("minecraft:cauldron", 64, Block.CAULDRON), + DONKEY_SPAWN_EGG(NamespaceID.from("minecraft:donkey_spawn_egg"), (byte) 64, () -> null), - ENDER_EYE("minecraft:ender_eye", 64, null), + DROWNED_SPAWN_EGG(NamespaceID.from("minecraft:drowned_spawn_egg"), (byte) 64, () -> null), - GLISTERING_MELON_SLICE("minecraft:glistering_melon_slice", 64, null), + ELDER_GUARDIAN_SPAWN_EGG(NamespaceID.from("minecraft:elder_guardian_spawn_egg"), (byte) 64, () -> null), - BAT_SPAWN_EGG("minecraft:bat_spawn_egg", 64, null), + ENDERMAN_SPAWN_EGG(NamespaceID.from("minecraft:enderman_spawn_egg"), (byte) 64, () -> null), - BEE_SPAWN_EGG("minecraft:bee_spawn_egg", 64, null), + ENDERMITE_SPAWN_EGG(NamespaceID.from("minecraft:endermite_spawn_egg"), (byte) 64, () -> null), - BLAZE_SPAWN_EGG("minecraft:blaze_spawn_egg", 64, null), + EVOKER_SPAWN_EGG(NamespaceID.from("minecraft:evoker_spawn_egg"), (byte) 64, () -> null), - CAT_SPAWN_EGG("minecraft:cat_spawn_egg", 64, null), + FOX_SPAWN_EGG(NamespaceID.from("minecraft:fox_spawn_egg"), (byte) 64, () -> null), - CAVE_SPIDER_SPAWN_EGG("minecraft:cave_spider_spawn_egg", 64, null), + GHAST_SPAWN_EGG(NamespaceID.from("minecraft:ghast_spawn_egg"), (byte) 64, () -> null), - CHICKEN_SPAWN_EGG("minecraft:chicken_spawn_egg", 64, null), + GUARDIAN_SPAWN_EGG(NamespaceID.from("minecraft:guardian_spawn_egg"), (byte) 64, () -> null), - COD_SPAWN_EGG("minecraft:cod_spawn_egg", 64, null), + HOGLIN_SPAWN_EGG(NamespaceID.from("minecraft:hoglin_spawn_egg"), (byte) 64, () -> null), - COW_SPAWN_EGG("minecraft:cow_spawn_egg", 64, null), + HORSE_SPAWN_EGG(NamespaceID.from("minecraft:horse_spawn_egg"), (byte) 64, () -> null), - CREEPER_SPAWN_EGG("minecraft:creeper_spawn_egg", 64, null), + HUSK_SPAWN_EGG(NamespaceID.from("minecraft:husk_spawn_egg"), (byte) 64, () -> null), - DOLPHIN_SPAWN_EGG("minecraft:dolphin_spawn_egg", 64, null), + LLAMA_SPAWN_EGG(NamespaceID.from("minecraft:llama_spawn_egg"), (byte) 64, () -> null), - DONKEY_SPAWN_EGG("minecraft:donkey_spawn_egg", 64, null), + MAGMA_CUBE_SPAWN_EGG(NamespaceID.from("minecraft:magma_cube_spawn_egg"), (byte) 64, () -> null), - DROWNED_SPAWN_EGG("minecraft:drowned_spawn_egg", 64, null), + MOOSHROOM_SPAWN_EGG(NamespaceID.from("minecraft:mooshroom_spawn_egg"), (byte) 64, () -> null), - ELDER_GUARDIAN_SPAWN_EGG("minecraft:elder_guardian_spawn_egg", 64, null), + MULE_SPAWN_EGG(NamespaceID.from("minecraft:mule_spawn_egg"), (byte) 64, () -> null), - ENDERMAN_SPAWN_EGG("minecraft:enderman_spawn_egg", 64, null), + OCELOT_SPAWN_EGG(NamespaceID.from("minecraft:ocelot_spawn_egg"), (byte) 64, () -> null), - ENDERMITE_SPAWN_EGG("minecraft:endermite_spawn_egg", 64, null), + PANDA_SPAWN_EGG(NamespaceID.from("minecraft:panda_spawn_egg"), (byte) 64, () -> null), - EVOKER_SPAWN_EGG("minecraft:evoker_spawn_egg", 64, null), + PARROT_SPAWN_EGG(NamespaceID.from("minecraft:parrot_spawn_egg"), (byte) 64, () -> null), - FOX_SPAWN_EGG("minecraft:fox_spawn_egg", 64, null), + PHANTOM_SPAWN_EGG(NamespaceID.from("minecraft:phantom_spawn_egg"), (byte) 64, () -> null), - GHAST_SPAWN_EGG("minecraft:ghast_spawn_egg", 64, null), + PIG_SPAWN_EGG(NamespaceID.from("minecraft:pig_spawn_egg"), (byte) 64, () -> null), - GUARDIAN_SPAWN_EGG("minecraft:guardian_spawn_egg", 64, null), + PIGLIN_SPAWN_EGG(NamespaceID.from("minecraft:piglin_spawn_egg"), (byte) 64, () -> null), - HOGLIN_SPAWN_EGG("minecraft:hoglin_spawn_egg", 64, null), + PIGLIN_BRUTE_SPAWN_EGG(NamespaceID.from("minecraft:piglin_brute_spawn_egg"), (byte) 64, () -> null), - HORSE_SPAWN_EGG("minecraft:horse_spawn_egg", 64, null), + PILLAGER_SPAWN_EGG(NamespaceID.from("minecraft:pillager_spawn_egg"), (byte) 64, () -> null), - HUSK_SPAWN_EGG("minecraft:husk_spawn_egg", 64, null), + POLAR_BEAR_SPAWN_EGG(NamespaceID.from("minecraft:polar_bear_spawn_egg"), (byte) 64, () -> null), - LLAMA_SPAWN_EGG("minecraft:llama_spawn_egg", 64, null), + PUFFERFISH_SPAWN_EGG(NamespaceID.from("minecraft:pufferfish_spawn_egg"), (byte) 64, () -> null), - MAGMA_CUBE_SPAWN_EGG("minecraft:magma_cube_spawn_egg", 64, null), + RABBIT_SPAWN_EGG(NamespaceID.from("minecraft:rabbit_spawn_egg"), (byte) 64, () -> null), - MOOSHROOM_SPAWN_EGG("minecraft:mooshroom_spawn_egg", 64, null), + RAVAGER_SPAWN_EGG(NamespaceID.from("minecraft:ravager_spawn_egg"), (byte) 64, () -> null), - MULE_SPAWN_EGG("minecraft:mule_spawn_egg", 64, null), + SALMON_SPAWN_EGG(NamespaceID.from("minecraft:salmon_spawn_egg"), (byte) 64, () -> null), - OCELOT_SPAWN_EGG("minecraft:ocelot_spawn_egg", 64, null), + SHEEP_SPAWN_EGG(NamespaceID.from("minecraft:sheep_spawn_egg"), (byte) 64, () -> null), - PANDA_SPAWN_EGG("minecraft:panda_spawn_egg", 64, null), + SHULKER_SPAWN_EGG(NamespaceID.from("minecraft:shulker_spawn_egg"), (byte) 64, () -> null), - PARROT_SPAWN_EGG("minecraft:parrot_spawn_egg", 64, null), + SILVERFISH_SPAWN_EGG(NamespaceID.from("minecraft:silverfish_spawn_egg"), (byte) 64, () -> null), - PHANTOM_SPAWN_EGG("minecraft:phantom_spawn_egg", 64, null), + SKELETON_SPAWN_EGG(NamespaceID.from("minecraft:skeleton_spawn_egg"), (byte) 64, () -> null), - PIG_SPAWN_EGG("minecraft:pig_spawn_egg", 64, null), + SKELETON_HORSE_SPAWN_EGG(NamespaceID.from("minecraft:skeleton_horse_spawn_egg"), (byte) 64, () -> null), - PIGLIN_SPAWN_EGG("minecraft:piglin_spawn_egg", 64, null), + SLIME_SPAWN_EGG(NamespaceID.from("minecraft:slime_spawn_egg"), (byte) 64, () -> null), - PIGLIN_BRUTE_SPAWN_EGG("minecraft:piglin_brute_spawn_egg", 64, null), + SPIDER_SPAWN_EGG(NamespaceID.from("minecraft:spider_spawn_egg"), (byte) 64, () -> null), - PILLAGER_SPAWN_EGG("minecraft:pillager_spawn_egg", 64, null), + SQUID_SPAWN_EGG(NamespaceID.from("minecraft:squid_spawn_egg"), (byte) 64, () -> null), - POLAR_BEAR_SPAWN_EGG("minecraft:polar_bear_spawn_egg", 64, null), + STRAY_SPAWN_EGG(NamespaceID.from("minecraft:stray_spawn_egg"), (byte) 64, () -> null), - PUFFERFISH_SPAWN_EGG("minecraft:pufferfish_spawn_egg", 64, null), + STRIDER_SPAWN_EGG(NamespaceID.from("minecraft:strider_spawn_egg"), (byte) 64, () -> null), - RABBIT_SPAWN_EGG("minecraft:rabbit_spawn_egg", 64, null), + TRADER_LLAMA_SPAWN_EGG(NamespaceID.from("minecraft:trader_llama_spawn_egg"), (byte) 64, () -> null), - RAVAGER_SPAWN_EGG("minecraft:ravager_spawn_egg", 64, null), + TROPICAL_FISH_SPAWN_EGG(NamespaceID.from("minecraft:tropical_fish_spawn_egg"), (byte) 64, () -> null), - SALMON_SPAWN_EGG("minecraft:salmon_spawn_egg", 64, null), + TURTLE_SPAWN_EGG(NamespaceID.from("minecraft:turtle_spawn_egg"), (byte) 64, () -> null), - SHEEP_SPAWN_EGG("minecraft:sheep_spawn_egg", 64, null), + VEX_SPAWN_EGG(NamespaceID.from("minecraft:vex_spawn_egg"), (byte) 64, () -> null), - SHULKER_SPAWN_EGG("minecraft:shulker_spawn_egg", 64, null), + VILLAGER_SPAWN_EGG(NamespaceID.from("minecraft:villager_spawn_egg"), (byte) 64, () -> null), - SILVERFISH_SPAWN_EGG("minecraft:silverfish_spawn_egg", 64, null), + VINDICATOR_SPAWN_EGG(NamespaceID.from("minecraft:vindicator_spawn_egg"), (byte) 64, () -> null), - SKELETON_SPAWN_EGG("minecraft:skeleton_spawn_egg", 64, null), + WANDERING_TRADER_SPAWN_EGG(NamespaceID.from("minecraft:wandering_trader_spawn_egg"), (byte) 64, () -> null), - SKELETON_HORSE_SPAWN_EGG("minecraft:skeleton_horse_spawn_egg", 64, null), + WITCH_SPAWN_EGG(NamespaceID.from("minecraft:witch_spawn_egg"), (byte) 64, () -> null), - SLIME_SPAWN_EGG("minecraft:slime_spawn_egg", 64, null), + WITHER_SKELETON_SPAWN_EGG(NamespaceID.from("minecraft:wither_skeleton_spawn_egg"), (byte) 64, () -> null), - SPIDER_SPAWN_EGG("minecraft:spider_spawn_egg", 64, null), + WOLF_SPAWN_EGG(NamespaceID.from("minecraft:wolf_spawn_egg"), (byte) 64, () -> null), - SQUID_SPAWN_EGG("minecraft:squid_spawn_egg", 64, null), + ZOGLIN_SPAWN_EGG(NamespaceID.from("minecraft:zoglin_spawn_egg"), (byte) 64, () -> null), - STRAY_SPAWN_EGG("minecraft:stray_spawn_egg", 64, null), + ZOMBIE_SPAWN_EGG(NamespaceID.from("minecraft:zombie_spawn_egg"), (byte) 64, () -> null), - STRIDER_SPAWN_EGG("minecraft:strider_spawn_egg", 64, null), + ZOMBIE_HORSE_SPAWN_EGG(NamespaceID.from("minecraft:zombie_horse_spawn_egg"), (byte) 64, () -> null), - TRADER_LLAMA_SPAWN_EGG("minecraft:trader_llama_spawn_egg", 64, null), + ZOMBIE_VILLAGER_SPAWN_EGG(NamespaceID.from("minecraft:zombie_villager_spawn_egg"), (byte) 64, () -> null), - TROPICAL_FISH_SPAWN_EGG("minecraft:tropical_fish_spawn_egg", 64, null), + ZOMBIFIED_PIGLIN_SPAWN_EGG(NamespaceID.from("minecraft:zombified_piglin_spawn_egg"), (byte) 64, () -> null), - TURTLE_SPAWN_EGG("minecraft:turtle_spawn_egg", 64, null), + EXPERIENCE_BOTTLE(NamespaceID.from("minecraft:experience_bottle"), (byte) 64, () -> null), - VEX_SPAWN_EGG("minecraft:vex_spawn_egg", 64, null), + FIRE_CHARGE(NamespaceID.from("minecraft:fire_charge"), (byte) 64, () -> null), - VILLAGER_SPAWN_EGG("minecraft:villager_spawn_egg", 64, null), + WRITABLE_BOOK(NamespaceID.from("minecraft:writable_book"), (byte) 1, () -> null), - VINDICATOR_SPAWN_EGG("minecraft:vindicator_spawn_egg", 64, null), + WRITTEN_BOOK(NamespaceID.from("minecraft:written_book"), (byte) 16, () -> null), - WANDERING_TRADER_SPAWN_EGG("minecraft:wandering_trader_spawn_egg", 64, null), + EMERALD(NamespaceID.from("minecraft:emerald"), (byte) 64, () -> null), - WITCH_SPAWN_EGG("minecraft:witch_spawn_egg", 64, null), + ITEM_FRAME(NamespaceID.from("minecraft:item_frame"), (byte) 64, () -> null), - WITHER_SKELETON_SPAWN_EGG("minecraft:wither_skeleton_spawn_egg", 64, null), + FLOWER_POT(NamespaceID.from("minecraft:flower_pot"), (byte) 64, () -> Registries.getBlock("minecraft:flower_pot")), - WOLF_SPAWN_EGG("minecraft:wolf_spawn_egg", 64, null), + CARROT(NamespaceID.from("minecraft:carrot"), (byte) 64, () -> Registries.getBlock("minecraft:carrots")) { + @Override + public boolean isFood() { + return true; + } + }, - ZOGLIN_SPAWN_EGG("minecraft:zoglin_spawn_egg", 64, null), + POTATO(NamespaceID.from("minecraft:potato"), (byte) 64, () -> Registries.getBlock("minecraft:potatoes")) { + @Override + public boolean isFood() { + return true; + } + }, - ZOMBIE_SPAWN_EGG("minecraft:zombie_spawn_egg", 64, null), + BAKED_POTATO(NamespaceID.from("minecraft:baked_potato"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - ZOMBIE_HORSE_SPAWN_EGG("minecraft:zombie_horse_spawn_egg", 64, null), + POISONOUS_POTATO(NamespaceID.from("minecraft:poisonous_potato"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - ZOMBIE_VILLAGER_SPAWN_EGG("minecraft:zombie_villager_spawn_egg", 64, null), + MAP(NamespaceID.from("minecraft:map"), (byte) 64, () -> null), - ZOMBIFIED_PIGLIN_SPAWN_EGG("minecraft:zombified_piglin_spawn_egg", 64, null), + GOLDEN_CARROT(NamespaceID.from("minecraft:golden_carrot"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - EXPERIENCE_BOTTLE("minecraft:experience_bottle", 64, null), + SKELETON_SKULL(NamespaceID.from("minecraft:skeleton_skull"), (byte) 64, () -> Registries.getBlock("minecraft:skeleton_skull")), - FIRE_CHARGE("minecraft:fire_charge", 64, null), + WITHER_SKELETON_SKULL(NamespaceID.from("minecraft:wither_skeleton_skull"), (byte) 64, () -> Registries.getBlock("minecraft:wither_skeleton_skull")), - WRITABLE_BOOK("minecraft:writable_book", 1, null), + PLAYER_HEAD(NamespaceID.from("minecraft:player_head"), (byte) 64, () -> Registries.getBlock("minecraft:player_head")), - WRITTEN_BOOK("minecraft:written_book", 16, null), + ZOMBIE_HEAD(NamespaceID.from("minecraft:zombie_head"), (byte) 64, () -> Registries.getBlock("minecraft:zombie_head")), - EMERALD("minecraft:emerald", 64, null), + CREEPER_HEAD(NamespaceID.from("minecraft:creeper_head"), (byte) 64, () -> Registries.getBlock("minecraft:creeper_head")), - ITEM_FRAME("minecraft:item_frame", 64, null), + DRAGON_HEAD(NamespaceID.from("minecraft:dragon_head"), (byte) 64, () -> Registries.getBlock("minecraft:dragon_head")), - FLOWER_POT("minecraft:flower_pot", 64, Block.FLOWER_POT), + CARROT_ON_A_STICK(NamespaceID.from("minecraft:carrot_on_a_stick"), (byte) 1, () -> null), - CARROT("minecraft:carrot", 64, null), + WARPED_FUNGUS_ON_A_STICK(NamespaceID.from("minecraft:warped_fungus_on_a_stick"), (byte) 1, () -> null), - POTATO("minecraft:potato", 64, null), + NETHER_STAR(NamespaceID.from("minecraft:nether_star"), (byte) 64, () -> null), - BAKED_POTATO("minecraft:baked_potato", 64, null), + PUMPKIN_PIE(NamespaceID.from("minecraft:pumpkin_pie"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - POISONOUS_POTATO("minecraft:poisonous_potato", 64, null), + FIREWORK_ROCKET(NamespaceID.from("minecraft:firework_rocket"), (byte) 64, () -> null), - MAP("minecraft:map", 64, null), + FIREWORK_STAR(NamespaceID.from("minecraft:firework_star"), (byte) 64, () -> null), - GOLDEN_CARROT("minecraft:golden_carrot", 64, null), + ENCHANTED_BOOK(NamespaceID.from("minecraft:enchanted_book"), (byte) 1, () -> null), - SKELETON_SKULL("minecraft:skeleton_skull", 64, Block.SKELETON_SKULL), + NETHER_BRICK(NamespaceID.from("minecraft:nether_brick"), (byte) 64, () -> null), - WITHER_SKELETON_SKULL("minecraft:wither_skeleton_skull", 64, Block.WITHER_SKELETON_SKULL), + QUARTZ(NamespaceID.from("minecraft:quartz"), (byte) 64, () -> null), - PLAYER_HEAD("minecraft:player_head", 64, Block.PLAYER_HEAD), + TNT_MINECART(NamespaceID.from("minecraft:tnt_minecart"), (byte) 1, () -> null), - ZOMBIE_HEAD("minecraft:zombie_head", 64, Block.ZOMBIE_HEAD), + HOPPER_MINECART(NamespaceID.from("minecraft:hopper_minecart"), (byte) 1, () -> null), - CREEPER_HEAD("minecraft:creeper_head", 64, Block.CREEPER_HEAD), + PRISMARINE_SHARD(NamespaceID.from("minecraft:prismarine_shard"), (byte) 64, () -> null), - DRAGON_HEAD("minecraft:dragon_head", 64, Block.DRAGON_HEAD), + PRISMARINE_CRYSTALS(NamespaceID.from("minecraft:prismarine_crystals"), (byte) 64, () -> null), - CARROT_ON_A_STICK("minecraft:carrot_on_a_stick", 64, null), + RABBIT(NamespaceID.from("minecraft:rabbit"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - WARPED_FUNGUS_ON_A_STICK("minecraft:warped_fungus_on_a_stick", 64, null), + COOKED_RABBIT(NamespaceID.from("minecraft:cooked_rabbit"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - NETHER_STAR("minecraft:nether_star", 64, null), + RABBIT_STEW(NamespaceID.from("minecraft:rabbit_stew"), (byte) 1, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - PUMPKIN_PIE("minecraft:pumpkin_pie", 64, null), + RABBIT_FOOT(NamespaceID.from("minecraft:rabbit_foot"), (byte) 64, () -> null), - FIREWORK_ROCKET("minecraft:firework_rocket", 64, null), + RABBIT_HIDE(NamespaceID.from("minecraft:rabbit_hide"), (byte) 64, () -> null), - FIREWORK_STAR("minecraft:firework_star", 64, null), + ARMOR_STAND(NamespaceID.from("minecraft:armor_stand"), (byte) 16, () -> null), - ENCHANTED_BOOK("minecraft:enchanted_book", 1, null), + IRON_HORSE_ARMOR(NamespaceID.from("minecraft:iron_horse_armor"), (byte) 1, () -> null), - NETHER_BRICK("minecraft:nether_brick", 64, null), + GOLDEN_HORSE_ARMOR(NamespaceID.from("minecraft:golden_horse_armor"), (byte) 1, () -> null), - QUARTZ("minecraft:quartz", 64, null), + DIAMOND_HORSE_ARMOR(NamespaceID.from("minecraft:diamond_horse_armor"), (byte) 1, () -> null), - TNT_MINECART("minecraft:tnt_minecart", 1, null), + LEATHER_HORSE_ARMOR(NamespaceID.from("minecraft:leather_horse_armor"), (byte) 1, () -> null), - HOPPER_MINECART("minecraft:hopper_minecart", 1, null), + LEAD(NamespaceID.from("minecraft:lead"), (byte) 64, () -> null), - PRISMARINE_SHARD("minecraft:prismarine_shard", 64, null), + NAME_TAG(NamespaceID.from("minecraft:name_tag"), (byte) 64, () -> null), - PRISMARINE_CRYSTALS("minecraft:prismarine_crystals", 64, null), + COMMAND_BLOCK_MINECART(NamespaceID.from("minecraft:command_block_minecart"), (byte) 1, () -> null), - RABBIT("minecraft:rabbit", 64, null), + MUTTON(NamespaceID.from("minecraft:mutton"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - COOKED_RABBIT("minecraft:cooked_rabbit", 64, null), + COOKED_MUTTON(NamespaceID.from("minecraft:cooked_mutton"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - RABBIT_STEW("minecraft:rabbit_stew", 1, null), + WHITE_BANNER(NamespaceID.from("minecraft:white_banner"), (byte) 16, () -> Registries.getBlock("minecraft:white_banner")), - RABBIT_FOOT("minecraft:rabbit_foot", 64, null), + ORANGE_BANNER(NamespaceID.from("minecraft:orange_banner"), (byte) 16, () -> Registries.getBlock("minecraft:orange_banner")), - RABBIT_HIDE("minecraft:rabbit_hide", 64, null), + MAGENTA_BANNER(NamespaceID.from("minecraft:magenta_banner"), (byte) 16, () -> Registries.getBlock("minecraft:magenta_banner")), - ARMOR_STAND("minecraft:armor_stand", 16, null), + LIGHT_BLUE_BANNER(NamespaceID.from("minecraft:light_blue_banner"), (byte) 16, () -> Registries.getBlock("minecraft:light_blue_banner")), - IRON_HORSE_ARMOR("minecraft:iron_horse_armor", 1, null), + YELLOW_BANNER(NamespaceID.from("minecraft:yellow_banner"), (byte) 16, () -> Registries.getBlock("minecraft:yellow_banner")), - GOLDEN_HORSE_ARMOR("minecraft:golden_horse_armor", 1, null), + LIME_BANNER(NamespaceID.from("minecraft:lime_banner"), (byte) 16, () -> Registries.getBlock("minecraft:lime_banner")), - DIAMOND_HORSE_ARMOR("minecraft:diamond_horse_armor", 1, null), + PINK_BANNER(NamespaceID.from("minecraft:pink_banner"), (byte) 16, () -> Registries.getBlock("minecraft:pink_banner")), - LEATHER_HORSE_ARMOR("minecraft:leather_horse_armor", 1, null), + GRAY_BANNER(NamespaceID.from("minecraft:gray_banner"), (byte) 16, () -> Registries.getBlock("minecraft:gray_banner")), - LEAD("minecraft:lead", 64, null), + LIGHT_GRAY_BANNER(NamespaceID.from("minecraft:light_gray_banner"), (byte) 16, () -> Registries.getBlock("minecraft:light_gray_banner")), - NAME_TAG("minecraft:name_tag", 64, null), + CYAN_BANNER(NamespaceID.from("minecraft:cyan_banner"), (byte) 16, () -> Registries.getBlock("minecraft:cyan_banner")), - COMMAND_BLOCK_MINECART("minecraft:command_block_minecart", 1, null), + PURPLE_BANNER(NamespaceID.from("minecraft:purple_banner"), (byte) 16, () -> Registries.getBlock("minecraft:purple_banner")), - MUTTON("minecraft:mutton", 64, null), + BLUE_BANNER(NamespaceID.from("minecraft:blue_banner"), (byte) 16, () -> Registries.getBlock("minecraft:blue_banner")), - COOKED_MUTTON("minecraft:cooked_mutton", 64, null), + BROWN_BANNER(NamespaceID.from("minecraft:brown_banner"), (byte) 16, () -> Registries.getBlock("minecraft:brown_banner")), - WHITE_BANNER("minecraft:white_banner", 16, Block.WHITE_BANNER), + GREEN_BANNER(NamespaceID.from("minecraft:green_banner"), (byte) 16, () -> Registries.getBlock("minecraft:green_banner")), - ORANGE_BANNER("minecraft:orange_banner", 16, Block.ORANGE_BANNER), + RED_BANNER(NamespaceID.from("minecraft:red_banner"), (byte) 16, () -> Registries.getBlock("minecraft:red_banner")), - MAGENTA_BANNER("minecraft:magenta_banner", 16, Block.MAGENTA_BANNER), + BLACK_BANNER(NamespaceID.from("minecraft:black_banner"), (byte) 16, () -> Registries.getBlock("minecraft:black_banner")), - LIGHT_BLUE_BANNER("minecraft:light_blue_banner", 16, Block.LIGHT_BLUE_BANNER), + END_CRYSTAL(NamespaceID.from("minecraft:end_crystal"), (byte) 64, () -> null), - YELLOW_BANNER("minecraft:yellow_banner", 16, Block.YELLOW_BANNER), + CHORUS_FRUIT(NamespaceID.from("minecraft:chorus_fruit"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - LIME_BANNER("minecraft:lime_banner", 16, Block.LIME_BANNER), + POPPED_CHORUS_FRUIT(NamespaceID.from("minecraft:popped_chorus_fruit"), (byte) 64, () -> null), - PINK_BANNER("minecraft:pink_banner", 16, Block.PINK_BANNER), + BEETROOT(NamespaceID.from("minecraft:beetroot"), (byte) 64, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - GRAY_BANNER("minecraft:gray_banner", 16, Block.GRAY_BANNER), + BEETROOT_SEEDS(NamespaceID.from("minecraft:beetroot_seeds"), (byte) 64, () -> Registries.getBlock("minecraft:beetroots")), - LIGHT_GRAY_BANNER("minecraft:light_gray_banner", 16, Block.LIGHT_GRAY_BANNER), + BEETROOT_SOUP(NamespaceID.from("minecraft:beetroot_soup"), (byte) 1, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - CYAN_BANNER("minecraft:cyan_banner", 16, Block.CYAN_BANNER), + DRAGON_BREATH(NamespaceID.from("minecraft:dragon_breath"), (byte) 64, () -> null), - PURPLE_BANNER("minecraft:purple_banner", 16, Block.PURPLE_BANNER), + SPLASH_POTION(NamespaceID.from("minecraft:splash_potion"), (byte) 1, () -> null), - BLUE_BANNER("minecraft:blue_banner", 16, Block.BLUE_BANNER), + SPECTRAL_ARROW(NamespaceID.from("minecraft:spectral_arrow"), (byte) 64, () -> null), - BROWN_BANNER("minecraft:brown_banner", 16, Block.BROWN_BANNER), + TIPPED_ARROW(NamespaceID.from("minecraft:tipped_arrow"), (byte) 64, () -> null), - GREEN_BANNER("minecraft:green_banner", 16, Block.GREEN_BANNER), + LINGERING_POTION(NamespaceID.from("minecraft:lingering_potion"), (byte) 1, () -> null), - RED_BANNER("minecraft:red_banner", 16, Block.RED_BANNER), + SHIELD(NamespaceID.from("minecraft:shield"), (byte) 1, () -> null), - BLACK_BANNER("minecraft:black_banner", 16, Block.BLACK_BANNER), + ELYTRA(NamespaceID.from("minecraft:elytra"), (byte) 1, () -> null), - END_CRYSTAL("minecraft:end_crystal", 64, null), + SPRUCE_BOAT(NamespaceID.from("minecraft:spruce_boat"), (byte) 1, () -> null), - CHORUS_FRUIT("minecraft:chorus_fruit", 64, null), + BIRCH_BOAT(NamespaceID.from("minecraft:birch_boat"), (byte) 1, () -> null), - POPPED_CHORUS_FRUIT("minecraft:popped_chorus_fruit", 64, null), + JUNGLE_BOAT(NamespaceID.from("minecraft:jungle_boat"), (byte) 1, () -> null), - BEETROOT("minecraft:beetroot", 64, null), + ACACIA_BOAT(NamespaceID.from("minecraft:acacia_boat"), (byte) 1, () -> null), - BEETROOT_SEEDS("minecraft:beetroot_seeds", 64, null), + DARK_OAK_BOAT(NamespaceID.from("minecraft:dark_oak_boat"), (byte) 1, () -> null), - BEETROOT_SOUP("minecraft:beetroot_soup", 1, null), + TOTEM_OF_UNDYING(NamespaceID.from("minecraft:totem_of_undying"), (byte) 1, () -> null), - DRAGON_BREATH("minecraft:dragon_breath", 64, null), + SHULKER_SHELL(NamespaceID.from("minecraft:shulker_shell"), (byte) 64, () -> null), - SPLASH_POTION("minecraft:splash_potion", 1, null), + IRON_NUGGET(NamespaceID.from("minecraft:iron_nugget"), (byte) 64, () -> null), - SPECTRAL_ARROW("minecraft:spectral_arrow", 64, null), + KNOWLEDGE_BOOK(NamespaceID.from("minecraft:knowledge_book"), (byte) 1, () -> null), - TIPPED_ARROW("minecraft:tipped_arrow", 64, null), + DEBUG_STICK(NamespaceID.from("minecraft:debug_stick"), (byte) 1, () -> null), - LINGERING_POTION("minecraft:lingering_potion", 1, null), + MUSIC_DISC_13(NamespaceID.from("minecraft:music_disc_13"), (byte) 1, () -> null), - SHIELD("minecraft:shield", 64, null), + MUSIC_DISC_CAT(NamespaceID.from("minecraft:music_disc_cat"), (byte) 1, () -> null), - ELYTRA("minecraft:elytra", 64, null), + MUSIC_DISC_BLOCKS(NamespaceID.from("minecraft:music_disc_blocks"), (byte) 1, () -> null), - SPRUCE_BOAT("minecraft:spruce_boat", 1, null), + MUSIC_DISC_CHIRP(NamespaceID.from("minecraft:music_disc_chirp"), (byte) 1, () -> null), - BIRCH_BOAT("minecraft:birch_boat", 1, null), + MUSIC_DISC_FAR(NamespaceID.from("minecraft:music_disc_far"), (byte) 1, () -> null), - JUNGLE_BOAT("minecraft:jungle_boat", 1, null), + MUSIC_DISC_MALL(NamespaceID.from("minecraft:music_disc_mall"), (byte) 1, () -> null), - ACACIA_BOAT("minecraft:acacia_boat", 1, null), + MUSIC_DISC_MELLOHI(NamespaceID.from("minecraft:music_disc_mellohi"), (byte) 1, () -> null), - DARK_OAK_BOAT("minecraft:dark_oak_boat", 1, null), + MUSIC_DISC_STAL(NamespaceID.from("minecraft:music_disc_stal"), (byte) 1, () -> null), - TOTEM_OF_UNDYING("minecraft:totem_of_undying", 1, null), + MUSIC_DISC_STRAD(NamespaceID.from("minecraft:music_disc_strad"), (byte) 1, () -> null), - SHULKER_SHELL("minecraft:shulker_shell", 64, null), + MUSIC_DISC_WARD(NamespaceID.from("minecraft:music_disc_ward"), (byte) 1, () -> null), - IRON_NUGGET("minecraft:iron_nugget", 64, null), + MUSIC_DISC_11(NamespaceID.from("minecraft:music_disc_11"), (byte) 1, () -> null), - KNOWLEDGE_BOOK("minecraft:knowledge_book", 1, null), + MUSIC_DISC_WAIT(NamespaceID.from("minecraft:music_disc_wait"), (byte) 1, () -> null), - DEBUG_STICK("minecraft:debug_stick", 1, null), + MUSIC_DISC_PIGSTEP(NamespaceID.from("minecraft:music_disc_pigstep"), (byte) 1, () -> null), - MUSIC_DISC_13("minecraft:music_disc_13", 1, null), + TRIDENT(NamespaceID.from("minecraft:trident"), (byte) 1, () -> null), - MUSIC_DISC_CAT("minecraft:music_disc_cat", 1, null), + PHANTOM_MEMBRANE(NamespaceID.from("minecraft:phantom_membrane"), (byte) 64, () -> null), - MUSIC_DISC_BLOCKS("minecraft:music_disc_blocks", 1, null), + NAUTILUS_SHELL(NamespaceID.from("minecraft:nautilus_shell"), (byte) 64, () -> null), - MUSIC_DISC_CHIRP("minecraft:music_disc_chirp", 1, null), + HEART_OF_THE_SEA(NamespaceID.from("minecraft:heart_of_the_sea"), (byte) 64, () -> null), - MUSIC_DISC_FAR("minecraft:music_disc_far", 1, null), + CROSSBOW(NamespaceID.from("minecraft:crossbow"), (byte) 1, () -> null), - MUSIC_DISC_MALL("minecraft:music_disc_mall", 1, null), + SUSPICIOUS_STEW(NamespaceID.from("minecraft:suspicious_stew"), (byte) 1, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - MUSIC_DISC_MELLOHI("minecraft:music_disc_mellohi", 1, null), + LOOM(NamespaceID.from("minecraft:loom"), (byte) 64, () -> Registries.getBlock("minecraft:loom")), - MUSIC_DISC_STAL("minecraft:music_disc_stal", 1, null), + FLOWER_BANNER_PATTERN(NamespaceID.from("minecraft:flower_banner_pattern"), (byte) 1, () -> null), - MUSIC_DISC_STRAD("minecraft:music_disc_strad", 1, null), + CREEPER_BANNER_PATTERN(NamespaceID.from("minecraft:creeper_banner_pattern"), (byte) 1, () -> null), - MUSIC_DISC_WARD("minecraft:music_disc_ward", 1, null), + SKULL_BANNER_PATTERN(NamespaceID.from("minecraft:skull_banner_pattern"), (byte) 1, () -> null), - MUSIC_DISC_11("minecraft:music_disc_11", 1, null), + MOJANG_BANNER_PATTERN(NamespaceID.from("minecraft:mojang_banner_pattern"), (byte) 1, () -> null), - MUSIC_DISC_WAIT("minecraft:music_disc_wait", 1, null), + GLOBE_BANNER_PATTER(NamespaceID.from("minecraft:globe_banner_pattern"), (byte) 1, () -> null), - MUSIC_DISC_PIGSTEP("minecraft:music_disc_pigstep", 1, null), + PIGLIN_BANNER_PATTERN(NamespaceID.from("minecraft:piglin_banner_pattern"), (byte) 1, () -> null), - TRIDENT("minecraft:trident", 64, null), + COMPOSTER(NamespaceID.from("minecraft:composter"), (byte) 64, () -> Registries.getBlock("minecraft:composter")), - PHANTOM_MEMBRANE("minecraft:phantom_membrane", 64, null), + BARREL(NamespaceID.from("minecraft:barrel"), (byte) 64, () -> Registries.getBlock("minecraft:barrel")), - NAUTILUS_SHELL("minecraft:nautilus_shell", 64, null), + SMOKER(NamespaceID.from("minecraft:smoker"), (byte) 64, () -> Registries.getBlock("minecraft:smoker")), - HEART_OF_THE_SEA("minecraft:heart_of_the_sea", 64, null), + BLAST_FURNACE(NamespaceID.from("minecraft:blast_furnace"), (byte) 64, () -> Registries.getBlock("minecraft:blast_furnace")), - CROSSBOW("minecraft:crossbow", 1, null), + CARTOGRAPHY_TABLE(NamespaceID.from("minecraft:cartography_table"), (byte) 64, () -> Registries.getBlock("minecraft:cartography_table")), - SUSPICIOUS_STEW("minecraft:suspicious_stew", 1, null), + FLETCHING_TABLE(NamespaceID.from("minecraft:fletching_table"), (byte) 64, () -> Registries.getBlock("minecraft:fletching_table")), - LOOM("minecraft:loom", 64, Block.LOOM), + GRINDSTONE(NamespaceID.from("minecraft:grindstone"), (byte) 64, () -> Registries.getBlock("minecraft:grindstone")), - FLOWER_BANNER_PATTERN("minecraft:flower_banner_pattern", 1, null), + LECTERN(NamespaceID.from("minecraft:lectern"), (byte) 64, () -> Registries.getBlock("minecraft:lectern")), - CREEPER_BANNER_PATTERN("minecraft:creeper_banner_pattern", 1, null), + SMITHING_TABLE(NamespaceID.from("minecraft:smithing_table"), (byte) 64, () -> Registries.getBlock("minecraft:smithing_table")), - SKULL_BANNER_PATTERN("minecraft:skull_banner_pattern", 1, null), + STONECUTTER(NamespaceID.from("minecraft:stonecutter"), (byte) 64, () -> Registries.getBlock("minecraft:stonecutter")), - MOJANG_BANNER_PATTERN("minecraft:mojang_banner_pattern", 1, null), + BELL(NamespaceID.from("minecraft:bell"), (byte) 64, () -> Registries.getBlock("minecraft:bell")), - GLOBE_BANNER_PATTERN("minecraft:globe_banner_pattern", 1, null), + LANTERN(NamespaceID.from("minecraft:lantern"), (byte) 64, () -> Registries.getBlock("minecraft:lantern")), - PIGLIN_BANNER_PATTERN("minecraft:piglin_banner_pattern", 1, null), + SOUL_LANTERN(NamespaceID.from("minecraft:soul_lantern"), (byte) 64, () -> Registries.getBlock("minecraft:soul_lantern")), - COMPOSTER("minecraft:composter", 64, Block.COMPOSTER), + SWEET_BERRIES(NamespaceID.from("minecraft:sweet_berries"), (byte) 64, () -> Registries.getBlock("minecraft:sweet_berry_bush")) { + @Override + public boolean isFood() { + return true; + } + }, - BARREL("minecraft:barrel", 64, Block.BARREL), + CAMPFIRE(NamespaceID.from("minecraft:campfire"), (byte) 64, () -> Registries.getBlock("minecraft:campfire")), - SMOKER("minecraft:smoker", 64, Block.SMOKER), + SOUL_CAMPFIRE(NamespaceID.from("minecraft:soul_campfire"), (byte) 64, () -> Registries.getBlock("minecraft:soul_campfire")), - BLAST_FURNACE("minecraft:blast_furnace", 64, Block.BLAST_FURNACE), + SHROOMLIGHT(NamespaceID.from("minecraft:shroomlight"), (byte) 64, () -> Registries.getBlock("minecraft:shroomlight")), - CARTOGRAPHY_TABLE("minecraft:cartography_table", 64, Block.CARTOGRAPHY_TABLE), + HONEYCOMB(NamespaceID.from("minecraft:honeycomb"), (byte) 64, () -> null), - FLETCHING_TABLE("minecraft:fletching_table", 64, Block.FLETCHING_TABLE), + BEE_NEST(NamespaceID.from("minecraft:bee_nest"), (byte) 64, () -> Registries.getBlock("minecraft:bee_nest")), - GRINDSTONE("minecraft:grindstone", 64, Block.GRINDSTONE), + BEEHIVE(NamespaceID.from("minecraft:beehive"), (byte) 64, () -> Registries.getBlock("minecraft:beehive")), - LECTERN("minecraft:lectern", 64, Block.LECTERN), + HONEY_BOTTLE(NamespaceID.from("minecraft:honey_bottle"), (byte) 16, () -> null) { + @Override + public boolean isFood() { + return true; + } + }, - SMITHING_TABLE("minecraft:smithing_table", 64, Block.SMITHING_TABLE), + HONEY_BLOCK(NamespaceID.from("minecraft:honey_block"), (byte) 64, () -> Registries.getBlock("minecraft:honey_block")), - STONECUTTER("minecraft:stonecutter", 64, Block.STONECUTTER), + HONEYCOMB_BLOCK(NamespaceID.from("minecraft:honeycomb_block"), (byte) 64, () -> Registries.getBlock("minecraft:honeycomb_block")), - BELL("minecraft:bell", 64, Block.BELL), + LODESTONE(NamespaceID.from("minecraft:lodestone"), (byte) 64, () -> Registries.getBlock("minecraft:lodestone")), - LANTERN("minecraft:lantern", 64, Block.LANTERN), + NETHERITE_BLOCK(NamespaceID.from("minecraft:netherite_block"), (byte) 64, () -> Registries.getBlock("minecraft:netherite_block")), - SOUL_LANTERN("minecraft:soul_lantern", 64, Block.SOUL_LANTERN), + ANCIENT_DEBRIS(NamespaceID.from("minecraft:ancient_debris"), (byte) 64, () -> Registries.getBlock("minecraft:ancient_debris")), - SWEET_BERRIES("minecraft:sweet_berries", 64, null), + TARGET(NamespaceID.from("minecraft:target"), (byte) 64, () -> Registries.getBlock("minecraft:target")), - CAMPFIRE("minecraft:campfire", 64, Block.CAMPFIRE), + CRYING_OBSIDIAN(NamespaceID.from("minecraft:crying_obsidian"), (byte) 64, () -> Registries.getBlock("minecraft:crying_obsidian")), - SOUL_CAMPFIRE("minecraft:soul_campfire", 64, Block.SOUL_CAMPFIRE), + BLACKSTONE(NamespaceID.from("minecraft:blackstone"), (byte) 64, () -> Registries.getBlock("minecraft:blackstone")), - SHROOMLIGHT("minecraft:shroomlight", 64, Block.SHROOMLIGHT), + BLACKSTONE_SLAB(NamespaceID.from("minecraft:blackstone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:blackstone_slab")), - HONEYCOMB("minecraft:honeycomb", 64, null), + BLACKSTONE_STAIRS(NamespaceID.from("minecraft:blackstone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:blackstone_stairs")), - BEE_NEST("minecraft:bee_nest", 64, Block.BEE_NEST), + GILDED_BLACKSTONE(NamespaceID.from("minecraft:gilded_blackstone"), (byte) 64, () -> Registries.getBlock("minecraft:gilded_blackstone")), - BEEHIVE("minecraft:beehive", 64, Block.BEEHIVE), + POLISHED_BLACKSTONE(NamespaceID.from("minecraft:polished_blackstone"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone")), - HONEY_BOTTLE("minecraft:honey_bottle", 16, null), + POLISHED_BLACKSTONE_SLAB(NamespaceID.from("minecraft:polished_blackstone_slab"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_slab")), - HONEY_BLOCK("minecraft:honey_block", 64, Block.HONEY_BLOCK), + POLISHED_BLACKSTONE_STAIRS(NamespaceID.from("minecraft:polished_blackstone_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_stairs")), - HONEYCOMB_BLOCK("minecraft:honeycomb_block", 64, Block.HONEYCOMB_BLOCK), + CHISELED_POLISHED_BLACKSTONE(NamespaceID.from("minecraft:chiseled_polished_blackstone"), (byte) 64, () -> Registries.getBlock("minecraft:chiseled_polished_blackstone")), - LODESTONE("minecraft:lodestone", 64, Block.LODESTONE), + POLISHED_BLACKSTONE_BRICKS(NamespaceID.from("minecraft:polished_blackstone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_bricks")), - NETHERITE_BLOCK("minecraft:netherite_block", 64, Block.NETHERITE_BLOCK), + POLISHED_BLACKSTONE_BRICK_SLAB(NamespaceID.from("minecraft:polished_blackstone_brick_slab"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_brick_slab")), - ANCIENT_DEBRIS("minecraft:ancient_debris", 64, Block.ANCIENT_DEBRIS), + POLISHED_BLACKSTONE_BRICK_STAIRS(NamespaceID.from("minecraft:polished_blackstone_brick_stairs"), (byte) 64, () -> Registries.getBlock("minecraft:polished_blackstone_brick_stairs")), - TARGET("minecraft:target", 64, Block.TARGET), + CRACKED_POLISHED_BLACKSTONE_BRICKS(NamespaceID.from("minecraft:cracked_polished_blackstone_bricks"), (byte) 64, () -> Registries.getBlock("minecraft:cracked_polished_blackstone_bricks")), - CRYING_OBSIDIAN("minecraft:crying_obsidian", 64, Block.CRYING_OBSIDIAN), + RESPAWN_ANCHOR(NamespaceID.from("minecraft:respawn_anchor"), (byte) 64, () -> Registries.getBlock("minecraft:respawn_anchor")); - BLACKSTONE("minecraft:blackstone", 64, Block.BLACKSTONE), - - BLACKSTONE_SLAB("minecraft:blackstone_slab", 64, Block.BLACKSTONE_SLAB), - - BLACKSTONE_STAIRS("minecraft:blackstone_stairs", 64, Block.BLACKSTONE_STAIRS), - - GILDED_BLACKSTONE("minecraft:gilded_blackstone", 64, Block.GILDED_BLACKSTONE), - - POLISHED_BLACKSTONE("minecraft:polished_blackstone", 64, Block.POLISHED_BLACKSTONE), - - POLISHED_BLACKSTONE_SLAB("minecraft:polished_blackstone_slab", 64, Block.POLISHED_BLACKSTONE_SLAB), - - POLISHED_BLACKSTONE_STAIRS("minecraft:polished_blackstone_stairs", 64, Block.POLISHED_BLACKSTONE_STAIRS), - - CHISELED_POLISHED_BLACKSTONE("minecraft:chiseled_polished_blackstone", 64, Block.CHISELED_POLISHED_BLACKSTONE), - - POLISHED_BLACKSTONE_BRICKS("minecraft:polished_blackstone_bricks", 64, Block.POLISHED_BLACKSTONE_BRICKS), - - POLISHED_BLACKSTONE_BRICK_SLAB("minecraft:polished_blackstone_brick_slab", 64, Block.POLISHED_BLACKSTONE_BRICK_SLAB), - - POLISHED_BLACKSTONE_BRICK_STAIRS("minecraft:polished_blackstone_brick_stairs", 64, Block.POLISHED_BLACKSTONE_BRICK_STAIRS), - - CRACKED_POLISHED_BLACKSTONE_BRICKS("minecraft:cracked_polished_blackstone_bricks", 64, Block.CRACKED_POLISHED_BLACKSTONE_BRICKS), - - RESPAWN_ANCHOR("minecraft:respawn_anchor", 64, Block.RESPAWN_ANCHOR); + private static final Material[] VALUES = values(); @NotNull - private final String namespaceID; + private final NamespaceID id; - private final int maxDefaultStackSize; + private final byte maxDefaultStackSize; - @Nullable - private final Block correspondingBlock; + private final Supplier correspondingBlockSupplier; - private final Key key; - - Material(@NotNull String namespaceID, int maxDefaultStackSize, - @Nullable Block correspondingBlock) { - this.namespaceID = namespaceID; + Material(@NotNull NamespaceID id, byte maxDefaultStackSize, + @NotNull Supplier correspondingBlockSupplier) { + this.id = id; this.maxDefaultStackSize = maxDefaultStackSize; - this.correspondingBlock = correspondingBlock; - Registries.materials.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); + this.correspondingBlockSupplier = correspondingBlockSupplier; + Registries.materials.put(id, this); + } + + @Override + @NotNull + public Key key() { + return this.id; } public short getId() { - return (short)ordinal(); + return (short) ordinal(); } + @NotNull + public NamespaceID getNamespaceID() { + return this.id; + } + + @NotNull public String getName() { - return namespaceID; + return this.id.asString(); } - public int getMaxDefaultStackSize() { - return maxDefaultStackSize; - } - - public boolean isBlock() { - return correspondingBlock != null && this != AIR; - } - - public Block getBlock() { - return correspondingBlock; + public byte getMaxDefaultStackSize() { + return this.maxDefaultStackSize; } + @Nullable public static Material fromId(short id) { - if(id >= 0 && id < values().length) { - return values()[id]; + if(id >= 0 && id < VALUES.length) { + return VALUES[id]; } - return AIR; - } - - public boolean isHelmet() { - return toString().endsWith("HELMET"); - } - - public boolean isChestplate() { - return toString().endsWith("CHESTPLATE"); - } - - public boolean isLeggings() { - return toString().endsWith("LEGGINGS"); - } - - public boolean isBoots() { - return toString().endsWith("BOOTS"); - } - - public boolean isArmor() { - return isChestplate() || isHelmet() || isLeggings() || isBoots(); + return null; } public boolean isFood() { - switch(this) { - case APPLE: - case MUSHROOM_STEW: - case BREAD: - case PORKCHOP: - case COOKED_PORKCHOP: - case GOLDEN_APPLE: - case ENCHANTED_GOLDEN_APPLE: - case COD: - case SALMON: - case TROPICAL_FISH: - case PUFFERFISH: - case COOKED_COD: - case COOKED_SALMON: - case CAKE: - case COOKIE: - case MELON_SLICE: - case DRIED_KELP: - case BEEF: - case COOKED_BEEF: - case CHICKEN: - case COOKED_CHICKEN: - case ROTTEN_FLESH: - case SPIDER_EYE: - case CARROT: - case POTATO: - case BAKED_POTATO: - case POISONOUS_POTATO: - case PUMPKIN_PIE: - case RABBIT: - case COOKED_RABBIT: - case RABBIT_STEW: - case MUTTON: - case COOKED_MUTTON: - case BEETROOT: - case BEETROOT_SOUP: - case SWEET_BERRIES: - case HONEY_BOTTLE: - case CHORUS_FRUIT: - return true; - } return false; } public boolean hasState() { - switch(this) { - case BOW: - case TRIDENT: - case CROSSBOW: - case SHIELD: + if (this == BOW || this == TRIDENT || this == CROSSBOW || this == SHIELD) { return true; + } else { + return isFood(); } - return isFood(); } - public Key key() { - return this.key; + public boolean isBlock() { + return this.correspondingBlockSupplier.get() != null && this.correspondingBlockSupplier.get() != Block.AIR; + } + + public boolean isArmor() { + return false; + } + + public boolean isHelmet() { + return false; + } + + public boolean isChestplate() { + return false; + } + + public boolean isLeggings() { + return false; + } + + public boolean isBoots() { + return false; + } + + @Nullable + public Block getBlock() { + return this.correspondingBlockSupplier.get(); + } + + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; } } diff --git a/src/autogenerated/java/net/minestom/server/particle/Particle.java b/src/autogenerated/java/net/minestom/server/particle/Particle.java index 378db4edc..325c5c52c 100644 --- a/src/autogenerated/java/net/minestom/server/particle/Particle.java +++ b/src/autogenerated/java/net/minestom/server/particle/Particle.java @@ -4,184 +4,193 @@ import net.kyori.adventure.key.Key; import net.kyori.adventure.key.Keyed; import net.minestom.server.registry.Registries; import net.minestom.server.utils.NamespaceID; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== + * AUTOGENERATED by ParticleGenerator */ -@SuppressWarnings({"deprecation"}) public enum Particle implements Keyed { - AMBIENT_ENTITY_EFFECT("minecraft:ambient_entity_effect"), + AMBIENT_ENTITY_EFFECT(NamespaceID.from("minecraft:ambient_entity_effect")), - ANGRY_VILLAGER("minecraft:angry_villager"), + ANGRY_VILLAGER(NamespaceID.from("minecraft:angry_villager")), - BARRIER("minecraft:barrier"), + BARRIER(NamespaceID.from("minecraft:barrier")), - BLOCK("minecraft:block"), + BLOCK(NamespaceID.from("minecraft:block")), - BUBBLE("minecraft:bubble"), + BUBBLE(NamespaceID.from("minecraft:bubble")), - CLOUD("minecraft:cloud"), + CLOUD(NamespaceID.from("minecraft:cloud")), - CRIT("minecraft:crit"), + CRIT(NamespaceID.from("minecraft:crit")), - DAMAGE_INDICATOR("minecraft:damage_indicator"), + DAMAGE_INDICATOR(NamespaceID.from("minecraft:damage_indicator")), - DRAGON_BREATH("minecraft:dragon_breath"), + DRAGON_BREATH(NamespaceID.from("minecraft:dragon_breath")), - DRIPPING_LAVA("minecraft:dripping_lava"), + DRIPPING_LAVA(NamespaceID.from("minecraft:dripping_lava")), - FALLING_LAVA("minecraft:falling_lava"), + FALLING_LAVA(NamespaceID.from("minecraft:falling_lava")), - LANDING_LAVA("minecraft:landing_lava"), + LANDING_LAVA(NamespaceID.from("minecraft:landing_lava")), - DRIPPING_WATER("minecraft:dripping_water"), + DRIPPING_WATER(NamespaceID.from("minecraft:dripping_water")), - FALLING_WATER("minecraft:falling_water"), + FALLING_WATER(NamespaceID.from("minecraft:falling_water")), - DUST("minecraft:dust"), + DUST(NamespaceID.from("minecraft:dust")), - EFFECT("minecraft:effect"), + EFFECT(NamespaceID.from("minecraft:effect")), - ELDER_GUARDIAN("minecraft:elder_guardian"), + ELDER_GUARDIAN(NamespaceID.from("minecraft:elder_guardian")), - ENCHANTED_HIT("minecraft:enchanted_hit"), + ENCHANTED_HIT(NamespaceID.from("minecraft:enchanted_hit")), - ENCHANT("minecraft:enchant"), + ENCHANT(NamespaceID.from("minecraft:enchant")), - END_ROD("minecraft:end_rod"), + END_ROD(NamespaceID.from("minecraft:end_rod")), - ENTITY_EFFECT("minecraft:entity_effect"), + ENTITY_EFFECT(NamespaceID.from("minecraft:entity_effect")), - EXPLOSION_EMITTER("minecraft:explosion_emitter"), + EXPLOSION_EMITTER(NamespaceID.from("minecraft:explosion_emitter")), - EXPLOSION("minecraft:explosion"), + EXPLOSION(NamespaceID.from("minecraft:explosion")), - FALLING_DUST("minecraft:falling_dust"), + FALLING_DUST(NamespaceID.from("minecraft:falling_dust")), - FIREWORK("minecraft:firework"), + FIREWORK(NamespaceID.from("minecraft:firework")), - FISHING("minecraft:fishing"), + FISHING(NamespaceID.from("minecraft:fishing")), - FLAME("minecraft:flame"), + FLAME(NamespaceID.from("minecraft:flame")), - SOUL_FIRE_FLAME("minecraft:soul_fire_flame"), + SOUL_FIRE_FLAME(NamespaceID.from("minecraft:soul_fire_flame")), - SOUL("minecraft:soul"), + SOUL(NamespaceID.from("minecraft:soul")), - FLASH("minecraft:flash"), + FLASH(NamespaceID.from("minecraft:flash")), - HAPPY_VILLAGER("minecraft:happy_villager"), + HAPPY_VILLAGER(NamespaceID.from("minecraft:happy_villager")), - COMPOSTER("minecraft:composter"), + COMPOSTER(NamespaceID.from("minecraft:composter")), - HEART("minecraft:heart"), + HEART(NamespaceID.from("minecraft:heart")), - INSTANT_EFFECT("minecraft:instant_effect"), + INSTANT_EFFECT(NamespaceID.from("minecraft:instant_effect")), - ITEM("minecraft:item"), + ITEM(NamespaceID.from("minecraft:item")), - ITEM_SLIME("minecraft:item_slime"), + ITEM_SLIME(NamespaceID.from("minecraft:item_slime")), - ITEM_SNOWBALL("minecraft:item_snowball"), + ITEM_SNOWBALL(NamespaceID.from("minecraft:item_snowball")), - LARGE_SMOKE("minecraft:large_smoke"), + LARGE_SMOKE(NamespaceID.from("minecraft:large_smoke")), - LAVA("minecraft:lava"), + LAVA(NamespaceID.from("minecraft:lava")), - MYCELIUM("minecraft:mycelium"), + MYCELIUM(NamespaceID.from("minecraft:mycelium")), - NOTE("minecraft:note"), + NOTE(NamespaceID.from("minecraft:note")), - POOF("minecraft:poof"), + POOF(NamespaceID.from("minecraft:poof")), - PORTAL("minecraft:portal"), + PORTAL(NamespaceID.from("minecraft:portal")), - RAIN("minecraft:rain"), + RAIN(NamespaceID.from("minecraft:rain")), - SMOKE("minecraft:smoke"), + SMOKE(NamespaceID.from("minecraft:smoke")), - SNEEZE("minecraft:sneeze"), + SNEEZE(NamespaceID.from("minecraft:sneeze")), - SPIT("minecraft:spit"), + SPIT(NamespaceID.from("minecraft:spit")), - SQUID_INK("minecraft:squid_ink"), + SQUID_INK(NamespaceID.from("minecraft:squid_ink")), - SWEEP_ATTACK("minecraft:sweep_attack"), + SWEEP_ATTACK(NamespaceID.from("minecraft:sweep_attack")), - TOTEM_OF_UNDYING("minecraft:totem_of_undying"), + TOTEM_OF_UNDYING(NamespaceID.from("minecraft:totem_of_undying")), - UNDERWATER("minecraft:underwater"), + UNDERWATER(NamespaceID.from("minecraft:underwater")), - SPLASH("minecraft:splash"), + SPLASH(NamespaceID.from("minecraft:splash")), - WITCH("minecraft:witch"), + WITCH(NamespaceID.from("minecraft:witch")), - BUBBLE_POP("minecraft:bubble_pop"), + BUBBLE_POP(NamespaceID.from("minecraft:bubble_pop")), - CURRENT_DOWN("minecraft:current_down"), + CURRENT_DOWN(NamespaceID.from("minecraft:current_down")), - BUBBLE_COLUMN_UP("minecraft:bubble_column_up"), + BUBBLE_COLUMN_UP(NamespaceID.from("minecraft:bubble_column_up")), - NAUTILUS("minecraft:nautilus"), + NAUTILUS(NamespaceID.from("minecraft:nautilus")), - DOLPHIN("minecraft:dolphin"), + DOLPHIN(NamespaceID.from("minecraft:dolphin")), - CAMPFIRE_COSY_SMOKE("minecraft:campfire_cosy_smoke"), + CAMPFIRE_COSY_SMOKE(NamespaceID.from("minecraft:campfire_cosy_smoke")), - CAMPFIRE_SIGNAL_SMOKE("minecraft:campfire_signal_smoke"), + CAMPFIRE_SIGNAL_SMOKE(NamespaceID.from("minecraft:campfire_signal_smoke")), - DRIPPING_HONEY("minecraft:dripping_honey"), + DRIPPING_HONEY(NamespaceID.from("minecraft:dripping_honey")), - FALLING_HONEY("minecraft:falling_honey"), + FALLING_HONEY(NamespaceID.from("minecraft:falling_honey")), - LANDING_HONEY("minecraft:landing_honey"), + LANDING_HONEY(NamespaceID.from("minecraft:landing_honey")), - FALLING_NECTAR("minecraft:falling_nectar"), + FALLING_NECTAR(NamespaceID.from("minecraft:falling_nectar")), - ASH("minecraft:ash"), + ASH(NamespaceID.from("minecraft:ash")), - CRIMSON_SPORE("minecraft:crimson_spore"), + CRIMSON_SPORE(NamespaceID.from("minecraft:crimson_spore")), - WARPED_SPORE("minecraft:warped_spore"), + WARPED_SPORE(NamespaceID.from("minecraft:warped_spore")), - DRIPPING_OBSIDIAN_TEAR("minecraft:dripping_obsidian_tear"), + DRIPPING_OBSIDIAN_TEAR(NamespaceID.from("minecraft:dripping_obsidian_tear")), - FALLING_OBSIDIAN_TEAR("minecraft:falling_obsidian_tear"), + FALLING_OBSIDIAN_TEAR(NamespaceID.from("minecraft:falling_obsidian_tear")), - LANDING_OBSIDIAN_TEAR("minecraft:landing_obsidian_tear"), + LANDING_OBSIDIAN_TEAR(NamespaceID.from("minecraft:landing_obsidian_tear")), - REVERSE_PORTAL("minecraft:reverse_portal"), + REVERSE_PORTAL(NamespaceID.from("minecraft:reverse_portal")), - WHITE_ASH("minecraft:white_ash"); + WHITE_ASH(NamespaceID.from("minecraft:white_ash")); - private final String namespaceID; + private static final Particle[] VALUES = values(); - private final Key key; + @NotNull + private final NamespaceID id; - Particle(String namespaceID) { - this.namespaceID = namespaceID; - Registries.particles.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); - } - - public int getId() { - return ordinal(); - } - - public String getNamespaceID() { - return namespaceID; + Particle(@NotNull NamespaceID id) { + this.id = id; + Registries.particles.put(id, this); } + @Override + @NotNull public Key key() { - return this.key; + return this.id; } - public static Particle fromId(int id) { - if (id >= 0 && id < values().length) { - return values()[id]; + public short getId() { + return (short) ordinal(); + } + + @NotNull + public NamespaceID getNamespaceID() { + return this.id; + } + + @Nullable + public static Particle fromId(short id) { + if(id >= 0 && id < VALUES.length) { + return VALUES[id]; } return null; } + + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; + } } diff --git a/src/autogenerated/java/net/minestom/server/potion/PotionEffect.java b/src/autogenerated/java/net/minestom/server/potion/PotionEffect.java index 826394ee1..e45255803 100644 --- a/src/autogenerated/java/net/minestom/server/potion/PotionEffect.java +++ b/src/autogenerated/java/net/minestom/server/potion/PotionEffect.java @@ -4,104 +4,113 @@ import net.kyori.adventure.key.Key; import net.kyori.adventure.key.Keyed; import net.minestom.server.registry.Registries; import net.minestom.server.utils.NamespaceID; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== + * AUTOGENERATED by PotionEffectGenerator */ -@SuppressWarnings({"deprecation"}) public enum PotionEffect implements Keyed { - SPEED("minecraft:speed"), + MOVEMENT_SPEED(NamespaceID.from("minecraft:speed")), - SLOWNESS("minecraft:slowness"), + MOVEMENT_SLOWDOWN(NamespaceID.from("minecraft:slowness")), - HASTE("minecraft:haste"), + DIG_SPEED(NamespaceID.from("minecraft:haste")), - MINING_FATIGUE("minecraft:mining_fatigue"), + DIG_SLOWDOWN(NamespaceID.from("minecraft:mining_fatigue")), - STRENGTH("minecraft:strength"), + DAMAGE_BOOST(NamespaceID.from("minecraft:strength")), - INSTANT_HEALTH("minecraft:instant_health"), + HEAL(NamespaceID.from("minecraft:instant_health")), - INSTANT_DAMAGE("minecraft:instant_damage"), + HARM(NamespaceID.from("minecraft:instant_damage")), - JUMP_BOOST("minecraft:jump_boost"), + JUMP(NamespaceID.from("minecraft:jump_boost")), - NAUSEA("minecraft:nausea"), + CONFUSION(NamespaceID.from("minecraft:nausea")), - REGENERATION("minecraft:regeneration"), + REGENERATION(NamespaceID.from("minecraft:regeneration")), - RESISTANCE("minecraft:resistance"), + DAMAGE_RESISTANCE(NamespaceID.from("minecraft:resistance")), - FIRE_RESISTANCE("minecraft:fire_resistance"), + FIRE_RESISTANCE(NamespaceID.from("minecraft:fire_resistance")), - WATER_BREATHING("minecraft:water_breathing"), + WATER_BREATHING(NamespaceID.from("minecraft:water_breathing")), - INVISIBILITY("minecraft:invisibility"), + INVISIBILITY(NamespaceID.from("minecraft:invisibility")), - BLINDNESS("minecraft:blindness"), + BLINDNESS(NamespaceID.from("minecraft:blindness")), - NIGHT_VISION("minecraft:night_vision"), + NIGHT_VISION(NamespaceID.from("minecraft:night_vision")), - HUNGER("minecraft:hunger"), + HUNGER(NamespaceID.from("minecraft:hunger")), - WEAKNESS("minecraft:weakness"), + WEAKNESS(NamespaceID.from("minecraft:weakness")), - POISON("minecraft:poison"), + POISON(NamespaceID.from("minecraft:poison")), - WITHER("minecraft:wither"), + WITHER(NamespaceID.from("minecraft:wither")), - HEALTH_BOOST("minecraft:health_boost"), + HEALTH_BOOST(NamespaceID.from("minecraft:health_boost")), - ABSORPTION("minecraft:absorption"), + ABSORPTION(NamespaceID.from("minecraft:absorption")), - SATURATION("minecraft:saturation"), + SATURATION(NamespaceID.from("minecraft:saturation")), - GLOWING("minecraft:glowing"), + GLOWING(NamespaceID.from("minecraft:glowing")), - LEVITATION("minecraft:levitation"), + LEVITATION(NamespaceID.from("minecraft:levitation")), - LUCK("minecraft:luck"), + LUCK(NamespaceID.from("minecraft:luck")), - UNLUCK("minecraft:unluck"), + UNLUCK(NamespaceID.from("minecraft:unluck")), - SLOW_FALLING("minecraft:slow_falling"), + SLOW_FALLING(NamespaceID.from("minecraft:slow_falling")), - CONDUIT_POWER("minecraft:conduit_power"), + CONDUIT_POWER(NamespaceID.from("minecraft:conduit_power")), - DOLPHINS_GRACE("minecraft:dolphins_grace"), + DOLPHINS_GRACE(NamespaceID.from("minecraft:dolphins_grace")), - BAD_OMEN("minecraft:bad_omen"), + BAD_OMEN(NamespaceID.from("minecraft:bad_omen")), - HERO_OF_THE_VILLAGE("minecraft:hero_of_the_village"); + HERO_OF_THE_VILLAGE(NamespaceID.from("minecraft:hero_of_the_village")); - private final String namespaceID; + private static final PotionEffect[] VALUES = values(); - private final Key key; + @NotNull + private final NamespaceID id; - PotionEffect(String namespaceID) { - this.namespaceID = namespaceID; - Registries.potionEffects.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); - } - - public int getId() { - return ordinal() + 1; - } - - public String getNamespaceID() { - return namespaceID; + PotionEffect(@NotNull NamespaceID id) { + this.id = id; + Registries.potionEffects.put(id, this); } + @Override + @NotNull public Key key() { - return this.key; + return this.id; } - public static PotionEffect fromId(int id) { - if (id >= 0 && id < values().length + 1) { - return values()[id - 1]; + public short getId() { + return (short) (ordinal() + 1); + } + + @NotNull + public NamespaceID getNamespaceID() { + return this.id; + } + + @Nullable + public static PotionEffect fromId(short id) { + if(id >= 1 && id < VALUES.length + 1) { + return VALUES[id - 1]; } return null; } + + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; + } } diff --git a/src/autogenerated/java/net/minestom/server/potion/PotionType.java b/src/autogenerated/java/net/minestom/server/potion/PotionType.java index 375314472..8202b71e2 100644 --- a/src/autogenerated/java/net/minestom/server/potion/PotionType.java +++ b/src/autogenerated/java/net/minestom/server/potion/PotionType.java @@ -4,126 +4,135 @@ import net.kyori.adventure.key.Key; import net.kyori.adventure.key.Keyed; import net.minestom.server.registry.Registries; import net.minestom.server.utils.NamespaceID; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== + * AUTOGENERATED by PotionTypeGenerator */ -@SuppressWarnings({"deprecation"}) public enum PotionType implements Keyed { - EMPTY("minecraft:empty"), + EMPTY(NamespaceID.from("minecraft:empty")), - WATER("minecraft:water"), + WATER(NamespaceID.from("minecraft:water")), - MUNDANE("minecraft:mundane"), + MUNDANE(NamespaceID.from("minecraft:mundane")), - THICK("minecraft:thick"), + THICK(NamespaceID.from("minecraft:thick")), - AWKWARD("minecraft:awkward"), + AWKWARD(NamespaceID.from("minecraft:awkward")), - NIGHT_VISION("minecraft:night_vision"), + NIGHT_VISION(NamespaceID.from("minecraft:night_vision")), - LONG_NIGHT_VISION("minecraft:long_night_vision"), + LONG_NIGHT_VISION(NamespaceID.from("minecraft:long_night_vision")), - INVISIBILITY("minecraft:invisibility"), + INVISIBILITY(NamespaceID.from("minecraft:invisibility")), - LONG_INVISIBILITY("minecraft:long_invisibility"), + LONG_INVISIBILITY(NamespaceID.from("minecraft:long_invisibility")), - LEAPING("minecraft:leaping"), + LEAPING(NamespaceID.from("minecraft:leaping")), - LONG_LEAPING("minecraft:long_leaping"), + LONG_LEAPING(NamespaceID.from("minecraft:long_leaping")), - STRONG_LEAPING("minecraft:strong_leaping"), + STRONG_LEAPING(NamespaceID.from("minecraft:strong_leaping")), - FIRE_RESISTANCE("minecraft:fire_resistance"), + FIRE_RESISTANCE(NamespaceID.from("minecraft:fire_resistance")), - LONG_FIRE_RESISTANCE("minecraft:long_fire_resistance"), + LONG_FIRE_RESISTANCE(NamespaceID.from("minecraft:long_fire_resistance")), - SWIFTNESS("minecraft:swiftness"), + SWIFTNESS(NamespaceID.from("minecraft:swiftness")), - LONG_SWIFTNESS("minecraft:long_swiftness"), + LONG_SWIFTNESS(NamespaceID.from("minecraft:long_swiftness")), - STRONG_SWIFTNESS("minecraft:strong_swiftness"), + STRONG_SWIFTNESS(NamespaceID.from("minecraft:strong_swiftness")), - SLOWNESS("minecraft:slowness"), + SLOWNESS(NamespaceID.from("minecraft:slowness")), - LONG_SLOWNESS("minecraft:long_slowness"), + LONG_SLOWNESS(NamespaceID.from("minecraft:long_slowness")), - STRONG_SLOWNESS("minecraft:strong_slowness"), + STRONG_SLOWNESS(NamespaceID.from("minecraft:strong_slowness")), - TURTLE_MASTER("minecraft:turtle_master"), + TURTLE_MASTER(NamespaceID.from("minecraft:turtle_master")), - LONG_TURTLE_MASTER("minecraft:long_turtle_master"), + LONG_TURTLE_MASTER(NamespaceID.from("minecraft:long_turtle_master")), - STRONG_TURTLE_MASTER("minecraft:strong_turtle_master"), + STRONG_TURTLE_MASTER(NamespaceID.from("minecraft:strong_turtle_master")), - WATER_BREATHING("minecraft:water_breathing"), + WATER_BREATHING(NamespaceID.from("minecraft:water_breathing")), - LONG_WATER_BREATHING("minecraft:long_water_breathing"), + LONG_WATER_BREATHING(NamespaceID.from("minecraft:long_water_breathing")), - HEALING("minecraft:healing"), + HEALING(NamespaceID.from("minecraft:healing")), - STRONG_HEALING("minecraft:strong_healing"), + STRONG_HEALING(NamespaceID.from("minecraft:strong_healing")), - HARMING("minecraft:harming"), + HARMING(NamespaceID.from("minecraft:harming")), - STRONG_HARMING("minecraft:strong_harming"), + STRONG_HARMING(NamespaceID.from("minecraft:strong_harming")), - POISON("minecraft:poison"), + POISON(NamespaceID.from("minecraft:poison")), - LONG_POISON("minecraft:long_poison"), + LONG_POISON(NamespaceID.from("minecraft:long_poison")), - STRONG_POISON("minecraft:strong_poison"), + STRONG_POISON(NamespaceID.from("minecraft:strong_poison")), - REGENERATION("minecraft:regeneration"), + REGENERATION(NamespaceID.from("minecraft:regeneration")), - LONG_REGENERATION("minecraft:long_regeneration"), + LONG_REGENERATION(NamespaceID.from("minecraft:long_regeneration")), - STRONG_REGENERATION("minecraft:strong_regeneration"), + STRONG_REGENERATION(NamespaceID.from("minecraft:strong_regeneration")), - STRENGTH("minecraft:strength"), + STRENGTH(NamespaceID.from("minecraft:strength")), - LONG_STRENGTH("minecraft:long_strength"), + LONG_STRENGTH(NamespaceID.from("minecraft:long_strength")), - STRONG_STRENGTH("minecraft:strong_strength"), + STRONG_STRENGTH(NamespaceID.from("minecraft:strong_strength")), - WEAKNESS("minecraft:weakness"), + WEAKNESS(NamespaceID.from("minecraft:weakness")), - LONG_WEAKNESS("minecraft:long_weakness"), + LONG_WEAKNESS(NamespaceID.from("minecraft:long_weakness")), - LUCK("minecraft:luck"), + LUCK(NamespaceID.from("minecraft:luck")), - SLOW_FALLING("minecraft:slow_falling"), + SLOW_FALLING(NamespaceID.from("minecraft:slow_falling")), - LONG_SLOW_FALLING("minecraft:long_slow_falling"); + LONG_SLOW_FALLING(NamespaceID.from("minecraft:long_slow_falling")); - private final String namespaceID; + private static final PotionType[] VALUES = values(); - private final Key key; + @NotNull + private final NamespaceID id; - PotionType(String namespaceID) { - this.namespaceID = namespaceID; - Registries.potionTypes.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); - } - - public int getId() { - return ordinal(); - } - - public String getNamespaceID() { - return namespaceID; + PotionType(@NotNull NamespaceID id) { + this.id = id; + Registries.potionTypes.put(id, this); } + @Override + @NotNull public Key key() { - return this.key; + return this.id; } - public static PotionType fromId(int id) { - if (id >= 0 && id < values().length) { - return values()[id]; + public short getId() { + return (short) ordinal(); + } + + @NotNull + public NamespaceID getNamespaceID() { + return this.id; + } + + @Nullable + public static PotionType fromId(short id) { + if(id >= 0 && id < VALUES.length) { + return VALUES[id]; } - return EMPTY; + return null; + } + + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; } } diff --git a/src/autogenerated/java/net/minestom/server/registry/Registries.java b/src/autogenerated/java/net/minestom/server/registry/Registries.java index b19850b1f..6f74540cb 100644 --- a/src/autogenerated/java/net/minestom/server/registry/Registries.java +++ b/src/autogenerated/java/net/minestom/server/registry/Registries.java @@ -1,10 +1,9 @@ // AUTOGENERATED by net.minestom.codegen.RegistriesGenerator package net.minestom.server.registry; -import java.util.HashMap; import net.kyori.adventure.key.Key; import net.minestom.server.entity.EntityType; -import net.minestom.server.fluids.Fluid; +import net.minestom.server.fluid.Fluid; import net.minestom.server.instance.block.Block; import net.minestom.server.item.Enchantment; import net.minestom.server.item.Material; @@ -12,11 +11,13 @@ import net.minestom.server.particle.Particle; import net.minestom.server.potion.PotionEffect; import net.minestom.server.potion.PotionType; import net.minestom.server.sound.SoundEvent; -import net.minestom.server.stat.StatisticType; +import net.minestom.server.statistic.StatisticType; import net.minestom.server.utils.NamespaceID; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.HashMap; + /** * AUTOGENERATED */ diff --git a/src/autogenerated/java/net/minestom/server/sound/SoundEvent.java b/src/autogenerated/java/net/minestom/server/sound/SoundEvent.java index 0c6f71850..910f72370 100644 --- a/src/autogenerated/java/net/minestom/server/sound/SoundEvent.java +++ b/src/autogenerated/java/net/minestom/server/sound/SoundEvent.java @@ -5,2024 +5,2033 @@ import net.kyori.adventure.key.Keyed; import net.kyori.adventure.sound.Sound; import net.minestom.server.registry.Registries; import net.minestom.server.utils.NamespaceID; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== + * AUTOGENERATED by SoundEventGenerator */ -@SuppressWarnings({"deprecation"}) public enum SoundEvent implements Keyed, Sound.Type { - AMBIENT_CAVE("minecraft:ambient.cave"), + AMBIENT_CAVE(NamespaceID.from("minecraft:ambient.cave")), - AMBIENT_BASALT_DELTAS_ADDITIONS("minecraft:ambient.basalt_deltas.additions"), + AMBIENT_BASALT_DELTAS_ADDITIONS(NamespaceID.from("minecraft:ambient.basalt_deltas.additions")), - AMBIENT_BASALT_DELTAS_LOOP("minecraft:ambient.basalt_deltas.loop"), + AMBIENT_BASALT_DELTAS_LOOP(NamespaceID.from("minecraft:ambient.basalt_deltas.loop")), - AMBIENT_BASALT_DELTAS_MOOD("minecraft:ambient.basalt_deltas.mood"), + AMBIENT_BASALT_DELTAS_MOOD(NamespaceID.from("minecraft:ambient.basalt_deltas.mood")), - AMBIENT_CRIMSON_FOREST_ADDITIONS("minecraft:ambient.crimson_forest.additions"), + AMBIENT_CRIMSON_FOREST_ADDITIONS(NamespaceID.from("minecraft:ambient.crimson_forest.additions")), - AMBIENT_CRIMSON_FOREST_LOOP("minecraft:ambient.crimson_forest.loop"), + AMBIENT_CRIMSON_FOREST_LOOP(NamespaceID.from("minecraft:ambient.crimson_forest.loop")), - AMBIENT_CRIMSON_FOREST_MOOD("minecraft:ambient.crimson_forest.mood"), + AMBIENT_CRIMSON_FOREST_MOOD(NamespaceID.from("minecraft:ambient.crimson_forest.mood")), - AMBIENT_NETHER_WASTES_ADDITIONS("minecraft:ambient.nether_wastes.additions"), + AMBIENT_NETHER_WASTES_ADDITIONS(NamespaceID.from("minecraft:ambient.nether_wastes.additions")), - AMBIENT_NETHER_WASTES_LOOP("minecraft:ambient.nether_wastes.loop"), + AMBIENT_NETHER_WASTES_LOOP(NamespaceID.from("minecraft:ambient.nether_wastes.loop")), - AMBIENT_NETHER_WASTES_MOOD("minecraft:ambient.nether_wastes.mood"), + AMBIENT_NETHER_WASTES_MOOD(NamespaceID.from("minecraft:ambient.nether_wastes.mood")), - AMBIENT_SOUL_SAND_VALLEY_ADDITIONS("minecraft:ambient.soul_sand_valley.additions"), + AMBIENT_SOUL_SAND_VALLEY_ADDITIONS(NamespaceID.from("minecraft:ambient.soul_sand_valley.additions")), - AMBIENT_SOUL_SAND_VALLEY_LOOP("minecraft:ambient.soul_sand_valley.loop"), + AMBIENT_SOUL_SAND_VALLEY_LOOP(NamespaceID.from("minecraft:ambient.soul_sand_valley.loop")), - AMBIENT_SOUL_SAND_VALLEY_MOOD("minecraft:ambient.soul_sand_valley.mood"), + AMBIENT_SOUL_SAND_VALLEY_MOOD(NamespaceID.from("minecraft:ambient.soul_sand_valley.mood")), - AMBIENT_WARPED_FOREST_ADDITIONS("minecraft:ambient.warped_forest.additions"), + AMBIENT_WARPED_FOREST_ADDITIONS(NamespaceID.from("minecraft:ambient.warped_forest.additions")), - AMBIENT_WARPED_FOREST_LOOP("minecraft:ambient.warped_forest.loop"), + AMBIENT_WARPED_FOREST_LOOP(NamespaceID.from("minecraft:ambient.warped_forest.loop")), - AMBIENT_WARPED_FOREST_MOOD("minecraft:ambient.warped_forest.mood"), + AMBIENT_WARPED_FOREST_MOOD(NamespaceID.from("minecraft:ambient.warped_forest.mood")), - AMBIENT_UNDERWATER_ENTER("minecraft:ambient.underwater.enter"), + AMBIENT_UNDERWATER_ENTER(NamespaceID.from("minecraft:ambient.underwater.enter")), - AMBIENT_UNDERWATER_EXIT("minecraft:ambient.underwater.exit"), + AMBIENT_UNDERWATER_EXIT(NamespaceID.from("minecraft:ambient.underwater.exit")), - AMBIENT_UNDERWATER_LOOP("minecraft:ambient.underwater.loop"), + AMBIENT_UNDERWATER_LOOP(NamespaceID.from("minecraft:ambient.underwater.loop")), - AMBIENT_UNDERWATER_LOOP_ADDITIONS("minecraft:ambient.underwater.loop.additions"), + AMBIENT_UNDERWATER_LOOP_ADDITIONS(NamespaceID.from("minecraft:ambient.underwater.loop.additions")), - AMBIENT_UNDERWATER_LOOP_ADDITIONS_RARE("minecraft:ambient.underwater.loop.additions.rare"), + AMBIENT_UNDERWATER_LOOP_ADDITIONS_RARE(NamespaceID.from("minecraft:ambient.underwater.loop.additions.rare")), - AMBIENT_UNDERWATER_LOOP_ADDITIONS_ULTRA_RARE("minecraft:ambient.underwater.loop.additions.ultra_rare"), + AMBIENT_UNDERWATER_LOOP_ADDITIONS_ULTRA_RARE(NamespaceID.from("minecraft:ambient.underwater.loop.additions.ultra_rare")), - BLOCK_ANCIENT_DEBRIS_BREAK("minecraft:block.ancient_debris.break"), + ANCIENT_DEBRIS_BREAK(NamespaceID.from("minecraft:block.ancient_debris.break")), - BLOCK_ANCIENT_DEBRIS_STEP("minecraft:block.ancient_debris.step"), + ANCIENT_DEBRIS_STEP(NamespaceID.from("minecraft:block.ancient_debris.step")), - BLOCK_ANCIENT_DEBRIS_PLACE("minecraft:block.ancient_debris.place"), + ANCIENT_DEBRIS_PLACE(NamespaceID.from("minecraft:block.ancient_debris.place")), - BLOCK_ANCIENT_DEBRIS_HIT("minecraft:block.ancient_debris.hit"), + ANCIENT_DEBRIS_HIT(NamespaceID.from("minecraft:block.ancient_debris.hit")), - BLOCK_ANCIENT_DEBRIS_FALL("minecraft:block.ancient_debris.fall"), + ANCIENT_DEBRIS_FALL(NamespaceID.from("minecraft:block.ancient_debris.fall")), - BLOCK_ANVIL_BREAK("minecraft:block.anvil.break"), + ANVIL_BREAK(NamespaceID.from("minecraft:block.anvil.break")), - BLOCK_ANVIL_DESTROY("minecraft:block.anvil.destroy"), + ANVIL_DESTROY(NamespaceID.from("minecraft:block.anvil.destroy")), - BLOCK_ANVIL_FALL("minecraft:block.anvil.fall"), + ANVIL_FALL(NamespaceID.from("minecraft:block.anvil.fall")), - BLOCK_ANVIL_HIT("minecraft:block.anvil.hit"), + ANVIL_HIT(NamespaceID.from("minecraft:block.anvil.hit")), - BLOCK_ANVIL_LAND("minecraft:block.anvil.land"), + ANVIL_LAND(NamespaceID.from("minecraft:block.anvil.land")), - BLOCK_ANVIL_PLACE("minecraft:block.anvil.place"), + ANVIL_PLACE(NamespaceID.from("minecraft:block.anvil.place")), - BLOCK_ANVIL_STEP("minecraft:block.anvil.step"), + ANVIL_STEP(NamespaceID.from("minecraft:block.anvil.step")), - BLOCK_ANVIL_USE("minecraft:block.anvil.use"), + ANVIL_USE(NamespaceID.from("minecraft:block.anvil.use")), - ITEM_ARMOR_EQUIP_CHAIN("minecraft:item.armor.equip_chain"), + ARMOR_EQUIP_CHAIN(NamespaceID.from("minecraft:item.armor.equip_chain")), - ITEM_ARMOR_EQUIP_DIAMOND("minecraft:item.armor.equip_diamond"), + ARMOR_EQUIP_DIAMOND(NamespaceID.from("minecraft:item.armor.equip_diamond")), - ITEM_ARMOR_EQUIP_ELYTRA("minecraft:item.armor.equip_elytra"), + ARMOR_EQUIP_ELYTRA(NamespaceID.from("minecraft:item.armor.equip_elytra")), - ITEM_ARMOR_EQUIP_GENERIC("minecraft:item.armor.equip_generic"), + ARMOR_EQUIP_GENERIC(NamespaceID.from("minecraft:item.armor.equip_generic")), - ITEM_ARMOR_EQUIP_GOLD("minecraft:item.armor.equip_gold"), + ARMOR_EQUIP_GOLD(NamespaceID.from("minecraft:item.armor.equip_gold")), - ITEM_ARMOR_EQUIP_IRON("minecraft:item.armor.equip_iron"), + ARMOR_EQUIP_IRON(NamespaceID.from("minecraft:item.armor.equip_iron")), - ITEM_ARMOR_EQUIP_LEATHER("minecraft:item.armor.equip_leather"), + ARMOR_EQUIP_LEATHER(NamespaceID.from("minecraft:item.armor.equip_leather")), - ITEM_ARMOR_EQUIP_NETHERITE("minecraft:item.armor.equip_netherite"), + ARMOR_EQUIP_NETHERITE(NamespaceID.from("minecraft:item.armor.equip_netherite")), - ITEM_ARMOR_EQUIP_TURTLE("minecraft:item.armor.equip_turtle"), + ARMOR_EQUIP_TURTLE(NamespaceID.from("minecraft:item.armor.equip_turtle")), - ENTITY_ARMOR_STAND_BREAK("minecraft:entity.armor_stand.break"), + ARMOR_STAND_BREAK(NamespaceID.from("minecraft:entity.armor_stand.break")), - ENTITY_ARMOR_STAND_FALL("minecraft:entity.armor_stand.fall"), + ARMOR_STAND_FALL(NamespaceID.from("minecraft:entity.armor_stand.fall")), - ENTITY_ARMOR_STAND_HIT("minecraft:entity.armor_stand.hit"), + ARMOR_STAND_HIT(NamespaceID.from("minecraft:entity.armor_stand.hit")), - ENTITY_ARMOR_STAND_PLACE("minecraft:entity.armor_stand.place"), + ARMOR_STAND_PLACE(NamespaceID.from("minecraft:entity.armor_stand.place")), - ENTITY_ARROW_HIT("minecraft:entity.arrow.hit"), + ARROW_HIT(NamespaceID.from("minecraft:entity.arrow.hit")), - ENTITY_ARROW_HIT_PLAYER("minecraft:entity.arrow.hit_player"), + ARROW_HIT_PLAYER(NamespaceID.from("minecraft:entity.arrow.hit_player")), - ENTITY_ARROW_SHOOT("minecraft:entity.arrow.shoot"), + ARROW_SHOOT(NamespaceID.from("minecraft:entity.arrow.shoot")), - ITEM_AXE_STRIP("minecraft:item.axe.strip"), + AXE_STRIP(NamespaceID.from("minecraft:item.axe.strip")), - BLOCK_BAMBOO_BREAK("minecraft:block.bamboo.break"), + BAMBOO_BREAK(NamespaceID.from("minecraft:block.bamboo.break")), - BLOCK_BAMBOO_FALL("minecraft:block.bamboo.fall"), + BAMBOO_FALL(NamespaceID.from("minecraft:block.bamboo.fall")), - BLOCK_BAMBOO_HIT("minecraft:block.bamboo.hit"), + BAMBOO_HIT(NamespaceID.from("minecraft:block.bamboo.hit")), - BLOCK_BAMBOO_PLACE("minecraft:block.bamboo.place"), + BAMBOO_PLACE(NamespaceID.from("minecraft:block.bamboo.place")), - BLOCK_BAMBOO_STEP("minecraft:block.bamboo.step"), + BAMBOO_STEP(NamespaceID.from("minecraft:block.bamboo.step")), - BLOCK_BAMBOO_SAPLING_BREAK("minecraft:block.bamboo_sapling.break"), + BAMBOO_SAPLING_BREAK(NamespaceID.from("minecraft:block.bamboo_sapling.break")), - BLOCK_BAMBOO_SAPLING_HIT("minecraft:block.bamboo_sapling.hit"), + BAMBOO_SAPLING_HIT(NamespaceID.from("minecraft:block.bamboo_sapling.hit")), - BLOCK_BAMBOO_SAPLING_PLACE("minecraft:block.bamboo_sapling.place"), + BAMBOO_SAPLING_PLACE(NamespaceID.from("minecraft:block.bamboo_sapling.place")), - BLOCK_BARREL_CLOSE("minecraft:block.barrel.close"), + BARREL_CLOSE(NamespaceID.from("minecraft:block.barrel.close")), - BLOCK_BARREL_OPEN("minecraft:block.barrel.open"), + BARREL_OPEN(NamespaceID.from("minecraft:block.barrel.open")), - BLOCK_BASALT_BREAK("minecraft:block.basalt.break"), + BASALT_BREAK(NamespaceID.from("minecraft:block.basalt.break")), - BLOCK_BASALT_STEP("minecraft:block.basalt.step"), + BASALT_STEP(NamespaceID.from("minecraft:block.basalt.step")), - BLOCK_BASALT_PLACE("minecraft:block.basalt.place"), + BASALT_PLACE(NamespaceID.from("minecraft:block.basalt.place")), - BLOCK_BASALT_HIT("minecraft:block.basalt.hit"), + BASALT_HIT(NamespaceID.from("minecraft:block.basalt.hit")), - BLOCK_BASALT_FALL("minecraft:block.basalt.fall"), + BASALT_FALL(NamespaceID.from("minecraft:block.basalt.fall")), - ENTITY_BAT_AMBIENT("minecraft:entity.bat.ambient"), + BAT_AMBIENT(NamespaceID.from("minecraft:entity.bat.ambient")), - ENTITY_BAT_DEATH("minecraft:entity.bat.death"), + BAT_DEATH(NamespaceID.from("minecraft:entity.bat.death")), - ENTITY_BAT_HURT("minecraft:entity.bat.hurt"), + BAT_HURT(NamespaceID.from("minecraft:entity.bat.hurt")), - ENTITY_BAT_LOOP("minecraft:entity.bat.loop"), + BAT_LOOP(NamespaceID.from("minecraft:entity.bat.loop")), - ENTITY_BAT_TAKEOFF("minecraft:entity.bat.takeoff"), + BAT_TAKEOFF(NamespaceID.from("minecraft:entity.bat.takeoff")), - BLOCK_BEACON_ACTIVATE("minecraft:block.beacon.activate"), + BEACON_ACTIVATE(NamespaceID.from("minecraft:block.beacon.activate")), - BLOCK_BEACON_AMBIENT("minecraft:block.beacon.ambient"), + BEACON_AMBIENT(NamespaceID.from("minecraft:block.beacon.ambient")), - BLOCK_BEACON_DEACTIVATE("minecraft:block.beacon.deactivate"), + BEACON_DEACTIVATE(NamespaceID.from("minecraft:block.beacon.deactivate")), - BLOCK_BEACON_POWER_SELECT("minecraft:block.beacon.power_select"), + BEACON_POWER_SELECT(NamespaceID.from("minecraft:block.beacon.power_select")), - ENTITY_BEE_DEATH("minecraft:entity.bee.death"), + BEE_DEATH(NamespaceID.from("minecraft:entity.bee.death")), - ENTITY_BEE_HURT("minecraft:entity.bee.hurt"), + BEE_HURT(NamespaceID.from("minecraft:entity.bee.hurt")), - ENTITY_BEE_LOOP_AGGRESSIVE("minecraft:entity.bee.loop_aggressive"), + BEE_LOOP_AGGRESSIVE(NamespaceID.from("minecraft:entity.bee.loop_aggressive")), - ENTITY_BEE_LOOP("minecraft:entity.bee.loop"), + BEE_LOOP(NamespaceID.from("minecraft:entity.bee.loop")), - ENTITY_BEE_STING("minecraft:entity.bee.sting"), + BEE_STING(NamespaceID.from("minecraft:entity.bee.sting")), - ENTITY_BEE_POLLINATE("minecraft:entity.bee.pollinate"), + BEE_POLLINATE(NamespaceID.from("minecraft:entity.bee.pollinate")), - BLOCK_BEEHIVE_DRIP("minecraft:block.beehive.drip"), + BEEHIVE_DRIP(NamespaceID.from("minecraft:block.beehive.drip")), - BLOCK_BEEHIVE_ENTER("minecraft:block.beehive.enter"), + BEEHIVE_ENTER(NamespaceID.from("minecraft:block.beehive.enter")), - BLOCK_BEEHIVE_EXIT("minecraft:block.beehive.exit"), + BEEHIVE_EXIT(NamespaceID.from("minecraft:block.beehive.exit")), - BLOCK_BEEHIVE_SHEAR("minecraft:block.beehive.shear"), + BEEHIVE_SHEAR(NamespaceID.from("minecraft:block.beehive.shear")), - BLOCK_BEEHIVE_WORK("minecraft:block.beehive.work"), + BEEHIVE_WORK(NamespaceID.from("minecraft:block.beehive.work")), - BLOCK_BELL_USE("minecraft:block.bell.use"), + BELL_BLOCK(NamespaceID.from("minecraft:block.bell.use")), - BLOCK_BELL_RESONATE("minecraft:block.bell.resonate"), + BELL_RESONATE(NamespaceID.from("minecraft:block.bell.resonate")), - ENTITY_BLAZE_AMBIENT("minecraft:entity.blaze.ambient"), + BLAZE_AMBIENT(NamespaceID.from("minecraft:entity.blaze.ambient")), - ENTITY_BLAZE_BURN("minecraft:entity.blaze.burn"), + BLAZE_BURN(NamespaceID.from("minecraft:entity.blaze.burn")), - ENTITY_BLAZE_DEATH("minecraft:entity.blaze.death"), + BLAZE_DEATH(NamespaceID.from("minecraft:entity.blaze.death")), - ENTITY_BLAZE_HURT("minecraft:entity.blaze.hurt"), + BLAZE_HURT(NamespaceID.from("minecraft:entity.blaze.hurt")), - ENTITY_BLAZE_SHOOT("minecraft:entity.blaze.shoot"), + BLAZE_SHOOT(NamespaceID.from("minecraft:entity.blaze.shoot")), - ENTITY_BOAT_PADDLE_LAND("minecraft:entity.boat.paddle_land"), + BOAT_PADDLE_LAND(NamespaceID.from("minecraft:entity.boat.paddle_land")), - ENTITY_BOAT_PADDLE_WATER("minecraft:entity.boat.paddle_water"), + BOAT_PADDLE_WATER(NamespaceID.from("minecraft:entity.boat.paddle_water")), - BLOCK_BONE_BLOCK_BREAK("minecraft:block.bone_block.break"), + BONE_BLOCK_BREAK(NamespaceID.from("minecraft:block.bone_block.break")), - BLOCK_BONE_BLOCK_FALL("minecraft:block.bone_block.fall"), + BONE_BLOCK_FALL(NamespaceID.from("minecraft:block.bone_block.fall")), - BLOCK_BONE_BLOCK_HIT("minecraft:block.bone_block.hit"), + BONE_BLOCK_HIT(NamespaceID.from("minecraft:block.bone_block.hit")), - BLOCK_BONE_BLOCK_PLACE("minecraft:block.bone_block.place"), + BONE_BLOCK_PLACE(NamespaceID.from("minecraft:block.bone_block.place")), - BLOCK_BONE_BLOCK_STEP("minecraft:block.bone_block.step"), + BONE_BLOCK_STEP(NamespaceID.from("minecraft:block.bone_block.step")), - ITEM_BOOK_PAGE_TURN("minecraft:item.book.page_turn"), + BOOK_PAGE_TURN(NamespaceID.from("minecraft:item.book.page_turn")), - ITEM_BOOK_PUT("minecraft:item.book.put"), + BOOK_PUT(NamespaceID.from("minecraft:item.book.put")), - BLOCK_BLASTFURNACE_FIRE_CRACKLE("minecraft:block.blastfurnace.fire_crackle"), + BLASTFURNACE_FIRE_CRACKLE(NamespaceID.from("minecraft:block.blastfurnace.fire_crackle")), - ITEM_BOTTLE_EMPTY("minecraft:item.bottle.empty"), + BOTTLE_EMPTY(NamespaceID.from("minecraft:item.bottle.empty")), - ITEM_BOTTLE_FILL("minecraft:item.bottle.fill"), + BOTTLE_FILL(NamespaceID.from("minecraft:item.bottle.fill")), - ITEM_BOTTLE_FILL_DRAGONBREATH("minecraft:item.bottle.fill_dragonbreath"), + BOTTLE_FILL_DRAGONBREATH(NamespaceID.from("minecraft:item.bottle.fill_dragonbreath")), - BLOCK_BREWING_STAND_BREW("minecraft:block.brewing_stand.brew"), + BREWING_STAND_BREW(NamespaceID.from("minecraft:block.brewing_stand.brew")), - BLOCK_BUBBLE_COLUMN_BUBBLE_POP("minecraft:block.bubble_column.bubble_pop"), + BUBBLE_COLUMN_BUBBLE_POP(NamespaceID.from("minecraft:block.bubble_column.bubble_pop")), - BLOCK_BUBBLE_COLUMN_UPWARDS_AMBIENT("minecraft:block.bubble_column.upwards_ambient"), + BUBBLE_COLUMN_UPWARDS_AMBIENT(NamespaceID.from("minecraft:block.bubble_column.upwards_ambient")), - BLOCK_BUBBLE_COLUMN_UPWARDS_INSIDE("minecraft:block.bubble_column.upwards_inside"), + BUBBLE_COLUMN_UPWARDS_INSIDE(NamespaceID.from("minecraft:block.bubble_column.upwards_inside")), - BLOCK_BUBBLE_COLUMN_WHIRLPOOL_AMBIENT("minecraft:block.bubble_column.whirlpool_ambient"), + BUBBLE_COLUMN_WHIRLPOOL_AMBIENT(NamespaceID.from("minecraft:block.bubble_column.whirlpool_ambient")), - BLOCK_BUBBLE_COLUMN_WHIRLPOOL_INSIDE("minecraft:block.bubble_column.whirlpool_inside"), + BUBBLE_COLUMN_WHIRLPOOL_INSIDE(NamespaceID.from("minecraft:block.bubble_column.whirlpool_inside")), - ITEM_BUCKET_EMPTY("minecraft:item.bucket.empty"), + BUCKET_EMPTY(NamespaceID.from("minecraft:item.bucket.empty")), - ITEM_BUCKET_EMPTY_FISH("minecraft:item.bucket.empty_fish"), + BUCKET_EMPTY_FISH(NamespaceID.from("minecraft:item.bucket.empty_fish")), - ITEM_BUCKET_EMPTY_LAVA("minecraft:item.bucket.empty_lava"), + BUCKET_EMPTY_LAVA(NamespaceID.from("minecraft:item.bucket.empty_lava")), - ITEM_BUCKET_FILL("minecraft:item.bucket.fill"), + BUCKET_FILL(NamespaceID.from("minecraft:item.bucket.fill")), - ITEM_BUCKET_FILL_FISH("minecraft:item.bucket.fill_fish"), + BUCKET_FILL_FISH(NamespaceID.from("minecraft:item.bucket.fill_fish")), - ITEM_BUCKET_FILL_LAVA("minecraft:item.bucket.fill_lava"), + BUCKET_FILL_LAVA(NamespaceID.from("minecraft:item.bucket.fill_lava")), - BLOCK_CAMPFIRE_CRACKLE("minecraft:block.campfire.crackle"), + CAMPFIRE_CRACKLE(NamespaceID.from("minecraft:block.campfire.crackle")), - ENTITY_CAT_AMBIENT("minecraft:entity.cat.ambient"), + CAT_AMBIENT(NamespaceID.from("minecraft:entity.cat.ambient")), - ENTITY_CAT_STRAY_AMBIENT("minecraft:entity.cat.stray_ambient"), + CAT_STRAY_AMBIENT(NamespaceID.from("minecraft:entity.cat.stray_ambient")), - ENTITY_CAT_DEATH("minecraft:entity.cat.death"), + CAT_DEATH(NamespaceID.from("minecraft:entity.cat.death")), - ENTITY_CAT_EAT("minecraft:entity.cat.eat"), + CAT_EAT(NamespaceID.from("minecraft:entity.cat.eat")), - ENTITY_CAT_HISS("minecraft:entity.cat.hiss"), + CAT_HISS(NamespaceID.from("minecraft:entity.cat.hiss")), - ENTITY_CAT_BEG_FOR_FOOD("minecraft:entity.cat.beg_for_food"), + CAT_BEG_FOR_FOOD(NamespaceID.from("minecraft:entity.cat.beg_for_food")), - ENTITY_CAT_HURT("minecraft:entity.cat.hurt"), + CAT_HURT(NamespaceID.from("minecraft:entity.cat.hurt")), - ENTITY_CAT_PURR("minecraft:entity.cat.purr"), + CAT_PURR(NamespaceID.from("minecraft:entity.cat.purr")), - ENTITY_CAT_PURREOW("minecraft:entity.cat.purreow"), + CAT_PURREOW(NamespaceID.from("minecraft:entity.cat.purreow")), - BLOCK_CHAIN_BREAK("minecraft:block.chain.break"), + CHAIN_BREAK(NamespaceID.from("minecraft:block.chain.break")), - BLOCK_CHAIN_FALL("minecraft:block.chain.fall"), + CHAIN_FALL(NamespaceID.from("minecraft:block.chain.fall")), - BLOCK_CHAIN_HIT("minecraft:block.chain.hit"), + CHAIN_HIT(NamespaceID.from("minecraft:block.chain.hit")), - BLOCK_CHAIN_PLACE("minecraft:block.chain.place"), + CHAIN_PLACE(NamespaceID.from("minecraft:block.chain.place")), - BLOCK_CHAIN_STEP("minecraft:block.chain.step"), + CHAIN_STEP(NamespaceID.from("minecraft:block.chain.step")), - BLOCK_CHEST_CLOSE("minecraft:block.chest.close"), + CHEST_CLOSE(NamespaceID.from("minecraft:block.chest.close")), - BLOCK_CHEST_LOCKED("minecraft:block.chest.locked"), + CHEST_LOCKED(NamespaceID.from("minecraft:block.chest.locked")), - BLOCK_CHEST_OPEN("minecraft:block.chest.open"), + CHEST_OPEN(NamespaceID.from("minecraft:block.chest.open")), - ENTITY_CHICKEN_AMBIENT("minecraft:entity.chicken.ambient"), + CHICKEN_AMBIENT(NamespaceID.from("minecraft:entity.chicken.ambient")), - ENTITY_CHICKEN_DEATH("minecraft:entity.chicken.death"), + CHICKEN_DEATH(NamespaceID.from("minecraft:entity.chicken.death")), - ENTITY_CHICKEN_EGG("minecraft:entity.chicken.egg"), + CHICKEN_EGG(NamespaceID.from("minecraft:entity.chicken.egg")), - ENTITY_CHICKEN_HURT("minecraft:entity.chicken.hurt"), + CHICKEN_HURT(NamespaceID.from("minecraft:entity.chicken.hurt")), - ENTITY_CHICKEN_STEP("minecraft:entity.chicken.step"), + CHICKEN_STEP(NamespaceID.from("minecraft:entity.chicken.step")), - BLOCK_CHORUS_FLOWER_DEATH("minecraft:block.chorus_flower.death"), + CHORUS_FLOWER_DEATH(NamespaceID.from("minecraft:block.chorus_flower.death")), - BLOCK_CHORUS_FLOWER_GROW("minecraft:block.chorus_flower.grow"), + CHORUS_FLOWER_GROW(NamespaceID.from("minecraft:block.chorus_flower.grow")), - ITEM_CHORUS_FRUIT_TELEPORT("minecraft:item.chorus_fruit.teleport"), + CHORUS_FRUIT_TELEPORT(NamespaceID.from("minecraft:item.chorus_fruit.teleport")), - ENTITY_COD_AMBIENT("minecraft:entity.cod.ambient"), + COD_AMBIENT(NamespaceID.from("minecraft:entity.cod.ambient")), - ENTITY_COD_DEATH("minecraft:entity.cod.death"), + COD_DEATH(NamespaceID.from("minecraft:entity.cod.death")), - ENTITY_COD_FLOP("minecraft:entity.cod.flop"), + COD_FLOP(NamespaceID.from("minecraft:entity.cod.flop")), - ENTITY_COD_HURT("minecraft:entity.cod.hurt"), + COD_HURT(NamespaceID.from("minecraft:entity.cod.hurt")), - BLOCK_COMPARATOR_CLICK("minecraft:block.comparator.click"), + COMPARATOR_CLICK(NamespaceID.from("minecraft:block.comparator.click")), - BLOCK_COMPOSTER_EMPTY("minecraft:block.composter.empty"), + COMPOSTER_EMPTY(NamespaceID.from("minecraft:block.composter.empty")), - BLOCK_COMPOSTER_FILL("minecraft:block.composter.fill"), + COMPOSTER_FILL(NamespaceID.from("minecraft:block.composter.fill")), - BLOCK_COMPOSTER_FILL_SUCCESS("minecraft:block.composter.fill_success"), + COMPOSTER_FILL_SUCCESS(NamespaceID.from("minecraft:block.composter.fill_success")), - BLOCK_COMPOSTER_READY("minecraft:block.composter.ready"), + COMPOSTER_READY(NamespaceID.from("minecraft:block.composter.ready")), - BLOCK_CONDUIT_ACTIVATE("minecraft:block.conduit.activate"), + CONDUIT_ACTIVATE(NamespaceID.from("minecraft:block.conduit.activate")), - BLOCK_CONDUIT_AMBIENT("minecraft:block.conduit.ambient"), + CONDUIT_AMBIENT(NamespaceID.from("minecraft:block.conduit.ambient")), - BLOCK_CONDUIT_AMBIENT_SHORT("minecraft:block.conduit.ambient.short"), + CONDUIT_AMBIENT_SHORT(NamespaceID.from("minecraft:block.conduit.ambient.short")), - BLOCK_CONDUIT_ATTACK_TARGET("minecraft:block.conduit.attack.target"), + CONDUIT_ATTACK_TARGET(NamespaceID.from("minecraft:block.conduit.attack.target")), - BLOCK_CONDUIT_DEACTIVATE("minecraft:block.conduit.deactivate"), + CONDUIT_DEACTIVATE(NamespaceID.from("minecraft:block.conduit.deactivate")), - BLOCK_CORAL_BLOCK_BREAK("minecraft:block.coral_block.break"), + CORAL_BLOCK_BREAK(NamespaceID.from("minecraft:block.coral_block.break")), - BLOCK_CORAL_BLOCK_FALL("minecraft:block.coral_block.fall"), + CORAL_BLOCK_FALL(NamespaceID.from("minecraft:block.coral_block.fall")), - BLOCK_CORAL_BLOCK_HIT("minecraft:block.coral_block.hit"), + CORAL_BLOCK_HIT(NamespaceID.from("minecraft:block.coral_block.hit")), - BLOCK_CORAL_BLOCK_PLACE("minecraft:block.coral_block.place"), + CORAL_BLOCK_PLACE(NamespaceID.from("minecraft:block.coral_block.place")), - BLOCK_CORAL_BLOCK_STEP("minecraft:block.coral_block.step"), + CORAL_BLOCK_STEP(NamespaceID.from("minecraft:block.coral_block.step")), - ENTITY_COW_AMBIENT("minecraft:entity.cow.ambient"), + COW_AMBIENT(NamespaceID.from("minecraft:entity.cow.ambient")), - ENTITY_COW_DEATH("minecraft:entity.cow.death"), + COW_DEATH(NamespaceID.from("minecraft:entity.cow.death")), - ENTITY_COW_HURT("minecraft:entity.cow.hurt"), + COW_HURT(NamespaceID.from("minecraft:entity.cow.hurt")), - ENTITY_COW_MILK("minecraft:entity.cow.milk"), + COW_MILK(NamespaceID.from("minecraft:entity.cow.milk")), - ENTITY_COW_STEP("minecraft:entity.cow.step"), + COW_STEP(NamespaceID.from("minecraft:entity.cow.step")), - ENTITY_CREEPER_DEATH("minecraft:entity.creeper.death"), + CREEPER_DEATH(NamespaceID.from("minecraft:entity.creeper.death")), - ENTITY_CREEPER_HURT("minecraft:entity.creeper.hurt"), + CREEPER_HURT(NamespaceID.from("minecraft:entity.creeper.hurt")), - ENTITY_CREEPER_PRIMED("minecraft:entity.creeper.primed"), + CREEPER_PRIMED(NamespaceID.from("minecraft:entity.creeper.primed")), - BLOCK_CROP_BREAK("minecraft:block.crop.break"), + CROP_BREAK(NamespaceID.from("minecraft:block.crop.break")), - ITEM_CROP_PLANT("minecraft:item.crop.plant"), + CROP_PLANTED(NamespaceID.from("minecraft:item.crop.plant")), - ITEM_CROSSBOW_HIT("minecraft:item.crossbow.hit"), + CROSSBOW_HIT(NamespaceID.from("minecraft:item.crossbow.hit")), - ITEM_CROSSBOW_LOADING_END("minecraft:item.crossbow.loading_end"), + CROSSBOW_LOADING_END(NamespaceID.from("minecraft:item.crossbow.loading_end")), - ITEM_CROSSBOW_LOADING_MIDDLE("minecraft:item.crossbow.loading_middle"), + CROSSBOW_LOADING_MIDDLE(NamespaceID.from("minecraft:item.crossbow.loading_middle")), - ITEM_CROSSBOW_LOADING_START("minecraft:item.crossbow.loading_start"), + CROSSBOW_LOADING_START(NamespaceID.from("minecraft:item.crossbow.loading_start")), - ITEM_CROSSBOW_QUICK_CHARGE_1("minecraft:item.crossbow.quick_charge_1"), + CROSSBOW_QUICK_CHARGE_1(NamespaceID.from("minecraft:item.crossbow.quick_charge_1")), - ITEM_CROSSBOW_QUICK_CHARGE_2("minecraft:item.crossbow.quick_charge_2"), + CROSSBOW_QUICK_CHARGE_2(NamespaceID.from("minecraft:item.crossbow.quick_charge_2")), - ITEM_CROSSBOW_QUICK_CHARGE_3("minecraft:item.crossbow.quick_charge_3"), + CROSSBOW_QUICK_CHARGE_3(NamespaceID.from("minecraft:item.crossbow.quick_charge_3")), - ITEM_CROSSBOW_SHOOT("minecraft:item.crossbow.shoot"), + CROSSBOW_SHOOT(NamespaceID.from("minecraft:item.crossbow.shoot")), - BLOCK_DISPENSER_DISPENSE("minecraft:block.dispenser.dispense"), + DISPENSER_DISPENSE(NamespaceID.from("minecraft:block.dispenser.dispense")), - BLOCK_DISPENSER_FAIL("minecraft:block.dispenser.fail"), + DISPENSER_FAIL(NamespaceID.from("minecraft:block.dispenser.fail")), - BLOCK_DISPENSER_LAUNCH("minecraft:block.dispenser.launch"), + DISPENSER_LAUNCH(NamespaceID.from("minecraft:block.dispenser.launch")), - ENTITY_DOLPHIN_AMBIENT("minecraft:entity.dolphin.ambient"), + DOLPHIN_AMBIENT(NamespaceID.from("minecraft:entity.dolphin.ambient")), - ENTITY_DOLPHIN_AMBIENT_WATER("minecraft:entity.dolphin.ambient_water"), + DOLPHIN_AMBIENT_WATER(NamespaceID.from("minecraft:entity.dolphin.ambient_water")), - ENTITY_DOLPHIN_ATTACK("minecraft:entity.dolphin.attack"), + DOLPHIN_ATTACK(NamespaceID.from("minecraft:entity.dolphin.attack")), - ENTITY_DOLPHIN_DEATH("minecraft:entity.dolphin.death"), + DOLPHIN_DEATH(NamespaceID.from("minecraft:entity.dolphin.death")), - ENTITY_DOLPHIN_EAT("minecraft:entity.dolphin.eat"), + DOLPHIN_EAT(NamespaceID.from("minecraft:entity.dolphin.eat")), - ENTITY_DOLPHIN_HURT("minecraft:entity.dolphin.hurt"), + DOLPHIN_HURT(NamespaceID.from("minecraft:entity.dolphin.hurt")), - ENTITY_DOLPHIN_JUMP("minecraft:entity.dolphin.jump"), + DOLPHIN_JUMP(NamespaceID.from("minecraft:entity.dolphin.jump")), - ENTITY_DOLPHIN_PLAY("minecraft:entity.dolphin.play"), + DOLPHIN_PLAY(NamespaceID.from("minecraft:entity.dolphin.play")), - ENTITY_DOLPHIN_SPLASH("minecraft:entity.dolphin.splash"), + DOLPHIN_SPLASH(NamespaceID.from("minecraft:entity.dolphin.splash")), - ENTITY_DOLPHIN_SWIM("minecraft:entity.dolphin.swim"), + DOLPHIN_SWIM(NamespaceID.from("minecraft:entity.dolphin.swim")), - ENTITY_DONKEY_AMBIENT("minecraft:entity.donkey.ambient"), + DONKEY_AMBIENT(NamespaceID.from("minecraft:entity.donkey.ambient")), - ENTITY_DONKEY_ANGRY("minecraft:entity.donkey.angry"), + DONKEY_ANGRY(NamespaceID.from("minecraft:entity.donkey.angry")), - ENTITY_DONKEY_CHEST("minecraft:entity.donkey.chest"), + DONKEY_CHEST(NamespaceID.from("minecraft:entity.donkey.chest")), - ENTITY_DONKEY_DEATH("minecraft:entity.donkey.death"), + DONKEY_DEATH(NamespaceID.from("minecraft:entity.donkey.death")), - ENTITY_DONKEY_EAT("minecraft:entity.donkey.eat"), + DONKEY_EAT(NamespaceID.from("minecraft:entity.donkey.eat")), - ENTITY_DONKEY_HURT("minecraft:entity.donkey.hurt"), + DONKEY_HURT(NamespaceID.from("minecraft:entity.donkey.hurt")), - ENTITY_DROWNED_AMBIENT("minecraft:entity.drowned.ambient"), + DROWNED_AMBIENT(NamespaceID.from("minecraft:entity.drowned.ambient")), - ENTITY_DROWNED_AMBIENT_WATER("minecraft:entity.drowned.ambient_water"), + DROWNED_AMBIENT_WATER(NamespaceID.from("minecraft:entity.drowned.ambient_water")), - ENTITY_DROWNED_DEATH("minecraft:entity.drowned.death"), + DROWNED_DEATH(NamespaceID.from("minecraft:entity.drowned.death")), - ENTITY_DROWNED_DEATH_WATER("minecraft:entity.drowned.death_water"), + DROWNED_DEATH_WATER(NamespaceID.from("minecraft:entity.drowned.death_water")), - ENTITY_DROWNED_HURT("minecraft:entity.drowned.hurt"), + DROWNED_HURT(NamespaceID.from("minecraft:entity.drowned.hurt")), - ENTITY_DROWNED_HURT_WATER("minecraft:entity.drowned.hurt_water"), + DROWNED_HURT_WATER(NamespaceID.from("minecraft:entity.drowned.hurt_water")), - ENTITY_DROWNED_SHOOT("minecraft:entity.drowned.shoot"), + DROWNED_SHOOT(NamespaceID.from("minecraft:entity.drowned.shoot")), - ENTITY_DROWNED_STEP("minecraft:entity.drowned.step"), + DROWNED_STEP(NamespaceID.from("minecraft:entity.drowned.step")), - ENTITY_DROWNED_SWIM("minecraft:entity.drowned.swim"), + DROWNED_SWIM(NamespaceID.from("minecraft:entity.drowned.swim")), - ENTITY_EGG_THROW("minecraft:entity.egg.throw"), + EGG_THROW(NamespaceID.from("minecraft:entity.egg.throw")), - ENTITY_ELDER_GUARDIAN_AMBIENT("minecraft:entity.elder_guardian.ambient"), + ELDER_GUARDIAN_AMBIENT(NamespaceID.from("minecraft:entity.elder_guardian.ambient")), - ENTITY_ELDER_GUARDIAN_AMBIENT_LAND("minecraft:entity.elder_guardian.ambient_land"), + ELDER_GUARDIAN_AMBIENT_LAND(NamespaceID.from("minecraft:entity.elder_guardian.ambient_land")), - ENTITY_ELDER_GUARDIAN_CURSE("minecraft:entity.elder_guardian.curse"), + ELDER_GUARDIAN_CURSE(NamespaceID.from("minecraft:entity.elder_guardian.curse")), - ENTITY_ELDER_GUARDIAN_DEATH("minecraft:entity.elder_guardian.death"), + ELDER_GUARDIAN_DEATH(NamespaceID.from("minecraft:entity.elder_guardian.death")), - ENTITY_ELDER_GUARDIAN_DEATH_LAND("minecraft:entity.elder_guardian.death_land"), + ELDER_GUARDIAN_DEATH_LAND(NamespaceID.from("minecraft:entity.elder_guardian.death_land")), - ENTITY_ELDER_GUARDIAN_FLOP("minecraft:entity.elder_guardian.flop"), + ELDER_GUARDIAN_FLOP(NamespaceID.from("minecraft:entity.elder_guardian.flop")), - ENTITY_ELDER_GUARDIAN_HURT("minecraft:entity.elder_guardian.hurt"), + ELDER_GUARDIAN_HURT(NamespaceID.from("minecraft:entity.elder_guardian.hurt")), - ENTITY_ELDER_GUARDIAN_HURT_LAND("minecraft:entity.elder_guardian.hurt_land"), + ELDER_GUARDIAN_HURT_LAND(NamespaceID.from("minecraft:entity.elder_guardian.hurt_land")), - ITEM_ELYTRA_FLYING("minecraft:item.elytra.flying"), + ELYTRA_FLYING(NamespaceID.from("minecraft:item.elytra.flying")), - BLOCK_ENCHANTMENT_TABLE_USE("minecraft:block.enchantment_table.use"), + ENCHANTMENT_TABLE_USE(NamespaceID.from("minecraft:block.enchantment_table.use")), - BLOCK_ENDER_CHEST_CLOSE("minecraft:block.ender_chest.close"), + ENDER_CHEST_CLOSE(NamespaceID.from("minecraft:block.ender_chest.close")), - BLOCK_ENDER_CHEST_OPEN("minecraft:block.ender_chest.open"), + ENDER_CHEST_OPEN(NamespaceID.from("minecraft:block.ender_chest.open")), - ENTITY_ENDER_DRAGON_AMBIENT("minecraft:entity.ender_dragon.ambient"), + ENDER_DRAGON_AMBIENT(NamespaceID.from("minecraft:entity.ender_dragon.ambient")), - ENTITY_ENDER_DRAGON_DEATH("minecraft:entity.ender_dragon.death"), + ENDER_DRAGON_DEATH(NamespaceID.from("minecraft:entity.ender_dragon.death")), - ENTITY_DRAGON_FIREBALL_EXPLODE("minecraft:entity.dragon_fireball.explode"), + DRAGON_FIREBALL_EXPLODE(NamespaceID.from("minecraft:entity.dragon_fireball.explode")), - ENTITY_ENDER_DRAGON_FLAP("minecraft:entity.ender_dragon.flap"), + ENDER_DRAGON_FLAP(NamespaceID.from("minecraft:entity.ender_dragon.flap")), - ENTITY_ENDER_DRAGON_GROWL("minecraft:entity.ender_dragon.growl"), + ENDER_DRAGON_GROWL(NamespaceID.from("minecraft:entity.ender_dragon.growl")), - ENTITY_ENDER_DRAGON_HURT("minecraft:entity.ender_dragon.hurt"), + ENDER_DRAGON_HURT(NamespaceID.from("minecraft:entity.ender_dragon.hurt")), - ENTITY_ENDER_DRAGON_SHOOT("minecraft:entity.ender_dragon.shoot"), + ENDER_DRAGON_SHOOT(NamespaceID.from("minecraft:entity.ender_dragon.shoot")), - ENTITY_ENDER_EYE_DEATH("minecraft:entity.ender_eye.death"), + ENDER_EYE_DEATH(NamespaceID.from("minecraft:entity.ender_eye.death")), - ENTITY_ENDER_EYE_LAUNCH("minecraft:entity.ender_eye.launch"), + ENDER_EYE_LAUNCH(NamespaceID.from("minecraft:entity.ender_eye.launch")), - ENTITY_ENDERMAN_AMBIENT("minecraft:entity.enderman.ambient"), + ENDERMAN_AMBIENT(NamespaceID.from("minecraft:entity.enderman.ambient")), - ENTITY_ENDERMAN_DEATH("minecraft:entity.enderman.death"), + ENDERMAN_DEATH(NamespaceID.from("minecraft:entity.enderman.death")), - ENTITY_ENDERMAN_HURT("minecraft:entity.enderman.hurt"), + ENDERMAN_HURT(NamespaceID.from("minecraft:entity.enderman.hurt")), - ENTITY_ENDERMAN_SCREAM("minecraft:entity.enderman.scream"), + ENDERMAN_SCREAM(NamespaceID.from("minecraft:entity.enderman.scream")), - ENTITY_ENDERMAN_STARE("minecraft:entity.enderman.stare"), + ENDERMAN_STARE(NamespaceID.from("minecraft:entity.enderman.stare")), - ENTITY_ENDERMAN_TELEPORT("minecraft:entity.enderman.teleport"), + ENDERMAN_TELEPORT(NamespaceID.from("minecraft:entity.enderman.teleport")), - ENTITY_ENDERMITE_AMBIENT("minecraft:entity.endermite.ambient"), + ENDERMITE_AMBIENT(NamespaceID.from("minecraft:entity.endermite.ambient")), - ENTITY_ENDERMITE_DEATH("minecraft:entity.endermite.death"), + ENDERMITE_DEATH(NamespaceID.from("minecraft:entity.endermite.death")), - ENTITY_ENDERMITE_HURT("minecraft:entity.endermite.hurt"), + ENDERMITE_HURT(NamespaceID.from("minecraft:entity.endermite.hurt")), - ENTITY_ENDERMITE_STEP("minecraft:entity.endermite.step"), + ENDERMITE_STEP(NamespaceID.from("minecraft:entity.endermite.step")), - ENTITY_ENDER_PEARL_THROW("minecraft:entity.ender_pearl.throw"), + ENDER_PEARL_THROW(NamespaceID.from("minecraft:entity.ender_pearl.throw")), - BLOCK_END_GATEWAY_SPAWN("minecraft:block.end_gateway.spawn"), + END_GATEWAY_SPAWN(NamespaceID.from("minecraft:block.end_gateway.spawn")), - BLOCK_END_PORTAL_FRAME_FILL("minecraft:block.end_portal_frame.fill"), + END_PORTAL_FRAME_FILL(NamespaceID.from("minecraft:block.end_portal_frame.fill")), - BLOCK_END_PORTAL_SPAWN("minecraft:block.end_portal.spawn"), + END_PORTAL_SPAWN(NamespaceID.from("minecraft:block.end_portal.spawn")), - ENTITY_EVOKER_AMBIENT("minecraft:entity.evoker.ambient"), + EVOKER_AMBIENT(NamespaceID.from("minecraft:entity.evoker.ambient")), - ENTITY_EVOKER_CAST_SPELL("minecraft:entity.evoker.cast_spell"), + EVOKER_CAST_SPELL(NamespaceID.from("minecraft:entity.evoker.cast_spell")), - ENTITY_EVOKER_CELEBRATE("minecraft:entity.evoker.celebrate"), + EVOKER_CELEBRATE(NamespaceID.from("minecraft:entity.evoker.celebrate")), - ENTITY_EVOKER_DEATH("minecraft:entity.evoker.death"), + EVOKER_DEATH(NamespaceID.from("minecraft:entity.evoker.death")), - ENTITY_EVOKER_FANGS_ATTACK("minecraft:entity.evoker_fangs.attack"), + EVOKER_FANGS_ATTACK(NamespaceID.from("minecraft:entity.evoker_fangs.attack")), - ENTITY_EVOKER_HURT("minecraft:entity.evoker.hurt"), + EVOKER_HURT(NamespaceID.from("minecraft:entity.evoker.hurt")), - ENTITY_EVOKER_PREPARE_ATTACK("minecraft:entity.evoker.prepare_attack"), + EVOKER_PREPARE_ATTACK(NamespaceID.from("minecraft:entity.evoker.prepare_attack")), - ENTITY_EVOKER_PREPARE_SUMMON("minecraft:entity.evoker.prepare_summon"), + EVOKER_PREPARE_SUMMON(NamespaceID.from("minecraft:entity.evoker.prepare_summon")), - ENTITY_EVOKER_PREPARE_WOLOLO("minecraft:entity.evoker.prepare_wololo"), + EVOKER_PREPARE_WOLOLO(NamespaceID.from("minecraft:entity.evoker.prepare_wololo")), - ENTITY_EXPERIENCE_BOTTLE_THROW("minecraft:entity.experience_bottle.throw"), + EXPERIENCE_BOTTLE_THROW(NamespaceID.from("minecraft:entity.experience_bottle.throw")), - ENTITY_EXPERIENCE_ORB_PICKUP("minecraft:entity.experience_orb.pickup"), + EXPERIENCE_ORB_PICKUP(NamespaceID.from("minecraft:entity.experience_orb.pickup")), - BLOCK_FENCE_GATE_CLOSE("minecraft:block.fence_gate.close"), + FENCE_GATE_CLOSE(NamespaceID.from("minecraft:block.fence_gate.close")), - BLOCK_FENCE_GATE_OPEN("minecraft:block.fence_gate.open"), + FENCE_GATE_OPEN(NamespaceID.from("minecraft:block.fence_gate.open")), - ITEM_FIRECHARGE_USE("minecraft:item.firecharge.use"), + FIRECHARGE_USE(NamespaceID.from("minecraft:item.firecharge.use")), - ENTITY_FIREWORK_ROCKET_BLAST("minecraft:entity.firework_rocket.blast"), + FIREWORK_ROCKET_BLAST(NamespaceID.from("minecraft:entity.firework_rocket.blast")), - ENTITY_FIREWORK_ROCKET_BLAST_FAR("minecraft:entity.firework_rocket.blast_far"), + FIREWORK_ROCKET_BLAST_FAR(NamespaceID.from("minecraft:entity.firework_rocket.blast_far")), - ENTITY_FIREWORK_ROCKET_LARGE_BLAST("minecraft:entity.firework_rocket.large_blast"), + FIREWORK_ROCKET_LARGE_BLAST(NamespaceID.from("minecraft:entity.firework_rocket.large_blast")), - ENTITY_FIREWORK_ROCKET_LARGE_BLAST_FAR("minecraft:entity.firework_rocket.large_blast_far"), + FIREWORK_ROCKET_LARGE_BLAST_FAR(NamespaceID.from("minecraft:entity.firework_rocket.large_blast_far")), - ENTITY_FIREWORK_ROCKET_LAUNCH("minecraft:entity.firework_rocket.launch"), + FIREWORK_ROCKET_LAUNCH(NamespaceID.from("minecraft:entity.firework_rocket.launch")), - ENTITY_FIREWORK_ROCKET_SHOOT("minecraft:entity.firework_rocket.shoot"), + FIREWORK_ROCKET_SHOOT(NamespaceID.from("minecraft:entity.firework_rocket.shoot")), - ENTITY_FIREWORK_ROCKET_TWINKLE("minecraft:entity.firework_rocket.twinkle"), + FIREWORK_ROCKET_TWINKLE(NamespaceID.from("minecraft:entity.firework_rocket.twinkle")), - ENTITY_FIREWORK_ROCKET_TWINKLE_FAR("minecraft:entity.firework_rocket.twinkle_far"), + FIREWORK_ROCKET_TWINKLE_FAR(NamespaceID.from("minecraft:entity.firework_rocket.twinkle_far")), - BLOCK_FIRE_AMBIENT("minecraft:block.fire.ambient"), + FIRE_AMBIENT(NamespaceID.from("minecraft:block.fire.ambient")), - BLOCK_FIRE_EXTINGUISH("minecraft:block.fire.extinguish"), + FIRE_EXTINGUISH(NamespaceID.from("minecraft:block.fire.extinguish")), - ENTITY_FISH_SWIM("minecraft:entity.fish.swim"), + FISH_SWIM(NamespaceID.from("minecraft:entity.fish.swim")), - ENTITY_FISHING_BOBBER_RETRIEVE("minecraft:entity.fishing_bobber.retrieve"), + FISHING_BOBBER_RETRIEVE(NamespaceID.from("minecraft:entity.fishing_bobber.retrieve")), - ENTITY_FISHING_BOBBER_SPLASH("minecraft:entity.fishing_bobber.splash"), + FISHING_BOBBER_SPLASH(NamespaceID.from("minecraft:entity.fishing_bobber.splash")), - ENTITY_FISHING_BOBBER_THROW("minecraft:entity.fishing_bobber.throw"), + FISHING_BOBBER_THROW(NamespaceID.from("minecraft:entity.fishing_bobber.throw")), - ITEM_FLINTANDSTEEL_USE("minecraft:item.flintandsteel.use"), + FLINTANDSTEEL_USE(NamespaceID.from("minecraft:item.flintandsteel.use")), - ENTITY_FOX_AGGRO("minecraft:entity.fox.aggro"), + FOX_AGGRO(NamespaceID.from("minecraft:entity.fox.aggro")), - ENTITY_FOX_AMBIENT("minecraft:entity.fox.ambient"), + FOX_AMBIENT(NamespaceID.from("minecraft:entity.fox.ambient")), - ENTITY_FOX_BITE("minecraft:entity.fox.bite"), + FOX_BITE(NamespaceID.from("minecraft:entity.fox.bite")), - ENTITY_FOX_DEATH("minecraft:entity.fox.death"), + FOX_DEATH(NamespaceID.from("minecraft:entity.fox.death")), - ENTITY_FOX_EAT("minecraft:entity.fox.eat"), + FOX_EAT(NamespaceID.from("minecraft:entity.fox.eat")), - ENTITY_FOX_HURT("minecraft:entity.fox.hurt"), + FOX_HURT(NamespaceID.from("minecraft:entity.fox.hurt")), - ENTITY_FOX_SCREECH("minecraft:entity.fox.screech"), + FOX_SCREECH(NamespaceID.from("minecraft:entity.fox.screech")), - ENTITY_FOX_SLEEP("minecraft:entity.fox.sleep"), + FOX_SLEEP(NamespaceID.from("minecraft:entity.fox.sleep")), - ENTITY_FOX_SNIFF("minecraft:entity.fox.sniff"), + FOX_SNIFF(NamespaceID.from("minecraft:entity.fox.sniff")), - ENTITY_FOX_SPIT("minecraft:entity.fox.spit"), + FOX_SPIT(NamespaceID.from("minecraft:entity.fox.spit")), - ENTITY_FOX_TELEPORT("minecraft:entity.fox.teleport"), + FOX_TELEPORT(NamespaceID.from("minecraft:entity.fox.teleport")), - BLOCK_ROOTS_BREAK("minecraft:block.roots.break"), + ROOTS_BREAK(NamespaceID.from("minecraft:block.roots.break")), - BLOCK_ROOTS_STEP("minecraft:block.roots.step"), + ROOTS_STEP(NamespaceID.from("minecraft:block.roots.step")), - BLOCK_ROOTS_PLACE("minecraft:block.roots.place"), + ROOTS_PLACE(NamespaceID.from("minecraft:block.roots.place")), - BLOCK_ROOTS_HIT("minecraft:block.roots.hit"), + ROOTS_HIT(NamespaceID.from("minecraft:block.roots.hit")), - BLOCK_ROOTS_FALL("minecraft:block.roots.fall"), + ROOTS_FALL(NamespaceID.from("minecraft:block.roots.fall")), - BLOCK_FURNACE_FIRE_CRACKLE("minecraft:block.furnace.fire_crackle"), + FURNACE_FIRE_CRACKLE(NamespaceID.from("minecraft:block.furnace.fire_crackle")), - ENTITY_GENERIC_BIG_FALL("minecraft:entity.generic.big_fall"), + GENERIC_BIG_FALL(NamespaceID.from("minecraft:entity.generic.big_fall")), - ENTITY_GENERIC_BURN("minecraft:entity.generic.burn"), + GENERIC_BURN(NamespaceID.from("minecraft:entity.generic.burn")), - ENTITY_GENERIC_DEATH("minecraft:entity.generic.death"), + GENERIC_DEATH(NamespaceID.from("minecraft:entity.generic.death")), - ENTITY_GENERIC_DRINK("minecraft:entity.generic.drink"), + GENERIC_DRINK(NamespaceID.from("minecraft:entity.generic.drink")), - ENTITY_GENERIC_EAT("minecraft:entity.generic.eat"), + GENERIC_EAT(NamespaceID.from("minecraft:entity.generic.eat")), - ENTITY_GENERIC_EXPLODE("minecraft:entity.generic.explode"), + GENERIC_EXPLODE(NamespaceID.from("minecraft:entity.generic.explode")), - ENTITY_GENERIC_EXTINGUISH_FIRE("minecraft:entity.generic.extinguish_fire"), + GENERIC_EXTINGUISH_FIRE(NamespaceID.from("minecraft:entity.generic.extinguish_fire")), - ENTITY_GENERIC_HURT("minecraft:entity.generic.hurt"), + GENERIC_HURT(NamespaceID.from("minecraft:entity.generic.hurt")), - ENTITY_GENERIC_SMALL_FALL("minecraft:entity.generic.small_fall"), + GENERIC_SMALL_FALL(NamespaceID.from("minecraft:entity.generic.small_fall")), - ENTITY_GENERIC_SPLASH("minecraft:entity.generic.splash"), + GENERIC_SPLASH(NamespaceID.from("minecraft:entity.generic.splash")), - ENTITY_GENERIC_SWIM("minecraft:entity.generic.swim"), + GENERIC_SWIM(NamespaceID.from("minecraft:entity.generic.swim")), - ENTITY_GHAST_AMBIENT("minecraft:entity.ghast.ambient"), + GHAST_AMBIENT(NamespaceID.from("minecraft:entity.ghast.ambient")), - ENTITY_GHAST_DEATH("minecraft:entity.ghast.death"), + GHAST_DEATH(NamespaceID.from("minecraft:entity.ghast.death")), - ENTITY_GHAST_HURT("minecraft:entity.ghast.hurt"), + GHAST_HURT(NamespaceID.from("minecraft:entity.ghast.hurt")), - ENTITY_GHAST_SCREAM("minecraft:entity.ghast.scream"), + GHAST_SCREAM(NamespaceID.from("minecraft:entity.ghast.scream")), - ENTITY_GHAST_SHOOT("minecraft:entity.ghast.shoot"), + GHAST_SHOOT(NamespaceID.from("minecraft:entity.ghast.shoot")), - ENTITY_GHAST_WARN("minecraft:entity.ghast.warn"), + GHAST_WARN(NamespaceID.from("minecraft:entity.ghast.warn")), - BLOCK_GILDED_BLACKSTONE_BREAK("minecraft:block.gilded_blackstone.break"), + GILDED_BLACKSTONE_BREAK(NamespaceID.from("minecraft:block.gilded_blackstone.break")), - BLOCK_GILDED_BLACKSTONE_FALL("minecraft:block.gilded_blackstone.fall"), + GILDED_BLACKSTONE_FALL(NamespaceID.from("minecraft:block.gilded_blackstone.fall")), - BLOCK_GILDED_BLACKSTONE_HIT("minecraft:block.gilded_blackstone.hit"), + GILDED_BLACKSTONE_HIT(NamespaceID.from("minecraft:block.gilded_blackstone.hit")), - BLOCK_GILDED_BLACKSTONE_PLACE("minecraft:block.gilded_blackstone.place"), + GILDED_BLACKSTONE_PLACE(NamespaceID.from("minecraft:block.gilded_blackstone.place")), - BLOCK_GILDED_BLACKSTONE_STEP("minecraft:block.gilded_blackstone.step"), + GILDED_BLACKSTONE_STEP(NamespaceID.from("minecraft:block.gilded_blackstone.step")), - BLOCK_GLASS_BREAK("minecraft:block.glass.break"), + GLASS_BREAK(NamespaceID.from("minecraft:block.glass.break")), - BLOCK_GLASS_FALL("minecraft:block.glass.fall"), + GLASS_FALL(NamespaceID.from("minecraft:block.glass.fall")), - BLOCK_GLASS_HIT("minecraft:block.glass.hit"), + GLASS_HIT(NamespaceID.from("minecraft:block.glass.hit")), - BLOCK_GLASS_PLACE("minecraft:block.glass.place"), + GLASS_PLACE(NamespaceID.from("minecraft:block.glass.place")), - BLOCK_GLASS_STEP("minecraft:block.glass.step"), + GLASS_STEP(NamespaceID.from("minecraft:block.glass.step")), - BLOCK_GRASS_BREAK("minecraft:block.grass.break"), + GRASS_BREAK(NamespaceID.from("minecraft:block.grass.break")), - BLOCK_GRASS_FALL("minecraft:block.grass.fall"), + GRASS_FALL(NamespaceID.from("minecraft:block.grass.fall")), - BLOCK_GRASS_HIT("minecraft:block.grass.hit"), + GRASS_HIT(NamespaceID.from("minecraft:block.grass.hit")), - BLOCK_GRASS_PLACE("minecraft:block.grass.place"), + GRASS_PLACE(NamespaceID.from("minecraft:block.grass.place")), - BLOCK_GRASS_STEP("minecraft:block.grass.step"), + GRASS_STEP(NamespaceID.from("minecraft:block.grass.step")), - BLOCK_GRAVEL_BREAK("minecraft:block.gravel.break"), + GRAVEL_BREAK(NamespaceID.from("minecraft:block.gravel.break")), - BLOCK_GRAVEL_FALL("minecraft:block.gravel.fall"), + GRAVEL_FALL(NamespaceID.from("minecraft:block.gravel.fall")), - BLOCK_GRAVEL_HIT("minecraft:block.gravel.hit"), + GRAVEL_HIT(NamespaceID.from("minecraft:block.gravel.hit")), - BLOCK_GRAVEL_PLACE("minecraft:block.gravel.place"), + GRAVEL_PLACE(NamespaceID.from("minecraft:block.gravel.place")), - BLOCK_GRAVEL_STEP("minecraft:block.gravel.step"), + GRAVEL_STEP(NamespaceID.from("minecraft:block.gravel.step")), - BLOCK_GRINDSTONE_USE("minecraft:block.grindstone.use"), + GRINDSTONE_USE(NamespaceID.from("minecraft:block.grindstone.use")), - ENTITY_GUARDIAN_AMBIENT("minecraft:entity.guardian.ambient"), + GUARDIAN_AMBIENT(NamespaceID.from("minecraft:entity.guardian.ambient")), - ENTITY_GUARDIAN_AMBIENT_LAND("minecraft:entity.guardian.ambient_land"), + GUARDIAN_AMBIENT_LAND(NamespaceID.from("minecraft:entity.guardian.ambient_land")), - ENTITY_GUARDIAN_ATTACK("minecraft:entity.guardian.attack"), + GUARDIAN_ATTACK(NamespaceID.from("minecraft:entity.guardian.attack")), - ENTITY_GUARDIAN_DEATH("minecraft:entity.guardian.death"), + GUARDIAN_DEATH(NamespaceID.from("minecraft:entity.guardian.death")), - ENTITY_GUARDIAN_DEATH_LAND("minecraft:entity.guardian.death_land"), + GUARDIAN_DEATH_LAND(NamespaceID.from("minecraft:entity.guardian.death_land")), - ENTITY_GUARDIAN_FLOP("minecraft:entity.guardian.flop"), + GUARDIAN_FLOP(NamespaceID.from("minecraft:entity.guardian.flop")), - ENTITY_GUARDIAN_HURT("minecraft:entity.guardian.hurt"), + GUARDIAN_HURT(NamespaceID.from("minecraft:entity.guardian.hurt")), - ENTITY_GUARDIAN_HURT_LAND("minecraft:entity.guardian.hurt_land"), + GUARDIAN_HURT_LAND(NamespaceID.from("minecraft:entity.guardian.hurt_land")), - ITEM_HOE_TILL("minecraft:item.hoe.till"), + HOE_TILL(NamespaceID.from("minecraft:item.hoe.till")), - ENTITY_HOGLIN_AMBIENT("minecraft:entity.hoglin.ambient"), + HOGLIN_AMBIENT(NamespaceID.from("minecraft:entity.hoglin.ambient")), - ENTITY_HOGLIN_ANGRY("minecraft:entity.hoglin.angry"), + HOGLIN_ANGRY(NamespaceID.from("minecraft:entity.hoglin.angry")), - ENTITY_HOGLIN_ATTACK("minecraft:entity.hoglin.attack"), + HOGLIN_ATTACK(NamespaceID.from("minecraft:entity.hoglin.attack")), - ENTITY_HOGLIN_CONVERTED_TO_ZOMBIFIED("minecraft:entity.hoglin.converted_to_zombified"), + HOGLIN_CONVERTED_TO_ZOMBIFIED(NamespaceID.from("minecraft:entity.hoglin.converted_to_zombified")), - ENTITY_HOGLIN_DEATH("minecraft:entity.hoglin.death"), + HOGLIN_DEATH(NamespaceID.from("minecraft:entity.hoglin.death")), - ENTITY_HOGLIN_HURT("minecraft:entity.hoglin.hurt"), + HOGLIN_HURT(NamespaceID.from("minecraft:entity.hoglin.hurt")), - ENTITY_HOGLIN_RETREAT("minecraft:entity.hoglin.retreat"), + HOGLIN_RETREAT(NamespaceID.from("minecraft:entity.hoglin.retreat")), - ENTITY_HOGLIN_STEP("minecraft:entity.hoglin.step"), + HOGLIN_STEP(NamespaceID.from("minecraft:entity.hoglin.step")), - BLOCK_HONEY_BLOCK_BREAK("minecraft:block.honey_block.break"), + HONEY_BLOCK_BREAK(NamespaceID.from("minecraft:block.honey_block.break")), - BLOCK_HONEY_BLOCK_FALL("minecraft:block.honey_block.fall"), + HONEY_BLOCK_FALL(NamespaceID.from("minecraft:block.honey_block.fall")), - BLOCK_HONEY_BLOCK_HIT("minecraft:block.honey_block.hit"), + HONEY_BLOCK_HIT(NamespaceID.from("minecraft:block.honey_block.hit")), - BLOCK_HONEY_BLOCK_PLACE("minecraft:block.honey_block.place"), + HONEY_BLOCK_PLACE(NamespaceID.from("minecraft:block.honey_block.place")), - BLOCK_HONEY_BLOCK_SLIDE("minecraft:block.honey_block.slide"), + HONEY_BLOCK_SLIDE(NamespaceID.from("minecraft:block.honey_block.slide")), - BLOCK_HONEY_BLOCK_STEP("minecraft:block.honey_block.step"), + HONEY_BLOCK_STEP(NamespaceID.from("minecraft:block.honey_block.step")), - ITEM_HONEY_BOTTLE_DRINK("minecraft:item.honey_bottle.drink"), + HONEY_DRINK(NamespaceID.from("minecraft:item.honey_bottle.drink")), - ENTITY_HORSE_AMBIENT("minecraft:entity.horse.ambient"), + HORSE_AMBIENT(NamespaceID.from("minecraft:entity.horse.ambient")), - ENTITY_HORSE_ANGRY("minecraft:entity.horse.angry"), + HORSE_ANGRY(NamespaceID.from("minecraft:entity.horse.angry")), - ENTITY_HORSE_ARMOR("minecraft:entity.horse.armor"), + HORSE_ARMOR(NamespaceID.from("minecraft:entity.horse.armor")), - ENTITY_HORSE_BREATHE("minecraft:entity.horse.breathe"), + HORSE_BREATHE(NamespaceID.from("minecraft:entity.horse.breathe")), - ENTITY_HORSE_DEATH("minecraft:entity.horse.death"), + HORSE_DEATH(NamespaceID.from("minecraft:entity.horse.death")), - ENTITY_HORSE_EAT("minecraft:entity.horse.eat"), + HORSE_EAT(NamespaceID.from("minecraft:entity.horse.eat")), - ENTITY_HORSE_GALLOP("minecraft:entity.horse.gallop"), + HORSE_GALLOP(NamespaceID.from("minecraft:entity.horse.gallop")), - ENTITY_HORSE_HURT("minecraft:entity.horse.hurt"), + HORSE_HURT(NamespaceID.from("minecraft:entity.horse.hurt")), - ENTITY_HORSE_JUMP("minecraft:entity.horse.jump"), + HORSE_JUMP(NamespaceID.from("minecraft:entity.horse.jump")), - ENTITY_HORSE_LAND("minecraft:entity.horse.land"), + HORSE_LAND(NamespaceID.from("minecraft:entity.horse.land")), - ENTITY_HORSE_SADDLE("minecraft:entity.horse.saddle"), + HORSE_SADDLE(NamespaceID.from("minecraft:entity.horse.saddle")), - ENTITY_HORSE_STEP("minecraft:entity.horse.step"), + HORSE_STEP(NamespaceID.from("minecraft:entity.horse.step")), - ENTITY_HORSE_STEP_WOOD("minecraft:entity.horse.step_wood"), + HORSE_STEP_WOOD(NamespaceID.from("minecraft:entity.horse.step_wood")), - ENTITY_HOSTILE_BIG_FALL("minecraft:entity.hostile.big_fall"), + HOSTILE_BIG_FALL(NamespaceID.from("minecraft:entity.hostile.big_fall")), - ENTITY_HOSTILE_DEATH("minecraft:entity.hostile.death"), + HOSTILE_DEATH(NamespaceID.from("minecraft:entity.hostile.death")), - ENTITY_HOSTILE_HURT("minecraft:entity.hostile.hurt"), + HOSTILE_HURT(NamespaceID.from("minecraft:entity.hostile.hurt")), - ENTITY_HOSTILE_SMALL_FALL("minecraft:entity.hostile.small_fall"), + HOSTILE_SMALL_FALL(NamespaceID.from("minecraft:entity.hostile.small_fall")), - ENTITY_HOSTILE_SPLASH("minecraft:entity.hostile.splash"), + HOSTILE_SPLASH(NamespaceID.from("minecraft:entity.hostile.splash")), - ENTITY_HOSTILE_SWIM("minecraft:entity.hostile.swim"), + HOSTILE_SWIM(NamespaceID.from("minecraft:entity.hostile.swim")), - ENTITY_HUSK_AMBIENT("minecraft:entity.husk.ambient"), + HUSK_AMBIENT(NamespaceID.from("minecraft:entity.husk.ambient")), - ENTITY_HUSK_CONVERTED_TO_ZOMBIE("minecraft:entity.husk.converted_to_zombie"), + HUSK_CONVERTED_TO_ZOMBIE(NamespaceID.from("minecraft:entity.husk.converted_to_zombie")), - ENTITY_HUSK_DEATH("minecraft:entity.husk.death"), + HUSK_DEATH(NamespaceID.from("minecraft:entity.husk.death")), - ENTITY_HUSK_HURT("minecraft:entity.husk.hurt"), + HUSK_HURT(NamespaceID.from("minecraft:entity.husk.hurt")), - ENTITY_HUSK_STEP("minecraft:entity.husk.step"), + HUSK_STEP(NamespaceID.from("minecraft:entity.husk.step")), - ENTITY_ILLUSIONER_AMBIENT("minecraft:entity.illusioner.ambient"), + ILLUSIONER_AMBIENT(NamespaceID.from("minecraft:entity.illusioner.ambient")), - ENTITY_ILLUSIONER_CAST_SPELL("minecraft:entity.illusioner.cast_spell"), + ILLUSIONER_CAST_SPELL(NamespaceID.from("minecraft:entity.illusioner.cast_spell")), - ENTITY_ILLUSIONER_DEATH("minecraft:entity.illusioner.death"), + ILLUSIONER_DEATH(NamespaceID.from("minecraft:entity.illusioner.death")), - ENTITY_ILLUSIONER_HURT("minecraft:entity.illusioner.hurt"), + ILLUSIONER_HURT(NamespaceID.from("minecraft:entity.illusioner.hurt")), - ENTITY_ILLUSIONER_MIRROR_MOVE("minecraft:entity.illusioner.mirror_move"), + ILLUSIONER_MIRROR_MOVE(NamespaceID.from("minecraft:entity.illusioner.mirror_move")), - ENTITY_ILLUSIONER_PREPARE_BLINDNESS("minecraft:entity.illusioner.prepare_blindness"), + ILLUSIONER_PREPARE_BLINDNESS(NamespaceID.from("minecraft:entity.illusioner.prepare_blindness")), - ENTITY_ILLUSIONER_PREPARE_MIRROR("minecraft:entity.illusioner.prepare_mirror"), + ILLUSIONER_PREPARE_MIRROR(NamespaceID.from("minecraft:entity.illusioner.prepare_mirror")), - BLOCK_IRON_DOOR_CLOSE("minecraft:block.iron_door.close"), + IRON_DOOR_CLOSE(NamespaceID.from("minecraft:block.iron_door.close")), - BLOCK_IRON_DOOR_OPEN("minecraft:block.iron_door.open"), + IRON_DOOR_OPEN(NamespaceID.from("minecraft:block.iron_door.open")), - ENTITY_IRON_GOLEM_ATTACK("minecraft:entity.iron_golem.attack"), + IRON_GOLEM_ATTACK(NamespaceID.from("minecraft:entity.iron_golem.attack")), - ENTITY_IRON_GOLEM_DAMAGE("minecraft:entity.iron_golem.damage"), + IRON_GOLEM_DAMAGE(NamespaceID.from("minecraft:entity.iron_golem.damage")), - ENTITY_IRON_GOLEM_DEATH("minecraft:entity.iron_golem.death"), + IRON_GOLEM_DEATH(NamespaceID.from("minecraft:entity.iron_golem.death")), - ENTITY_IRON_GOLEM_HURT("minecraft:entity.iron_golem.hurt"), + IRON_GOLEM_HURT(NamespaceID.from("minecraft:entity.iron_golem.hurt")), - ENTITY_IRON_GOLEM_REPAIR("minecraft:entity.iron_golem.repair"), + IRON_GOLEM_REPAIR(NamespaceID.from("minecraft:entity.iron_golem.repair")), - ENTITY_IRON_GOLEM_STEP("minecraft:entity.iron_golem.step"), + IRON_GOLEM_STEP(NamespaceID.from("minecraft:entity.iron_golem.step")), - BLOCK_IRON_TRAPDOOR_CLOSE("minecraft:block.iron_trapdoor.close"), + IRON_TRAPDOOR_CLOSE(NamespaceID.from("minecraft:block.iron_trapdoor.close")), - BLOCK_IRON_TRAPDOOR_OPEN("minecraft:block.iron_trapdoor.open"), + IRON_TRAPDOOR_OPEN(NamespaceID.from("minecraft:block.iron_trapdoor.open")), - ENTITY_ITEM_FRAME_ADD_ITEM("minecraft:entity.item_frame.add_item"), + ITEM_FRAME_ADD_ITEM(NamespaceID.from("minecraft:entity.item_frame.add_item")), - ENTITY_ITEM_FRAME_BREAK("minecraft:entity.item_frame.break"), + ITEM_FRAME_BREAK(NamespaceID.from("minecraft:entity.item_frame.break")), - ENTITY_ITEM_FRAME_PLACE("minecraft:entity.item_frame.place"), + ITEM_FRAME_PLACE(NamespaceID.from("minecraft:entity.item_frame.place")), - ENTITY_ITEM_FRAME_REMOVE_ITEM("minecraft:entity.item_frame.remove_item"), + ITEM_FRAME_REMOVE_ITEM(NamespaceID.from("minecraft:entity.item_frame.remove_item")), - ENTITY_ITEM_FRAME_ROTATE_ITEM("minecraft:entity.item_frame.rotate_item"), + ITEM_FRAME_ROTATE_ITEM(NamespaceID.from("minecraft:entity.item_frame.rotate_item")), - ENTITY_ITEM_BREAK("minecraft:entity.item.break"), + ITEM_BREAK(NamespaceID.from("minecraft:entity.item.break")), - ENTITY_ITEM_PICKUP("minecraft:entity.item.pickup"), + ITEM_PICKUP(NamespaceID.from("minecraft:entity.item.pickup")), - BLOCK_LADDER_BREAK("minecraft:block.ladder.break"), + LADDER_BREAK(NamespaceID.from("minecraft:block.ladder.break")), - BLOCK_LADDER_FALL("minecraft:block.ladder.fall"), + LADDER_FALL(NamespaceID.from("minecraft:block.ladder.fall")), - BLOCK_LADDER_HIT("minecraft:block.ladder.hit"), + LADDER_HIT(NamespaceID.from("minecraft:block.ladder.hit")), - BLOCK_LADDER_PLACE("minecraft:block.ladder.place"), + LADDER_PLACE(NamespaceID.from("minecraft:block.ladder.place")), - BLOCK_LADDER_STEP("minecraft:block.ladder.step"), + LADDER_STEP(NamespaceID.from("minecraft:block.ladder.step")), - BLOCK_LANTERN_BREAK("minecraft:block.lantern.break"), + LANTERN_BREAK(NamespaceID.from("minecraft:block.lantern.break")), - BLOCK_LANTERN_FALL("minecraft:block.lantern.fall"), + LANTERN_FALL(NamespaceID.from("minecraft:block.lantern.fall")), - BLOCK_LANTERN_HIT("minecraft:block.lantern.hit"), + LANTERN_HIT(NamespaceID.from("minecraft:block.lantern.hit")), - BLOCK_LANTERN_PLACE("minecraft:block.lantern.place"), + LANTERN_PLACE(NamespaceID.from("minecraft:block.lantern.place")), - BLOCK_LANTERN_STEP("minecraft:block.lantern.step"), + LANTERN_STEP(NamespaceID.from("minecraft:block.lantern.step")), - BLOCK_LAVA_AMBIENT("minecraft:block.lava.ambient"), + LAVA_AMBIENT(NamespaceID.from("minecraft:block.lava.ambient")), - BLOCK_LAVA_EXTINGUISH("minecraft:block.lava.extinguish"), + LAVA_EXTINGUISH(NamespaceID.from("minecraft:block.lava.extinguish")), - BLOCK_LAVA_POP("minecraft:block.lava.pop"), + LAVA_POP(NamespaceID.from("minecraft:block.lava.pop")), - ENTITY_LEASH_KNOT_BREAK("minecraft:entity.leash_knot.break"), + LEASH_KNOT_BREAK(NamespaceID.from("minecraft:entity.leash_knot.break")), - ENTITY_LEASH_KNOT_PLACE("minecraft:entity.leash_knot.place"), + LEASH_KNOT_PLACE(NamespaceID.from("minecraft:entity.leash_knot.place")), - BLOCK_LEVER_CLICK("minecraft:block.lever.click"), + LEVER_CLICK(NamespaceID.from("minecraft:block.lever.click")), - ENTITY_LIGHTNING_BOLT_IMPACT("minecraft:entity.lightning_bolt.impact"), + LIGHTNING_BOLT_IMPACT(NamespaceID.from("minecraft:entity.lightning_bolt.impact")), - ENTITY_LIGHTNING_BOLT_THUNDER("minecraft:entity.lightning_bolt.thunder"), + LIGHTNING_BOLT_THUNDER(NamespaceID.from("minecraft:entity.lightning_bolt.thunder")), - ENTITY_LINGERING_POTION_THROW("minecraft:entity.lingering_potion.throw"), + LINGERING_POTION_THROW(NamespaceID.from("minecraft:entity.lingering_potion.throw")), - ENTITY_LLAMA_AMBIENT("minecraft:entity.llama.ambient"), + LLAMA_AMBIENT(NamespaceID.from("minecraft:entity.llama.ambient")), - ENTITY_LLAMA_ANGRY("minecraft:entity.llama.angry"), + LLAMA_ANGRY(NamespaceID.from("minecraft:entity.llama.angry")), - ENTITY_LLAMA_CHEST("minecraft:entity.llama.chest"), + LLAMA_CHEST(NamespaceID.from("minecraft:entity.llama.chest")), - ENTITY_LLAMA_DEATH("minecraft:entity.llama.death"), + LLAMA_DEATH(NamespaceID.from("minecraft:entity.llama.death")), - ENTITY_LLAMA_EAT("minecraft:entity.llama.eat"), + LLAMA_EAT(NamespaceID.from("minecraft:entity.llama.eat")), - ENTITY_LLAMA_HURT("minecraft:entity.llama.hurt"), + LLAMA_HURT(NamespaceID.from("minecraft:entity.llama.hurt")), - ENTITY_LLAMA_SPIT("minecraft:entity.llama.spit"), + LLAMA_SPIT(NamespaceID.from("minecraft:entity.llama.spit")), - ENTITY_LLAMA_STEP("minecraft:entity.llama.step"), + LLAMA_STEP(NamespaceID.from("minecraft:entity.llama.step")), - ENTITY_LLAMA_SWAG("minecraft:entity.llama.swag"), + LLAMA_SWAG(NamespaceID.from("minecraft:entity.llama.swag")), - ENTITY_MAGMA_CUBE_DEATH_SMALL("minecraft:entity.magma_cube.death_small"), + MAGMA_CUBE_DEATH_SMALL(NamespaceID.from("minecraft:entity.magma_cube.death_small")), - BLOCK_LODESTONE_BREAK("minecraft:block.lodestone.break"), + LODESTONE_BREAK(NamespaceID.from("minecraft:block.lodestone.break")), - BLOCK_LODESTONE_STEP("minecraft:block.lodestone.step"), + LODESTONE_STEP(NamespaceID.from("minecraft:block.lodestone.step")), - BLOCK_LODESTONE_PLACE("minecraft:block.lodestone.place"), + LODESTONE_PLACE(NamespaceID.from("minecraft:block.lodestone.place")), - BLOCK_LODESTONE_HIT("minecraft:block.lodestone.hit"), + LODESTONE_HIT(NamespaceID.from("minecraft:block.lodestone.hit")), - BLOCK_LODESTONE_FALL("minecraft:block.lodestone.fall"), + LODESTONE_FALL(NamespaceID.from("minecraft:block.lodestone.fall")), - ITEM_LODESTONE_COMPASS_LOCK("minecraft:item.lodestone_compass.lock"), + LODESTONE_COMPASS_LOCK(NamespaceID.from("minecraft:item.lodestone_compass.lock")), - ENTITY_MAGMA_CUBE_DEATH("minecraft:entity.magma_cube.death"), + MAGMA_CUBE_DEATH(NamespaceID.from("minecraft:entity.magma_cube.death")), - ENTITY_MAGMA_CUBE_HURT("minecraft:entity.magma_cube.hurt"), + MAGMA_CUBE_HURT(NamespaceID.from("minecraft:entity.magma_cube.hurt")), - ENTITY_MAGMA_CUBE_HURT_SMALL("minecraft:entity.magma_cube.hurt_small"), + MAGMA_CUBE_HURT_SMALL(NamespaceID.from("minecraft:entity.magma_cube.hurt_small")), - ENTITY_MAGMA_CUBE_JUMP("minecraft:entity.magma_cube.jump"), + MAGMA_CUBE_JUMP(NamespaceID.from("minecraft:entity.magma_cube.jump")), - ENTITY_MAGMA_CUBE_SQUISH("minecraft:entity.magma_cube.squish"), + MAGMA_CUBE_SQUISH(NamespaceID.from("minecraft:entity.magma_cube.squish")), - ENTITY_MAGMA_CUBE_SQUISH_SMALL("minecraft:entity.magma_cube.squish_small"), + MAGMA_CUBE_SQUISH_SMALL(NamespaceID.from("minecraft:entity.magma_cube.squish_small")), - BLOCK_METAL_BREAK("minecraft:block.metal.break"), + METAL_BREAK(NamespaceID.from("minecraft:block.metal.break")), - BLOCK_METAL_FALL("minecraft:block.metal.fall"), + METAL_FALL(NamespaceID.from("minecraft:block.metal.fall")), - BLOCK_METAL_HIT("minecraft:block.metal.hit"), + METAL_HIT(NamespaceID.from("minecraft:block.metal.hit")), - BLOCK_METAL_PLACE("minecraft:block.metal.place"), + METAL_PLACE(NamespaceID.from("minecraft:block.metal.place")), - BLOCK_METAL_PRESSURE_PLATE_CLICK_OFF("minecraft:block.metal_pressure_plate.click_off"), + METAL_PRESSURE_PLATE_CLICK_OFF(NamespaceID.from("minecraft:block.metal_pressure_plate.click_off")), - BLOCK_METAL_PRESSURE_PLATE_CLICK_ON("minecraft:block.metal_pressure_plate.click_on"), + METAL_PRESSURE_PLATE_CLICK_ON(NamespaceID.from("minecraft:block.metal_pressure_plate.click_on")), - BLOCK_METAL_STEP("minecraft:block.metal.step"), + METAL_STEP(NamespaceID.from("minecraft:block.metal.step")), - ENTITY_MINECART_INSIDE("minecraft:entity.minecart.inside"), + MINECART_INSIDE(NamespaceID.from("minecraft:entity.minecart.inside")), - ENTITY_MINECART_RIDING("minecraft:entity.minecart.riding"), + MINECART_RIDING(NamespaceID.from("minecraft:entity.minecart.riding")), - ENTITY_MOOSHROOM_CONVERT("minecraft:entity.mooshroom.convert"), + MOOSHROOM_CONVERT(NamespaceID.from("minecraft:entity.mooshroom.convert")), - ENTITY_MOOSHROOM_EAT("minecraft:entity.mooshroom.eat"), + MOOSHROOM_EAT(NamespaceID.from("minecraft:entity.mooshroom.eat")), - ENTITY_MOOSHROOM_MILK("minecraft:entity.mooshroom.milk"), + MOOSHROOM_MILK(NamespaceID.from("minecraft:entity.mooshroom.milk")), - ENTITY_MOOSHROOM_SUSPICIOUS_MILK("minecraft:entity.mooshroom.suspicious_milk"), + MOOSHROOM_MILK_SUSPICIOUSLY(NamespaceID.from("minecraft:entity.mooshroom.suspicious_milk")), - ENTITY_MOOSHROOM_SHEAR("minecraft:entity.mooshroom.shear"), + MOOSHROOM_SHEAR(NamespaceID.from("minecraft:entity.mooshroom.shear")), - ENTITY_MULE_AMBIENT("minecraft:entity.mule.ambient"), + MULE_AMBIENT(NamespaceID.from("minecraft:entity.mule.ambient")), - ENTITY_MULE_ANGRY("minecraft:entity.mule.angry"), + MULE_ANGRY(NamespaceID.from("minecraft:entity.mule.angry")), - ENTITY_MULE_CHEST("minecraft:entity.mule.chest"), + MULE_CHEST(NamespaceID.from("minecraft:entity.mule.chest")), - ENTITY_MULE_DEATH("minecraft:entity.mule.death"), + MULE_DEATH(NamespaceID.from("minecraft:entity.mule.death")), - ENTITY_MULE_EAT("minecraft:entity.mule.eat"), + MULE_EAT(NamespaceID.from("minecraft:entity.mule.eat")), - ENTITY_MULE_HURT("minecraft:entity.mule.hurt"), + MULE_HURT(NamespaceID.from("minecraft:entity.mule.hurt")), - MUSIC_CREATIVE("minecraft:music.creative"), + MUSIC_CREATIVE(NamespaceID.from("minecraft:music.creative")), - MUSIC_CREDITS("minecraft:music.credits"), + MUSIC_CREDITS(NamespaceID.from("minecraft:music.credits")), - MUSIC_DISC_11("minecraft:music_disc.11"), + MUSIC_DISC_11(NamespaceID.from("minecraft:music_disc.11")), - MUSIC_DISC_13("minecraft:music_disc.13"), + MUSIC_DISC_13(NamespaceID.from("minecraft:music_disc.13")), - MUSIC_DISC_BLOCKS("minecraft:music_disc.blocks"), + MUSIC_DISC_BLOCKS(NamespaceID.from("minecraft:music_disc.blocks")), - MUSIC_DISC_CAT("minecraft:music_disc.cat"), + MUSIC_DISC_CAT(NamespaceID.from("minecraft:music_disc.cat")), - MUSIC_DISC_CHIRP("minecraft:music_disc.chirp"), + MUSIC_DISC_CHIRP(NamespaceID.from("minecraft:music_disc.chirp")), - MUSIC_DISC_FAR("minecraft:music_disc.far"), + MUSIC_DISC_FAR(NamespaceID.from("minecraft:music_disc.far")), - MUSIC_DISC_MALL("minecraft:music_disc.mall"), + MUSIC_DISC_MALL(NamespaceID.from("minecraft:music_disc.mall")), - MUSIC_DISC_MELLOHI("minecraft:music_disc.mellohi"), + MUSIC_DISC_MELLOHI(NamespaceID.from("minecraft:music_disc.mellohi")), - MUSIC_DISC_PIGSTEP("minecraft:music_disc.pigstep"), + MUSIC_DISC_PIGSTEP(NamespaceID.from("minecraft:music_disc.pigstep")), - MUSIC_DISC_STAL("minecraft:music_disc.stal"), + MUSIC_DISC_STAL(NamespaceID.from("minecraft:music_disc.stal")), - MUSIC_DISC_STRAD("minecraft:music_disc.strad"), + MUSIC_DISC_STRAD(NamespaceID.from("minecraft:music_disc.strad")), - MUSIC_DISC_WAIT("minecraft:music_disc.wait"), + MUSIC_DISC_WAIT(NamespaceID.from("minecraft:music_disc.wait")), - MUSIC_DISC_WARD("minecraft:music_disc.ward"), + MUSIC_DISC_WARD(NamespaceID.from("minecraft:music_disc.ward")), - MUSIC_DRAGON("minecraft:music.dragon"), + MUSIC_DRAGON(NamespaceID.from("minecraft:music.dragon")), - MUSIC_END("minecraft:music.end"), + MUSIC_END(NamespaceID.from("minecraft:music.end")), - MUSIC_GAME("minecraft:music.game"), + MUSIC_GAME(NamespaceID.from("minecraft:music.game")), - MUSIC_MENU("minecraft:music.menu"), + MUSIC_MENU(NamespaceID.from("minecraft:music.menu")), - MUSIC_NETHER_BASALT_DELTAS("minecraft:music.nether.basalt_deltas"), + MUSIC_BIOME_BASALT_DELTAS(NamespaceID.from("minecraft:music.nether.basalt_deltas")), - MUSIC_NETHER_NETHER_WASTES("minecraft:music.nether.nether_wastes"), + MUSIC_BIOME_NETHER_WASTES(NamespaceID.from("minecraft:music.nether.nether_wastes")), - MUSIC_NETHER_SOUL_SAND_VALLEY("minecraft:music.nether.soul_sand_valley"), + MUSIC_BIOME_SOUL_SAND_VALLEY(NamespaceID.from("minecraft:music.nether.soul_sand_valley")), - MUSIC_NETHER_CRIMSON_FOREST("minecraft:music.nether.crimson_forest"), + MUSIC_BIOME_CRIMSON_FOREST(NamespaceID.from("minecraft:music.nether.crimson_forest")), - MUSIC_NETHER_WARPED_FOREST("minecraft:music.nether.warped_forest"), + MUSIC_BIOME_WARPED_FOREST(NamespaceID.from("minecraft:music.nether.warped_forest")), - MUSIC_UNDER_WATER("minecraft:music.under_water"), + MUSIC_UNDER_WATER(NamespaceID.from("minecraft:music.under_water")), - BLOCK_NETHER_BRICKS_BREAK("minecraft:block.nether_bricks.break"), + NETHER_BRICKS_BREAK(NamespaceID.from("minecraft:block.nether_bricks.break")), - BLOCK_NETHER_BRICKS_STEP("minecraft:block.nether_bricks.step"), + NETHER_BRICKS_STEP(NamespaceID.from("minecraft:block.nether_bricks.step")), - BLOCK_NETHER_BRICKS_PLACE("minecraft:block.nether_bricks.place"), + NETHER_BRICKS_PLACE(NamespaceID.from("minecraft:block.nether_bricks.place")), - BLOCK_NETHER_BRICKS_HIT("minecraft:block.nether_bricks.hit"), + NETHER_BRICKS_HIT(NamespaceID.from("minecraft:block.nether_bricks.hit")), - BLOCK_NETHER_BRICKS_FALL("minecraft:block.nether_bricks.fall"), + NETHER_BRICKS_FALL(NamespaceID.from("minecraft:block.nether_bricks.fall")), - BLOCK_NETHER_WART_BREAK("minecraft:block.nether_wart.break"), + NETHER_WART_BREAK(NamespaceID.from("minecraft:block.nether_wart.break")), - ITEM_NETHER_WART_PLANT("minecraft:item.nether_wart.plant"), + NETHER_WART_PLANTED(NamespaceID.from("minecraft:item.nether_wart.plant")), - BLOCK_STEM_BREAK("minecraft:block.stem.break"), + STEM_BREAK(NamespaceID.from("minecraft:block.stem.break")), - BLOCK_STEM_STEP("minecraft:block.stem.step"), + STEM_STEP(NamespaceID.from("minecraft:block.stem.step")), - BLOCK_STEM_PLACE("minecraft:block.stem.place"), + STEM_PLACE(NamespaceID.from("minecraft:block.stem.place")), - BLOCK_STEM_HIT("minecraft:block.stem.hit"), + STEM_HIT(NamespaceID.from("minecraft:block.stem.hit")), - BLOCK_STEM_FALL("minecraft:block.stem.fall"), + STEM_FALL(NamespaceID.from("minecraft:block.stem.fall")), - BLOCK_NYLIUM_BREAK("minecraft:block.nylium.break"), + NYLIUM_BREAK(NamespaceID.from("minecraft:block.nylium.break")), - BLOCK_NYLIUM_STEP("minecraft:block.nylium.step"), + NYLIUM_STEP(NamespaceID.from("minecraft:block.nylium.step")), - BLOCK_NYLIUM_PLACE("minecraft:block.nylium.place"), + NYLIUM_PLACE(NamespaceID.from("minecraft:block.nylium.place")), - BLOCK_NYLIUM_HIT("minecraft:block.nylium.hit"), + NYLIUM_HIT(NamespaceID.from("minecraft:block.nylium.hit")), - BLOCK_NYLIUM_FALL("minecraft:block.nylium.fall"), + NYLIUM_FALL(NamespaceID.from("minecraft:block.nylium.fall")), - BLOCK_NETHER_SPROUTS_BREAK("minecraft:block.nether_sprouts.break"), + NETHER_SPROUTS_BREAK(NamespaceID.from("minecraft:block.nether_sprouts.break")), - BLOCK_NETHER_SPROUTS_STEP("minecraft:block.nether_sprouts.step"), + NETHER_SPROUTS_STEP(NamespaceID.from("minecraft:block.nether_sprouts.step")), - BLOCK_NETHER_SPROUTS_PLACE("minecraft:block.nether_sprouts.place"), + NETHER_SPROUTS_PLACE(NamespaceID.from("minecraft:block.nether_sprouts.place")), - BLOCK_NETHER_SPROUTS_HIT("minecraft:block.nether_sprouts.hit"), + NETHER_SPROUTS_HIT(NamespaceID.from("minecraft:block.nether_sprouts.hit")), - BLOCK_NETHER_SPROUTS_FALL("minecraft:block.nether_sprouts.fall"), + NETHER_SPROUTS_FALL(NamespaceID.from("minecraft:block.nether_sprouts.fall")), - BLOCK_FUNGUS_BREAK("minecraft:block.fungus.break"), + FUNGUS_BREAK(NamespaceID.from("minecraft:block.fungus.break")), - BLOCK_FUNGUS_STEP("minecraft:block.fungus.step"), + FUNGUS_STEP(NamespaceID.from("minecraft:block.fungus.step")), - BLOCK_FUNGUS_PLACE("minecraft:block.fungus.place"), + FUNGUS_PLACE(NamespaceID.from("minecraft:block.fungus.place")), - BLOCK_FUNGUS_HIT("minecraft:block.fungus.hit"), + FUNGUS_HIT(NamespaceID.from("minecraft:block.fungus.hit")), - BLOCK_FUNGUS_FALL("minecraft:block.fungus.fall"), + FUNGUS_FALL(NamespaceID.from("minecraft:block.fungus.fall")), - BLOCK_WEEPING_VINES_BREAK("minecraft:block.weeping_vines.break"), + WEEPING_VINES_BREAK(NamespaceID.from("minecraft:block.weeping_vines.break")), - BLOCK_WEEPING_VINES_STEP("minecraft:block.weeping_vines.step"), + WEEPING_VINES_STEP(NamespaceID.from("minecraft:block.weeping_vines.step")), - BLOCK_WEEPING_VINES_PLACE("minecraft:block.weeping_vines.place"), + WEEPING_VINES_PLACE(NamespaceID.from("minecraft:block.weeping_vines.place")), - BLOCK_WEEPING_VINES_HIT("minecraft:block.weeping_vines.hit"), + WEEPING_VINES_HIT(NamespaceID.from("minecraft:block.weeping_vines.hit")), - BLOCK_WEEPING_VINES_FALL("minecraft:block.weeping_vines.fall"), + WEEPING_VINES_FALL(NamespaceID.from("minecraft:block.weeping_vines.fall")), - BLOCK_WART_BLOCK_BREAK("minecraft:block.wart_block.break"), + WART_BLOCK_BREAK(NamespaceID.from("minecraft:block.wart_block.break")), - BLOCK_WART_BLOCK_STEP("minecraft:block.wart_block.step"), + WART_BLOCK_STEP(NamespaceID.from("minecraft:block.wart_block.step")), - BLOCK_WART_BLOCK_PLACE("minecraft:block.wart_block.place"), + WART_BLOCK_PLACE(NamespaceID.from("minecraft:block.wart_block.place")), - BLOCK_WART_BLOCK_HIT("minecraft:block.wart_block.hit"), + WART_BLOCK_HIT(NamespaceID.from("minecraft:block.wart_block.hit")), - BLOCK_WART_BLOCK_FALL("minecraft:block.wart_block.fall"), + WART_BLOCK_FALL(NamespaceID.from("minecraft:block.wart_block.fall")), - BLOCK_NETHERITE_BLOCK_BREAK("minecraft:block.netherite_block.break"), + NETHERITE_BLOCK_BREAK(NamespaceID.from("minecraft:block.netherite_block.break")), - BLOCK_NETHERITE_BLOCK_STEP("minecraft:block.netherite_block.step"), + NETHERITE_BLOCK_STEP(NamespaceID.from("minecraft:block.netherite_block.step")), - BLOCK_NETHERITE_BLOCK_PLACE("minecraft:block.netherite_block.place"), + NETHERITE_BLOCK_PLACE(NamespaceID.from("minecraft:block.netherite_block.place")), - BLOCK_NETHERITE_BLOCK_HIT("minecraft:block.netherite_block.hit"), + NETHERITE_BLOCK_HIT(NamespaceID.from("minecraft:block.netherite_block.hit")), - BLOCK_NETHERITE_BLOCK_FALL("minecraft:block.netherite_block.fall"), + NETHERITE_BLOCK_FALL(NamespaceID.from("minecraft:block.netherite_block.fall")), - BLOCK_NETHERRACK_BREAK("minecraft:block.netherrack.break"), + NETHERRACK_BREAK(NamespaceID.from("minecraft:block.netherrack.break")), - BLOCK_NETHERRACK_STEP("minecraft:block.netherrack.step"), + NETHERRACK_STEP(NamespaceID.from("minecraft:block.netherrack.step")), - BLOCK_NETHERRACK_PLACE("minecraft:block.netherrack.place"), + NETHERRACK_PLACE(NamespaceID.from("minecraft:block.netherrack.place")), - BLOCK_NETHERRACK_HIT("minecraft:block.netherrack.hit"), + NETHERRACK_HIT(NamespaceID.from("minecraft:block.netherrack.hit")), - BLOCK_NETHERRACK_FALL("minecraft:block.netherrack.fall"), + NETHERRACK_FALL(NamespaceID.from("minecraft:block.netherrack.fall")), - BLOCK_NOTE_BLOCK_BASEDRUM("minecraft:block.note_block.basedrum"), + NOTE_BLOCK_BASEDRUM(NamespaceID.from("minecraft:block.note_block.basedrum")), - BLOCK_NOTE_BLOCK_BASS("minecraft:block.note_block.bass"), + NOTE_BLOCK_BASS(NamespaceID.from("minecraft:block.note_block.bass")), - BLOCK_NOTE_BLOCK_BELL("minecraft:block.note_block.bell"), + NOTE_BLOCK_BELL(NamespaceID.from("minecraft:block.note_block.bell")), - BLOCK_NOTE_BLOCK_CHIME("minecraft:block.note_block.chime"), + NOTE_BLOCK_CHIME(NamespaceID.from("minecraft:block.note_block.chime")), - BLOCK_NOTE_BLOCK_FLUTE("minecraft:block.note_block.flute"), + NOTE_BLOCK_FLUTE(NamespaceID.from("minecraft:block.note_block.flute")), - BLOCK_NOTE_BLOCK_GUITAR("minecraft:block.note_block.guitar"), + NOTE_BLOCK_GUITAR(NamespaceID.from("minecraft:block.note_block.guitar")), - BLOCK_NOTE_BLOCK_HARP("minecraft:block.note_block.harp"), + NOTE_BLOCK_HARP(NamespaceID.from("minecraft:block.note_block.harp")), - BLOCK_NOTE_BLOCK_HAT("minecraft:block.note_block.hat"), + NOTE_BLOCK_HAT(NamespaceID.from("minecraft:block.note_block.hat")), - BLOCK_NOTE_BLOCK_PLING("minecraft:block.note_block.pling"), + NOTE_BLOCK_PLING(NamespaceID.from("minecraft:block.note_block.pling")), - BLOCK_NOTE_BLOCK_SNARE("minecraft:block.note_block.snare"), + NOTE_BLOCK_SNARE(NamespaceID.from("minecraft:block.note_block.snare")), - BLOCK_NOTE_BLOCK_XYLOPHONE("minecraft:block.note_block.xylophone"), + NOTE_BLOCK_XYLOPHONE(NamespaceID.from("minecraft:block.note_block.xylophone")), - BLOCK_NOTE_BLOCK_IRON_XYLOPHONE("minecraft:block.note_block.iron_xylophone"), + NOTE_BLOCK_IRON_XYLOPHONE(NamespaceID.from("minecraft:block.note_block.iron_xylophone")), - BLOCK_NOTE_BLOCK_COW_BELL("minecraft:block.note_block.cow_bell"), + NOTE_BLOCK_COW_BELL(NamespaceID.from("minecraft:block.note_block.cow_bell")), - BLOCK_NOTE_BLOCK_DIDGERIDOO("minecraft:block.note_block.didgeridoo"), + NOTE_BLOCK_DIDGERIDOO(NamespaceID.from("minecraft:block.note_block.didgeridoo")), - BLOCK_NOTE_BLOCK_BIT("minecraft:block.note_block.bit"), + NOTE_BLOCK_BIT(NamespaceID.from("minecraft:block.note_block.bit")), - BLOCK_NOTE_BLOCK_BANJO("minecraft:block.note_block.banjo"), + NOTE_BLOCK_BANJO(NamespaceID.from("minecraft:block.note_block.banjo")), - ENTITY_OCELOT_HURT("minecraft:entity.ocelot.hurt"), + OCELOT_HURT(NamespaceID.from("minecraft:entity.ocelot.hurt")), - ENTITY_OCELOT_AMBIENT("minecraft:entity.ocelot.ambient"), + OCELOT_AMBIENT(NamespaceID.from("minecraft:entity.ocelot.ambient")), - ENTITY_OCELOT_DEATH("minecraft:entity.ocelot.death"), + OCELOT_DEATH(NamespaceID.from("minecraft:entity.ocelot.death")), - ENTITY_PAINTING_BREAK("minecraft:entity.painting.break"), + PAINTING_BREAK(NamespaceID.from("minecraft:entity.painting.break")), - ENTITY_PAINTING_PLACE("minecraft:entity.painting.place"), + PAINTING_PLACE(NamespaceID.from("minecraft:entity.painting.place")), - ENTITY_PANDA_PRE_SNEEZE("minecraft:entity.panda.pre_sneeze"), + PANDA_PRE_SNEEZE(NamespaceID.from("minecraft:entity.panda.pre_sneeze")), - ENTITY_PANDA_SNEEZE("minecraft:entity.panda.sneeze"), + PANDA_SNEEZE(NamespaceID.from("minecraft:entity.panda.sneeze")), - ENTITY_PANDA_AMBIENT("minecraft:entity.panda.ambient"), + PANDA_AMBIENT(NamespaceID.from("minecraft:entity.panda.ambient")), - ENTITY_PANDA_DEATH("minecraft:entity.panda.death"), + PANDA_DEATH(NamespaceID.from("minecraft:entity.panda.death")), - ENTITY_PANDA_EAT("minecraft:entity.panda.eat"), + PANDA_EAT(NamespaceID.from("minecraft:entity.panda.eat")), - ENTITY_PANDA_STEP("minecraft:entity.panda.step"), + PANDA_STEP(NamespaceID.from("minecraft:entity.panda.step")), - ENTITY_PANDA_CANT_BREED("minecraft:entity.panda.cant_breed"), + PANDA_CANT_BREED(NamespaceID.from("minecraft:entity.panda.cant_breed")), - ENTITY_PANDA_AGGRESSIVE_AMBIENT("minecraft:entity.panda.aggressive_ambient"), + PANDA_AGGRESSIVE_AMBIENT(NamespaceID.from("minecraft:entity.panda.aggressive_ambient")), - ENTITY_PANDA_WORRIED_AMBIENT("minecraft:entity.panda.worried_ambient"), + PANDA_WORRIED_AMBIENT(NamespaceID.from("minecraft:entity.panda.worried_ambient")), - ENTITY_PANDA_HURT("minecraft:entity.panda.hurt"), + PANDA_HURT(NamespaceID.from("minecraft:entity.panda.hurt")), - ENTITY_PANDA_BITE("minecraft:entity.panda.bite"), + PANDA_BITE(NamespaceID.from("minecraft:entity.panda.bite")), - ENTITY_PARROT_AMBIENT("minecraft:entity.parrot.ambient"), + PARROT_AMBIENT(NamespaceID.from("minecraft:entity.parrot.ambient")), - ENTITY_PARROT_DEATH("minecraft:entity.parrot.death"), + PARROT_DEATH(NamespaceID.from("minecraft:entity.parrot.death")), - ENTITY_PARROT_EAT("minecraft:entity.parrot.eat"), + PARROT_EAT(NamespaceID.from("minecraft:entity.parrot.eat")), - ENTITY_PARROT_FLY("minecraft:entity.parrot.fly"), + PARROT_FLY(NamespaceID.from("minecraft:entity.parrot.fly")), - ENTITY_PARROT_HURT("minecraft:entity.parrot.hurt"), + PARROT_HURT(NamespaceID.from("minecraft:entity.parrot.hurt")), - ENTITY_PARROT_IMITATE_BLAZE("minecraft:entity.parrot.imitate.blaze"), + PARROT_IMITATE_BLAZE(NamespaceID.from("minecraft:entity.parrot.imitate.blaze")), - ENTITY_PARROT_IMITATE_CREEPER("minecraft:entity.parrot.imitate.creeper"), + PARROT_IMITATE_CREEPER(NamespaceID.from("minecraft:entity.parrot.imitate.creeper")), - ENTITY_PARROT_IMITATE_DROWNED("minecraft:entity.parrot.imitate.drowned"), + PARROT_IMITATE_DROWNED(NamespaceID.from("minecraft:entity.parrot.imitate.drowned")), - ENTITY_PARROT_IMITATE_ELDER_GUARDIAN("minecraft:entity.parrot.imitate.elder_guardian"), + PARROT_IMITATE_ELDER_GUARDIAN(NamespaceID.from("minecraft:entity.parrot.imitate.elder_guardian")), - ENTITY_PARROT_IMITATE_ENDER_DRAGON("minecraft:entity.parrot.imitate.ender_dragon"), + PARROT_IMITATE_ENDER_DRAGON(NamespaceID.from("minecraft:entity.parrot.imitate.ender_dragon")), - ENTITY_PARROT_IMITATE_ENDERMITE("minecraft:entity.parrot.imitate.endermite"), + PARROT_IMITATE_ENDERMITE(NamespaceID.from("minecraft:entity.parrot.imitate.endermite")), - ENTITY_PARROT_IMITATE_EVOKER("minecraft:entity.parrot.imitate.evoker"), + PARROT_IMITATE_EVOKER(NamespaceID.from("minecraft:entity.parrot.imitate.evoker")), - ENTITY_PARROT_IMITATE_GHAST("minecraft:entity.parrot.imitate.ghast"), + PARROT_IMITATE_GHAST(NamespaceID.from("minecraft:entity.parrot.imitate.ghast")), - ENTITY_PARROT_IMITATE_GUARDIAN("minecraft:entity.parrot.imitate.guardian"), + PARROT_IMITATE_GUARDIAN(NamespaceID.from("minecraft:entity.parrot.imitate.guardian")), - ENTITY_PARROT_IMITATE_HOGLIN("minecraft:entity.parrot.imitate.hoglin"), + PARROT_IMITATE_HOGLIN(NamespaceID.from("minecraft:entity.parrot.imitate.hoglin")), - ENTITY_PARROT_IMITATE_HUSK("minecraft:entity.parrot.imitate.husk"), + PARROT_IMITATE_HUSK(NamespaceID.from("minecraft:entity.parrot.imitate.husk")), - ENTITY_PARROT_IMITATE_ILLUSIONER("minecraft:entity.parrot.imitate.illusioner"), + PARROT_IMITATE_ILLUSIONER(NamespaceID.from("minecraft:entity.parrot.imitate.illusioner")), - ENTITY_PARROT_IMITATE_MAGMA_CUBE("minecraft:entity.parrot.imitate.magma_cube"), + PARROT_IMITATE_MAGMA_CUBE(NamespaceID.from("minecraft:entity.parrot.imitate.magma_cube")), - ENTITY_PARROT_IMITATE_PHANTOM("minecraft:entity.parrot.imitate.phantom"), + PARROT_IMITATE_PHANTOM(NamespaceID.from("minecraft:entity.parrot.imitate.phantom")), - ENTITY_PARROT_IMITATE_PIGLIN("minecraft:entity.parrot.imitate.piglin"), + PARROT_IMITATE_PIGLIN(NamespaceID.from("minecraft:entity.parrot.imitate.piglin")), - ENTITY_PARROT_IMITATE_PIGLIN_BRUTE("minecraft:entity.parrot.imitate.piglin_brute"), + PARROT_IMITATE_PIGLIN_BRUTE(NamespaceID.from("minecraft:entity.parrot.imitate.piglin_brute")), - ENTITY_PARROT_IMITATE_PILLAGER("minecraft:entity.parrot.imitate.pillager"), + PARROT_IMITATE_PILLAGER(NamespaceID.from("minecraft:entity.parrot.imitate.pillager")), - ENTITY_PARROT_IMITATE_RAVAGER("minecraft:entity.parrot.imitate.ravager"), + PARROT_IMITATE_RAVAGER(NamespaceID.from("minecraft:entity.parrot.imitate.ravager")), - ENTITY_PARROT_IMITATE_SHULKER("minecraft:entity.parrot.imitate.shulker"), + PARROT_IMITATE_SHULKER(NamespaceID.from("minecraft:entity.parrot.imitate.shulker")), - ENTITY_PARROT_IMITATE_SILVERFISH("minecraft:entity.parrot.imitate.silverfish"), + PARROT_IMITATE_SILVERFISH(NamespaceID.from("minecraft:entity.parrot.imitate.silverfish")), - ENTITY_PARROT_IMITATE_SKELETON("minecraft:entity.parrot.imitate.skeleton"), + PARROT_IMITATE_SKELETON(NamespaceID.from("minecraft:entity.parrot.imitate.skeleton")), - ENTITY_PARROT_IMITATE_SLIME("minecraft:entity.parrot.imitate.slime"), + PARROT_IMITATE_SLIME(NamespaceID.from("minecraft:entity.parrot.imitate.slime")), - ENTITY_PARROT_IMITATE_SPIDER("minecraft:entity.parrot.imitate.spider"), + PARROT_IMITATE_SPIDER(NamespaceID.from("minecraft:entity.parrot.imitate.spider")), - ENTITY_PARROT_IMITATE_STRAY("minecraft:entity.parrot.imitate.stray"), + PARROT_IMITATE_STRAY(NamespaceID.from("minecraft:entity.parrot.imitate.stray")), - ENTITY_PARROT_IMITATE_VEX("minecraft:entity.parrot.imitate.vex"), + PARROT_IMITATE_VEX(NamespaceID.from("minecraft:entity.parrot.imitate.vex")), - ENTITY_PARROT_IMITATE_VINDICATOR("minecraft:entity.parrot.imitate.vindicator"), + PARROT_IMITATE_VINDICATOR(NamespaceID.from("minecraft:entity.parrot.imitate.vindicator")), - ENTITY_PARROT_IMITATE_WITCH("minecraft:entity.parrot.imitate.witch"), + PARROT_IMITATE_WITCH(NamespaceID.from("minecraft:entity.parrot.imitate.witch")), - ENTITY_PARROT_IMITATE_WITHER("minecraft:entity.parrot.imitate.wither"), + PARROT_IMITATE_WITHER(NamespaceID.from("minecraft:entity.parrot.imitate.wither")), - ENTITY_PARROT_IMITATE_WITHER_SKELETON("minecraft:entity.parrot.imitate.wither_skeleton"), + PARROT_IMITATE_WITHER_SKELETON(NamespaceID.from("minecraft:entity.parrot.imitate.wither_skeleton")), - ENTITY_PARROT_IMITATE_ZOGLIN("minecraft:entity.parrot.imitate.zoglin"), + PARROT_IMITATE_ZOGLIN(NamespaceID.from("minecraft:entity.parrot.imitate.zoglin")), - ENTITY_PARROT_IMITATE_ZOMBIE("minecraft:entity.parrot.imitate.zombie"), + PARROT_IMITATE_ZOMBIE(NamespaceID.from("minecraft:entity.parrot.imitate.zombie")), - ENTITY_PARROT_IMITATE_ZOMBIE_VILLAGER("minecraft:entity.parrot.imitate.zombie_villager"), + PARROT_IMITATE_ZOMBIE_VILLAGER(NamespaceID.from("minecraft:entity.parrot.imitate.zombie_villager")), - ENTITY_PARROT_STEP("minecraft:entity.parrot.step"), + PARROT_STEP(NamespaceID.from("minecraft:entity.parrot.step")), - ENTITY_PHANTOM_AMBIENT("minecraft:entity.phantom.ambient"), + PHANTOM_AMBIENT(NamespaceID.from("minecraft:entity.phantom.ambient")), - ENTITY_PHANTOM_BITE("minecraft:entity.phantom.bite"), + PHANTOM_BITE(NamespaceID.from("minecraft:entity.phantom.bite")), - ENTITY_PHANTOM_DEATH("minecraft:entity.phantom.death"), + PHANTOM_DEATH(NamespaceID.from("minecraft:entity.phantom.death")), - ENTITY_PHANTOM_FLAP("minecraft:entity.phantom.flap"), + PHANTOM_FLAP(NamespaceID.from("minecraft:entity.phantom.flap")), - ENTITY_PHANTOM_HURT("minecraft:entity.phantom.hurt"), + PHANTOM_HURT(NamespaceID.from("minecraft:entity.phantom.hurt")), - ENTITY_PHANTOM_SWOOP("minecraft:entity.phantom.swoop"), + PHANTOM_SWOOP(NamespaceID.from("minecraft:entity.phantom.swoop")), - ENTITY_PIG_AMBIENT("minecraft:entity.pig.ambient"), + PIG_AMBIENT(NamespaceID.from("minecraft:entity.pig.ambient")), - ENTITY_PIG_DEATH("minecraft:entity.pig.death"), + PIG_DEATH(NamespaceID.from("minecraft:entity.pig.death")), - ENTITY_PIG_HURT("minecraft:entity.pig.hurt"), + PIG_HURT(NamespaceID.from("minecraft:entity.pig.hurt")), - ENTITY_PIG_SADDLE("minecraft:entity.pig.saddle"), + PIG_SADDLE(NamespaceID.from("minecraft:entity.pig.saddle")), - ENTITY_PIG_STEP("minecraft:entity.pig.step"), + PIG_STEP(NamespaceID.from("minecraft:entity.pig.step")), - ENTITY_PIGLIN_ADMIRING_ITEM("minecraft:entity.piglin.admiring_item"), + PIGLIN_ADMIRING_ITEM(NamespaceID.from("minecraft:entity.piglin.admiring_item")), - ENTITY_PIGLIN_AMBIENT("minecraft:entity.piglin.ambient"), + PIGLIN_AMBIENT(NamespaceID.from("minecraft:entity.piglin.ambient")), - ENTITY_PIGLIN_ANGRY("minecraft:entity.piglin.angry"), + PIGLIN_ANGRY(NamespaceID.from("minecraft:entity.piglin.angry")), - ENTITY_PIGLIN_CELEBRATE("minecraft:entity.piglin.celebrate"), + PIGLIN_CELEBRATE(NamespaceID.from("minecraft:entity.piglin.celebrate")), - ENTITY_PIGLIN_DEATH("minecraft:entity.piglin.death"), + PIGLIN_DEATH(NamespaceID.from("minecraft:entity.piglin.death")), - ENTITY_PIGLIN_JEALOUS("minecraft:entity.piglin.jealous"), + PIGLIN_JEALOUS(NamespaceID.from("minecraft:entity.piglin.jealous")), - ENTITY_PIGLIN_HURT("minecraft:entity.piglin.hurt"), + PIGLIN_HURT(NamespaceID.from("minecraft:entity.piglin.hurt")), - ENTITY_PIGLIN_RETREAT("minecraft:entity.piglin.retreat"), + PIGLIN_RETREAT(NamespaceID.from("minecraft:entity.piglin.retreat")), - ENTITY_PIGLIN_STEP("minecraft:entity.piglin.step"), + PIGLIN_STEP(NamespaceID.from("minecraft:entity.piglin.step")), - ENTITY_PIGLIN_CONVERTED_TO_ZOMBIFIED("minecraft:entity.piglin.converted_to_zombified"), + PIGLIN_CONVERTED_TO_ZOMBIFIED(NamespaceID.from("minecraft:entity.piglin.converted_to_zombified")), - ENTITY_PIGLIN_BRUTE_AMBIENT("minecraft:entity.piglin_brute.ambient"), + PIGLIN_BRUTE_AMBIENT(NamespaceID.from("minecraft:entity.piglin_brute.ambient")), - ENTITY_PIGLIN_BRUTE_ANGRY("minecraft:entity.piglin_brute.angry"), + PIGLIN_BRUTE_ANGRY(NamespaceID.from("minecraft:entity.piglin_brute.angry")), - ENTITY_PIGLIN_BRUTE_DEATH("minecraft:entity.piglin_brute.death"), + PIGLIN_BRUTE_DEATH(NamespaceID.from("minecraft:entity.piglin_brute.death")), - ENTITY_PIGLIN_BRUTE_HURT("minecraft:entity.piglin_brute.hurt"), + PIGLIN_BRUTE_HURT(NamespaceID.from("minecraft:entity.piglin_brute.hurt")), - ENTITY_PIGLIN_BRUTE_STEP("minecraft:entity.piglin_brute.step"), + PIGLIN_BRUTE_STEP(NamespaceID.from("minecraft:entity.piglin_brute.step")), - ENTITY_PIGLIN_BRUTE_CONVERTED_TO_ZOMBIFIED("minecraft:entity.piglin_brute.converted_to_zombified"), + PIGLIN_BRUTE_CONVERTED_TO_ZOMBIFIED(NamespaceID.from("minecraft:entity.piglin_brute.converted_to_zombified")), - ENTITY_PILLAGER_AMBIENT("minecraft:entity.pillager.ambient"), + PILLAGER_AMBIENT(NamespaceID.from("minecraft:entity.pillager.ambient")), - ENTITY_PILLAGER_CELEBRATE("minecraft:entity.pillager.celebrate"), + PILLAGER_CELEBRATE(NamespaceID.from("minecraft:entity.pillager.celebrate")), - ENTITY_PILLAGER_DEATH("minecraft:entity.pillager.death"), + PILLAGER_DEATH(NamespaceID.from("minecraft:entity.pillager.death")), - ENTITY_PILLAGER_HURT("minecraft:entity.pillager.hurt"), + PILLAGER_HURT(NamespaceID.from("minecraft:entity.pillager.hurt")), - BLOCK_PISTON_CONTRACT("minecraft:block.piston.contract"), + PISTON_CONTRACT(NamespaceID.from("minecraft:block.piston.contract")), - BLOCK_PISTON_EXTEND("minecraft:block.piston.extend"), + PISTON_EXTEND(NamespaceID.from("minecraft:block.piston.extend")), - ENTITY_PLAYER_ATTACK_CRIT("minecraft:entity.player.attack.crit"), + PLAYER_ATTACK_CRIT(NamespaceID.from("minecraft:entity.player.attack.crit")), - ENTITY_PLAYER_ATTACK_KNOCKBACK("minecraft:entity.player.attack.knockback"), + PLAYER_ATTACK_KNOCKBACK(NamespaceID.from("minecraft:entity.player.attack.knockback")), - ENTITY_PLAYER_ATTACK_NODAMAGE("minecraft:entity.player.attack.nodamage"), + PLAYER_ATTACK_NODAMAGE(NamespaceID.from("minecraft:entity.player.attack.nodamage")), - ENTITY_PLAYER_ATTACK_STRONG("minecraft:entity.player.attack.strong"), + PLAYER_ATTACK_STRONG(NamespaceID.from("minecraft:entity.player.attack.strong")), - ENTITY_PLAYER_ATTACK_SWEEP("minecraft:entity.player.attack.sweep"), + PLAYER_ATTACK_SWEEP(NamespaceID.from("minecraft:entity.player.attack.sweep")), - ENTITY_PLAYER_ATTACK_WEAK("minecraft:entity.player.attack.weak"), + PLAYER_ATTACK_WEAK(NamespaceID.from("minecraft:entity.player.attack.weak")), - ENTITY_PLAYER_BIG_FALL("minecraft:entity.player.big_fall"), + PLAYER_BIG_FALL(NamespaceID.from("minecraft:entity.player.big_fall")), - ENTITY_PLAYER_BREATH("minecraft:entity.player.breath"), + PLAYER_BREATH(NamespaceID.from("minecraft:entity.player.breath")), - ENTITY_PLAYER_BURP("minecraft:entity.player.burp"), + PLAYER_BURP(NamespaceID.from("minecraft:entity.player.burp")), - ENTITY_PLAYER_DEATH("minecraft:entity.player.death"), + PLAYER_DEATH(NamespaceID.from("minecraft:entity.player.death")), - ENTITY_PLAYER_HURT("minecraft:entity.player.hurt"), + PLAYER_HURT(NamespaceID.from("minecraft:entity.player.hurt")), - ENTITY_PLAYER_HURT_DROWN("minecraft:entity.player.hurt_drown"), + PLAYER_HURT_DROWN(NamespaceID.from("minecraft:entity.player.hurt_drown")), - ENTITY_PLAYER_HURT_ON_FIRE("minecraft:entity.player.hurt_on_fire"), + PLAYER_HURT_ON_FIRE(NamespaceID.from("minecraft:entity.player.hurt_on_fire")), - ENTITY_PLAYER_HURT_SWEET_BERRY_BUSH("minecraft:entity.player.hurt_sweet_berry_bush"), + PLAYER_HURT_SWEET_BERRY_BUSH(NamespaceID.from("minecraft:entity.player.hurt_sweet_berry_bush")), - ENTITY_PLAYER_LEVELUP("minecraft:entity.player.levelup"), + PLAYER_LEVELUP(NamespaceID.from("minecraft:entity.player.levelup")), - ENTITY_PLAYER_SMALL_FALL("minecraft:entity.player.small_fall"), + PLAYER_SMALL_FALL(NamespaceID.from("minecraft:entity.player.small_fall")), - ENTITY_PLAYER_SPLASH("minecraft:entity.player.splash"), + PLAYER_SPLASH(NamespaceID.from("minecraft:entity.player.splash")), - ENTITY_PLAYER_SPLASH_HIGH_SPEED("minecraft:entity.player.splash.high_speed"), + PLAYER_SPLASH_HIGH_SPEED(NamespaceID.from("minecraft:entity.player.splash.high_speed")), - ENTITY_PLAYER_SWIM("minecraft:entity.player.swim"), + PLAYER_SWIM(NamespaceID.from("minecraft:entity.player.swim")), - ENTITY_POLAR_BEAR_AMBIENT("minecraft:entity.polar_bear.ambient"), + POLAR_BEAR_AMBIENT(NamespaceID.from("minecraft:entity.polar_bear.ambient")), - ENTITY_POLAR_BEAR_AMBIENT_BABY("minecraft:entity.polar_bear.ambient_baby"), + POLAR_BEAR_AMBIENT_BABY(NamespaceID.from("minecraft:entity.polar_bear.ambient_baby")), - ENTITY_POLAR_BEAR_DEATH("minecraft:entity.polar_bear.death"), + POLAR_BEAR_DEATH(NamespaceID.from("minecraft:entity.polar_bear.death")), - ENTITY_POLAR_BEAR_HURT("minecraft:entity.polar_bear.hurt"), + POLAR_BEAR_HURT(NamespaceID.from("minecraft:entity.polar_bear.hurt")), - ENTITY_POLAR_BEAR_STEP("minecraft:entity.polar_bear.step"), + POLAR_BEAR_STEP(NamespaceID.from("minecraft:entity.polar_bear.step")), - ENTITY_POLAR_BEAR_WARNING("minecraft:entity.polar_bear.warning"), + POLAR_BEAR_WARNING(NamespaceID.from("minecraft:entity.polar_bear.warning")), - BLOCK_PORTAL_AMBIENT("minecraft:block.portal.ambient"), + PORTAL_AMBIENT(NamespaceID.from("minecraft:block.portal.ambient")), - BLOCK_PORTAL_TRAVEL("minecraft:block.portal.travel"), + PORTAL_TRAVEL(NamespaceID.from("minecraft:block.portal.travel")), - BLOCK_PORTAL_TRIGGER("minecraft:block.portal.trigger"), + PORTAL_TRIGGER(NamespaceID.from("minecraft:block.portal.trigger")), - ENTITY_PUFFER_FISH_AMBIENT("minecraft:entity.puffer_fish.ambient"), + PUFFER_FISH_AMBIENT(NamespaceID.from("minecraft:entity.puffer_fish.ambient")), - ENTITY_PUFFER_FISH_BLOW_OUT("minecraft:entity.puffer_fish.blow_out"), + PUFFER_FISH_BLOW_OUT(NamespaceID.from("minecraft:entity.puffer_fish.blow_out")), - ENTITY_PUFFER_FISH_BLOW_UP("minecraft:entity.puffer_fish.blow_up"), + PUFFER_FISH_BLOW_UP(NamespaceID.from("minecraft:entity.puffer_fish.blow_up")), - ENTITY_PUFFER_FISH_DEATH("minecraft:entity.puffer_fish.death"), + PUFFER_FISH_DEATH(NamespaceID.from("minecraft:entity.puffer_fish.death")), - ENTITY_PUFFER_FISH_FLOP("minecraft:entity.puffer_fish.flop"), + PUFFER_FISH_FLOP(NamespaceID.from("minecraft:entity.puffer_fish.flop")), - ENTITY_PUFFER_FISH_HURT("minecraft:entity.puffer_fish.hurt"), + PUFFER_FISH_HURT(NamespaceID.from("minecraft:entity.puffer_fish.hurt")), - ENTITY_PUFFER_FISH_STING("minecraft:entity.puffer_fish.sting"), + PUFFER_FISH_STING(NamespaceID.from("minecraft:entity.puffer_fish.sting")), - BLOCK_PUMPKIN_CARVE("minecraft:block.pumpkin.carve"), + PUMPKIN_CARVE(NamespaceID.from("minecraft:block.pumpkin.carve")), - ENTITY_RABBIT_AMBIENT("minecraft:entity.rabbit.ambient"), + RABBIT_AMBIENT(NamespaceID.from("minecraft:entity.rabbit.ambient")), - ENTITY_RABBIT_ATTACK("minecraft:entity.rabbit.attack"), + RABBIT_ATTACK(NamespaceID.from("minecraft:entity.rabbit.attack")), - ENTITY_RABBIT_DEATH("minecraft:entity.rabbit.death"), + RABBIT_DEATH(NamespaceID.from("minecraft:entity.rabbit.death")), - ENTITY_RABBIT_HURT("minecraft:entity.rabbit.hurt"), + RABBIT_HURT(NamespaceID.from("minecraft:entity.rabbit.hurt")), - ENTITY_RABBIT_JUMP("minecraft:entity.rabbit.jump"), + RABBIT_JUMP(NamespaceID.from("minecraft:entity.rabbit.jump")), - EVENT_RAID_HORN("minecraft:event.raid.horn"), + RAID_HORN(NamespaceID.from("minecraft:event.raid.horn")), - ENTITY_RAVAGER_AMBIENT("minecraft:entity.ravager.ambient"), + RAVAGER_AMBIENT(NamespaceID.from("minecraft:entity.ravager.ambient")), - ENTITY_RAVAGER_ATTACK("minecraft:entity.ravager.attack"), + RAVAGER_ATTACK(NamespaceID.from("minecraft:entity.ravager.attack")), - ENTITY_RAVAGER_CELEBRATE("minecraft:entity.ravager.celebrate"), + RAVAGER_CELEBRATE(NamespaceID.from("minecraft:entity.ravager.celebrate")), - ENTITY_RAVAGER_DEATH("minecraft:entity.ravager.death"), + RAVAGER_DEATH(NamespaceID.from("minecraft:entity.ravager.death")), - ENTITY_RAVAGER_HURT("minecraft:entity.ravager.hurt"), + RAVAGER_HURT(NamespaceID.from("minecraft:entity.ravager.hurt")), - ENTITY_RAVAGER_STEP("minecraft:entity.ravager.step"), + RAVAGER_STEP(NamespaceID.from("minecraft:entity.ravager.step")), - ENTITY_RAVAGER_STUNNED("minecraft:entity.ravager.stunned"), + RAVAGER_STUNNED(NamespaceID.from("minecraft:entity.ravager.stunned")), - ENTITY_RAVAGER_ROAR("minecraft:entity.ravager.roar"), + RAVAGER_ROAR(NamespaceID.from("minecraft:entity.ravager.roar")), - BLOCK_NETHER_GOLD_ORE_BREAK("minecraft:block.nether_gold_ore.break"), + NETHER_GOLD_ORE_BREAK(NamespaceID.from("minecraft:block.nether_gold_ore.break")), - BLOCK_NETHER_GOLD_ORE_FALL("minecraft:block.nether_gold_ore.fall"), + NETHER_GOLD_ORE_FALL(NamespaceID.from("minecraft:block.nether_gold_ore.fall")), - BLOCK_NETHER_GOLD_ORE_HIT("minecraft:block.nether_gold_ore.hit"), + NETHER_GOLD_ORE_HIT(NamespaceID.from("minecraft:block.nether_gold_ore.hit")), - BLOCK_NETHER_GOLD_ORE_PLACE("minecraft:block.nether_gold_ore.place"), + NETHER_GOLD_ORE_PLACE(NamespaceID.from("minecraft:block.nether_gold_ore.place")), - BLOCK_NETHER_GOLD_ORE_STEP("minecraft:block.nether_gold_ore.step"), + NETHER_GOLD_ORE_STEP(NamespaceID.from("minecraft:block.nether_gold_ore.step")), - BLOCK_NETHER_ORE_BREAK("minecraft:block.nether_ore.break"), + NETHER_ORE_BREAK(NamespaceID.from("minecraft:block.nether_ore.break")), - BLOCK_NETHER_ORE_FALL("minecraft:block.nether_ore.fall"), + NETHER_ORE_FALL(NamespaceID.from("minecraft:block.nether_ore.fall")), - BLOCK_NETHER_ORE_HIT("minecraft:block.nether_ore.hit"), + NETHER_ORE_HIT(NamespaceID.from("minecraft:block.nether_ore.hit")), - BLOCK_NETHER_ORE_PLACE("minecraft:block.nether_ore.place"), + NETHER_ORE_PLACE(NamespaceID.from("minecraft:block.nether_ore.place")), - BLOCK_NETHER_ORE_STEP("minecraft:block.nether_ore.step"), + NETHER_ORE_STEP(NamespaceID.from("minecraft:block.nether_ore.step")), - BLOCK_REDSTONE_TORCH_BURNOUT("minecraft:block.redstone_torch.burnout"), + REDSTONE_TORCH_BURNOUT(NamespaceID.from("minecraft:block.redstone_torch.burnout")), - BLOCK_RESPAWN_ANCHOR_AMBIENT("minecraft:block.respawn_anchor.ambient"), + RESPAWN_ANCHOR_AMBIENT(NamespaceID.from("minecraft:block.respawn_anchor.ambient")), - BLOCK_RESPAWN_ANCHOR_CHARGE("minecraft:block.respawn_anchor.charge"), + RESPAWN_ANCHOR_CHARGE(NamespaceID.from("minecraft:block.respawn_anchor.charge")), - BLOCK_RESPAWN_ANCHOR_DEPLETE("minecraft:block.respawn_anchor.deplete"), + RESPAWN_ANCHOR_DEPLETE(NamespaceID.from("minecraft:block.respawn_anchor.deplete")), - BLOCK_RESPAWN_ANCHOR_SET_SPAWN("minecraft:block.respawn_anchor.set_spawn"), + RESPAWN_ANCHOR_SET_SPAWN(NamespaceID.from("minecraft:block.respawn_anchor.set_spawn")), - ENTITY_SALMON_AMBIENT("minecraft:entity.salmon.ambient"), + SALMON_AMBIENT(NamespaceID.from("minecraft:entity.salmon.ambient")), - ENTITY_SALMON_DEATH("minecraft:entity.salmon.death"), + SALMON_DEATH(NamespaceID.from("minecraft:entity.salmon.death")), - ENTITY_SALMON_FLOP("minecraft:entity.salmon.flop"), + SALMON_FLOP(NamespaceID.from("minecraft:entity.salmon.flop")), - ENTITY_SALMON_HURT("minecraft:entity.salmon.hurt"), + SALMON_HURT(NamespaceID.from("minecraft:entity.salmon.hurt")), - BLOCK_SAND_BREAK("minecraft:block.sand.break"), + SAND_BREAK(NamespaceID.from("minecraft:block.sand.break")), - BLOCK_SAND_FALL("minecraft:block.sand.fall"), + SAND_FALL(NamespaceID.from("minecraft:block.sand.fall")), - BLOCK_SAND_HIT("minecraft:block.sand.hit"), + SAND_HIT(NamespaceID.from("minecraft:block.sand.hit")), - BLOCK_SAND_PLACE("minecraft:block.sand.place"), + SAND_PLACE(NamespaceID.from("minecraft:block.sand.place")), - BLOCK_SAND_STEP("minecraft:block.sand.step"), + SAND_STEP(NamespaceID.from("minecraft:block.sand.step")), - BLOCK_SCAFFOLDING_BREAK("minecraft:block.scaffolding.break"), + SCAFFOLDING_BREAK(NamespaceID.from("minecraft:block.scaffolding.break")), - BLOCK_SCAFFOLDING_FALL("minecraft:block.scaffolding.fall"), + SCAFFOLDING_FALL(NamespaceID.from("minecraft:block.scaffolding.fall")), - BLOCK_SCAFFOLDING_HIT("minecraft:block.scaffolding.hit"), + SCAFFOLDING_HIT(NamespaceID.from("minecraft:block.scaffolding.hit")), - BLOCK_SCAFFOLDING_PLACE("minecraft:block.scaffolding.place"), + SCAFFOLDING_PLACE(NamespaceID.from("minecraft:block.scaffolding.place")), - BLOCK_SCAFFOLDING_STEP("minecraft:block.scaffolding.step"), + SCAFFOLDING_STEP(NamespaceID.from("minecraft:block.scaffolding.step")), - ENTITY_SHEEP_AMBIENT("minecraft:entity.sheep.ambient"), + SHEEP_AMBIENT(NamespaceID.from("minecraft:entity.sheep.ambient")), - ENTITY_SHEEP_DEATH("minecraft:entity.sheep.death"), + SHEEP_DEATH(NamespaceID.from("minecraft:entity.sheep.death")), - ENTITY_SHEEP_HURT("minecraft:entity.sheep.hurt"), + SHEEP_HURT(NamespaceID.from("minecraft:entity.sheep.hurt")), - ENTITY_SHEEP_SHEAR("minecraft:entity.sheep.shear"), + SHEEP_SHEAR(NamespaceID.from("minecraft:entity.sheep.shear")), - ENTITY_SHEEP_STEP("minecraft:entity.sheep.step"), + SHEEP_STEP(NamespaceID.from("minecraft:entity.sheep.step")), - ITEM_SHIELD_BLOCK("minecraft:item.shield.block"), + SHIELD_BLOCK(NamespaceID.from("minecraft:item.shield.block")), - ITEM_SHIELD_BREAK("minecraft:item.shield.break"), + SHIELD_BREAK(NamespaceID.from("minecraft:item.shield.break")), - BLOCK_SHROOMLIGHT_BREAK("minecraft:block.shroomlight.break"), + SHROOMLIGHT_BREAK(NamespaceID.from("minecraft:block.shroomlight.break")), - BLOCK_SHROOMLIGHT_STEP("minecraft:block.shroomlight.step"), + SHROOMLIGHT_STEP(NamespaceID.from("minecraft:block.shroomlight.step")), - BLOCK_SHROOMLIGHT_PLACE("minecraft:block.shroomlight.place"), + SHROOMLIGHT_PLACE(NamespaceID.from("minecraft:block.shroomlight.place")), - BLOCK_SHROOMLIGHT_HIT("minecraft:block.shroomlight.hit"), + SHROOMLIGHT_HIT(NamespaceID.from("minecraft:block.shroomlight.hit")), - BLOCK_SHROOMLIGHT_FALL("minecraft:block.shroomlight.fall"), + SHROOMLIGHT_FALL(NamespaceID.from("minecraft:block.shroomlight.fall")), - ITEM_SHOVEL_FLATTEN("minecraft:item.shovel.flatten"), + SHOVEL_FLATTEN(NamespaceID.from("minecraft:item.shovel.flatten")), - ENTITY_SHULKER_AMBIENT("minecraft:entity.shulker.ambient"), + SHULKER_AMBIENT(NamespaceID.from("minecraft:entity.shulker.ambient")), - BLOCK_SHULKER_BOX_CLOSE("minecraft:block.shulker_box.close"), + SHULKER_BOX_CLOSE(NamespaceID.from("minecraft:block.shulker_box.close")), - BLOCK_SHULKER_BOX_OPEN("minecraft:block.shulker_box.open"), + SHULKER_BOX_OPEN(NamespaceID.from("minecraft:block.shulker_box.open")), - ENTITY_SHULKER_BULLET_HIT("minecraft:entity.shulker_bullet.hit"), + SHULKER_BULLET_HIT(NamespaceID.from("minecraft:entity.shulker_bullet.hit")), - ENTITY_SHULKER_BULLET_HURT("minecraft:entity.shulker_bullet.hurt"), + SHULKER_BULLET_HURT(NamespaceID.from("minecraft:entity.shulker_bullet.hurt")), - ENTITY_SHULKER_CLOSE("minecraft:entity.shulker.close"), + SHULKER_CLOSE(NamespaceID.from("minecraft:entity.shulker.close")), - ENTITY_SHULKER_DEATH("minecraft:entity.shulker.death"), + SHULKER_DEATH(NamespaceID.from("minecraft:entity.shulker.death")), - ENTITY_SHULKER_HURT("minecraft:entity.shulker.hurt"), + SHULKER_HURT(NamespaceID.from("minecraft:entity.shulker.hurt")), - ENTITY_SHULKER_HURT_CLOSED("minecraft:entity.shulker.hurt_closed"), + SHULKER_HURT_CLOSED(NamespaceID.from("minecraft:entity.shulker.hurt_closed")), - ENTITY_SHULKER_OPEN("minecraft:entity.shulker.open"), + SHULKER_OPEN(NamespaceID.from("minecraft:entity.shulker.open")), - ENTITY_SHULKER_SHOOT("minecraft:entity.shulker.shoot"), + SHULKER_SHOOT(NamespaceID.from("minecraft:entity.shulker.shoot")), - ENTITY_SHULKER_TELEPORT("minecraft:entity.shulker.teleport"), + SHULKER_TELEPORT(NamespaceID.from("minecraft:entity.shulker.teleport")), - ENTITY_SILVERFISH_AMBIENT("minecraft:entity.silverfish.ambient"), + SILVERFISH_AMBIENT(NamespaceID.from("minecraft:entity.silverfish.ambient")), - ENTITY_SILVERFISH_DEATH("minecraft:entity.silverfish.death"), + SILVERFISH_DEATH(NamespaceID.from("minecraft:entity.silverfish.death")), - ENTITY_SILVERFISH_HURT("minecraft:entity.silverfish.hurt"), + SILVERFISH_HURT(NamespaceID.from("minecraft:entity.silverfish.hurt")), - ENTITY_SILVERFISH_STEP("minecraft:entity.silverfish.step"), + SILVERFISH_STEP(NamespaceID.from("minecraft:entity.silverfish.step")), - ENTITY_SKELETON_AMBIENT("minecraft:entity.skeleton.ambient"), + SKELETON_AMBIENT(NamespaceID.from("minecraft:entity.skeleton.ambient")), - ENTITY_SKELETON_DEATH("minecraft:entity.skeleton.death"), + SKELETON_DEATH(NamespaceID.from("minecraft:entity.skeleton.death")), - ENTITY_SKELETON_HORSE_AMBIENT("minecraft:entity.skeleton_horse.ambient"), + SKELETON_HORSE_AMBIENT(NamespaceID.from("minecraft:entity.skeleton_horse.ambient")), - ENTITY_SKELETON_HORSE_DEATH("minecraft:entity.skeleton_horse.death"), + SKELETON_HORSE_DEATH(NamespaceID.from("minecraft:entity.skeleton_horse.death")), - ENTITY_SKELETON_HORSE_HURT("minecraft:entity.skeleton_horse.hurt"), + SKELETON_HORSE_HURT(NamespaceID.from("minecraft:entity.skeleton_horse.hurt")), - ENTITY_SKELETON_HORSE_SWIM("minecraft:entity.skeleton_horse.swim"), + SKELETON_HORSE_SWIM(NamespaceID.from("minecraft:entity.skeleton_horse.swim")), - ENTITY_SKELETON_HORSE_AMBIENT_WATER("minecraft:entity.skeleton_horse.ambient_water"), + SKELETON_HORSE_AMBIENT_WATER(NamespaceID.from("minecraft:entity.skeleton_horse.ambient_water")), - ENTITY_SKELETON_HORSE_GALLOP_WATER("minecraft:entity.skeleton_horse.gallop_water"), + SKELETON_HORSE_GALLOP_WATER(NamespaceID.from("minecraft:entity.skeleton_horse.gallop_water")), - ENTITY_SKELETON_HORSE_JUMP_WATER("minecraft:entity.skeleton_horse.jump_water"), + SKELETON_HORSE_JUMP_WATER(NamespaceID.from("minecraft:entity.skeleton_horse.jump_water")), - ENTITY_SKELETON_HORSE_STEP_WATER("minecraft:entity.skeleton_horse.step_water"), + SKELETON_HORSE_STEP_WATER(NamespaceID.from("minecraft:entity.skeleton_horse.step_water")), - ENTITY_SKELETON_HURT("minecraft:entity.skeleton.hurt"), + SKELETON_HURT(NamespaceID.from("minecraft:entity.skeleton.hurt")), - ENTITY_SKELETON_SHOOT("minecraft:entity.skeleton.shoot"), + SKELETON_SHOOT(NamespaceID.from("minecraft:entity.skeleton.shoot")), - ENTITY_SKELETON_STEP("minecraft:entity.skeleton.step"), + SKELETON_STEP(NamespaceID.from("minecraft:entity.skeleton.step")), - ENTITY_SLIME_ATTACK("minecraft:entity.slime.attack"), + SLIME_ATTACK(NamespaceID.from("minecraft:entity.slime.attack")), - ENTITY_SLIME_DEATH("minecraft:entity.slime.death"), + SLIME_DEATH(NamespaceID.from("minecraft:entity.slime.death")), - ENTITY_SLIME_HURT("minecraft:entity.slime.hurt"), + SLIME_HURT(NamespaceID.from("minecraft:entity.slime.hurt")), - ENTITY_SLIME_JUMP("minecraft:entity.slime.jump"), + SLIME_JUMP(NamespaceID.from("minecraft:entity.slime.jump")), - ENTITY_SLIME_SQUISH("minecraft:entity.slime.squish"), + SLIME_SQUISH(NamespaceID.from("minecraft:entity.slime.squish")), - BLOCK_SLIME_BLOCK_BREAK("minecraft:block.slime_block.break"), + SLIME_BLOCK_BREAK(NamespaceID.from("minecraft:block.slime_block.break")), - BLOCK_SLIME_BLOCK_FALL("minecraft:block.slime_block.fall"), + SLIME_BLOCK_FALL(NamespaceID.from("minecraft:block.slime_block.fall")), - BLOCK_SLIME_BLOCK_HIT("minecraft:block.slime_block.hit"), + SLIME_BLOCK_HIT(NamespaceID.from("minecraft:block.slime_block.hit")), - BLOCK_SLIME_BLOCK_PLACE("minecraft:block.slime_block.place"), + SLIME_BLOCK_PLACE(NamespaceID.from("minecraft:block.slime_block.place")), - BLOCK_SLIME_BLOCK_STEP("minecraft:block.slime_block.step"), + SLIME_BLOCK_STEP(NamespaceID.from("minecraft:block.slime_block.step")), - BLOCK_SOUL_SAND_BREAK("minecraft:block.soul_sand.break"), + SOUL_SAND_BREAK(NamespaceID.from("minecraft:block.soul_sand.break")), - BLOCK_SOUL_SAND_STEP("minecraft:block.soul_sand.step"), + SOUL_SAND_STEP(NamespaceID.from("minecraft:block.soul_sand.step")), - BLOCK_SOUL_SAND_PLACE("minecraft:block.soul_sand.place"), + SOUL_SAND_PLACE(NamespaceID.from("minecraft:block.soul_sand.place")), - BLOCK_SOUL_SAND_HIT("minecraft:block.soul_sand.hit"), + SOUL_SAND_HIT(NamespaceID.from("minecraft:block.soul_sand.hit")), - BLOCK_SOUL_SAND_FALL("minecraft:block.soul_sand.fall"), + SOUL_SAND_FALL(NamespaceID.from("minecraft:block.soul_sand.fall")), - BLOCK_SOUL_SOIL_BREAK("minecraft:block.soul_soil.break"), + SOUL_SOIL_BREAK(NamespaceID.from("minecraft:block.soul_soil.break")), - BLOCK_SOUL_SOIL_STEP("minecraft:block.soul_soil.step"), + SOUL_SOIL_STEP(NamespaceID.from("minecraft:block.soul_soil.step")), - BLOCK_SOUL_SOIL_PLACE("minecraft:block.soul_soil.place"), + SOUL_SOIL_PLACE(NamespaceID.from("minecraft:block.soul_soil.place")), - BLOCK_SOUL_SOIL_HIT("minecraft:block.soul_soil.hit"), + SOUL_SOIL_HIT(NamespaceID.from("minecraft:block.soul_soil.hit")), - BLOCK_SOUL_SOIL_FALL("minecraft:block.soul_soil.fall"), + SOUL_SOIL_FALL(NamespaceID.from("minecraft:block.soul_soil.fall")), - PARTICLE_SOUL_ESCAPE("minecraft:particle.soul_escape"), + SOUL_ESCAPE(NamespaceID.from("minecraft:particle.soul_escape")), - ENTITY_STRIDER_AMBIENT("minecraft:entity.strider.ambient"), + STRIDER_AMBIENT(NamespaceID.from("minecraft:entity.strider.ambient")), - ENTITY_STRIDER_HAPPY("minecraft:entity.strider.happy"), + STRIDER_HAPPY(NamespaceID.from("minecraft:entity.strider.happy")), - ENTITY_STRIDER_RETREAT("minecraft:entity.strider.retreat"), + STRIDER_RETREAT(NamespaceID.from("minecraft:entity.strider.retreat")), - ENTITY_STRIDER_DEATH("minecraft:entity.strider.death"), + STRIDER_DEATH(NamespaceID.from("minecraft:entity.strider.death")), - ENTITY_STRIDER_HURT("minecraft:entity.strider.hurt"), + STRIDER_HURT(NamespaceID.from("minecraft:entity.strider.hurt")), - ENTITY_STRIDER_STEP("minecraft:entity.strider.step"), + STRIDER_STEP(NamespaceID.from("minecraft:entity.strider.step")), - ENTITY_STRIDER_STEP_LAVA("minecraft:entity.strider.step_lava"), + STRIDER_STEP_LAVA(NamespaceID.from("minecraft:entity.strider.step_lava")), - ENTITY_STRIDER_EAT("minecraft:entity.strider.eat"), + STRIDER_EAT(NamespaceID.from("minecraft:entity.strider.eat")), - ENTITY_STRIDER_SADDLE("minecraft:entity.strider.saddle"), + STRIDER_SADDLE(NamespaceID.from("minecraft:entity.strider.saddle")), - ENTITY_SLIME_DEATH_SMALL("minecraft:entity.slime.death_small"), + SLIME_DEATH_SMALL(NamespaceID.from("minecraft:entity.slime.death_small")), - ENTITY_SLIME_HURT_SMALL("minecraft:entity.slime.hurt_small"), + SLIME_HURT_SMALL(NamespaceID.from("minecraft:entity.slime.hurt_small")), - ENTITY_SLIME_JUMP_SMALL("minecraft:entity.slime.jump_small"), + SLIME_JUMP_SMALL(NamespaceID.from("minecraft:entity.slime.jump_small")), - ENTITY_SLIME_SQUISH_SMALL("minecraft:entity.slime.squish_small"), + SLIME_SQUISH_SMALL(NamespaceID.from("minecraft:entity.slime.squish_small")), - BLOCK_SMITHING_TABLE_USE("minecraft:block.smithing_table.use"), + SMITHING_TABLE_USE(NamespaceID.from("minecraft:block.smithing_table.use")), - BLOCK_SMOKER_SMOKE("minecraft:block.smoker.smoke"), + SMOKER_SMOKE(NamespaceID.from("minecraft:block.smoker.smoke")), - ENTITY_SNOWBALL_THROW("minecraft:entity.snowball.throw"), + SNOWBALL_THROW(NamespaceID.from("minecraft:entity.snowball.throw")), - BLOCK_SNOW_BREAK("minecraft:block.snow.break"), + SNOW_BREAK(NamespaceID.from("minecraft:block.snow.break")), - BLOCK_SNOW_FALL("minecraft:block.snow.fall"), + SNOW_FALL(NamespaceID.from("minecraft:block.snow.fall")), - ENTITY_SNOW_GOLEM_AMBIENT("minecraft:entity.snow_golem.ambient"), + SNOW_GOLEM_AMBIENT(NamespaceID.from("minecraft:entity.snow_golem.ambient")), - ENTITY_SNOW_GOLEM_DEATH("minecraft:entity.snow_golem.death"), + SNOW_GOLEM_DEATH(NamespaceID.from("minecraft:entity.snow_golem.death")), - ENTITY_SNOW_GOLEM_HURT("minecraft:entity.snow_golem.hurt"), + SNOW_GOLEM_HURT(NamespaceID.from("minecraft:entity.snow_golem.hurt")), - ENTITY_SNOW_GOLEM_SHOOT("minecraft:entity.snow_golem.shoot"), + SNOW_GOLEM_SHOOT(NamespaceID.from("minecraft:entity.snow_golem.shoot")), - ENTITY_SNOW_GOLEM_SHEAR("minecraft:entity.snow_golem.shear"), + SNOW_GOLEM_SHEAR(NamespaceID.from("minecraft:entity.snow_golem.shear")), - BLOCK_SNOW_HIT("minecraft:block.snow.hit"), + SNOW_HIT(NamespaceID.from("minecraft:block.snow.hit")), - BLOCK_SNOW_PLACE("minecraft:block.snow.place"), + SNOW_PLACE(NamespaceID.from("minecraft:block.snow.place")), - BLOCK_SNOW_STEP("minecraft:block.snow.step"), + SNOW_STEP(NamespaceID.from("minecraft:block.snow.step")), - ENTITY_SPIDER_AMBIENT("minecraft:entity.spider.ambient"), + SPIDER_AMBIENT(NamespaceID.from("minecraft:entity.spider.ambient")), - ENTITY_SPIDER_DEATH("minecraft:entity.spider.death"), + SPIDER_DEATH(NamespaceID.from("minecraft:entity.spider.death")), - ENTITY_SPIDER_HURT("minecraft:entity.spider.hurt"), + SPIDER_HURT(NamespaceID.from("minecraft:entity.spider.hurt")), - ENTITY_SPIDER_STEP("minecraft:entity.spider.step"), + SPIDER_STEP(NamespaceID.from("minecraft:entity.spider.step")), - ENTITY_SPLASH_POTION_BREAK("minecraft:entity.splash_potion.break"), + SPLASH_POTION_BREAK(NamespaceID.from("minecraft:entity.splash_potion.break")), - ENTITY_SPLASH_POTION_THROW("minecraft:entity.splash_potion.throw"), + SPLASH_POTION_THROW(NamespaceID.from("minecraft:entity.splash_potion.throw")), - ENTITY_SQUID_AMBIENT("minecraft:entity.squid.ambient"), + SQUID_AMBIENT(NamespaceID.from("minecraft:entity.squid.ambient")), - ENTITY_SQUID_DEATH("minecraft:entity.squid.death"), + SQUID_DEATH(NamespaceID.from("minecraft:entity.squid.death")), - ENTITY_SQUID_HURT("minecraft:entity.squid.hurt"), + SQUID_HURT(NamespaceID.from("minecraft:entity.squid.hurt")), - ENTITY_SQUID_SQUIRT("minecraft:entity.squid.squirt"), + SQUID_SQUIRT(NamespaceID.from("minecraft:entity.squid.squirt")), - BLOCK_STONE_BREAK("minecraft:block.stone.break"), + STONE_BREAK(NamespaceID.from("minecraft:block.stone.break")), - BLOCK_STONE_BUTTON_CLICK_OFF("minecraft:block.stone_button.click_off"), + STONE_BUTTON_CLICK_OFF(NamespaceID.from("minecraft:block.stone_button.click_off")), - BLOCK_STONE_BUTTON_CLICK_ON("minecraft:block.stone_button.click_on"), + STONE_BUTTON_CLICK_ON(NamespaceID.from("minecraft:block.stone_button.click_on")), - BLOCK_STONE_FALL("minecraft:block.stone.fall"), + STONE_FALL(NamespaceID.from("minecraft:block.stone.fall")), - BLOCK_STONE_HIT("minecraft:block.stone.hit"), + STONE_HIT(NamespaceID.from("minecraft:block.stone.hit")), - BLOCK_STONE_PLACE("minecraft:block.stone.place"), + STONE_PLACE(NamespaceID.from("minecraft:block.stone.place")), - BLOCK_STONE_PRESSURE_PLATE_CLICK_OFF("minecraft:block.stone_pressure_plate.click_off"), + STONE_PRESSURE_PLATE_CLICK_OFF(NamespaceID.from("minecraft:block.stone_pressure_plate.click_off")), - BLOCK_STONE_PRESSURE_PLATE_CLICK_ON("minecraft:block.stone_pressure_plate.click_on"), + STONE_PRESSURE_PLATE_CLICK_ON(NamespaceID.from("minecraft:block.stone_pressure_plate.click_on")), - BLOCK_STONE_STEP("minecraft:block.stone.step"), + STONE_STEP(NamespaceID.from("minecraft:block.stone.step")), - ENTITY_STRAY_AMBIENT("minecraft:entity.stray.ambient"), + STRAY_AMBIENT(NamespaceID.from("minecraft:entity.stray.ambient")), - ENTITY_STRAY_DEATH("minecraft:entity.stray.death"), + STRAY_DEATH(NamespaceID.from("minecraft:entity.stray.death")), - ENTITY_STRAY_HURT("minecraft:entity.stray.hurt"), + STRAY_HURT(NamespaceID.from("minecraft:entity.stray.hurt")), - ENTITY_STRAY_STEP("minecraft:entity.stray.step"), + STRAY_STEP(NamespaceID.from("minecraft:entity.stray.step")), - BLOCK_SWEET_BERRY_BUSH_BREAK("minecraft:block.sweet_berry_bush.break"), + SWEET_BERRY_BUSH_BREAK(NamespaceID.from("minecraft:block.sweet_berry_bush.break")), - BLOCK_SWEET_BERRY_BUSH_PLACE("minecraft:block.sweet_berry_bush.place"), + SWEET_BERRY_BUSH_PLACE(NamespaceID.from("minecraft:block.sweet_berry_bush.place")), - ITEM_SWEET_BERRIES_PICK_FROM_BUSH("minecraft:item.sweet_berries.pick_from_bush"), + SWEET_BERRY_BUSH_PICK_BERRIES(NamespaceID.from("minecraft:item.sweet_berries.pick_from_bush")), - ENCHANT_THORNS_HIT("minecraft:enchant.thorns.hit"), + THORNS_HIT(NamespaceID.from("minecraft:enchant.thorns.hit")), - ENTITY_TNT_PRIMED("minecraft:entity.tnt.primed"), + TNT_PRIMED(NamespaceID.from("minecraft:entity.tnt.primed")), - ITEM_TOTEM_USE("minecraft:item.totem.use"), + TOTEM_USE(NamespaceID.from("minecraft:item.totem.use")), - ITEM_TRIDENT_HIT("minecraft:item.trident.hit"), + TRIDENT_HIT(NamespaceID.from("minecraft:item.trident.hit")), - ITEM_TRIDENT_HIT_GROUND("minecraft:item.trident.hit_ground"), + TRIDENT_HIT_GROUND(NamespaceID.from("minecraft:item.trident.hit_ground")), - ITEM_TRIDENT_RETURN("minecraft:item.trident.return"), + TRIDENT_RETURN(NamespaceID.from("minecraft:item.trident.return")), - ITEM_TRIDENT_RIPTIDE_1("minecraft:item.trident.riptide_1"), + TRIDENT_RIPTIDE_1(NamespaceID.from("minecraft:item.trident.riptide_1")), - ITEM_TRIDENT_RIPTIDE_2("minecraft:item.trident.riptide_2"), + TRIDENT_RIPTIDE_2(NamespaceID.from("minecraft:item.trident.riptide_2")), - ITEM_TRIDENT_RIPTIDE_3("minecraft:item.trident.riptide_3"), + TRIDENT_RIPTIDE_3(NamespaceID.from("minecraft:item.trident.riptide_3")), - ITEM_TRIDENT_THROW("minecraft:item.trident.throw"), + TRIDENT_THROW(NamespaceID.from("minecraft:item.trident.throw")), - ITEM_TRIDENT_THUNDER("minecraft:item.trident.thunder"), + TRIDENT_THUNDER(NamespaceID.from("minecraft:item.trident.thunder")), - BLOCK_TRIPWIRE_ATTACH("minecraft:block.tripwire.attach"), + TRIPWIRE_ATTACH(NamespaceID.from("minecraft:block.tripwire.attach")), - BLOCK_TRIPWIRE_CLICK_OFF("minecraft:block.tripwire.click_off"), + TRIPWIRE_CLICK_OFF(NamespaceID.from("minecraft:block.tripwire.click_off")), - BLOCK_TRIPWIRE_CLICK_ON("minecraft:block.tripwire.click_on"), + TRIPWIRE_CLICK_ON(NamespaceID.from("minecraft:block.tripwire.click_on")), - BLOCK_TRIPWIRE_DETACH("minecraft:block.tripwire.detach"), + TRIPWIRE_DETACH(NamespaceID.from("minecraft:block.tripwire.detach")), - ENTITY_TROPICAL_FISH_AMBIENT("minecraft:entity.tropical_fish.ambient"), + TROPICAL_FISH_AMBIENT(NamespaceID.from("minecraft:entity.tropical_fish.ambient")), - ENTITY_TROPICAL_FISH_DEATH("minecraft:entity.tropical_fish.death"), + TROPICAL_FISH_DEATH(NamespaceID.from("minecraft:entity.tropical_fish.death")), - ENTITY_TROPICAL_FISH_FLOP("minecraft:entity.tropical_fish.flop"), + TROPICAL_FISH_FLOP(NamespaceID.from("minecraft:entity.tropical_fish.flop")), - ENTITY_TROPICAL_FISH_HURT("minecraft:entity.tropical_fish.hurt"), + TROPICAL_FISH_HURT(NamespaceID.from("minecraft:entity.tropical_fish.hurt")), - ENTITY_TURTLE_AMBIENT_LAND("minecraft:entity.turtle.ambient_land"), + TURTLE_AMBIENT_LAND(NamespaceID.from("minecraft:entity.turtle.ambient_land")), - ENTITY_TURTLE_DEATH("minecraft:entity.turtle.death"), + TURTLE_DEATH(NamespaceID.from("minecraft:entity.turtle.death")), - ENTITY_TURTLE_DEATH_BABY("minecraft:entity.turtle.death_baby"), + TURTLE_DEATH_BABY(NamespaceID.from("minecraft:entity.turtle.death_baby")), - ENTITY_TURTLE_EGG_BREAK("minecraft:entity.turtle.egg_break"), + TURTLE_EGG_BREAK(NamespaceID.from("minecraft:entity.turtle.egg_break")), - ENTITY_TURTLE_EGG_CRACK("minecraft:entity.turtle.egg_crack"), + TURTLE_EGG_CRACK(NamespaceID.from("minecraft:entity.turtle.egg_crack")), - ENTITY_TURTLE_EGG_HATCH("minecraft:entity.turtle.egg_hatch"), + TURTLE_EGG_HATCH(NamespaceID.from("minecraft:entity.turtle.egg_hatch")), - ENTITY_TURTLE_HURT("minecraft:entity.turtle.hurt"), + TURTLE_HURT(NamespaceID.from("minecraft:entity.turtle.hurt")), - ENTITY_TURTLE_HURT_BABY("minecraft:entity.turtle.hurt_baby"), + TURTLE_HURT_BABY(NamespaceID.from("minecraft:entity.turtle.hurt_baby")), - ENTITY_TURTLE_LAY_EGG("minecraft:entity.turtle.lay_egg"), + TURTLE_LAY_EGG(NamespaceID.from("minecraft:entity.turtle.lay_egg")), - ENTITY_TURTLE_SHAMBLE("minecraft:entity.turtle.shamble"), + TURTLE_SHAMBLE(NamespaceID.from("minecraft:entity.turtle.shamble")), - ENTITY_TURTLE_SHAMBLE_BABY("minecraft:entity.turtle.shamble_baby"), + TURTLE_SHAMBLE_BABY(NamespaceID.from("minecraft:entity.turtle.shamble_baby")), - ENTITY_TURTLE_SWIM("minecraft:entity.turtle.swim"), + TURTLE_SWIM(NamespaceID.from("minecraft:entity.turtle.swim")), - UI_BUTTON_CLICK("minecraft:ui.button.click"), + UI_BUTTON_CLICK(NamespaceID.from("minecraft:ui.button.click")), - UI_LOOM_SELECT_PATTERN("minecraft:ui.loom.select_pattern"), + UI_LOOM_SELECT_PATTERN(NamespaceID.from("minecraft:ui.loom.select_pattern")), - UI_LOOM_TAKE_RESULT("minecraft:ui.loom.take_result"), + UI_LOOM_TAKE_RESULT(NamespaceID.from("minecraft:ui.loom.take_result")), - UI_CARTOGRAPHY_TABLE_TAKE_RESULT("minecraft:ui.cartography_table.take_result"), + UI_CARTOGRAPHY_TABLE_TAKE_RESULT(NamespaceID.from("minecraft:ui.cartography_table.take_result")), - UI_STONECUTTER_TAKE_RESULT("minecraft:ui.stonecutter.take_result"), + UI_STONECUTTER_TAKE_RESULT(NamespaceID.from("minecraft:ui.stonecutter.take_result")), - UI_STONECUTTER_SELECT_RECIPE("minecraft:ui.stonecutter.select_recipe"), + UI_STONECUTTER_SELECT_RECIPE(NamespaceID.from("minecraft:ui.stonecutter.select_recipe")), - UI_TOAST_CHALLENGE_COMPLETE("minecraft:ui.toast.challenge_complete"), + UI_TOAST_CHALLENGE_COMPLETE(NamespaceID.from("minecraft:ui.toast.challenge_complete")), - UI_TOAST_IN("minecraft:ui.toast.in"), + UI_TOAST_IN(NamespaceID.from("minecraft:ui.toast.in")), - UI_TOAST_OUT("minecraft:ui.toast.out"), + UI_TOAST_OUT(NamespaceID.from("minecraft:ui.toast.out")), - ENTITY_VEX_AMBIENT("minecraft:entity.vex.ambient"), + VEX_AMBIENT(NamespaceID.from("minecraft:entity.vex.ambient")), - ENTITY_VEX_CHARGE("minecraft:entity.vex.charge"), + VEX_CHARGE(NamespaceID.from("minecraft:entity.vex.charge")), - ENTITY_VEX_DEATH("minecraft:entity.vex.death"), + VEX_DEATH(NamespaceID.from("minecraft:entity.vex.death")), - ENTITY_VEX_HURT("minecraft:entity.vex.hurt"), + VEX_HURT(NamespaceID.from("minecraft:entity.vex.hurt")), - ENTITY_VILLAGER_AMBIENT("minecraft:entity.villager.ambient"), + VILLAGER_AMBIENT(NamespaceID.from("minecraft:entity.villager.ambient")), - ENTITY_VILLAGER_CELEBRATE("minecraft:entity.villager.celebrate"), + VILLAGER_CELEBRATE(NamespaceID.from("minecraft:entity.villager.celebrate")), - ENTITY_VILLAGER_DEATH("minecraft:entity.villager.death"), + VILLAGER_DEATH(NamespaceID.from("minecraft:entity.villager.death")), - ENTITY_VILLAGER_HURT("minecraft:entity.villager.hurt"), + VILLAGER_HURT(NamespaceID.from("minecraft:entity.villager.hurt")), - ENTITY_VILLAGER_NO("minecraft:entity.villager.no"), + VILLAGER_NO(NamespaceID.from("minecraft:entity.villager.no")), - ENTITY_VILLAGER_TRADE("minecraft:entity.villager.trade"), + VILLAGER_TRADE(NamespaceID.from("minecraft:entity.villager.trade")), - ENTITY_VILLAGER_YES("minecraft:entity.villager.yes"), + VILLAGER_YES(NamespaceID.from("minecraft:entity.villager.yes")), - ENTITY_VILLAGER_WORK_ARMORER("minecraft:entity.villager.work_armorer"), + VILLAGER_WORK_ARMORER(NamespaceID.from("minecraft:entity.villager.work_armorer")), - ENTITY_VILLAGER_WORK_BUTCHER("minecraft:entity.villager.work_butcher"), + VILLAGER_WORK_BUTCHER(NamespaceID.from("minecraft:entity.villager.work_butcher")), - ENTITY_VILLAGER_WORK_CARTOGRAPHER("minecraft:entity.villager.work_cartographer"), + VILLAGER_WORK_CARTOGRAPHER(NamespaceID.from("minecraft:entity.villager.work_cartographer")), - ENTITY_VILLAGER_WORK_CLERIC("minecraft:entity.villager.work_cleric"), + VILLAGER_WORK_CLERIC(NamespaceID.from("minecraft:entity.villager.work_cleric")), - ENTITY_VILLAGER_WORK_FARMER("minecraft:entity.villager.work_farmer"), + VILLAGER_WORK_FARMER(NamespaceID.from("minecraft:entity.villager.work_farmer")), - ENTITY_VILLAGER_WORK_FISHERMAN("minecraft:entity.villager.work_fisherman"), + VILLAGER_WORK_FISHERMAN(NamespaceID.from("minecraft:entity.villager.work_fisherman")), - ENTITY_VILLAGER_WORK_FLETCHER("minecraft:entity.villager.work_fletcher"), + VILLAGER_WORK_FLETCHER(NamespaceID.from("minecraft:entity.villager.work_fletcher")), - ENTITY_VILLAGER_WORK_LEATHERWORKER("minecraft:entity.villager.work_leatherworker"), + VILLAGER_WORK_LEATHERWORKER(NamespaceID.from("minecraft:entity.villager.work_leatherworker")), - ENTITY_VILLAGER_WORK_LIBRARIAN("minecraft:entity.villager.work_librarian"), + VILLAGER_WORK_LIBRARIAN(NamespaceID.from("minecraft:entity.villager.work_librarian")), - ENTITY_VILLAGER_WORK_MASON("minecraft:entity.villager.work_mason"), + VILLAGER_WORK_MASON(NamespaceID.from("minecraft:entity.villager.work_mason")), - ENTITY_VILLAGER_WORK_SHEPHERD("minecraft:entity.villager.work_shepherd"), + VILLAGER_WORK_SHEPHERD(NamespaceID.from("minecraft:entity.villager.work_shepherd")), - ENTITY_VILLAGER_WORK_TOOLSMITH("minecraft:entity.villager.work_toolsmith"), + VILLAGER_WORK_TOOLSMITH(NamespaceID.from("minecraft:entity.villager.work_toolsmith")), - ENTITY_VILLAGER_WORK_WEAPONSMITH("minecraft:entity.villager.work_weaponsmith"), + VILLAGER_WORK_WEAPONSMITH(NamespaceID.from("minecraft:entity.villager.work_weaponsmith")), - ENTITY_VINDICATOR_AMBIENT("minecraft:entity.vindicator.ambient"), + VINDICATOR_AMBIENT(NamespaceID.from("minecraft:entity.vindicator.ambient")), - ENTITY_VINDICATOR_CELEBRATE("minecraft:entity.vindicator.celebrate"), + VINDICATOR_CELEBRATE(NamespaceID.from("minecraft:entity.vindicator.celebrate")), - ENTITY_VINDICATOR_DEATH("minecraft:entity.vindicator.death"), + VINDICATOR_DEATH(NamespaceID.from("minecraft:entity.vindicator.death")), - ENTITY_VINDICATOR_HURT("minecraft:entity.vindicator.hurt"), + VINDICATOR_HURT(NamespaceID.from("minecraft:entity.vindicator.hurt")), - BLOCK_VINE_STEP("minecraft:block.vine.step"), + VINE_STEP(NamespaceID.from("minecraft:block.vine.step")), - BLOCK_LILY_PAD_PLACE("minecraft:block.lily_pad.place"), + LILY_PAD_PLACE(NamespaceID.from("minecraft:block.lily_pad.place")), - ENTITY_WANDERING_TRADER_AMBIENT("minecraft:entity.wandering_trader.ambient"), + WANDERING_TRADER_AMBIENT(NamespaceID.from("minecraft:entity.wandering_trader.ambient")), - ENTITY_WANDERING_TRADER_DEATH("minecraft:entity.wandering_trader.death"), + WANDERING_TRADER_DEATH(NamespaceID.from("minecraft:entity.wandering_trader.death")), - ENTITY_WANDERING_TRADER_DISAPPEARED("minecraft:entity.wandering_trader.disappeared"), + WANDERING_TRADER_DISAPPEARED(NamespaceID.from("minecraft:entity.wandering_trader.disappeared")), - ENTITY_WANDERING_TRADER_DRINK_MILK("minecraft:entity.wandering_trader.drink_milk"), + WANDERING_TRADER_DRINK_MILK(NamespaceID.from("minecraft:entity.wandering_trader.drink_milk")), - ENTITY_WANDERING_TRADER_DRINK_POTION("minecraft:entity.wandering_trader.drink_potion"), + WANDERING_TRADER_DRINK_POTION(NamespaceID.from("minecraft:entity.wandering_trader.drink_potion")), - ENTITY_WANDERING_TRADER_HURT("minecraft:entity.wandering_trader.hurt"), + WANDERING_TRADER_HURT(NamespaceID.from("minecraft:entity.wandering_trader.hurt")), - ENTITY_WANDERING_TRADER_NO("minecraft:entity.wandering_trader.no"), + WANDERING_TRADER_NO(NamespaceID.from("minecraft:entity.wandering_trader.no")), - ENTITY_WANDERING_TRADER_REAPPEARED("minecraft:entity.wandering_trader.reappeared"), + WANDERING_TRADER_REAPPEARED(NamespaceID.from("minecraft:entity.wandering_trader.reappeared")), - ENTITY_WANDERING_TRADER_TRADE("minecraft:entity.wandering_trader.trade"), + WANDERING_TRADER_TRADE(NamespaceID.from("minecraft:entity.wandering_trader.trade")), - ENTITY_WANDERING_TRADER_YES("minecraft:entity.wandering_trader.yes"), + WANDERING_TRADER_YES(NamespaceID.from("minecraft:entity.wandering_trader.yes")), - BLOCK_WATER_AMBIENT("minecraft:block.water.ambient"), + WATER_AMBIENT(NamespaceID.from("minecraft:block.water.ambient")), - WEATHER_RAIN("minecraft:weather.rain"), + WEATHER_RAIN(NamespaceID.from("minecraft:weather.rain")), - WEATHER_RAIN_ABOVE("minecraft:weather.rain.above"), + WEATHER_RAIN_ABOVE(NamespaceID.from("minecraft:weather.rain.above")), - BLOCK_WET_GRASS_BREAK("minecraft:block.wet_grass.break"), + WET_GRASS_BREAK(NamespaceID.from("minecraft:block.wet_grass.break")), - BLOCK_WET_GRASS_FALL("minecraft:block.wet_grass.fall"), + WET_GRASS_FALL(NamespaceID.from("minecraft:block.wet_grass.fall")), - BLOCK_WET_GRASS_HIT("minecraft:block.wet_grass.hit"), + WET_GRASS_HIT(NamespaceID.from("minecraft:block.wet_grass.hit")), - BLOCK_WET_GRASS_PLACE("minecraft:block.wet_grass.place"), + WET_GRASS_PLACE(NamespaceID.from("minecraft:block.wet_grass.place")), - BLOCK_WET_GRASS_STEP("minecraft:block.wet_grass.step"), + WET_GRASS_STEP(NamespaceID.from("minecraft:block.wet_grass.step")), - ENTITY_WITCH_AMBIENT("minecraft:entity.witch.ambient"), + WITCH_AMBIENT(NamespaceID.from("minecraft:entity.witch.ambient")), - ENTITY_WITCH_CELEBRATE("minecraft:entity.witch.celebrate"), + WITCH_CELEBRATE(NamespaceID.from("minecraft:entity.witch.celebrate")), - ENTITY_WITCH_DEATH("minecraft:entity.witch.death"), + WITCH_DEATH(NamespaceID.from("minecraft:entity.witch.death")), - ENTITY_WITCH_DRINK("minecraft:entity.witch.drink"), + WITCH_DRINK(NamespaceID.from("minecraft:entity.witch.drink")), - ENTITY_WITCH_HURT("minecraft:entity.witch.hurt"), + WITCH_HURT(NamespaceID.from("minecraft:entity.witch.hurt")), - ENTITY_WITCH_THROW("minecraft:entity.witch.throw"), + WITCH_THROW(NamespaceID.from("minecraft:entity.witch.throw")), - ENTITY_WITHER_AMBIENT("minecraft:entity.wither.ambient"), + WITHER_AMBIENT(NamespaceID.from("minecraft:entity.wither.ambient")), - ENTITY_WITHER_BREAK_BLOCK("minecraft:entity.wither.break_block"), + WITHER_BREAK_BLOCK(NamespaceID.from("minecraft:entity.wither.break_block")), - ENTITY_WITHER_DEATH("minecraft:entity.wither.death"), + WITHER_DEATH(NamespaceID.from("minecraft:entity.wither.death")), - ENTITY_WITHER_HURT("minecraft:entity.wither.hurt"), + WITHER_HURT(NamespaceID.from("minecraft:entity.wither.hurt")), - ENTITY_WITHER_SHOOT("minecraft:entity.wither.shoot"), + WITHER_SHOOT(NamespaceID.from("minecraft:entity.wither.shoot")), - ENTITY_WITHER_SKELETON_AMBIENT("minecraft:entity.wither_skeleton.ambient"), + WITHER_SKELETON_AMBIENT(NamespaceID.from("minecraft:entity.wither_skeleton.ambient")), - ENTITY_WITHER_SKELETON_DEATH("minecraft:entity.wither_skeleton.death"), + WITHER_SKELETON_DEATH(NamespaceID.from("minecraft:entity.wither_skeleton.death")), - ENTITY_WITHER_SKELETON_HURT("minecraft:entity.wither_skeleton.hurt"), + WITHER_SKELETON_HURT(NamespaceID.from("minecraft:entity.wither_skeleton.hurt")), - ENTITY_WITHER_SKELETON_STEP("minecraft:entity.wither_skeleton.step"), + WITHER_SKELETON_STEP(NamespaceID.from("minecraft:entity.wither_skeleton.step")), - ENTITY_WITHER_SPAWN("minecraft:entity.wither.spawn"), + WITHER_SPAWN(NamespaceID.from("minecraft:entity.wither.spawn")), - ENTITY_WOLF_AMBIENT("minecraft:entity.wolf.ambient"), + WOLF_AMBIENT(NamespaceID.from("minecraft:entity.wolf.ambient")), - ENTITY_WOLF_DEATH("minecraft:entity.wolf.death"), + WOLF_DEATH(NamespaceID.from("minecraft:entity.wolf.death")), - ENTITY_WOLF_GROWL("minecraft:entity.wolf.growl"), + WOLF_GROWL(NamespaceID.from("minecraft:entity.wolf.growl")), - ENTITY_WOLF_HOWL("minecraft:entity.wolf.howl"), + WOLF_HOWL(NamespaceID.from("minecraft:entity.wolf.howl")), - ENTITY_WOLF_HURT("minecraft:entity.wolf.hurt"), + WOLF_HURT(NamespaceID.from("minecraft:entity.wolf.hurt")), - ENTITY_WOLF_PANT("minecraft:entity.wolf.pant"), + WOLF_PANT(NamespaceID.from("minecraft:entity.wolf.pant")), - ENTITY_WOLF_SHAKE("minecraft:entity.wolf.shake"), + WOLF_SHAKE(NamespaceID.from("minecraft:entity.wolf.shake")), - ENTITY_WOLF_STEP("minecraft:entity.wolf.step"), + WOLF_STEP(NamespaceID.from("minecraft:entity.wolf.step")), - ENTITY_WOLF_WHINE("minecraft:entity.wolf.whine"), + WOLF_WHINE(NamespaceID.from("minecraft:entity.wolf.whine")), - BLOCK_WOODEN_DOOR_CLOSE("minecraft:block.wooden_door.close"), + WOODEN_DOOR_CLOSE(NamespaceID.from("minecraft:block.wooden_door.close")), - BLOCK_WOODEN_DOOR_OPEN("minecraft:block.wooden_door.open"), + WOODEN_DOOR_OPEN(NamespaceID.from("minecraft:block.wooden_door.open")), - BLOCK_WOODEN_TRAPDOOR_CLOSE("minecraft:block.wooden_trapdoor.close"), + WOODEN_TRAPDOOR_CLOSE(NamespaceID.from("minecraft:block.wooden_trapdoor.close")), - BLOCK_WOODEN_TRAPDOOR_OPEN("minecraft:block.wooden_trapdoor.open"), + WOODEN_TRAPDOOR_OPEN(NamespaceID.from("minecraft:block.wooden_trapdoor.open")), - BLOCK_WOOD_BREAK("minecraft:block.wood.break"), + WOOD_BREAK(NamespaceID.from("minecraft:block.wood.break")), - BLOCK_WOODEN_BUTTON_CLICK_OFF("minecraft:block.wooden_button.click_off"), + WOODEN_BUTTON_CLICK_OFF(NamespaceID.from("minecraft:block.wooden_button.click_off")), - BLOCK_WOODEN_BUTTON_CLICK_ON("minecraft:block.wooden_button.click_on"), + WOODEN_BUTTON_CLICK_ON(NamespaceID.from("minecraft:block.wooden_button.click_on")), - BLOCK_WOOD_FALL("minecraft:block.wood.fall"), + WOOD_FALL(NamespaceID.from("minecraft:block.wood.fall")), - BLOCK_WOOD_HIT("minecraft:block.wood.hit"), + WOOD_HIT(NamespaceID.from("minecraft:block.wood.hit")), - BLOCK_WOOD_PLACE("minecraft:block.wood.place"), + WOOD_PLACE(NamespaceID.from("minecraft:block.wood.place")), - BLOCK_WOODEN_PRESSURE_PLATE_CLICK_OFF("minecraft:block.wooden_pressure_plate.click_off"), + WOODEN_PRESSURE_PLATE_CLICK_OFF(NamespaceID.from("minecraft:block.wooden_pressure_plate.click_off")), - BLOCK_WOODEN_PRESSURE_PLATE_CLICK_ON("minecraft:block.wooden_pressure_plate.click_on"), + WOODEN_PRESSURE_PLATE_CLICK_ON(NamespaceID.from("minecraft:block.wooden_pressure_plate.click_on")), - BLOCK_WOOD_STEP("minecraft:block.wood.step"), + WOOD_STEP(NamespaceID.from("minecraft:block.wood.step")), - BLOCK_WOOL_BREAK("minecraft:block.wool.break"), + WOOL_BREAK(NamespaceID.from("minecraft:block.wool.break")), - BLOCK_WOOL_FALL("minecraft:block.wool.fall"), + WOOL_FALL(NamespaceID.from("minecraft:block.wool.fall")), - BLOCK_WOOL_HIT("minecraft:block.wool.hit"), + WOOL_HIT(NamespaceID.from("minecraft:block.wool.hit")), - BLOCK_WOOL_PLACE("minecraft:block.wool.place"), + WOOL_PLACE(NamespaceID.from("minecraft:block.wool.place")), - BLOCK_WOOL_STEP("minecraft:block.wool.step"), + WOOL_STEP(NamespaceID.from("minecraft:block.wool.step")), - ENTITY_ZOGLIN_AMBIENT("minecraft:entity.zoglin.ambient"), + ZOGLIN_AMBIENT(NamespaceID.from("minecraft:entity.zoglin.ambient")), - ENTITY_ZOGLIN_ANGRY("minecraft:entity.zoglin.angry"), + ZOGLIN_ANGRY(NamespaceID.from("minecraft:entity.zoglin.angry")), - ENTITY_ZOGLIN_ATTACK("minecraft:entity.zoglin.attack"), + ZOGLIN_ATTACK(NamespaceID.from("minecraft:entity.zoglin.attack")), - ENTITY_ZOGLIN_DEATH("minecraft:entity.zoglin.death"), + ZOGLIN_DEATH(NamespaceID.from("minecraft:entity.zoglin.death")), - ENTITY_ZOGLIN_HURT("minecraft:entity.zoglin.hurt"), + ZOGLIN_HURT(NamespaceID.from("minecraft:entity.zoglin.hurt")), - ENTITY_ZOGLIN_STEP("minecraft:entity.zoglin.step"), + ZOGLIN_STEP(NamespaceID.from("minecraft:entity.zoglin.step")), - ENTITY_ZOMBIE_AMBIENT("minecraft:entity.zombie.ambient"), + ZOMBIE_AMBIENT(NamespaceID.from("minecraft:entity.zombie.ambient")), - ENTITY_ZOMBIE_ATTACK_WOODEN_DOOR("minecraft:entity.zombie.attack_wooden_door"), + ZOMBIE_ATTACK_WOODEN_DOOR(NamespaceID.from("minecraft:entity.zombie.attack_wooden_door")), - ENTITY_ZOMBIE_ATTACK_IRON_DOOR("minecraft:entity.zombie.attack_iron_door"), + ZOMBIE_ATTACK_IRON_DOOR(NamespaceID.from("minecraft:entity.zombie.attack_iron_door")), - ENTITY_ZOMBIE_BREAK_WOODEN_DOOR("minecraft:entity.zombie.break_wooden_door"), + ZOMBIE_BREAK_WOODEN_DOOR(NamespaceID.from("minecraft:entity.zombie.break_wooden_door")), - ENTITY_ZOMBIE_CONVERTED_TO_DROWNED("minecraft:entity.zombie.converted_to_drowned"), + ZOMBIE_CONVERTED_TO_DROWNED(NamespaceID.from("minecraft:entity.zombie.converted_to_drowned")), - ENTITY_ZOMBIE_DEATH("minecraft:entity.zombie.death"), + ZOMBIE_DEATH(NamespaceID.from("minecraft:entity.zombie.death")), - ENTITY_ZOMBIE_DESTROY_EGG("minecraft:entity.zombie.destroy_egg"), + ZOMBIE_DESTROY_EGG(NamespaceID.from("minecraft:entity.zombie.destroy_egg")), - ENTITY_ZOMBIE_HORSE_AMBIENT("minecraft:entity.zombie_horse.ambient"), + ZOMBIE_HORSE_AMBIENT(NamespaceID.from("minecraft:entity.zombie_horse.ambient")), - ENTITY_ZOMBIE_HORSE_DEATH("minecraft:entity.zombie_horse.death"), + ZOMBIE_HORSE_DEATH(NamespaceID.from("minecraft:entity.zombie_horse.death")), - ENTITY_ZOMBIE_HORSE_HURT("minecraft:entity.zombie_horse.hurt"), + ZOMBIE_HORSE_HURT(NamespaceID.from("minecraft:entity.zombie_horse.hurt")), - ENTITY_ZOMBIE_HURT("minecraft:entity.zombie.hurt"), + ZOMBIE_HURT(NamespaceID.from("minecraft:entity.zombie.hurt")), - ENTITY_ZOMBIE_INFECT("minecraft:entity.zombie.infect"), + ZOMBIE_INFECT(NamespaceID.from("minecraft:entity.zombie.infect")), - ENTITY_ZOMBIFIED_PIGLIN_AMBIENT("minecraft:entity.zombified_piglin.ambient"), + ZOMBIFIED_PIGLIN_AMBIENT(NamespaceID.from("minecraft:entity.zombified_piglin.ambient")), - ENTITY_ZOMBIFIED_PIGLIN_ANGRY("minecraft:entity.zombified_piglin.angry"), + ZOMBIFIED_PIGLIN_ANGRY(NamespaceID.from("minecraft:entity.zombified_piglin.angry")), - ENTITY_ZOMBIFIED_PIGLIN_DEATH("minecraft:entity.zombified_piglin.death"), + ZOMBIFIED_PIGLIN_DEATH(NamespaceID.from("minecraft:entity.zombified_piglin.death")), - ENTITY_ZOMBIFIED_PIGLIN_HURT("minecraft:entity.zombified_piglin.hurt"), + ZOMBIFIED_PIGLIN_HURT(NamespaceID.from("minecraft:entity.zombified_piglin.hurt")), - ENTITY_ZOMBIE_STEP("minecraft:entity.zombie.step"), + ZOMBIE_STEP(NamespaceID.from("minecraft:entity.zombie.step")), - ENTITY_ZOMBIE_VILLAGER_AMBIENT("minecraft:entity.zombie_villager.ambient"), + ZOMBIE_VILLAGER_AMBIENT(NamespaceID.from("minecraft:entity.zombie_villager.ambient")), - ENTITY_ZOMBIE_VILLAGER_CONVERTED("minecraft:entity.zombie_villager.converted"), + ZOMBIE_VILLAGER_CONVERTED(NamespaceID.from("minecraft:entity.zombie_villager.converted")), - ENTITY_ZOMBIE_VILLAGER_CURE("minecraft:entity.zombie_villager.cure"), + ZOMBIE_VILLAGER_CURE(NamespaceID.from("minecraft:entity.zombie_villager.cure")), - ENTITY_ZOMBIE_VILLAGER_DEATH("minecraft:entity.zombie_villager.death"), + ZOMBIE_VILLAGER_DEATH(NamespaceID.from("minecraft:entity.zombie_villager.death")), - ENTITY_ZOMBIE_VILLAGER_HURT("minecraft:entity.zombie_villager.hurt"), + ZOMBIE_VILLAGER_HURT(NamespaceID.from("minecraft:entity.zombie_villager.hurt")), - ENTITY_ZOMBIE_VILLAGER_STEP("minecraft:entity.zombie_villager.step"); + ZOMBIE_VILLAGER_STEP(NamespaceID.from("minecraft:entity.zombie_villager.step")); - private final String namespaceID; + private static final SoundEvent[] VALUES = values(); - private final Key key; + @NotNull + private final NamespaceID id; - SoundEvent(String namespaceID) { - this.namespaceID = namespaceID; - Registries.soundEvents.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); - } - - public int getId() { - return ordinal(); - } - - public String getNamespaceID() { - return namespaceID; + SoundEvent(@NotNull NamespaceID id) { + this.id = id; + Registries.soundEvents.put(id, this); } + @Override + @NotNull public Key key() { - return this.key; + return this.id; } - public static SoundEvent fromId(int id) { - if (id >= 0 && id < values().length) { - return values()[id]; + public short getId() { + return (short) ordinal(); + } + + @NotNull + public NamespaceID getNamespaceID() { + return this.id; + } + + @Nullable + public static SoundEvent fromId(short id) { + if(id >= 0 && id < VALUES.length) { + return VALUES[id]; } return null; } + + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; + } } diff --git a/src/autogenerated/java/net/minestom/server/stat/StatisticType.java b/src/autogenerated/java/net/minestom/server/stat/StatisticType.java deleted file mode 100644 index fea4762ff..000000000 --- a/src/autogenerated/java/net/minestom/server/stat/StatisticType.java +++ /dev/null @@ -1,191 +0,0 @@ -package net.minestom.server.stat; - -import net.kyori.adventure.key.Key; -import net.kyori.adventure.key.Keyed; -import net.minestom.server.registry.Registries; -import net.minestom.server.utils.NamespaceID; - -/** - * //============================== - * // AUTOGENERATED BY EnumGenerator - * //============================== - */ -@SuppressWarnings({"deprecation"}) -public enum StatisticType implements Keyed { - LEAVE_GAME("minecraft:leave_game"), - - PLAY_ONE_MINUTE("minecraft:play_one_minute"), - - TIME_SINCE_DEATH("minecraft:time_since_death"), - - TIME_SINCE_REST("minecraft:time_since_rest"), - - SNEAK_TIME("minecraft:sneak_time"), - - WALK_ONE_CM("minecraft:walk_one_cm"), - - CROUCH_ONE_CM("minecraft:crouch_one_cm"), - - SPRINT_ONE_CM("minecraft:sprint_one_cm"), - - WALK_ON_WATER_ONE_CM("minecraft:walk_on_water_one_cm"), - - FALL_ONE_CM("minecraft:fall_one_cm"), - - CLIMB_ONE_CM("minecraft:climb_one_cm"), - - FLY_ONE_CM("minecraft:fly_one_cm"), - - WALK_UNDER_WATER_ONE_CM("minecraft:walk_under_water_one_cm"), - - MINECART_ONE_CM("minecraft:minecart_one_cm"), - - BOAT_ONE_CM("minecraft:boat_one_cm"), - - PIG_ONE_CM("minecraft:pig_one_cm"), - - HORSE_ONE_CM("minecraft:horse_one_cm"), - - AVIATE_ONE_CM("minecraft:aviate_one_cm"), - - SWIM_ONE_CM("minecraft:swim_one_cm"), - - STRIDER_ONE_CM("minecraft:strider_one_cm"), - - JUMP("minecraft:jump"), - - DROP("minecraft:drop"), - - DAMAGE_DEALT("minecraft:damage_dealt"), - - DAMAGE_DEALT_ABSORBED("minecraft:damage_dealt_absorbed"), - - DAMAGE_DEALT_RESISTED("minecraft:damage_dealt_resisted"), - - DAMAGE_TAKEN("minecraft:damage_taken"), - - DAMAGE_BLOCKED_BY_SHIELD("minecraft:damage_blocked_by_shield"), - - DAMAGE_ABSORBED("minecraft:damage_absorbed"), - - DAMAGE_RESISTED("minecraft:damage_resisted"), - - DEATHS("minecraft:deaths"), - - MOB_KILLS("minecraft:mob_kills"), - - ANIMALS_BRED("minecraft:animals_bred"), - - PLAYER_KILLS("minecraft:player_kills"), - - FISH_CAUGHT("minecraft:fish_caught"), - - TALKED_TO_VILLAGER("minecraft:talked_to_villager"), - - TRADED_WITH_VILLAGER("minecraft:traded_with_villager"), - - EAT_CAKE_SLICE("minecraft:eat_cake_slice"), - - FILL_CAULDRON("minecraft:fill_cauldron"), - - USE_CAULDRON("minecraft:use_cauldron"), - - CLEAN_ARMOR("minecraft:clean_armor"), - - CLEAN_BANNER("minecraft:clean_banner"), - - CLEAN_SHULKER_BOX("minecraft:clean_shulker_box"), - - INTERACT_WITH_BREWINGSTAND("minecraft:interact_with_brewingstand"), - - INTERACT_WITH_BEACON("minecraft:interact_with_beacon"), - - INSPECT_DROPPER("minecraft:inspect_dropper"), - - INSPECT_HOPPER("minecraft:inspect_hopper"), - - INSPECT_DISPENSER("minecraft:inspect_dispenser"), - - PLAY_NOTEBLOCK("minecraft:play_noteblock"), - - TUNE_NOTEBLOCK("minecraft:tune_noteblock"), - - POT_FLOWER("minecraft:pot_flower"), - - TRIGGER_TRAPPED_CHEST("minecraft:trigger_trapped_chest"), - - OPEN_ENDERCHEST("minecraft:open_enderchest"), - - ENCHANT_ITEM("minecraft:enchant_item"), - - PLAY_RECORD("minecraft:play_record"), - - INTERACT_WITH_FURNACE("minecraft:interact_with_furnace"), - - INTERACT_WITH_CRAFTING_TABLE("minecraft:interact_with_crafting_table"), - - OPEN_CHEST("minecraft:open_chest"), - - SLEEP_IN_BED("minecraft:sleep_in_bed"), - - OPEN_SHULKER_BOX("minecraft:open_shulker_box"), - - OPEN_BARREL("minecraft:open_barrel"), - - INTERACT_WITH_BLAST_FURNACE("minecraft:interact_with_blast_furnace"), - - INTERACT_WITH_SMOKER("minecraft:interact_with_smoker"), - - INTERACT_WITH_LECTERN("minecraft:interact_with_lectern"), - - INTERACT_WITH_CAMPFIRE("minecraft:interact_with_campfire"), - - INTERACT_WITH_CARTOGRAPHY_TABLE("minecraft:interact_with_cartography_table"), - - INTERACT_WITH_LOOM("minecraft:interact_with_loom"), - - INTERACT_WITH_STONECUTTER("minecraft:interact_with_stonecutter"), - - BELL_RING("minecraft:bell_ring"), - - RAID_TRIGGER("minecraft:raid_trigger"), - - RAID_WIN("minecraft:raid_win"), - - INTERACT_WITH_ANVIL("minecraft:interact_with_anvil"), - - INTERACT_WITH_GRINDSTONE("minecraft:interact_with_grindstone"), - - TARGET_HIT("minecraft:target_hit"), - - INTERACT_WITH_SMITHING_TABLE("minecraft:interact_with_smithing_table"); - - private final String namespaceID; - - private final Key key; - - StatisticType(String namespaceID) { - this.namespaceID = namespaceID; - Registries.statisticTypes.put(NamespaceID.from(namespaceID), this); - this.key = Key.key(this.namespaceID); - } - - public int getId() { - return ordinal(); - } - - public String getNamespaceID() { - return namespaceID; - } - - public Key key() { - return this.key; - } - - public static StatisticType fromId(int id) { - if (id >= 0 && id < values().length) { - return values()[id]; - } - return null; - } -} diff --git a/src/autogenerated/java/net/minestom/server/statistic/StatisticType.java b/src/autogenerated/java/net/minestom/server/statistic/StatisticType.java new file mode 100644 index 000000000..877151b2f --- /dev/null +++ b/src/autogenerated/java/net/minestom/server/statistic/StatisticType.java @@ -0,0 +1,200 @@ +package net.minestom.server.statistic; + +import net.kyori.adventure.key.Key; +import net.kyori.adventure.key.Keyed; +import net.minestom.server.registry.Registries; +import net.minestom.server.utils.NamespaceID; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * AUTOGENERATED by StatisticGenerator + */ +public enum StatisticType implements Keyed { + LEAVE_GAME(NamespaceID.from("minecraft:leave_game")), + + PLAY_ONE_MINUTE(NamespaceID.from("minecraft:play_one_minute")), + + TIME_SINCE_DEATH(NamespaceID.from("minecraft:time_since_death")), + + TIME_SINCE_REST(NamespaceID.from("minecraft:time_since_rest")), + + CROUCH_TIME(NamespaceID.from("minecraft:sneak_time")), + + WALK_ONE_CM(NamespaceID.from("minecraft:walk_one_cm")), + + CROUCH_ONE_CM(NamespaceID.from("minecraft:crouch_one_cm")), + + SPRINT_ONE_CM(NamespaceID.from("minecraft:sprint_one_cm")), + + WALK_ON_WATER_ONE_CM(NamespaceID.from("minecraft:walk_on_water_one_cm")), + + FALL_ONE_CM(NamespaceID.from("minecraft:fall_one_cm")), + + CLIMB_ONE_CM(NamespaceID.from("minecraft:climb_one_cm")), + + FLY_ONE_CM(NamespaceID.from("minecraft:fly_one_cm")), + + WALK_UNDER_WATER_ONE_CM(NamespaceID.from("minecraft:walk_under_water_one_cm")), + + MINECART_ONE_CM(NamespaceID.from("minecraft:minecart_one_cm")), + + BOAT_ONE_CM(NamespaceID.from("minecraft:boat_one_cm")), + + PIG_ONE_CM(NamespaceID.from("minecraft:pig_one_cm")), + + HORSE_ONE_CM(NamespaceID.from("minecraft:horse_one_cm")), + + AVIATE_ONE_CM(NamespaceID.from("minecraft:aviate_one_cm")), + + SWIM_ONE_CM(NamespaceID.from("minecraft:swim_one_cm")), + + STRIDER_ONE_CM(NamespaceID.from("minecraft:strider_one_cm")), + + JUMP(NamespaceID.from("minecraft:jump")), + + DROP(NamespaceID.from("minecraft:drop")), + + DAMAGE_DEALT(NamespaceID.from("minecraft:damage_dealt")), + + DAMAGE_DEALT_ABSORBED(NamespaceID.from("minecraft:damage_dealt_absorbed")), + + DAMAGE_DEALT_RESISTED(NamespaceID.from("minecraft:damage_dealt_resisted")), + + DAMAGE_TAKEN(NamespaceID.from("minecraft:damage_taken")), + + DAMAGE_BLOCKED_BY_SHIELD(NamespaceID.from("minecraft:damage_blocked_by_shield")), + + DAMAGE_ABSORBED(NamespaceID.from("minecraft:damage_absorbed")), + + DAMAGE_RESISTED(NamespaceID.from("minecraft:damage_resisted")), + + DEATHS(NamespaceID.from("minecraft:deaths")), + + MOB_KILLS(NamespaceID.from("minecraft:mob_kills")), + + ANIMALS_BRED(NamespaceID.from("minecraft:animals_bred")), + + PLAYER_KILLS(NamespaceID.from("minecraft:player_kills")), + + FISH_CAUGHT(NamespaceID.from("minecraft:fish_caught")), + + TALKED_TO_VILLAGER(NamespaceID.from("minecraft:talked_to_villager")), + + TRADED_WITH_VILLAGER(NamespaceID.from("minecraft:traded_with_villager")), + + EAT_CAKE_SLICE(NamespaceID.from("minecraft:eat_cake_slice")), + + FILL_CAULDRON(NamespaceID.from("minecraft:fill_cauldron")), + + USE_CAULDRON(NamespaceID.from("minecraft:use_cauldron")), + + CLEAN_ARMOR(NamespaceID.from("minecraft:clean_armor")), + + CLEAN_BANNER(NamespaceID.from("minecraft:clean_banner")), + + CLEAN_SHULKER_BOX(NamespaceID.from("minecraft:clean_shulker_box")), + + INTERACT_WITH_BREWINGSTAND(NamespaceID.from("minecraft:interact_with_brewingstand")), + + INTERACT_WITH_BEACON(NamespaceID.from("minecraft:interact_with_beacon")), + + INSPECT_DROPPER(NamespaceID.from("minecraft:inspect_dropper")), + + INSPECT_HOPPER(NamespaceID.from("minecraft:inspect_hopper")), + + INSPECT_DISPENSER(NamespaceID.from("minecraft:inspect_dispenser")), + + PLAY_NOTEBLOCK(NamespaceID.from("minecraft:play_noteblock")), + + TUNE_NOTEBLOCK(NamespaceID.from("minecraft:tune_noteblock")), + + POT_FLOWER(NamespaceID.from("minecraft:pot_flower")), + + TRIGGER_TRAPPED_CHEST(NamespaceID.from("minecraft:trigger_trapped_chest")), + + OPEN_ENDERCHEST(NamespaceID.from("minecraft:open_enderchest")), + + ENCHANT_ITEM(NamespaceID.from("minecraft:enchant_item")), + + PLAY_RECORD(NamespaceID.from("minecraft:play_record")), + + INTERACT_WITH_FURNACE(NamespaceID.from("minecraft:interact_with_furnace")), + + INTERACT_WITH_CRAFTING_TABLE(NamespaceID.from("minecraft:interact_with_crafting_table")), + + OPEN_CHEST(NamespaceID.from("minecraft:open_chest")), + + SLEEP_IN_BED(NamespaceID.from("minecraft:sleep_in_bed")), + + OPEN_SHULKER_BOX(NamespaceID.from("minecraft:open_shulker_box")), + + OPEN_BARREL(NamespaceID.from("minecraft:open_barrel")), + + INTERACT_WITH_BLAST_FURNACE(NamespaceID.from("minecraft:interact_with_blast_furnace")), + + INTERACT_WITH_SMOKER(NamespaceID.from("minecraft:interact_with_smoker")), + + INTERACT_WITH_LECTERN(NamespaceID.from("minecraft:interact_with_lectern")), + + INTERACT_WITH_CAMPFIRE(NamespaceID.from("minecraft:interact_with_campfire")), + + INTERACT_WITH_CARTOGRAPHY_TABLE(NamespaceID.from("minecraft:interact_with_cartography_table")), + + INTERACT_WITH_LOOM(NamespaceID.from("minecraft:interact_with_loom")), + + INTERACT_WITH_STONECUTTER(NamespaceID.from("minecraft:interact_with_stonecutter")), + + BELL_RING(NamespaceID.from("minecraft:bell_ring")), + + RAID_TRIGGER(NamespaceID.from("minecraft:raid_trigger")), + + RAID_WIN(NamespaceID.from("minecraft:raid_win")), + + INTERACT_WITH_ANVIL(NamespaceID.from("minecraft:interact_with_anvil")), + + INTERACT_WITH_GRINDSTONE(NamespaceID.from("minecraft:interact_with_grindstone")), + + TARGET_HIT(NamespaceID.from("minecraft:target_hit")), + + INTERACT_WITH_SMITHING_TABLE(NamespaceID.from("minecraft:interact_with_smithing_table")); + + private static final StatisticType[] VALUES = values(); + + @NotNull + private final NamespaceID id; + + StatisticType(@NotNull NamespaceID id) { + this.id = id; + Registries.statisticTypes.put(id, this); + } + + @Override + @NotNull + public Key key() { + return this.id; + } + + public short getId() { + return (short) ordinal(); + } + + @NotNull + public NamespaceID getNamespaceID() { + return this.id; + } + + @Nullable + public static StatisticType fromId(short id) { + if(id >= 0 && id < VALUES.length) { + return VALUES[id]; + } + return null; + } + + @NotNull + @Override + public String toString() { + return "[" + this.id + "]"; + } +} diff --git a/src/generators/java/net/minestom/codegen/AllGenerators.java b/src/generators/java/net/minestom/codegen/AllGenerators.java deleted file mode 100644 index d63856e81..000000000 --- a/src/generators/java/net/minestom/codegen/AllGenerators.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.minestom.codegen; - -import net.minestom.codegen.blocks.BlockEnumGenerator; -import net.minestom.codegen.enchantment.EnchantmentEnumGenerator; -import net.minestom.codegen.entitytypes.EntityTypeEnumGenerator; -import net.minestom.codegen.fluids.FluidEnumGenerator; -import net.minestom.codegen.items.ItemEnumGenerator; -import net.minestom.codegen.particles.ParticleEnumGenerator; -import net.minestom.codegen.potions.PotionEffectEnumGenerator; -import net.minestom.codegen.potions.PotionEnumGenerator; -import net.minestom.codegen.sounds.SoundEnumGenerator; -import net.minestom.codegen.stats.StatsEnumGenerator; - -import java.io.IOException; - -public class AllGenerators { - - public static void main(String[] args) throws IOException { - BlockEnumGenerator.main(args); - ItemEnumGenerator.main(args); // must be done after block - PotionEnumGenerator.main(args); - PotionEffectEnumGenerator.main(args); - EnchantmentEnumGenerator.main(args); - EntityTypeEnumGenerator.main(args); - SoundEnumGenerator.main(args); - ParticleEnumGenerator.main(args); - StatsEnumGenerator.main(args); - FluidEnumGenerator.main(args); - RegistriesGenerator.main(args); - } -} diff --git a/src/generators/java/net/minestom/codegen/BasicEnumGenerator.java b/src/generators/java/net/minestom/codegen/BasicEnumGenerator.java deleted file mode 100644 index b51ae322a..000000000 --- a/src/generators/java/net/minestom/codegen/BasicEnumGenerator.java +++ /dev/null @@ -1,160 +0,0 @@ -package net.minestom.codegen; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import com.squareup.javapoet.*; -import net.kyori.adventure.key.Key; -import net.kyori.adventure.key.Keyed; -import net.minestom.server.registry.Registries; -import net.minestom.server.utils.NamespaceID; - -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.*; - -public abstract class BasicEnumGenerator extends MinestomEnumGenerator { - - private static final String MC_DATA_REGISTRIES_PATH = "minecraft_data/reports/registries.json"; - /** - * Are IDs linear? Biomes are not for instance. - */ - private final boolean linear; - private NamespaceID defaultEntry; - - /** - * True if the enum is linear and start by 1 instead of 0 - */ - private boolean incrementOrdinal; - - protected BasicEnumGenerator(File targetFolder, boolean linear, boolean incrementOrdinal) throws IOException { - this.linear = linear; - this.incrementOrdinal = incrementOrdinal; - generateTo(targetFolder); - } - - protected BasicEnumGenerator(File targetFolder, boolean linear) throws IOException { - this(targetFolder, linear, false); - } - - protected BasicEnumGenerator(File targetFolder) throws IOException { - this(targetFolder, true); - } - - @Override - protected Collection compile() throws IOException { - Gson gson = new Gson(); - - TreeSet items = new TreeSet<>(); - - JsonObject root = gson.fromJson(new FileReader(MC_DATA_REGISTRIES_PATH), JsonObject.class); - JsonObject category = root.getAsJsonObject(getCategoryID()); - Objects.requireNonNull(category, "Category " + getCategoryID() + " not found in registries.json!"); - final JsonObject entries = category.getAsJsonObject("entries"); - if (category.has("default")) { - defaultEntry = NamespaceID.from(category.get("default").getAsString()); - } - for (var entry : entries.entrySet()) { - final NamespaceID name = NamespaceID.from(entry.getKey()); - final int id = entry.getValue().getAsJsonObject().get("protocol_id").getAsInt(); - items.add(new Container(id, name)); - } - - return items; - } - - protected abstract String getCategoryID(); - - @Override - protected void postWrite(EnumGenerator generator) { - ClassName className = ClassName.get(getPackageName(), getClassName()); - ParameterSpec idParam = ParameterSpec.builder(TypeName.INT, "id").build(); - ParameterSpec[] signature = new ParameterSpec[]{idParam}; - if (linear) { - final String ordinalIncrementCondition = incrementOrdinal ? " + 1" : ""; - final String ordinalIncrementIndex = incrementOrdinal ? " - 1" : ""; - generator.addStaticMethod("fromId", signature, className, code -> { - code.beginControlFlow("if ($N >= 0 && $N < values().length" + ordinalIncrementCondition + ")", idParam, idParam) - .addStatement("return values()[$N" + ordinalIncrementIndex + "]", idParam) - .endControlFlow() - .addStatement("return " + (defaultEntry == null ? "null" : identifier(defaultEntry))); - } - ); - } else { - generator.addStaticMethod("fromId", signature, className, code -> { - code.beginControlFlow("for ($T o : values())") - .beginControlFlow("if (o.getId() == id)") - .addStatement("return o") - .endControlFlow() - .endControlFlow() - .addStatement("return " + (defaultEntry == null ? "null" : identifier(defaultEntry))); - } - ); - } - } - - private String identifier(NamespaceID id) { - return id.getPath().toUpperCase().replace(".", "_"); // block.ambient.cave will be replaced by "BLOCK_AMBIENT_CAVE" - } - - @Override - protected List postGeneration(Collection items) throws IOException { - return Collections.emptyList(); - } - - @Override - protected void prepare(EnumGenerator generator) { - generator.addClassAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "{$S}", "deprecation").build()); - ClassName registriesClass = ClassName.get(Registries.class); - if (linear) { - generator.setParams(ParameterSpec.builder(ClassName.get(String.class), "namespaceID").build()); - generator.addMethod("getId", new ParameterSpec[0], TypeName.INT, code -> code.addStatement("return ordinal()" + (incrementOrdinal ? " + 1" : ""))); - } else { - generator.setParams(ParameterSpec.builder(ClassName.get(String.class), "namespaceID").build(), ParameterSpec.builder(TypeName.INT, "id").build()); - generator.addMethod("getId", new ParameterSpec[0], TypeName.INT, code -> code.addStatement("return $N", "id")); - } - generator.addMethod("getNamespaceID", new ParameterSpec[0], ClassName.get(String.class), code -> code.addStatement("return $N", "namespaceID")); - - generator.appendToConstructor(code -> { - code.addStatement("$T." + CodeGenerator.decapitalize(getClassName()) + "s.put($T.from($N), this)", registriesClass, NamespaceID.class, "namespaceID"); - }); - - // implement Keyed - generator.addSuperinterface(ClassName.get(Keyed.class)); - generator.addField(ClassName.get(Key.class), "key", true); - generator.appendToConstructor(code -> code.addStatement("this.key = Key.key(this.namespaceID)")); - generator.addMethod("key", new ParameterSpec[0], ClassName.get(Key.class), code -> code.addStatement("return this.key")); - } - - @Override - protected void writeSingle(EnumGenerator generator, Container item) { - if (linear) { - generator.addInstance(identifier(item.name), "\"" + item.name.toString() + "\""); - } else { - generator.addInstance(identifier(item.name), "\"" + item.name.toString() + "\"", item.id); - } - } - - static class Container implements Comparable { - private int id; - private NamespaceID name; - - public Container(int id, NamespaceID name) { - this.id = id; - this.name = name; - } - - public NamespaceID getName() { - return name; - } - - public int getId() { - return id; - } - - @Override - public int compareTo(Container o) { - return Integer.compare(id, o.id); - } - } -} diff --git a/src/generators/java/net/minestom/codegen/CodeGenerator.java b/src/generators/java/net/minestom/codegen/CodeGenerator.java deleted file mode 100644 index b0cfe0e26..000000000 --- a/src/generators/java/net/minestom/codegen/CodeGenerator.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.minestom.codegen; - -import com.squareup.javapoet.JavaFile; -import org.slf4j.Logger; - -import java.io.*; -import java.util.List; - -/** - * Interface representing a code generator - */ -public interface CodeGenerator { - - /** - * Generates the Java code - * @return - */ - List generate() throws IOException; - - default void generateTo(File targetFolder) throws IOException { - List code = generate(); - - for(JavaFile file : code) { - getLogger().debug("Writing file: "+file.packageName+"."+file.typeSpec.name); - file.writeTo(targetFolder); - } - } - - Logger getLogger(); - - static String decapitalize(String text) { - char first = text.charAt(0); - return ""+Character.toLowerCase(first)+text.substring(1); - } -} diff --git a/src/generators/java/net/minestom/codegen/ConstructorLambda.java b/src/generators/java/net/minestom/codegen/ConstructorLambda.java deleted file mode 100644 index b1b77c112..000000000 --- a/src/generators/java/net/minestom/codegen/ConstructorLambda.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.minestom.codegen; - -import com.squareup.javapoet.ClassName; - -public class ConstructorLambda { - - private final ClassName className; - - public ConstructorLambda(ClassName className) { - this.className = className; - } - - public ClassName getClassName() { - return className; - } -} diff --git a/src/generators/java/net/minestom/codegen/EnumGenerator.java b/src/generators/java/net/minestom/codegen/EnumGenerator.java deleted file mode 100644 index 60c2d193b..000000000 --- a/src/generators/java/net/minestom/codegen/EnumGenerator.java +++ /dev/null @@ -1,258 +0,0 @@ -package net.minestom.codegen; - -import com.squareup.javapoet.*; -import org.apache.commons.lang3.tuple.Pair; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.lang.model.element.Modifier; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; -import java.util.function.Consumer; - -/** - * Helper class to generate a .java enum - */ -public class EnumGenerator implements CodeGenerator { - - private final static Logger LOGGER = LoggerFactory.getLogger(EnumGenerator.class); - private static final String COMMENT = "//==============================\n// AUTOGENERATED BY " + EnumGenerator.class.getSimpleName() + "\n//=============================="; - - private final String enumName; - private ParameterSpec[] parameters; - private List superinterfaces = new LinkedList<>(); - private List methods = new LinkedList<>(); - private List staticFields = new LinkedList<>(); - private List instances = new LinkedList<>(); - private List> fields = new LinkedList<>(); - private List hardcodedFields = new LinkedList<>(); - private List annotations = new LinkedList<>(); - private String enumPackage; - private CodeBlock staticBlock; - private List> constructorEnds = new LinkedList<>(); - - public EnumGenerator(String packageName, String enumName) { - this.enumPackage = packageName; - parameters = new ParameterSpec[0]; - this.enumName = enumName; - } - - public void addSuperinterface(TypeName typeNames) { - superinterfaces.add(typeNames); - } - - public void setParams(ParameterSpec... parameters) { - this.parameters = parameters; - } - - public void addMethod(String name, ParameterSpec[] signature, TypeName returnType, Consumer code) { - methods.add(new Method(false, name, signature, returnType, code, false)); - } - - public void addVarargMethod(String name, ParameterSpec[] signature, TypeName returnType, Consumer code) { - methods.add(new Method(false, name, signature, returnType, code, true)); - } - - public void addStaticMethod(String name, ParameterSpec[] signature, TypeName returnType, Consumer code) { - methods.add(new Method(true, name, signature, returnType, code, false)); - } - - public void addStaticField(TypeName type, String name, String value) { - staticFields.add(new Field(type, name, value)); - } - - public void addInstance(String name, Object... parameters) { - instances.add(new Instance(name, parameters)); - } - - public List generate() { - TypeSpec.Builder enumClass = TypeSpec.enumBuilder(ClassName.get(enumPackage, enumName)).addModifiers(Modifier.PUBLIC); - - enumClass.addJavadoc(COMMENT); - for (AnnotationSpec annotation : annotations) { - enumClass.addAnnotation(annotation); - } - - for (Instance instance : instances) { - StringBuilder format = new StringBuilder(); - for (int i = 0; i < instance.parameters.length; i++) { - if (i != 0) { - format.append(", "); - } - if (instance.parameters[i] instanceof ConstructorLambda) { - instance.parameters[i] = ((ConstructorLambda) instance.parameters[i]).getClassName(); - format.append("$T::new"); - } else { - format.append("$L"); - } - } - - // generate instances - TypeSpec arguments = TypeSpec.anonymousClassBuilder(format.toString(), instance.parameters).build(); - enumClass.addEnumConstant(instance.name, arguments); - } - - // add superinterfaces - enumClass.addSuperinterfaces(superinterfaces); - - if (staticBlock != null) { - enumClass.addStaticBlock(staticBlock); - } - - // generate properties & constructor - if (parameters.length != 0) { - // properties - for (ParameterSpec property : parameters) { - enumClass.addField(FieldSpec.builder(property.type, property.name) - .addModifiers(Modifier.PRIVATE, Modifier.FINAL) - .addAnnotations(property.annotations) - .build()); - } - - for (Field field : staticFields) { - enumClass.addField(FieldSpec.builder(field.type, field.name) - .initializer("$L", field.value) - .addModifiers(Modifier.PRIVATE, Modifier.FINAL, Modifier.STATIC) - .build()); - } - - // hard coded fields - for (Field hardcoded : hardcodedFields) { - enumClass.addField(FieldSpec.builder(hardcoded.type, hardcoded.name) - .initializer("$L", hardcoded.value) - .addModifiers(Modifier.PRIVATE) - .build()); - } - - // normal fields - for (Pair field : fields) { - FieldSpec.Builder builder = FieldSpec.builder(field.getLeft().type, field.getLeft().name) - .addModifiers(Modifier.PRIVATE); - - if (field.getRight()) { - builder.addModifiers(Modifier.FINAL); - } - - enumClass.addField(builder.build()); - } - - // constructor - MethodSpec.Builder constructorBuilder = MethodSpec.constructorBuilder(); - for (ParameterSpec param : parameters) { - constructorBuilder.addParameter(param); - - // property assignment - constructorBuilder.addStatement("this.$N = $N", param.name, param.name); - } - CodeBlock.Builder generatorEnd = CodeBlock.builder(); - constructorEnds.forEach(b -> b.accept(generatorEnd)); - constructorBuilder.addCode(generatorEnd.build()); - enumClass.addMethod(constructorBuilder.build()); - } - - // generate methods - for (Method m : methods) { - MethodSpec.Builder methodBuilder = MethodSpec.methodBuilder(m.name); - if (m.isStatic) { - methodBuilder.addModifiers(Modifier.STATIC); - } - methodBuilder.addModifiers(Modifier.PUBLIC); - methodBuilder.returns(m.returnType); - if (m.vararg) { - methodBuilder.varargs(true); - } - for (ParameterSpec parameter : m.signature) { - methodBuilder.addParameter(parameter); - } - - CodeBlock.Builder builder = CodeBlock.builder(); - m.code.accept(builder); - methodBuilder.addCode(builder.build()); - - enumClass.addMethod(methodBuilder.build()); - } - JavaFile file = JavaFile.builder(enumPackage, enumClass.build()) - .skipJavaLangImports(true) - .indent(" ") - .build(); - return Collections.singletonList(file); - } - - public void setStaticInitBlock(CodeBlock staticBlock) { - this.staticBlock = staticBlock; - } - - public void appendToConstructor(Consumer constructorEnding) { - constructorEnds.add(constructorEnding); - } - - public void addField(TypeName type, String name, boolean isFinal) { - fields.add(Pair.of(new Field(type, name), isFinal)); - } - - public void addHardcodedField(TypeName type, String name, String value) { - hardcodedFields.add(new Field(type, name, value)); - } - - public void addClassAnnotation(AnnotationSpec annotation) { - annotations.add(annotation); - } - - public String getPackage() { - return enumPackage; - } - - public String getEnumName() { - return enumName; - } - - @Override - public Logger getLogger() { - return LOGGER; - } - - private static class Method { - private final boolean isStatic; - private String name; - private ParameterSpec[] signature; - private TypeName returnType; - private Consumer code; - private boolean vararg; - - private Method(boolean isStatic, String name, ParameterSpec[] signature, TypeName returnType, Consumer code, boolean vararg) { - this.isStatic = isStatic; - this.name = name; - this.signature = signature; - this.returnType = returnType; - this.code = code; - this.vararg = vararg; - } - } - - private static class Field { - private TypeName type; - private String name; - private String value; - - public Field(TypeName type, String name) { - this(type, name, null); - } - - public Field(TypeName type, String name, String value) { - this.type = type; - this.name = name; - this.value = value; - } - } - - private static class Instance { - private String name; - private Object[] parameters; - - private Instance(String name, Object[] parameters) { - this.name = name; - this.parameters = parameters; - } - } -} diff --git a/src/generators/java/net/minestom/codegen/MinestomEnumGenerator.java b/src/generators/java/net/minestom/codegen/MinestomEnumGenerator.java deleted file mode 100644 index c7fa3d811..000000000 --- a/src/generators/java/net/minestom/codegen/MinestomEnumGenerator.java +++ /dev/null @@ -1,112 +0,0 @@ -package net.minestom.codegen; - -import com.squareup.javapoet.JavaFile; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.*; -import java.util.Collection; -import java.util.LinkedList; -import java.util.List; - -/** - * - * @param the type of container to pass between the extraction and generation phases - */ -public abstract class MinestomEnumGenerator implements CodeGenerator { - private static final Logger LOGGER = LoggerFactory.getLogger(MinestomEnumGenerator.class); - public static final String DEFAULT_TARGET_PATH = "src/autogenerated/java"; - public static final String PRISMARINE_JS_DATA_PATHS = "prismarine-minecraft-data/data/dataPaths.json"; - public static final String BURGER_URL_BASE_URL = "https://pokechu22.github.io/Burger/"; - - /** - * Package name with '.' replaced by '/' - * @return - */ - protected String getRelativeFolderPath() { - return getPackageName().replace(".", "/"); - } - - @Override - public List generate() throws IOException { - EnumGenerator generator = new EnumGenerator(getPackageName(), getClassName()); - prepare(generator); - Collection items = compile(); - for(Container c : items) { - writeSingle(generator, c); - } - - postWrite(generator); - List list = new LinkedList<>(generator.generate()); - list.addAll(postGeneration(items)); - return list; - } - - /** - * Called after writing all compiled items into the enum generator - * @param generator - */ - protected abstract void postWrite(EnumGenerator generator); - - /** - * Called after code generation (only if generated through a {@link #generateTo(File)} call). Can be used to generate additional files - * @param items - */ - protected abstract List postGeneration(Collection items) throws IOException; - - /** - * Package in which to generate the enum - * @return - */ - public abstract String getPackageName(); - - /** - * Name of the enum to generate - * @return - */ - public abstract String getClassName(); - - /** - * Extracts and gather information about the enum we want to generate. - * @throws IOException if an error occurred during data gathering - * @return - */ - protected abstract Collection compile() throws IOException; - - /** - * Prepare the EnumGenerator (package name, class names, imports, constructor...) - * @param generator - */ - protected abstract void prepare(EnumGenerator generator); - - /** - * Write an entry to the generator. The order in which items are provided (via different call) is considered to be - * the order in which they will presented in the enum - * @param generator - * @param item - */ - protected abstract void writeSingle(EnumGenerator generator, Container item); - - /** - * Converts a snake case identifier (some_long_name) to a capitalized camel case identifier (SomeLongName) - * @param identifier - * @return - */ - protected String snakeCaseToCapitalizedCamelCase(String identifier) { - boolean capitalizeNext = true; - StringBuilder result = new StringBuilder(); - char[] chars = identifier.toCharArray(); - for (int i = 0; i < identifier.length(); i++) { - char currentCharacter = chars[i]; - if(capitalizeNext) { - result.append(Character.toUpperCase(currentCharacter)); - capitalizeNext = false; - } else if(currentCharacter == '_') { - capitalizeNext = true; - } else { - result.append(currentCharacter); - } - } - return result.toString(); - } -} diff --git a/src/generators/java/net/minestom/codegen/PrismarinePaths.java b/src/generators/java/net/minestom/codegen/PrismarinePaths.java deleted file mode 100644 index 2c085c7ef..000000000 --- a/src/generators/java/net/minestom/codegen/PrismarinePaths.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.minestom.codegen; - -import java.io.File; - -public class PrismarinePaths { - - private String blocks; - private String biomes; - private String effects; - private String items; - private String recipes; - private String instruments; - private String materials; - private String entities; - private String protocol; - private String windows; - private String version; - private String language; - - public File getBlockFile() { - return getFile(blocks, "blocks"); - } - - public File getItemsFile() { - return getFile(items, "items"); - } - - public File getBiomesFile() { - return getFile(biomes, "biomes"); - } - - public File getFile(String path, String type) { - return new File("prismarine-minecraft-data/data/" + path + "/" + type + ".json"); - } -} diff --git a/src/generators/java/net/minestom/codegen/RegistriesGenerator.java b/src/generators/java/net/minestom/codegen/RegistriesGenerator.java deleted file mode 100644 index ac2888a4a..000000000 --- a/src/generators/java/net/minestom/codegen/RegistriesGenerator.java +++ /dev/null @@ -1,192 +0,0 @@ -package net.minestom.codegen; - -import com.squareup.javapoet.*; -import net.kyori.adventure.key.Key; -import net.minestom.server.entity.EntityType; -import net.minestom.server.fluids.Fluid; -import net.minestom.server.instance.block.Block; -import net.minestom.server.item.Enchantment; -import net.minestom.server.item.Material; -import net.minestom.server.particle.Particle; -import net.minestom.server.potion.PotionEffect; -import net.minestom.server.potion.PotionType; -import net.minestom.server.registry.ResourceGatherer; -import net.minestom.server.sound.SoundEvent; -import net.minestom.server.stat.StatisticType; -import net.minestom.server.utils.NamespaceID; -import org.apache.commons.lang3.tuple.ImmutablePair; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.lang.model.element.Modifier; -import java.io.File; -import java.io.IOException; -import java.lang.annotation.Annotation; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; - -import static net.minestom.codegen.MinestomEnumGenerator.DEFAULT_TARGET_PATH; - -/** - * Generates the Registries class, which contains methods to get items/blocks/biomes/etc. from a NamespaceID - */ -public class RegistriesGenerator implements CodeGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(RegistriesGenerator.class); - - private static final ImmutablePair[] registries = new ImmutablePair[]{ - new ImmutablePair<>(Block.class.getCanonicalName(), "AIR"), - new ImmutablePair<>(Material.class.getCanonicalName(), "AIR"), - new ImmutablePair<>(Enchantment.class.getCanonicalName(), null), - new ImmutablePair<>(EntityType.class.getCanonicalName(), null), - new ImmutablePair<>(Particle.class.getCanonicalName(), null), - new ImmutablePair<>(PotionType.class.getCanonicalName(), null), - new ImmutablePair<>(PotionEffect.class.getCanonicalName(), null), - new ImmutablePair<>(SoundEvent.class.getCanonicalName(), null), - new ImmutablePair<>(StatisticType.class.getCanonicalName(), null), - new ImmutablePair<>(Fluid.class.getCanonicalName(), "EMPTY"), - }; - - @Override - public List generate() throws IOException { - TypeSpec.Builder registriesClass = TypeSpec.classBuilder(ClassName.get("net.minestom.server.registry", "Registries")) - .addModifiers(Modifier.FINAL, Modifier.PUBLIC) - .addJavadoc("AUTOGENERATED"); - - FieldSpec[] fields = new FieldSpec[registries.length]; - - // Hashmaps - for (int i = 0; i < registries.length; i++) { - ClassName type = ClassName.bestGuess(registries[i].left); - String simpleType = type.simpleName(); - - FieldSpec field = FieldSpec.builder(ParameterizedTypeName.get(ClassName.get(HashMap.class), ClassName.get(NamespaceID.class), type), CodeGenerator.decapitalize(simpleType) + "s") - .addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC) - .addJavadoc("Should only be used for internal code, please use the get* methods.") - .addAnnotation(Deprecated.class) - .initializer("new HashMap<>()") - .build(); - fields[i] = field; - registriesClass.addField(field); - } - - // accessor methods - for (int i = 0; i < registries.length; i++) { - ClassName type = ClassName.bestGuess(registries[i].left); - String simpleType = type.simpleName(); - String defaultValue = registries[i].right; - - // Example: -/* - /** Returns 'AIR' if none match - public static Block getBlock(String id) { - return getBlock(NamespaceID.from(id)); - } - - /** Returns 'AIR' if none match - public static Block getBlock(NamespaceID id) { - return blocks.getOrDefault(id, AIR); - } -*/ - StringBuilder comment = new StringBuilder("Returns the corresponding "); - comment.append(simpleType).append(" matching the given id. Returns "); - if (defaultValue != null) { - comment.append('\'').append(defaultValue).append('\''); - } else { - comment.append("null"); - } - comment.append(" if none match."); - - ParameterSpec namespaceIDParam = ParameterSpec.builder(ClassName.get(NamespaceID.class), "id") - .build(); - ParameterSpec keyIDParam = ParameterSpec.builder(ClassName.get(Key.class), "key").build(); - - CodeBlock.Builder code = CodeBlock.builder(); - Class annotation; - if (defaultValue != null) { - annotation = NotNull.class; - code.addStatement("return $N.getOrDefault($N, $T.$N)", fields[i], namespaceIDParam, type, defaultValue); - } else { - annotation = Nullable.class; - code.addStatement("return $N.get($N)", fields[i], namespaceIDParam); - } - - // string variant - ParameterSpec idParam = ParameterSpec.builder(ClassName.get(String.class), "id") - .build(); - MethodSpec idMethod = MethodSpec.methodBuilder("get" + simpleType) - .returns(type) - .addAnnotation(annotation) - .addModifiers(Modifier.STATIC, Modifier.PUBLIC) - .addParameter(idParam) - .addStatement("return get$N(NamespaceID.from($N))", simpleType, idParam) - .addJavadoc(comment.toString()) - .build(); - registriesClass.addMethod(idMethod); - - // NamespaceID variant - registriesClass.addMethod(MethodSpec.methodBuilder("get" + simpleType) - .returns(type) - .addAnnotation(annotation) - .addModifiers(Modifier.STATIC, Modifier.PUBLIC) - .addParameter(namespaceIDParam) - .addCode(code.build()) - .addJavadoc(comment.toString()) - .build()); - - // Key variant - registriesClass.addMethod(MethodSpec.methodBuilder("get" + simpleType) - .returns(type) - .addAnnotation(annotation) - .addModifiers(Modifier.STATIC, Modifier.PUBLIC) - .addParameter(keyIDParam) - .addStatement("return get$N(NamespaceID.from($N))", simpleType, keyIDParam) - .addJavadoc(comment.toString().replace(" id.", " key.")) - .build()); - } - - JavaFile file = JavaFile.builder("net.minestom.server.registry", registriesClass.build()) - .addFileComment("AUTOGENERATED by " + getClass().getCanonicalName()) - .indent(" ") - .skipJavaLangImports(true) - .build(); - return Collections.singletonList(file); - } - - public static void main(String[] args) throws IOException { - // copy-pasted from BlockEnumGenerator, to stay consistent in the order of arguments - String targetVersion; - if (args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if (args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if (!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new RegistriesGenerator().generateTo(targetFolder); - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/TagGen.java b/src/generators/java/net/minestom/codegen/TagGen.java deleted file mode 100644 index d1c97d4dd..000000000 --- a/src/generators/java/net/minestom/codegen/TagGen.java +++ /dev/null @@ -1,33 +0,0 @@ -package net.minestom.codegen; - - -import java.io.File; -import java.util.Arrays; - -public class TagGen { - - public static void main(String[] args) { - StringBuilder out = new StringBuilder(); - File workingDir = new File("minecraft_data/data/minecraft/tags/blocks"); - Arrays.stream(workingDir.listFiles()).forEach((file) -> { - out.append("addRequiredTag(Tag.BasicTypes.BLOCKS, NamespaceID.from(\""); - out.append(file.getName(), 0, file.getName().length()-5).append("\"));\n"); - }); - workingDir = new File("minecraft_data/data/minecraft/tags/entity_types"); - Arrays.stream(workingDir.listFiles()).forEach((file) -> { - out.append("addRequiredTag(Tag.BasicTypes.ENTITY_TYPES, NamespaceID.from(\""); - out.append(file.getName(), 0, file.getName().length()-5).append("\"));\n"); - }); - workingDir = new File("minecraft_data/data/minecraft/tags/fluids"); - Arrays.stream(workingDir.listFiles()).forEach((file) -> { - out.append("addRequiredTag(Tag.BasicTypes.FLUIDS, NamespaceID.from(\""); - out.append(file.getName(), 0, file.getName().length()-5).append("\"));\n"); - }); - workingDir = new File("minecraft_data/data/minecraft/tags/items"); - Arrays.stream(workingDir.listFiles()).forEach((file) -> { - out.append("addRequiredTag(Tag.BasicTypes.ITEMS, NamespaceID.from(\""); - out.append(file.getName(), 0, file.getName().length()-5).append("\"));\n"); - }); - System.out.println(out.toString()); - } -} diff --git a/src/generators/java/net/minestom/codegen/blocks/BlockContainer.java b/src/generators/java/net/minestom/codegen/blocks/BlockContainer.java deleted file mode 100644 index 69b2f707f..000000000 --- a/src/generators/java/net/minestom/codegen/blocks/BlockContainer.java +++ /dev/null @@ -1,150 +0,0 @@ -package net.minestom.codegen.blocks; - -import net.minestom.server.utils.NamespaceID; - -import java.util.List; -import java.util.Map; - -public class BlockContainer implements Comparable { - - private int ordinal; - private NamespaceID id; - private double hardness; - private double resistance; - private BlockState defaultState; - private boolean isSolid; - private boolean isAir; - private List states; - - private boolean isMushroom; - private boolean isLiquid; - private boolean isFlower; - private boolean isFlowerPot; - private boolean isCoral; - private NamespaceID blockEntity; - - public BlockContainer(int ordinal, NamespaceID id, double hardness, double resistance, NamespaceID blockEntity, BlockState defaultState, List states) { - this.ordinal = ordinal; - this.id = id; - this.hardness = hardness; - this.resistance = resistance; - this.blockEntity = blockEntity; - this.defaultState = defaultState; - this.states = states; - } - - public int getOrdinal() { - return ordinal; - } - - public BlockState getDefaultState() { - return defaultState; - } - - public List getStates() { - return states; - } - - public NamespaceID getId() { - return id; - } - - public boolean isAir() { - return isAir; - } - - public boolean isLiquid() { - return isLiquid; - } - - public boolean isMushroom() { - return isMushroom; - } - - public boolean isSolid() { - return isSolid; - } - - public double getHardness() { - return hardness; - } - - public double getResistance() { - return resistance; - } - - public NamespaceID getBlockEntityName() { - return blockEntity; - } - - public BlockContainer setLiquid() { - isLiquid = true; - return this; - } - - public BlockContainer setMushroom() { - isMushroom = true; - return this; - } - - public BlockContainer setSolid() { - isSolid = true; - return this; - } - - public BlockContainer setAir() { - isAir = true; - return this; - } - - @Override - public String toString() { - return "blocks.BlockContainer{" + - "id=" + id + - ", hardness=" + hardness + - ", resistance=" + resistance + - ", defaultState=" + defaultState + - ", isSolid=" + isSolid + - ", isAir=" + isAir + - ", states=" + states + - ", isMushroom=" + isMushroom + - ", isLiquid=" + isLiquid + - ", isFlower=" + isFlower + - ", isFlowerPot=" + isFlowerPot + - ", isCoral=" + isCoral + - ", blockEntity=" + blockEntity + - '}'; - } - - @Override - public int compareTo(BlockContainer o) { - return Integer.compare(ordinal, o.ordinal); - } - - public static class BlockState { - private short id; - private Map properties; - - public BlockState(short id, Map properties) { - this.id = id; - this.properties = properties; - } - - public short getId() { - return id; - } - - public Map getProperties() { - return properties; - } - - @Override - public String toString() { - return "BlockState{" + - "id=" + id + - ", properties=" + properties + - '}'; - } - } - -} diff --git a/src/generators/java/net/minestom/codegen/blocks/BlockEnumGenerator.java b/src/generators/java/net/minestom/codegen/blocks/BlockEnumGenerator.java deleted file mode 100644 index 168ea6611..000000000 --- a/src/generators/java/net/minestom/codegen/blocks/BlockEnumGenerator.java +++ /dev/null @@ -1,398 +0,0 @@ -package net.minestom.codegen.blocks; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.squareup.javapoet.*; -import net.kyori.adventure.key.Key; -import net.kyori.adventure.key.Keyed; -import net.minestom.codegen.EnumGenerator; -import net.minestom.codegen.MinestomEnumGenerator; -import net.minestom.codegen.PrismarinePaths; -import net.minestom.server.instance.block.Block; -import net.minestom.server.instance.block.BlockAlternative; -import net.minestom.server.registry.Registries; -import net.minestom.server.registry.ResourceGatherer; -import net.minestom.server.utils.NamespaceID; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.lang.model.element.Modifier; -import java.io.*; -import java.net.URL; -import java.util.*; - -/** - * Generates a Block enum containing all data about blocks - */ -public class BlockEnumGenerator extends MinestomEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(BlockEnumGenerator.class); - - public static final String MC_DATA_BLOCKS_PATH = "minecraft_data/reports/blocks.json"; - - private final String targetVersion; - private final File targetFolder; - - private final CodeBlock.Builder staticBlock = CodeBlock.builder(); - - - public static void main(String[] args) throws IOException { - String targetVersion; - if (args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if (args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if (!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new BlockEnumGenerator(targetVersion, targetFolder); - } - - private BlockEnumGenerator(String targetVersion, File targetFolder) throws IOException { - this.targetVersion = targetVersion; - this.targetFolder = targetFolder; - generateTo(targetFolder); - } - - /** - * Compiles all block information in a single location - * - * @param dataBlocks - * @param prismarineJSBlocks - * @param burgerBlocks - */ - private Collection compile(List dataBlocks, List prismarineJSBlocks, List burgerBlocks) { - TreeSet blocks = new TreeSet<>(BlockContainer::compareTo); - // ensure the 3 list have the same length and order - dataBlocks.sort(Comparator.comparing(block -> block.name.toString())); - prismarineJSBlocks.sort(Comparator.comparing(block -> NamespaceID.from(block.name).toString())); - burgerBlocks.sort(Comparator.comparing(block -> NamespaceID.from(block.text_id).toString())); - - // if one of these tests fail, you probably forgot to clear the minecraft_data cache before launching this program - if (dataBlocks.size() != prismarineJSBlocks.size()) { - throw new Error("minecraft_data block count is different from PrismarineJS count! Try clearing the minecraft_data cache"); - } - if (prismarineJSBlocks.size() != burgerBlocks.size()) { - throw new Error("Burger's block count is different from PrismarineJS count! Try clearing the minecraft_data cache"); - } - - for (int i = 0; i < dataBlocks.size(); i++) { - DataReportBlock data = dataBlocks.get(i); - PrismarineJSBlock prismarine = prismarineJSBlocks.get(i); - BurgerBlock burger = burgerBlocks.get(i); - - assert data.name.getPath().equals(prismarine.name) && prismarine.name.equalsIgnoreCase(burger.text_id); - - List states = new LinkedList<>(); - for (DataReportBlock.BlockState s : data.states) { - states.add(new BlockContainer.BlockState(s.id, s.properties)); - } - - BlockContainer.BlockState defaultState = new BlockContainer.BlockState(data.defaultState.id, data.defaultState.properties); - - BlockContainer block = new BlockContainer(prismarine.id, data.name, prismarine.hardness, burger.resistance, burger.blockEntity == null ? null : NamespaceID.from(burger.blockEntity.name), defaultState, states); - if (!"empty".equals(prismarine.boundingBox)) { - block.setSolid(); - } - if (data.name.equals(NamespaceID.from("minecraft:water")) || data.name.equals(NamespaceID.from("minecraft:lava"))) { - block.setLiquid(); - } - boolean isAir = data.name.equals(NamespaceID.from("minecraft:air")) || data.name.getPath().endsWith("_air"); - if (isAir) { - block.setAir(); - } - - blocks.add(block); - } - - return blocks; - } - - /** - * Extracts block information from Burger - * - * @param gson - * @param url - * @return - * @throws IOException - */ - private List parseBlocksFromBurger(Gson gson, String url) throws IOException { - try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new URL(url).openStream()))) { - LOGGER.debug("\tConnection established, reading file"); - JsonObject dictionary = gson.fromJson(bufferedReader, JsonArray.class).get(0).getAsJsonObject(); - JsonObject tileEntityMap = dictionary.getAsJsonObject("tileentity").getAsJsonObject("tileentities"); - - Map block2entityMap = new HashMap<>(); - for (var entry : tileEntityMap.entrySet()) { - BurgerTileEntity te = gson.fromJson(entry.getValue(), BurgerTileEntity.class); - if (te.blocks != null) { - for (String block : te.blocks) { - block2entityMap.put(block, te); - } - } - } - - JsonObject blockMap = dictionary.getAsJsonObject("blocks").getAsJsonObject("block"); - - LOGGER.debug("\tExtracting blocks"); - List blocks = new LinkedList<>(); - for (var entry : blockMap.entrySet()) { - BurgerBlock block = gson.fromJson(entry.getValue(), BurgerBlock.class); - block.blockEntity = block2entityMap.get(block.text_id); - blocks.add(block); - } - - return blocks; - } - } - - /** - * Extract block information from PrismarineJS (submodule of Minestom) - * - * @param gson - * @param blockFile - * @return - * @throws IOException - */ - private List parseBlocksFromPrismarineJS(Gson gson, File blockFile) throws IOException { - try (BufferedReader bufferedReader = new BufferedReader(new FileReader(blockFile))) { - PrismarineJSBlock[] blocks = gson.fromJson(bufferedReader, PrismarineJSBlock[].class); - return Arrays.asList(blocks); - } - } - - /** - * Extract block information from reports generated by the data extractor present in minecraft_server.jar - * - * @param gson - * @param path - * @return - */ - private List parseBlocksFromMCData(Gson gson, String path) { - List blocks = new LinkedList<>(); - try { - BufferedReader bufferedReader = new BufferedReader(new FileReader(path)); - - JsonObject obj = gson.fromJson(bufferedReader, JsonObject.class); - for (var entry : obj.entrySet()) { - NamespaceID id = NamespaceID.from(entry.getKey()); - JsonElement blockInfo = entry.getValue(); - DataReportBlock block = gson.fromJson(blockInfo, DataReportBlock.class); - block.bindDefaultState(); - block.name = id; - - blocks.add(block); - } - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - - return blocks; - } - - @Override - public String getPackageName() { - return "net.minestom.server.instance.block"; - } - - @Override - public String getClassName() { - return "Block"; - } - - @Override - protected Collection compile() throws IOException { - Gson gson = new Gson(); - - // load report blocks and block states - LOGGER.debug("Loading information from data extraction"); - List dataBlocks = parseBlocksFromMCData(gson, MC_DATA_BLOCKS_PATH); - // load properties from Prismarine - LOGGER.debug("Finding path for PrismarineJS blocks"); - JsonObject dataPaths = gson.fromJson(new BufferedReader(new FileReader(PRISMARINE_JS_DATA_PATHS)), JsonObject.class); - JsonObject pathsJson = dataPaths.getAsJsonObject("pc").getAsJsonObject(targetVersion); - - PrismarinePaths paths = gson.fromJson(pathsJson, PrismarinePaths.class); - LOGGER.debug("Loading PrismarineJS blocks data"); - List prismarineJSBlocks = parseBlocksFromPrismarineJS(gson, paths.getBlockFile()); - - LOGGER.debug("Loading Burger blocks data (requires Internet connection)"); - List burgerBlocks = parseBlocksFromBurger(gson, BURGER_URL_BASE_URL + targetVersion + ".json"); - - LOGGER.debug("Compiling information"); - return compile(dataBlocks, prismarineJSBlocks, burgerBlocks); - } - - @Override - protected void prepare(EnumGenerator generator) { - ClassName className = ClassName.get(getPackageName(), getClassName()); - generator.addClassAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "{$S}", "deprecation").build()); - - generator.setParams( - ParameterSpec.builder(String.class, "namespaceID").addAnnotation(NotNull.class).build(), - ParameterSpec.builder(TypeName.SHORT, "defaultID").build(), - ParameterSpec.builder(TypeName.DOUBLE, "hardness").build(), - ParameterSpec.builder(TypeName.DOUBLE, "resistance").build(), - ParameterSpec.builder(TypeName.BOOLEAN, "isAir").build(), - ParameterSpec.builder(TypeName.BOOLEAN, "isSolid").build(), - ParameterSpec.builder(NamespaceID.class, "blockEntity").addAnnotation(Nullable.class).build(), - ParameterSpec.builder(TypeName.BOOLEAN, "singleState").build() - ); - - generator.addHardcodedField(ParameterizedTypeName.get(List.class, BlockAlternative.class), "alternatives", "new java.util.ArrayList<>()"); - - generator.addMethod("getBlockId", new ParameterSpec[0], TypeName.SHORT, code -> code.addStatement("return defaultID")); - generator.addMethod("getName", new ParameterSpec[0], ClassName.get(String.class), code -> code.addStatement("return namespaceID")); - generator.addMethod("isAir", new ParameterSpec[0], TypeName.BOOLEAN, code -> code.addStatement("return isAir")); - generator.addMethod("hasBlockEntity", new ParameterSpec[0], TypeName.BOOLEAN, code -> code.addStatement("return blockEntity != null")); - generator.addMethod("getBlockEntityName", new ParameterSpec[0], ClassName.get(NamespaceID.class), code -> code.addStatement("return blockEntity")); - generator.addMethod("isSolid", new ParameterSpec[0], TypeName.BOOLEAN, code -> code.addStatement("return isSolid")); - generator.addMethod("isLiquid", new ParameterSpec[0], TypeName.BOOLEAN, code -> code.addStatement("return this == WATER || this == LAVA")); - generator.addMethod("getHardness", new ParameterSpec[0], TypeName.DOUBLE, code -> code.addStatement("return hardness")); - generator.addMethod("getResistance", new ParameterSpec[0], TypeName.DOUBLE, code -> code.addStatement("return resistance")); - generator.addMethod("breaksInstantaneously", new ParameterSpec[0], TypeName.BOOLEAN, code -> code.addStatement("return hardness == 0")); - generator.addMethod("addBlockAlternative", new ParameterSpec[]{ParameterSpec.builder(BlockAlternative.class, "alternative").build()}, TypeName.VOID, code -> { - code.addStatement("alternatives.add(alternative)") - .addStatement("$T.blocks[alternative.getId()] = this", ClassName.get("net.minestom.server.instance.block", "BlockArray")); - }); - - generator.addMethod("getAlternative", new ParameterSpec[]{ParameterSpec.builder(TypeName.SHORT, "blockId").build()}, ClassName.get(BlockAlternative.class), code -> { - code.beginControlFlow("for($T alt : alternatives)", BlockAlternative.class) - .beginControlFlow("if(alt.getId() == blockId)") - .addStatement("return alt") - .endControlFlow() - .endControlFlow() - .addStatement("return null"); - }); - generator.addMethod("getAlternatives", new ParameterSpec[0], ParameterizedTypeName.get(List.class, BlockAlternative.class), code -> code.addStatement("return alternatives")); - generator.addVarargMethod("withProperties", new ParameterSpec[]{ParameterSpec.builder(String[].class, "properties").build()}, TypeName.SHORT, code -> { - code.beginControlFlow("for($T alt : alternatives)", BlockAlternative.class) - .beginControlFlow("if($T.equals(alt.getProperties(), properties))", Arrays.class) - .addStatement("return alt.getId()") - .endControlFlow() - .endControlFlow() - .addStatement("return defaultID"); - }); - generator.addStaticMethod("fromStateId", new ParameterSpec[]{ParameterSpec.builder(TypeName.SHORT, "blockStateId").build()}, className, code -> code.addStatement("return $T.blocks[blockStateId]", ClassName.get("net.minestom.server.instance.block", "BlockArray"))); - generator.appendToConstructor(code -> { - code.beginControlFlow("if(singleState)") - .addStatement("addBlockAlternative(new BlockAlternative(defaultID))") - .endControlFlow() - .addStatement("$T.blocks.put($T.from(namespaceID), this)", Registries.class, NamespaceID.class); - }); - - // implement Keyed - generator.addSuperinterface(ClassName.get(Keyed.class)); - generator.addField(ClassName.get(Key.class), "key", true); - generator.appendToConstructor(code -> code.addStatement("this.key = Key.key(this.namespaceID)")); - generator.addMethod("key", new ParameterSpec[0], ClassName.get(Key.class), code -> code.addStatement("return this.key")); - } - - @Override - protected void writeSingle(EnumGenerator generator, BlockContainer block) { - String instanceName = block.getId().getPath().toUpperCase(); - generator.addInstance(instanceName, - "\"" + block.getId().toString() + "\"", - "(short) " + block.getDefaultState().getId(), - block.getHardness(), - block.getResistance(), - block.isAir(), - block.isSolid(), - block.getBlockEntityName() != null ? "NamespaceID.from(\"" + block.getBlockEntityName() + "\")" : "null", - block.getStates().size() == 1 // used to avoid duplicates inside the 'alternatives' field due to both constructor addition and subclasses initStates() - ); - - if (block.getStates().size() > 1) { - String blockName = snakeCaseToCapitalizedCamelCase(block.getId().getPath()); - blockName = blockName.replace("_", ""); - staticBlock.addStatement("$T.initStates()", ClassName.get(getPackageName()+".states", blockName)); - } - } - - @Override - protected List postGeneration(Collection items) throws IOException { - List additionalFiles = new LinkedList<>(); - - TypeSpec blockArrayClass = TypeSpec.classBuilder("BlockArray") - .addModifiers(Modifier.FINAL) - .addField(FieldSpec.builder(Block[].class, "blocks").initializer("new Block[Short.MAX_VALUE]").addModifiers(Modifier.STATIC, Modifier.FINAL).build()) - .build(); - additionalFiles.add(JavaFile.builder(getPackageName(), blockArrayClass).indent(" ").skipJavaLangImports(true).build()); - - LOGGER.debug("Writing subclasses for block alternatives..."); - - final String warningComment = "Completely internal. DO NOT USE. IF YOU ARE A USER AND FACE A PROBLEM WHILE USING THIS CODE, THAT'S ON YOU."; - final AnnotationSpec internalUseAnnotation = AnnotationSpec.builder(Deprecated.class).addMember("since", "$S", "forever").addMember("forRemoval", "$L", false).build(); - for(BlockContainer block : items) { - // do not add alternative for default states. This will be added by default inside the constructor - if (block.getStates().size() > 1) { - String blockName = snakeCaseToCapitalizedCamelCase(block.getId().getPath()); - blockName = blockName.replace("_", ""); - TypeSpec.Builder subclass = TypeSpec.classBuilder(blockName) - .addAnnotation(internalUseAnnotation) - .addJavadoc(warningComment) - .addModifiers(Modifier.PUBLIC, Modifier.FINAL); - - MethodSpec.Builder initStatesMethod = MethodSpec.methodBuilder("initStates") - .returns(TypeName.VOID) - .addModifiers(Modifier.STATIC, Modifier.PUBLIC) - .addAnnotation(internalUseAnnotation) - .addJavadoc(warningComment); - - for (BlockContainer.BlockState state : block.getStates()) { - if (state == block.getDefaultState()) - continue; - // generate BlockAlternative instance that will be used to lookup block alternatives - StringBuilder propertyList = new StringBuilder(); - // add block state properties if applicable - if (state.getProperties() != null) { - for (var property : state.getProperties().entrySet()) { - propertyList.append(", "); - propertyList.append("\"").append(property.getKey()).append("=").append(property.getValue()).append("\""); - } - } - initStatesMethod.addStatement("$T.$N.addBlockAlternative(new $T((short) $L"+propertyList+"))", Block.class, block.getId().getPath().toUpperCase(), BlockAlternative.class, state.getId()); - } - subclass.addMethod(initStatesMethod.build()); - staticBlock.addStatement("$T.initStates()", ClassName.get(getPackageName()+".states", blockName)); - - additionalFiles.add(JavaFile.builder(getPackageName()+".states", subclass.build()) - .indent(" ") - .skipJavaLangImports(true) - .build()); - } - } - - return additionalFiles; - } - - @Override - protected void postWrite(EnumGenerator generator) { - generator.setStaticInitBlock(staticBlock.build()); - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/blocks/BurgerBlock.java b/src/generators/java/net/minestom/codegen/blocks/BurgerBlock.java deleted file mode 100644 index bf313e3ae..000000000 --- a/src/generators/java/net/minestom/codegen/blocks/BurgerBlock.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.minestom.codegen.blocks; - -public class BurgerBlock { - - String text_id; - double resistance; - - // from tileentities - BurgerTileEntity blockEntity; - - @Override - public String toString() { - return "blocks.BurgerBlock{" + - "text_id='" + text_id + '\'' + - ", resistance=" + resistance + - '}'; - } -} diff --git a/src/generators/java/net/minestom/codegen/blocks/BurgerTileEntity.java b/src/generators/java/net/minestom/codegen/blocks/BurgerTileEntity.java deleted file mode 100644 index aced5ec1d..000000000 --- a/src/generators/java/net/minestom/codegen/blocks/BurgerTileEntity.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.minestom.codegen.blocks; - -public class BurgerTileEntity { - - String[] blocks; - String name; - int network_id; - -} diff --git a/src/generators/java/net/minestom/codegen/blocks/DataReportBlock.java b/src/generators/java/net/minestom/codegen/blocks/DataReportBlock.java deleted file mode 100644 index 93b1113c8..000000000 --- a/src/generators/java/net/minestom/codegen/blocks/DataReportBlock.java +++ /dev/null @@ -1,55 +0,0 @@ -package net.minestom.codegen.blocks; - -import com.google.gson.annotations.SerializedName; -import net.minestom.server.utils.NamespaceID; - -import java.util.Arrays; -import java.util.Map; - -public class DataReportBlock { - - NamespaceID name; - Map properties; - BlockState[] states; - - BlockState defaultState; - - /** - * Looks for the first state in {@link #states} with #isDefault set and stores it into {@link #defaultState} - */ - public void bindDefaultState() { - for(BlockState s : states) { - if(s.isDefault) { - defaultState = s; - return; - } - } - } - - public static class BlockState { - protected Map properties; - protected short id; - @SerializedName("default") - protected boolean isDefault; - - @Override - public String toString() { - return "BlockState{" + - "properties=" + properties + - ", id=" + id + - ", isDefault=" + isDefault + - '}'; - } - } - - - @Override - public String toString() { - return "blocks.DataReportBlock{" + - "name=" + name + - ", properties=" + properties + - ", states=" + Arrays.toString(states) + - ", defaultState=" + defaultState + - '}'; - } -} diff --git a/src/generators/java/net/minestom/codegen/blocks/PrismarineJSBlock.java b/src/generators/java/net/minestom/codegen/blocks/PrismarineJSBlock.java deleted file mode 100644 index 80a390ea9..000000000 --- a/src/generators/java/net/minestom/codegen/blocks/PrismarineJSBlock.java +++ /dev/null @@ -1,42 +0,0 @@ -package net.minestom.codegen.blocks; - -public class PrismarineJSBlock { - - int id; - String name; - double hardness; - boolean diggable; - boolean transparent; - int emitLight; - int filterLight; - String boundingBox; - int stackSize; - String material; - - @Override - public String toString() { - return "blocks.PrismarineJSBlock{" + - "name='" + name + '\'' + - ", id=" + id + - ", hardness=" + hardness + - ", diggable=" + diggable + - ", transparent=" + transparent + - ", emitLight=" + emitLight + - ", filterLight=" + filterLight + - ", boundingBox='" + boundingBox + '\'' + - ", stackSize=" + stackSize + - ", material='" + material + '\'' + - '}'; - } - - /* - TODO: - "harvestTools": { - "521": true, - "535": true, - "539": true, - "543": true, - "550": true - } - */ -} diff --git a/src/generators/java/net/minestom/codegen/enchantment/EnchantmentEnumGenerator.java b/src/generators/java/net/minestom/codegen/enchantment/EnchantmentEnumGenerator.java deleted file mode 100644 index b39c56679..000000000 --- a/src/generators/java/net/minestom/codegen/enchantment/EnchantmentEnumGenerator.java +++ /dev/null @@ -1,66 +0,0 @@ -package net.minestom.codegen.enchantment; - -import net.minestom.codegen.BasicEnumGenerator; -import net.minestom.server.registry.ResourceGatherer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -public class EnchantmentEnumGenerator extends BasicEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(EnchantmentEnumGenerator.class); - - public static void main(String[] args) throws IOException { - String targetVersion; - if(args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if(args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if(!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new EnchantmentEnumGenerator(targetFolder); - } - - private EnchantmentEnumGenerator(File targetFolder) throws IOException { - super(targetFolder); - } - - @Override - protected String getCategoryID() { - return "minecraft:enchantment"; - } - - @Override - public String getPackageName() { - return "net.minestom.server.item"; - } - - @Override - public String getClassName() { - return "Enchantment"; - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/entitytypes/BurgerEntity.java b/src/generators/java/net/minestom/codegen/entitytypes/BurgerEntity.java deleted file mode 100644 index 2d0279d78..000000000 --- a/src/generators/java/net/minestom/codegen/entitytypes/BurgerEntity.java +++ /dev/null @@ -1,8 +0,0 @@ -package net.minestom.codegen.entitytypes; - -public class BurgerEntity { - int id; - String name; - double width; - double height; -} diff --git a/src/generators/java/net/minestom/codegen/entitytypes/EntityTypeContainer.java b/src/generators/java/net/minestom/codegen/entitytypes/EntityTypeContainer.java deleted file mode 100644 index cdd2a37b2..000000000 --- a/src/generators/java/net/minestom/codegen/entitytypes/EntityTypeContainer.java +++ /dev/null @@ -1,153 +0,0 @@ -package net.minestom.codegen.entitytypes; - -import com.google.common.base.CaseFormat; -import net.minestom.server.entity.EntitySpawnType; -import net.minestom.server.entity.metadata.LivingEntityMeta; -import net.minestom.server.entity.metadata.PlayerMeta; -import net.minestom.server.entity.metadata.other.ExperienceOrbMeta; -import net.minestom.server.entity.metadata.other.PaintingMeta; -import net.minestom.server.utils.NamespaceID; -import org.jetbrains.annotations.NotNull; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; - -public class EntityTypeContainer implements Comparable { - - private int id; - private NamespaceID name; - private double width; - private double height; - private Class metaClass; - private EntitySpawnType spawnType; - - public EntityTypeContainer(int id, NamespaceID name, double width, double height) { - this.id = id; - this.name = name; - this.width = width; - this.height = height; - String metaClassName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name.getPath()); - // special cases - switch (metaClassName) { - case "Item": - metaClassName = "ItemEntity"; - break; - case "Tnt": - metaClassName = "PrimedTnt"; - break; - case "FishingBobber": - metaClassName = "FishingHook"; - break; - case "Egg": - case "EnderPearl": - case "ExperienceBottle": - case "Potion": - case "Trident": - metaClassName = "Thrown" + metaClassName; - break; - default: - break; - } - metaClassName += "Meta"; - this.metaClass = findClassIn("net.minestom.server.entity.metadata", metaClassName); - - if (this.metaClass == PlayerMeta.class) { - this.spawnType = EntitySpawnType.PLAYER; - } else if (this.metaClass == PaintingMeta.class) { - this.spawnType = EntitySpawnType.PAINTING; - } else if (this.metaClass == ExperienceOrbMeta.class) { - this.spawnType = EntitySpawnType.EXPERIENCE_ORB; - } else if (LivingEntityMeta.class.isAssignableFrom(this.metaClass)) { - this.spawnType = EntitySpawnType.LIVING; - } else { - this.spawnType = EntitySpawnType.BASE; - } - } - - public int getId() { - return id; - } - - public NamespaceID getName() { - return name; - } - - public double getWidth() { - return width; - } - - public double getHeight() { - return height; - } - - public Class getMetaClass() { - return metaClass; - } - - public EntitySpawnType getSpawnType() { - return spawnType; - } - - @Override - public int compareTo(@NotNull EntityTypeContainer o) { - return Integer.compare(id, o.id); - } - - private static Class findClassIn(String pkg, String className) { - try { - return getClasses(pkg).stream() - .filter(clazz -> clazz.getSimpleName().equals(className)) - .findAny() - .orElseThrow(); - } catch (Throwable t) { - throw new IllegalStateException("Could not find class " + className + " in " + pkg, t); - } - } - - private static List> getClasses(String packageName) - throws ClassNotFoundException, IOException { - ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); - assert classLoader != null; - String path = packageName.replace('.', '/'); - Enumeration resources = classLoader.getResources(path); - List dirs = new ArrayList<>(); - while (resources.hasMoreElements()) { - URL resource = resources.nextElement(); - dirs.add(new File(resource.getFile())); - } - List> classes = new ArrayList<>(); - for (File directory : dirs) { - classes.addAll(findClasses(directory, packageName)); - } - return classes; - } - - /** - * Recursive method used to find all classes in a given directory and subdirs. - * - * @param directory The base directory - * @param packageName The package name for classes found inside the base directory - * @return The classes - * @throws ClassNotFoundException - */ - private static List> findClasses(File directory, String packageName) throws ClassNotFoundException { - List> classes = new ArrayList<>(); - if (!directory.exists()) { - return classes; - } - File[] files = directory.listFiles(); - for (File file : files) { - if (file.isDirectory()) { - assert !file.getName().contains("."); - classes.addAll(findClasses(file, packageName + "." + file.getName())); - } else if (file.getName().endsWith(".class")) { - classes.add(Class.forName(packageName + '.' + file.getName().substring(0, file.getName().length() - 6))); - } - } - return classes; - } -} diff --git a/src/generators/java/net/minestom/codegen/entitytypes/EntityTypeEnumGenerator.java b/src/generators/java/net/minestom/codegen/entitytypes/EntityTypeEnumGenerator.java deleted file mode 100644 index 741c2c7e6..000000000 --- a/src/generators/java/net/minestom/codegen/entitytypes/EntityTypeEnumGenerator.java +++ /dev/null @@ -1,215 +0,0 @@ -package net.minestom.codegen.entitytypes; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import com.squareup.javapoet.*; -import net.kyori.adventure.key.Key; -import net.kyori.adventure.key.Keyed; -import net.minestom.codegen.ConstructorLambda; -import net.minestom.codegen.EnumGenerator; -import net.minestom.codegen.MinestomEnumGenerator; -import net.minestom.server.entity.Entity; -import net.minestom.server.entity.EntitySpawnType; -import net.minestom.server.entity.EntityType; -import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.EntityMeta; -import net.minestom.server.registry.Registries; -import net.minestom.server.registry.ResourceGatherer; -import net.minestom.server.utils.NamespaceID; -import org.jetbrains.annotations.NotNull; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.*; -import java.util.function.BiFunction; - -/** - * Generates an EntityType enum containing all data about entity types - */ -public class EntityTypeEnumGenerator extends MinestomEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(EntityTypeEnumGenerator.class); - - private final String targetVersion; - private final File targetFolder; - - public static void main(String[] args) throws IOException { - String targetVersion; - if (args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if (args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if (!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new EntityTypeEnumGenerator(targetVersion, targetFolder); - } - - private EntityTypeEnumGenerator(String targetVersion, File targetFolder) throws IOException { - this.targetVersion = targetVersion; - this.targetFolder = targetFolder; - generateTo(targetFolder); - } - - /** - * Extract entity information from Burger (submodule of Minestom) - * - * @param gson - * @param url - * @return - * @throws IOException - */ - private List parseEntitiesFromBurger(Gson gson, String url) throws IOException { - try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new URL(url).openStream()))) { - LOGGER.debug("\tConnection established, reading file"); - JsonObject dictionary = gson.fromJson(bufferedReader, JsonArray.class).get(0).getAsJsonObject(); - JsonObject entitiesMap = dictionary.getAsJsonObject("entities").getAsJsonObject("entity"); - List entities = new LinkedList<>(); - for (var entry : entitiesMap.entrySet()) { - BurgerEntity entity = gson.fromJson(entry.getValue(), BurgerEntity.class); - entities.add(entity); - } - return entities; - } - } - - @Override - public String getPackageName() { - return "net.minestom.server.entity"; - } - - @Override - public String getClassName() { - return "EntityType"; - } - - @Override - protected Collection compile() throws IOException { - Gson gson = new Gson(); - LOGGER.debug("Loading PrismarineJS entity types data"); - List burgerEntities = parseEntitiesFromBurger(gson, BURGER_URL_BASE_URL + targetVersion + ".json"); - - TreeSet types = new TreeSet<>(EntityTypeContainer::compareTo); - for (var burgerEntity : burgerEntities) { - if (burgerEntity.name.contains("~")) { - continue; - } - types.add(new EntityTypeContainer( - burgerEntity.id, - NamespaceID.from("minecraft:" + burgerEntity.name), - burgerEntity.width, - burgerEntity.height - )); - } - return types; - } - - @Override - protected void prepare(EnumGenerator generator) { - ClassName className = ClassName.get(getPackageName(), getClassName()); - generator.addClassAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "{$S}", "deprecation").build()); - generator.setParams( - ParameterSpec.builder(String.class, "namespaceID").addAnnotation(NotNull.class).build(), - ParameterSpec.builder(TypeName.DOUBLE, "width").build(), - ParameterSpec.builder(TypeName.DOUBLE, "height").build(), - ParameterSpec.builder(ParameterizedTypeName.get( - BiFunction.class, - Entity.class, - Metadata.class, - EntityMeta.class - ), "metaConstructor").addAnnotation(NotNull.class).build(), - ParameterSpec.builder(EntitySpawnType.class, "spawnType").addAnnotation(NotNull.class).build() - ); - generator.appendToConstructor(code -> { - code.addStatement("$T.$N.put($T.from(namespaceID), this)", Registries.class, "entityTypes", NamespaceID.class); - }); - - generator.addMethod("getId", new ParameterSpec[0], TypeName.SHORT, code -> { - code.addStatement("return (short) ordinal()"); - }); - generator.addMethod("getNamespaceID", new ParameterSpec[0], ClassName.get(String.class), code -> { - code.addStatement("return this.namespaceID"); - }); - generator.addMethod("getWidth", new ParameterSpec[0], TypeName.DOUBLE, code -> { - code.addStatement("return this.width"); - }); - generator.addMethod("getHeight", new ParameterSpec[0], TypeName.DOUBLE, code -> { - code.addStatement("return this.height"); - }); - generator.addMethod("getMetaConstructor", new ParameterSpec[0], - ParameterizedTypeName.get( - BiFunction.class, - Entity.class, - Metadata.class, - EntityMeta.class - ), - code -> code.addStatement("return this.metaConstructor") - ); - generator.addMethod("getSpawnType", new ParameterSpec[0], ClassName.get(EntitySpawnType.class), code -> { - code.addStatement("return this.spawnType"); - }); - - generator.addStaticField(ArrayTypeName.of(ClassName.get(EntityType.class)), "VALUES", "values()"); - - generator.addStaticMethod("fromId", new ParameterSpec[]{ParameterSpec.builder(TypeName.SHORT, "id").build()}, className, code -> { - code.beginControlFlow("if(id >= 0 && id < VALUES.length)") - .addStatement("return VALUES[id]") - .endControlFlow() - .addStatement("return null"); - }); - - // implement Keyed - generator.addSuperinterface(ClassName.get(Keyed.class)); - generator.addField(ClassName.get(Key.class), "key", true); - generator.appendToConstructor(code -> code.addStatement("this.key = Key.key(this.namespaceID)")); - generator.addMethod("key", new ParameterSpec[0], ClassName.get(Key.class), code -> code.addStatement("return this.key")); - } - - @Override - protected void writeSingle(EnumGenerator generator, EntityTypeContainer type) { - String instanceName = type.getName().getPath().toUpperCase(); - generator.addInstance(instanceName, - "\"" + type.getName().toString() + "\"", - type.getWidth(), - type.getHeight(), - new ConstructorLambda(ClassName.get(type.getMetaClass())), - "EntitySpawnType." + type.getSpawnType().name() - ); - } - - @Override - protected List postGeneration(Collection types) { - return Collections.emptyList(); - } - - @Override - protected void postWrite(EnumGenerator generator) { - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/fluids/FluidEnumGenerator.java b/src/generators/java/net/minestom/codegen/fluids/FluidEnumGenerator.java deleted file mode 100644 index 72086a33b..000000000 --- a/src/generators/java/net/minestom/codegen/fluids/FluidEnumGenerator.java +++ /dev/null @@ -1,66 +0,0 @@ -package net.minestom.codegen.fluids; - -import net.minestom.codegen.BasicEnumGenerator; -import net.minestom.server.registry.ResourceGatherer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -public class FluidEnumGenerator extends BasicEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(FluidEnumGenerator.class); - - public static void main(String[] args) throws IOException { - String targetVersion; - if(args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if(args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if(!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new FluidEnumGenerator(targetFolder); - } - - private FluidEnumGenerator(File targetFolder) throws IOException { - super(targetFolder); - } - - @Override - protected String getCategoryID() { - return "minecraft:fluid"; - } - - @Override - public String getPackageName() { - return "net.minestom.server.fluids"; - } - - @Override - public String getClassName() { - return "Fluid"; - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/items/BurgerItem.java b/src/generators/java/net/minestom/codegen/items/BurgerItem.java deleted file mode 100644 index 5f59f1638..000000000 --- a/src/generators/java/net/minestom/codegen/items/BurgerItem.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.minestom.codegen.items; - -public class BurgerItem { - int numeric_id; - String text_id; - int max_stack_size; -} diff --git a/src/generators/java/net/minestom/codegen/items/DataReportItem.java b/src/generators/java/net/minestom/codegen/items/DataReportItem.java deleted file mode 100644 index 0a3d2b4d7..000000000 --- a/src/generators/java/net/minestom/codegen/items/DataReportItem.java +++ /dev/null @@ -1,8 +0,0 @@ -package net.minestom.codegen.items; - -import net.minestom.server.utils.NamespaceID; - -public class DataReportItem { - NamespaceID name; - -} diff --git a/src/generators/java/net/minestom/codegen/items/ItemContainer.java b/src/generators/java/net/minestom/codegen/items/ItemContainer.java deleted file mode 100644 index ed5cb1d44..000000000 --- a/src/generators/java/net/minestom/codegen/items/ItemContainer.java +++ /dev/null @@ -1,39 +0,0 @@ -package net.minestom.codegen.items; - -import net.minestom.server.instance.block.Block; -import net.minestom.server.utils.NamespaceID; - -public class ItemContainer implements Comparable { - private int id; - private NamespaceID name; - private int stackSize; - private Block block; - - public ItemContainer(int id, NamespaceID name, int stackSize, Block block) { - this.id = id; - this.name = name; - this.stackSize = stackSize; - this.block = block; - } - - public int getId() { - return id; - } - - public NamespaceID getName() { - return name; - } - - public Block getBlock() { - return block; - } - - public int getStackSize() { - return stackSize; - } - - @Override - public int compareTo(ItemContainer o) { - return Integer.compare(id, o.id); - } -} diff --git a/src/generators/java/net/minestom/codegen/items/ItemEnumGenerator.java b/src/generators/java/net/minestom/codegen/items/ItemEnumGenerator.java deleted file mode 100644 index 0c18693b2..000000000 --- a/src/generators/java/net/minestom/codegen/items/ItemEnumGenerator.java +++ /dev/null @@ -1,254 +0,0 @@ -package net.minestom.codegen.items; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import com.squareup.javapoet.*; -import net.kyori.adventure.key.Key; -import net.kyori.adventure.key.Keyed; -import net.minestom.codegen.EnumGenerator; -import net.minestom.codegen.MinestomEnumGenerator; -import net.minestom.codegen.PrismarinePaths; -import net.minestom.server.instance.block.Block; -import net.minestom.server.registry.Registries; -import net.minestom.server.registry.ResourceGatherer; -import net.minestom.server.utils.NamespaceID; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.*; -import java.net.URL; -import java.util.*; - -/** - * Generates a Material enum containing all data about items - *

- * Assumes that Block is available - */ -public class ItemEnumGenerator extends MinestomEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(ItemEnumGenerator.class); - - private final String targetVersion; - private final File targetFolder; - - public static void main(String[] args) throws IOException { - String targetVersion; - if (args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if (args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if (!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new ItemEnumGenerator(targetVersion, targetFolder); - } - - private ItemEnumGenerator(String targetVersion, File targetFolder) throws IOException { - this.targetVersion = targetVersion; - this.targetFolder = targetFolder; - generateTo(targetFolder); - } - - /** - * Extract item information from Burger (submodule of Minestom) - * - * @param gson - * @param url - * @return - * @throws IOException - */ - private List parseItemsFromBurger(Gson gson, String url) throws IOException { - try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new URL(url).openStream()))) { - LOGGER.debug("\tConnection established, reading file"); - JsonObject dictionary = gson.fromJson(bufferedReader, JsonArray.class).get(0).getAsJsonObject(); - JsonObject itemMap = dictionary.getAsJsonObject("items").getAsJsonObject("item"); - List items = new LinkedList<>(); - for (var entry : itemMap.entrySet()) { - BurgerItem item = gson.fromJson(entry.getValue(), BurgerItem.class); - items.add(item); - } - return items; - } - } - - @Override - public String getPackageName() { - return "net.minestom.server.item"; - } - - @Override - public String getClassName() { - return "Material"; - } - - @Override - protected Collection compile() throws IOException { - Gson gson = new Gson(); - LOGGER.debug("Finding path for PrismarineJS items"); - JsonObject dataPaths = gson.fromJson(new BufferedReader(new FileReader(PRISMARINE_JS_DATA_PATHS)), JsonObject.class); - JsonObject pathsJson = dataPaths.getAsJsonObject("pc").getAsJsonObject(targetVersion); - - PrismarinePaths paths = gson.fromJson(pathsJson, PrismarinePaths.class); - LOGGER.debug("Loading PrismarineJS blocks data"); - List burgerItems = parseItemsFromBurger(gson, BURGER_URL_BASE_URL + targetVersion + ".json"); - - TreeSet items = new TreeSet<>(ItemContainer::compareTo); - for (var burgerItem : burgerItems) { - items.add(new ItemContainer(burgerItem.numeric_id, NamespaceID.from("minecraft:" + burgerItem.text_id), burgerItem.max_stack_size, getBlock(burgerItem.text_id.toUpperCase()))); - } - return items; - } - - /** - * Returns a block with the given name. Returns null if none - * - * @param itemName - * @return - */ - private Block getBlock(String itemName) { - // special cases - if (itemName.equals("REDSTONE")) - return Block.REDSTONE_WIRE; - // end of special cases - - try { - return Block.valueOf(itemName); - } catch (IllegalArgumentException e) { - return null; - } - } - - @Override - protected void prepare(EnumGenerator generator) { - ClassName className = ClassName.get(getPackageName(), getClassName()); - generator.addClassAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "{$S}", "deprecation").build()); - generator.setParams(ParameterSpec.builder(String.class, "namespaceID").addAnnotation(NotNull.class).build(), ParameterSpec.builder(TypeName.INT, "maxDefaultStackSize").build(), - ParameterSpec.builder(Block.class, "correspondingBlock").addAnnotation(Nullable.class).build()); - generator.appendToConstructor(code -> { - code.addStatement("$T.$N.put($T.from(namespaceID), this)", Registries.class, "materials", NamespaceID.class); - }); - - generator.addMethod("getId", new ParameterSpec[0], TypeName.SHORT, code -> { code.addStatement("return (short)ordinal()");}); - generator.addMethod("getName", new ParameterSpec[0], ClassName.get(String.class), code -> { code.addStatement("return namespaceID");}); - generator.addMethod("getMaxDefaultStackSize", new ParameterSpec[0], TypeName.INT, code -> { code.addStatement("return maxDefaultStackSize");}); - generator.addMethod("isBlock", new ParameterSpec[0], TypeName.BOOLEAN, code -> { code.addStatement("return correspondingBlock != null && this != AIR");}); - generator.addMethod("getBlock", new ParameterSpec[0], ClassName.get(Block.class), code -> { code.addStatement("return correspondingBlock");}); - - generator.addStaticMethod("fromId", new ParameterSpec[]{ParameterSpec.builder(TypeName.SHORT, "id").build()}, className, code -> { - code.beginControlFlow("if(id >= 0 && id < values().length)") - .addStatement("return values()[id]") - .endControlFlow() - .addStatement("return AIR"); - }); - - // hard coded methods - generator.addMethod("isHelmet", new ParameterSpec[0], TypeName.BOOLEAN, code -> { code.addStatement("return toString().endsWith(\"HELMET\")");}); - generator.addMethod("isChestplate", new ParameterSpec[0], TypeName.BOOLEAN, code -> { code.addStatement("return toString().endsWith(\"CHESTPLATE\")");}); - generator.addMethod("isLeggings", new ParameterSpec[0], TypeName.BOOLEAN, code -> { code.addStatement("return toString().endsWith(\"LEGGINGS\")");}); - generator.addMethod("isBoots", new ParameterSpec[0], TypeName.BOOLEAN, code -> { code.addStatement("return toString().endsWith(\"BOOTS\")");}); - generator.addMethod("isArmor", new ParameterSpec[0], TypeName.BOOLEAN, code -> { code.addStatement("return isChestplate() || isHelmet() || isLeggings() || isBoots()");}); - generator.addMethod("isFood", new ParameterSpec[0], TypeName.BOOLEAN, code -> { - code.beginControlFlow("switch(this)") - .add("case APPLE:\n") - .add("case MUSHROOM_STEW:\n") - .add("case BREAD:\n") - .add("case PORKCHOP:\n") - .add("case COOKED_PORKCHOP:\n") - .add("case GOLDEN_APPLE:\n") - .add("case ENCHANTED_GOLDEN_APPLE:\n") - .add("case COD:\n") - .add("case SALMON:\n") - .add("case TROPICAL_FISH:\n") - .add("case PUFFERFISH:\n") - .add("case COOKED_COD:\n") - .add("case COOKED_SALMON:\n") - .add("case CAKE:\n") - .add("case COOKIE:\n") - .add("case MELON_SLICE:\n") - .add("case DRIED_KELP:\n") - .add("case BEEF:\n") - .add("case COOKED_BEEF:\n") - .add("case CHICKEN:\n") - .add("case COOKED_CHICKEN:\n") - .add("case ROTTEN_FLESH:\n") - .add("case SPIDER_EYE:\n") - .add("case CARROT:\n") - .add("case POTATO:\n") - .add("case BAKED_POTATO:\n") - .add("case POISONOUS_POTATO:\n") - .add("case PUMPKIN_PIE:\n") - .add("case RABBIT:\n") - .add("case COOKED_RABBIT:\n") - .add("case RABBIT_STEW:\n") - .add("case MUTTON:\n") - .add("case COOKED_MUTTON:\n") - .add("case BEETROOT:\n") - .add("case BEETROOT_SOUP:\n") - .add("case SWEET_BERRIES:\n") - .add("case HONEY_BOTTLE:\n") - .add("case CHORUS_FRUIT:\n") - .addStatement("return true") - .endControlFlow() - .addStatement("return false"); - }); - generator.addMethod("hasState", new ParameterSpec[0], TypeName.BOOLEAN, code -> { - code.beginControlFlow("switch(this)") - .add("case BOW:\n") - .add("case TRIDENT:\n") - .add("case CROSSBOW:\n") - .add("case SHIELD:\n") - .addStatement("return true") - .endControlFlow() - .addStatement("return isFood()"); - }); - - // implement Keyed - generator.addSuperinterface(ClassName.get(Keyed.class)); - generator.addField(ClassName.get(Key.class), "key", true); - generator.appendToConstructor(code -> code.addStatement("this.key = Key.key(this.namespaceID)")); - generator.addMethod("key", new ParameterSpec[0], ClassName.get(Key.class), code -> code.addStatement("return this.key")); - } - - @Override - protected void writeSingle(EnumGenerator generator, ItemContainer item) { - String instanceName = item.getName().getPath().toUpperCase(); - generator.addInstance(instanceName, - "\"" + item.getName().toString() + "\"", - item.getStackSize(), - item.getBlock() == null ? "null" : ("Block." + item.getBlock().name()) - ); - } - - @Override - protected List postGeneration(Collection items) throws IOException { - return Collections.emptyList(); - } - - @Override - protected void postWrite(EnumGenerator generator) { - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/particles/ParticleEnumGenerator.java b/src/generators/java/net/minestom/codegen/particles/ParticleEnumGenerator.java deleted file mode 100644 index c7363e01f..000000000 --- a/src/generators/java/net/minestom/codegen/particles/ParticleEnumGenerator.java +++ /dev/null @@ -1,66 +0,0 @@ -package net.minestom.codegen.particles; - -import net.minestom.codegen.BasicEnumGenerator; -import net.minestom.server.registry.ResourceGatherer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -public class ParticleEnumGenerator extends BasicEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(ParticleEnumGenerator.class); - - public static void main(String[] args) throws IOException { - String targetVersion; - if(args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if(args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if(!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new ParticleEnumGenerator(targetFolder); - } - - private ParticleEnumGenerator(File targetFolder) throws IOException { - super(targetFolder); - } - - @Override - protected String getCategoryID() { - return "minecraft:particle_type"; - } - - @Override - public String getPackageName() { - return "net.minestom.server.particle"; - } - - @Override - public String getClassName() { - return "Particle"; - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/potions/PotionEffectEnumGenerator.java b/src/generators/java/net/minestom/codegen/potions/PotionEffectEnumGenerator.java deleted file mode 100644 index 77807d2c9..000000000 --- a/src/generators/java/net/minestom/codegen/potions/PotionEffectEnumGenerator.java +++ /dev/null @@ -1,66 +0,0 @@ -package net.minestom.codegen.potions; - -import net.minestom.codegen.BasicEnumGenerator; -import net.minestom.server.registry.ResourceGatherer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -public class PotionEffectEnumGenerator extends BasicEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(PotionEffectEnumGenerator.class); - - public static void main(String[] args) throws IOException { - String targetVersion; - if (args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if (args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if (!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new PotionEffectEnumGenerator(targetFolder); - } - - private PotionEffectEnumGenerator(File targetFolder) throws IOException { - super(targetFolder, true, true); - } - - @Override - protected String getCategoryID() { - return "minecraft:mob_effect"; - } - - @Override - public String getPackageName() { - return "net.minestom.server.potion"; - } - - @Override - public String getClassName() { - return "PotionEffect"; - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} \ No newline at end of file diff --git a/src/generators/java/net/minestom/codegen/potions/PotionEnumGenerator.java b/src/generators/java/net/minestom/codegen/potions/PotionEnumGenerator.java deleted file mode 100644 index 4fe388658..000000000 --- a/src/generators/java/net/minestom/codegen/potions/PotionEnumGenerator.java +++ /dev/null @@ -1,66 +0,0 @@ -package net.minestom.codegen.potions; - -import net.minestom.codegen.BasicEnumGenerator; -import net.minestom.server.registry.ResourceGatherer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -public class PotionEnumGenerator extends BasicEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(PotionEnumGenerator.class); - - public static void main(String[] args) throws IOException { - String targetVersion; - if (args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if (args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if (!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new PotionEnumGenerator(targetFolder); - } - - private PotionEnumGenerator(File targetFolder) throws IOException { - super(targetFolder); - } - - @Override - protected String getCategoryID() { - return "minecraft:potion"; - } - - @Override - public String getPackageName() { - return "net.minestom.server.potion"; - } - - @Override - public String getClassName() { - return "PotionType"; - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/sounds/SoundEnumGenerator.java b/src/generators/java/net/minestom/codegen/sounds/SoundEnumGenerator.java deleted file mode 100644 index 58be7168d..000000000 --- a/src/generators/java/net/minestom/codegen/sounds/SoundEnumGenerator.java +++ /dev/null @@ -1,77 +0,0 @@ -package net.minestom.codegen.sounds; - -import com.squareup.javapoet.ClassName; -import net.kyori.adventure.sound.Sound; -import net.minestom.codegen.BasicEnumGenerator; -import net.minestom.codegen.EnumGenerator; -import net.minestom.server.registry.ResourceGatherer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -public class SoundEnumGenerator extends BasicEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(SoundEnumGenerator.class); - - public static void main(String[] args) throws IOException { - String targetVersion; - if(args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if(args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if(!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new SoundEnumGenerator(targetFolder); - } - - private SoundEnumGenerator(File targetFolder) throws IOException { - super(targetFolder); - } - - @Override - protected void prepare(EnumGenerator generator) { - super.prepare(generator); - - // implement type as well - generator.addSuperinterface(ClassName.get(Sound.Type.class)); - } - - @Override - protected String getCategoryID() { - return "minecraft:sound_event"; - } - - @Override - public String getPackageName() { - return "net.minestom.server.sound"; - } - - @Override - public String getClassName() { - return "SoundEvent"; - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/stats/BiomesEnumGenerator.java b/src/generators/java/net/minestom/codegen/stats/BiomesEnumGenerator.java deleted file mode 100644 index a0f8a4807..000000000 --- a/src/generators/java/net/minestom/codegen/stats/BiomesEnumGenerator.java +++ /dev/null @@ -1,66 +0,0 @@ -package net.minestom.codegen.stats; - -import net.minestom.codegen.BasicEnumGenerator; -import net.minestom.server.registry.ResourceGatherer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -public class BiomesEnumGenerator extends BasicEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(BiomesEnumGenerator.class); - - public static void main(String[] args) throws IOException { - String targetVersion; - if(args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if(args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if(!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new BiomesEnumGenerator(targetFolder); - } - - private BiomesEnumGenerator(File targetFolder) throws IOException { - super(targetFolder, false); - } - - @Override - protected String getCategoryID() { - return "minecraft:biome"; - } - - @Override - public String getPackageName() { - return "net.minestom.server.instance"; - } - - @Override - public String getClassName() { - return "Biome"; - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/generators/java/net/minestom/codegen/stats/StatsEnumGenerator.java b/src/generators/java/net/minestom/codegen/stats/StatsEnumGenerator.java deleted file mode 100644 index 55632867d..000000000 --- a/src/generators/java/net/minestom/codegen/stats/StatsEnumGenerator.java +++ /dev/null @@ -1,66 +0,0 @@ -package net.minestom.codegen.stats; - -import net.minestom.codegen.BasicEnumGenerator; -import net.minestom.server.registry.ResourceGatherer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; - -public class StatsEnumGenerator extends BasicEnumGenerator { - - private static final Logger LOGGER = LoggerFactory.getLogger(StatsEnumGenerator.class); - - public static void main(String[] args) throws IOException { - String targetVersion; - if(args.length < 1) { - System.err.println("Usage: [target folder]"); - return; - } - - targetVersion = args[0]; - - try { - ResourceGatherer.ensureResourcesArePresent(targetVersion); // TODO - } catch (IOException e) { - e.printStackTrace(); - } - - String targetPart = DEFAULT_TARGET_PATH; - if(args.length >= 2) { - targetPart = args[1]; - } - - File targetFolder = new File(targetPart); - if(!targetFolder.exists()) { - targetFolder.mkdirs(); - } - - new StatsEnumGenerator(targetFolder); - } - - private StatsEnumGenerator(File targetFolder) throws IOException { - super(targetFolder); - } - - @Override - protected String getCategoryID() { - return "minecraft:custom_stat"; - } - - @Override - public String getPackageName() { - return "net.minestom.server.stat"; - } - - @Override - public String getClassName() { - return "StatisticType"; - } - - @Override - public Logger getLogger() { - return LOGGER; - } -} diff --git a/src/main/java/net/minestom/server/MinecraftServer.java b/src/main/java/net/minestom/server/MinecraftServer.java index cc1b63a8c..788f19462 100644 --- a/src/main/java/net/minestom/server/MinecraftServer.java +++ b/src/main/java/net/minestom/server/MinecraftServer.java @@ -12,7 +12,7 @@ import net.minestom.server.event.GlobalEventHandler; import net.minestom.server.exception.ExceptionManager; import net.minestom.server.extensions.Extension; import net.minestom.server.extensions.ExtensionManager; -import net.minestom.server.fluids.Fluid; +import net.minestom.server.fluid.Fluid; import net.minestom.server.gamedata.loottables.LootTableManager; import net.minestom.server.gamedata.tags.TagManager; import net.minestom.server.instance.Chunk; @@ -39,7 +39,7 @@ import net.minestom.server.recipe.RecipeManager; import net.minestom.server.registry.ResourceGatherer; import net.minestom.server.scoreboard.TeamManager; import net.minestom.server.sound.SoundEvent; -import net.minestom.server.stat.StatisticType; +import net.minestom.server.statistic.StatisticType; import net.minestom.server.storage.StorageLocation; import net.minestom.server.storage.StorageManager; import net.minestom.server.terminal.MinestomTerminal; diff --git a/src/main/java/net/minestom/server/entity/Player.java b/src/main/java/net/minestom/server/entity/Player.java index 5c1adf626..b75d8840c 100644 --- a/src/main/java/net/minestom/server/entity/Player.java +++ b/src/main/java/net/minestom/server/entity/Player.java @@ -402,7 +402,7 @@ public class Player extends LivingEntity implements CommandSender, Localizable, if (isEating()) { if (time - startEatingTime >= eatingTime) { triggerStatus((byte) 9); // Mark item use as finished - ItemUpdateStateEvent itemUpdateStateEvent = callItemUpdateStateEvent(true, eatingHand); + ItemUpdateStateEvent itemUpdateStateEvent = callItemUpdateStateEvent(eatingHand); Check.notNull(itemUpdateStateEvent, "#callItemUpdateStateEvent returned null."); @@ -1137,6 +1137,15 @@ public class Player extends LivingEntity implements CommandSender, Localizable, return eatingHand != null; } + /** + * Gets the hand which the player is eating from. + * + * @return the eating hand, null if none + */ + public @Nullable Hand getEatingHand() { + return eatingHand; + } + /** * Gets the player default eating time. * @@ -2291,7 +2300,10 @@ public class Player extends LivingEntity implements CommandSender, Localizable, * @param allowFood true if food should be updated, false otherwise * @return the called {@link ItemUpdateStateEvent}, * null if there is no item to update the state + * + * @deprecated Use {@link #callItemUpdateStateEvent(Hand)} instead */ + @Deprecated public @Nullable ItemUpdateStateEvent callItemUpdateStateEvent(boolean allowFood, @Nullable Hand hand) { if (hand == null) return null; @@ -2308,6 +2320,17 @@ public class Player extends LivingEntity implements CommandSender, Localizable, return itemUpdateStateEvent; } + /** + * Used to call {@link ItemUpdateStateEvent} with the proper item + * It does check which hand to get the item to update. Allows food. + * + * @return the called {@link ItemUpdateStateEvent}, + * null if there is no item to update the state + */ + public @Nullable ItemUpdateStateEvent callItemUpdateStateEvent(@Nullable Hand hand) { + return callItemUpdateStateEvent(true, hand); + } + /** * Makes the player digging a custom block, see {@link #resetTargetBlock()} to rewind. * diff --git a/src/main/java/net/minestom/server/entity/damage/DamageType.java b/src/main/java/net/minestom/server/entity/damage/DamageType.java index 711469936..e1850622a 100644 --- a/src/main/java/net/minestom/server/entity/damage/DamageType.java +++ b/src/main/java/net/minestom/server/entity/damage/DamageType.java @@ -26,7 +26,7 @@ public class DamageType implements DataContainer { public static final DamageType ON_FIRE = new DamageType("attack.onFire") { @Override protected SoundEvent getPlayerSound(@NotNull Player player) { - return SoundEvent.ENTITY_PLAYER_HURT_ON_FIRE; + return SoundEvent.PLAYER_HURT_ON_FIRE; } }; private final String identifier; @@ -143,11 +143,11 @@ public class DamageType implements DataContainer { } protected SoundEvent getGenericSound(@NotNull LivingEntity entity) { - return SoundEvent.ENTITY_GENERIC_HURT; + return SoundEvent.GENERIC_HURT; } protected SoundEvent getPlayerSound(@NotNull Player player) { - return SoundEvent.ENTITY_PLAYER_HURT; + return SoundEvent.PLAYER_HURT; } @Override diff --git a/src/main/java/net/minestom/server/item/metadata/PotionMeta.java b/src/main/java/net/minestom/server/item/metadata/PotionMeta.java index bbf4b0e98..a764b7cfa 100644 --- a/src/main/java/net/minestom/server/item/metadata/PotionMeta.java +++ b/src/main/java/net/minestom/server/item/metadata/PotionMeta.java @@ -52,7 +52,7 @@ public class PotionMeta extends ItemMeta implements ItemMetaBuilder.Provider * Used for {@link CustomBlock} break delay or when the {@link PlayerStartDiggingEvent} is cancelled * to remove the player break animation. @@ -220,7 +224,7 @@ public class PlayerDiggingListener { EntityEffectPacket entityEffectPacket = new EntityEffectPacket(); entityEffectPacket.entityId = player.getEntityId(); entityEffectPacket.potion = new Potion( - PotionEffect.MINING_FATIGUE, + PotionEffect.DIG_SLOWDOWN, (byte) -1, 0, false, @@ -243,7 +247,7 @@ public class PlayerDiggingListener { RemoveEntityEffectPacket removeEntityEffectPacket = new RemoveEntityEffectPacket(); removeEntityEffectPacket.entityId = player.getEntityId(); - removeEntityEffectPacket.effect = PotionEffect.MINING_FATIGUE; + removeEntityEffectPacket.effect = PotionEffect.DIG_SLOWDOWN; player.getPlayerConnection().sendPacket(removeEntityEffectPacket); } } diff --git a/src/main/java/net/minestom/server/listener/UseItemListener.java b/src/main/java/net/minestom/server/listener/UseItemListener.java index 6f6fffc43..01245c1ab 100644 --- a/src/main/java/net/minestom/server/listener/UseItemListener.java +++ b/src/main/java/net/minestom/server/listener/UseItemListener.java @@ -51,6 +51,8 @@ public class UseItemListener { PlayerItemAnimationEvent.ItemAnimationType itemAnimationType = null; boolean riptideSpinAttack = false; + boolean cancelAnimation = false; + if (material == Material.BOW) { itemAnimationType = PlayerItemAnimationEvent.ItemAnimationType.BOW; } else if (material == Material.CROSSBOW) { @@ -64,12 +66,16 @@ public class UseItemListener { // Eating code, contains the eating time customisation PlayerPreEatEvent playerPreEatEvent = new PlayerPreEatEvent(player, itemStack, hand, player.getDefaultEatingTime()); - EventDispatcher.callCancellable(playerPreEatEvent, () -> player.refreshEating(hand, playerPreEatEvent.getEatingTime())); + player.callCancellableEvent(PlayerPreEatEvent.class, playerPreEatEvent, () -> player.refreshEating(hand, playerPreEatEvent.getEatingTime())); + + if (playerPreEatEvent.isCancelled()) { + cancelAnimation = true; + } } - if (itemAnimationType != null) { + if (!cancelAnimation && itemAnimationType != null) { PlayerItemAnimationEvent playerItemAnimationEvent = new PlayerItemAnimationEvent(player, itemAnimationType); - EventDispatcher.callCancellable(playerItemAnimationEvent, () -> { + player.callCancellableEvent(PlayerItemAnimationEvent.class, playerItemAnimationEvent, () -> { player.refreshActiveHand(true, hand == Player.Hand.OFF, riptideSpinAttack); player.sendPacketToViewers(player.getMetadataPacket()); }); diff --git a/src/main/java/net/minestom/server/network/packet/server/play/TagsPacket.java b/src/main/java/net/minestom/server/network/packet/server/play/TagsPacket.java index 1a67453ad..b4e374314 100644 --- a/src/main/java/net/minestom/server/network/packet/server/play/TagsPacket.java +++ b/src/main/java/net/minestom/server/network/packet/server/play/TagsPacket.java @@ -2,7 +2,7 @@ package net.minestom.server.network.packet.server.play; import net.minestom.server.MinecraftServer; import net.minestom.server.entity.EntityType; -import net.minestom.server.fluids.Fluid; +import net.minestom.server.fluid.Fluid; import net.minestom.server.gamedata.tags.Tag; import net.minestom.server.instance.block.Block; import net.minestom.server.item.Material; @@ -50,7 +50,7 @@ public class TagsPacket implements ServerPacket { public void read(@NotNull BinaryReader reader) { readTags(reader, blockTags, id -> NamespaceID.from("minecraft", Block.values()[id].getName())); readTags(reader, itemTags, id -> NamespaceID.from("minecraft", Material.values()[id].getName())); - readTags(reader, fluidTags, id -> NamespaceID.from(Fluid.values()[id].getNamespaceID())); + readTags(reader, fluidTags, id -> Fluid.fromId(id.shortValue()).getNamespaceID()); readTags(reader, entityTags, id -> NamespaceID.from(EntityType.values()[id].getNamespaceID())); } diff --git a/src/main/java/net/minestom/server/stat/PlayerStatistic.java b/src/main/java/net/minestom/server/stat/PlayerStatistic.java index f87b57393..e8337cad7 100644 --- a/src/main/java/net/minestom/server/stat/PlayerStatistic.java +++ b/src/main/java/net/minestom/server/stat/PlayerStatistic.java @@ -1,6 +1,7 @@ package net.minestom.server.stat; import net.minestom.server.entity.Player; +import net.minestom.server.statistic.StatisticType; import org.jetbrains.annotations.NotNull; /** diff --git a/src/main/java/net/minestom/server/thread/TickThread.java b/src/main/java/net/minestom/server/thread/TickThread.java index a1612a1cc..0b4faab59 100644 --- a/src/main/java/net/minestom/server/thread/TickThread.java +++ b/src/main/java/net/minestom/server/thread/TickThread.java @@ -5,7 +5,7 @@ import net.minestom.server.utils.validate.Check; import org.jetbrains.annotations.NotNull; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import java.util.concurrent.locks.LockSupport; import java.util.concurrent.locks.ReentrantLock; @@ -45,10 +45,13 @@ public class TickThread extends Thread { protected static class BatchRunnable implements Runnable { + private static final AtomicReferenceFieldUpdater CONTEXT_UPDATER = + AtomicReferenceFieldUpdater.newUpdater(BatchRunnable.class, TickContext.class, "tickContext"); + private volatile boolean stop; private TickThread tickThread; - private final AtomicReference tickContext = new AtomicReference<>(); + private volatile TickContext tickContext; @Override public void run() { @@ -57,7 +60,7 @@ public class TickThread extends Thread { LockSupport.park(tickThread); if (stop) break; - TickContext localContext = this.tickContext.get(); + TickContext localContext = tickContext; // The context is necessary to control the tick rates if (localContext == null) { continue; @@ -67,12 +70,12 @@ public class TickThread extends Thread { localContext.runnable.run(); localContext.countDownLatch.countDown(); - this.tickContext.compareAndSet(localContext, null); + CONTEXT_UPDATER.compareAndSet(this, localContext, null); } } protected void startTick(@NotNull CountDownLatch countDownLatch, @NotNull Runnable runnable) { - this.tickContext.set(new TickContext(countDownLatch, runnable)); + this.tickContext = new TickContext(countDownLatch, runnable); LockSupport.unpark(tickThread); } diff --git a/src/main/java/net/minestom/server/timer/TaskBuilder.java b/src/main/java/net/minestom/server/timer/TaskBuilder.java index 98636ce88..bb7a03121 100644 --- a/src/main/java/net/minestom/server/timer/TaskBuilder.java +++ b/src/main/java/net/minestom/server/timer/TaskBuilder.java @@ -3,6 +3,7 @@ package net.minestom.server.timer; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minestom.server.extras.selfmodification.MinestomRootClassLoader; import net.minestom.server.utils.time.TimeUnit; +import net.minestom.server.utils.time.UpdateOption; import org.jetbrains.annotations.NotNull; /** @@ -72,6 +73,18 @@ public class TaskBuilder { return this; } + /** + * Specifies that the {@link Task} should delay its execution by the specified amount of time. + * + * @param updateOption the UpdateOption for this builder. + * @return this builder, for chaining + */ + @NotNull + public TaskBuilder delay(UpdateOption updateOption) { + this.delay = updateOption.toMilliseconds(); + return this; + } + /** * Specifies that the {@link Task} should continue to run after waiting for the specified value until it is terminated. * @@ -85,6 +98,18 @@ public class TaskBuilder { return this; } + /** + * Specifies that the {@link Task} should continue to run after waiting for the specified value until it is terminated. + * + * @param updateOption the UpdateOption for this builder. + * @return this builder, for chaining + */ + @NotNull + public TaskBuilder repeat(UpdateOption updateOption) { + this.repeat = updateOption.toMilliseconds(); + return this; + } + /** * Clears the delay interval of the {@link Task}. * diff --git a/src/main/java/net/minestom/server/utils/NBTUtils.java b/src/main/java/net/minestom/server/utils/NBTUtils.java index a69922ee3..87b09e27c 100644 --- a/src/main/java/net/minestom/server/utils/NBTUtils.java +++ b/src/main/java/net/minestom/server/utils/NBTUtils.java @@ -149,7 +149,7 @@ public final class NBTUtils { if (nbt.containsKey("display")) { final NBTCompound display = nbt.getCompound("display"); if (display.containsKey("Name")) { - final String rawName = display.getString("Name"); + final String rawName = StringUtils.unescapeJavaString(display.getString("Name")); final Component displayName = GsonComponentSerializer.gson().deserialize(rawName); metaBuilder.displayName(displayName); } @@ -157,7 +157,8 @@ public final class NBTUtils { NBTList loreList = display.getList("Lore"); List lore = new ArrayList<>(); for (NBTString s : loreList) { - lore.add(GsonComponentSerializer.gson().deserialize(s.getValue())); + final String rawLore = StringUtils.unescapeJavaString(s.getValue()); + lore.add(GsonComponentSerializer.gson().deserialize(rawLore)); } metaBuilder.lore(lore); } diff --git a/src/main/java/net/minestom/server/utils/time/UpdateOption.java b/src/main/java/net/minestom/server/utils/time/UpdateOption.java index c190330fd..7f186bc73 100644 --- a/src/main/java/net/minestom/server/utils/time/UpdateOption.java +++ b/src/main/java/net/minestom/server/utils/time/UpdateOption.java @@ -35,4 +35,13 @@ public class UpdateOption { UpdateOption updateOption = (UpdateOption) o; return Objects.equals(value, updateOption.value) && Objects.equals(timeUnit, updateOption.timeUnit); } + + /** + * Converts this update option to milliseconds + * + * @return the converted milliseconds based on the time value and the unit + */ + public long toMilliseconds() { + return timeUnit.toMilliseconds(value); + } }