diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index 08d0789d0..e2b5335fd 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -34,17 +34,26 @@ import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter; import com.sk89q.worldedit.bukkit.adapter.BukkitImplLoader; import com.sk89q.worldedit.event.platform.CommandEvent; import com.sk89q.worldedit.event.platform.PlatformReadyEvent; +import com.sk89q.worldedit.extension.input.InputParseException; +import com.sk89q.worldedit.extension.input.ParserContext; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.extension.platform.Capability; import com.sk89q.worldedit.extension.platform.NoCapablePlatformException; import com.sk89q.worldedit.extension.platform.Platform; import com.sk89q.worldedit.extent.inventory.BlockBag; +import com.sk89q.worldedit.world.biome.BiomeType; +import com.sk89q.worldedit.world.biome.BiomeTypes; import com.sk89q.worldedit.world.block.BlockCategory; +import com.sk89q.worldedit.world.block.BlockType; +import com.sk89q.worldedit.world.block.FuzzyBlockState; +import com.sk89q.worldedit.world.entity.EntityType; import com.sk89q.worldedit.world.item.ItemCategory; +import com.sk89q.worldedit.world.item.ItemType; import com.sk89q.worldedit.world.registry.LegacyMapper; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Tag; +import org.bukkit.block.Biome; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -149,6 +158,7 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter @Override public void onLoad() { + if (INSTANCE != null) return; rename(); this.INSTANCE = this; FaweBukkit imp = new FaweBukkit(this); @@ -162,11 +172,9 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter server = new BukkitServerInterface(this, getServer()); worldEdit.getPlatformManager().register(server); loadAdapter(); // Need an adapter to work with special blocks with NBT data - worldEdit.loadMappings(); loadConfig(); // Load configuration fail(() -> PermissionsResolverManager.initialize(INSTANCE), "Failed to initialize permissions resolver"); - } /** @@ -174,7 +182,11 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter */ @Override public void onEnable() { + if (INSTANCE != null) return; + onLoad(); setupTags(); // these have to be done post-world since they rely on MC registries. the other ones just use Bukkit enums + setupRegistries(); + WorldEdit.getInstance().loadMappings(); PermissionsResolverManager.initialize(this); // Setup permission resolver @@ -202,6 +214,48 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter } } + public void setupRegistries() { + // Biome + for (Biome biome : Biome.values()) { + BiomeType.REGISTRY.register("minecraft:" + biome.name().toLowerCase(), new BiomeType("minecraft:" + biome.name().toLowerCase())); + } + // Block & Item + for (Material material : Material.values()) { +// if (material.isBlock() && !material.isLegacy()) { +// BlockType.REGISTRY.register(material.getKey().toString(), new BlockType(material.getKey().toString(), blockState -> { +// // TODO Use something way less hacky than this. +// ParserContext context = new ParserContext(); +// context.setPreferringWildcard(true); +// context.setTryLegacy(false); +// context.setRestricted(false); +// try { +// FuzzyBlockState state = (FuzzyBlockState) WorldEdit.getInstance().getBlockFactory().parseFromInput( +// BukkitAdapter.adapt(blockState.getBlockType()).createBlockData().getAsString(), context +// ).toImmutableState(); +// BlockState defaultState = blockState.getBlockType().getAllStates().get(0); +// for (Map.Entry, Object> propertyObjectEntry : state.getStates().entrySet()) { +// defaultState = defaultState.with((Property) propertyObjectEntry.getKey(), propertyObjectEntry.getValue()); +// } +// return defaultState; +// } catch (InputParseException e) { +// e.printStackTrace(); +// return blockState; +// } +// })); +// } + if (material.isItem() && !material.isLegacy()) { + ItemType.REGISTRY.register(material.getKey().toString(), new ItemType(material.getKey().toString())); + } + } + // Entity + for (org.bukkit.entity.EntityType entityType : org.bukkit.entity.EntityType.values()) { + String mcid = entityType.getName(); + if (mcid != null) { + EntityType.REGISTRY.register("minecraft:" + mcid.toLowerCase(), new EntityType("minecraft:" + mcid.toLowerCase())); + } + } + } + private void setupTags() { // Tags try { @@ -245,18 +299,18 @@ public class WorldEditPlugin extends JavaPlugin //implements TabCompleter } } } - { - java.util.logging.Logger logger = getLogger(); - if (logger != null) { - try { - Field nameField = Logger.class.getDeclaredField("name"); - nameField.setAccessible(true); - nameField.set(logger, "FastAsyncWorldEdit"); - } catch (Throwable ignore) { - ignore.printStackTrace(); - } - } - } +// { +// java.util.logging.Logger logger = getLogger(); +// if (logger != null) { +// try { +// Field nameField = Logger.class.getDeclaredField("name"); +// nameField.setAccessible(true); +// nameField.set(logger, "FastAsyncWorldEdit"); +// } catch (Throwable ignore) { +// ignore.printStackTrace(); +// } +// } +// } { File pluginsFolder = MainUtil.getJarFile().getParentFile(); for (File file : pluginsFolder.listFiles()) { diff --git a/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/FaweLocalBlockQueue.java b/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/FaweLocalBlockQueue.java index 363ff35c5..8e4c3ee32 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/FaweLocalBlockQueue.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/FaweLocalBlockQueue.java @@ -19,6 +19,7 @@ import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.registry.BiomeRegistry; import com.sk89q.worldedit.world.registry.LegacyMapper; +import java.util.Collection; import java.util.List; // TODO FIXME @@ -95,7 +96,7 @@ public class FaweLocalBlockQueue extends LocalBlockQueue { if (reg == null) { reg = WorldEdit.getInstance().getPlatformManager().queryCapability(Capability.USER_COMMANDS).getRegistries().getBiomeRegistry(); } - List biomes = BiomeTypes.values(); + Collection biomes = BiomeTypes.values(); lastBiome = biome; this.biome = Biomes.findBiomeByName(biomes, biome, reg); } diff --git a/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/PlotSetBiome.java b/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/PlotSetBiome.java index 9b04d02f9..679204b04 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/PlotSetBiome.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/regions/general/plot/PlotSetBiome.java @@ -27,6 +27,8 @@ import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.biome.BiomeTypes; import com.sk89q.worldedit.world.biome.Biomes; import com.sk89q.worldedit.world.registry.BiomeRegistry; + +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.concurrent.ThreadLocalRandom; @@ -56,7 +58,7 @@ public class PlotSetBiome extends Command { checkTrue(args.length == 1, Captions.COMMAND_SYNTAX, getUsage()); final HashSet regions = plot.getRegions(); BiomeRegistry biomeRegistry = WorldEdit.getInstance().getPlatformManager().queryCapability(Capability.GAME_HOOKS).getRegistries().getBiomeRegistry(); - List knownBiomes = BiomeTypes.values(); + Collection knownBiomes = BiomeTypes.values(); final BiomeType biome = Biomes.findBiomeByName(knownBiomes, args[0], biomeRegistry); if (biome == null) { String biomes = StringMan.join(WorldUtil.IMP.getBiomeList(), Captions.BLOCK_LIST_SEPARATER.s()); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java index c0d4174ee..f952e9b9a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java @@ -107,7 +107,7 @@ public class BiomeCommands extends MethodCommands { } BiomeRegistry biomeRegistry = getBiomeRegistry(); - List biomes = BiomeTypes.values(); + Collection biomes = BiomeTypes.values(); int totalPages = biomes.size() / 19 + 1; Message msg = BBC.BIOME_LIST_HEADER.m(page, totalPages); String setBiome = Commands.getAlias(BiomeCommands.class, "/setbiome"); @@ -144,7 +144,7 @@ public class BiomeCommands extends MethodCommands { @CommandPermissions("worldedit.biome.info") public void biomeInfo(Player player, LocalSession session, final EditSession editSession, CommandContext args) throws WorldEditException { BiomeRegistry biomeRegistry = getBiomeRegistry(); - List values = BiomeTypes.values(); + Collection values = BiomeTypes.values(); final int[] biomes = new int[values.size()]; final String qualifier; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java index 724e78c09..281fb66ac 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java @@ -74,6 +74,7 @@ import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.registry.BiomeRegistry; import java.util.ArrayList; +import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -710,7 +711,7 @@ public class RegionCommands extends MethodCommands { BiomeType biome = null; if (context.argsLength() >= 1) { BiomeRegistry biomeRegistry = worldEdit.getPlatformManager().queryCapability(Capability.GAME_HOOKS).getRegistries().getBiomeRegistry(); - List knownBiomes = BiomeTypes.values(); + Collection knownBiomes = BiomeTypes.values(); biome = Biomes.findBiomeByName(knownBiomes, context.getString(0), biomeRegistry); } Long seed = context.argsLength() != 2 || !MathMan.isInteger(context.getString(1)) ? null : Long.parseLong(context.getString(1)); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/Category.java b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/Category.java index 0f7f256a8..5e2ae1c43 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/Category.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/Category.java @@ -22,7 +22,7 @@ package com.sk89q.worldedit.registry; import java.util.HashSet; import java.util.Set; -public abstract class Category { +public abstract class Category implements RegistryItem { private final Set set = new HashSet<>(); protected final String id; private boolean empty = true; @@ -43,6 +43,18 @@ public abstract class Category { return this.set; } + private int internalId; + + @Override + public void setInternalId(int internalId) { + this.internalId = internalId; + } + + @Override + public int getInternalId() { + return internalId; + } + protected abstract Set load(); /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/NamespacedRegistry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/NamespacedRegistry.java index d3b151f6e..cc67df85a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/NamespacedRegistry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/NamespacedRegistry.java @@ -22,11 +22,15 @@ package com.sk89q.worldedit.registry; import static com.google.common.base.Preconditions.checkState; import static java.util.Objects.requireNonNull; -import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.List; -public final class NamespacedRegistry extends Registry { +public final class NamespacedRegistry extends Registry { private static final String MINECRAFT_NAMESPACE = "minecraft"; + private final String defaultNamespace; + private final List values = new ArrayList<>(); + private int lastInternalId = 0; public NamespacedRegistry(final String name) { this(name, MINECRAFT_NAMESPACE); @@ -37,14 +41,33 @@ public final class NamespacedRegistry extends Registry { this.defaultNamespace = defaultNamespace; } - public @Nullable V get(final String key) { - return super.get(this.orDefaultNamespace(key)); + public synchronized V register(final String key, final V value) { + requireNonNull(key, "key"); + int index = key.indexOf(':'); + checkState(index > -1, "key is not namespaced"); + V existing = super.get(key); + if (existing != null) { + throw new UnsupportedOperationException("Replacing existing registrations is not supported"); + } + value.setInternalId(lastInternalId++); + values.add(value); + super.register(key, value); + if (key.startsWith(defaultNamespace)) { + super.register(key.substring(index), value); + } + return value; } - public V register(final String key, final V value) { - requireNonNull(key, "key"); - checkState(key.indexOf(':') > -1, "key is not namespaced"); - return super.register(key, value); + public V getByInternalId(int index) { + return values.get(index); + } + + public int getInternalId(V value) { + return value.getInternalId(); + } + + public int size() { + return values.size(); } private String orDefaultNamespace(final String key) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/Registry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/Registry.java index 7545068de..24f306a31 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/Registry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/Registry.java @@ -33,17 +33,21 @@ import javax.annotation.Nullable; public class Registry implements Iterable { private final Map map = new HashMap<>(); + private Collection values = Collections.unmodifiableCollection(map.values()); private final String name; public Registry(final String name) { this.name = name; } - public @Nullable V get(final String key) { - checkState(key.equals(key.toLowerCase()), "key must be lowercase"); + public @Nullable V get(final CharSequence key) { return this.map.get(key); } + public @Nullable V get(final String key) { + return get((CharSequence) key); + } + public V register(final String key, final V value) { requireNonNull(key, "key"); requireNonNull(value, "value"); @@ -58,12 +62,11 @@ public class Registry implements Iterable { } public Collection values() { - return Collections.unmodifiableCollection(this.map.values()); + return values; } @Override public Iterator iterator() { return this.map.values().iterator(); } - } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/registry/RegistryItem.java b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/RegistryItem.java new file mode 100644 index 000000000..71ac68278 --- /dev/null +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/registry/RegistryItem.java @@ -0,0 +1,7 @@ +package com.sk89q.worldedit.registry; + +public interface RegistryItem { + void setInternalId(int internalId); + + int getInternalId(); +} diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeType.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeType.java index cdba7555c..3214de29b 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeType.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeType.java @@ -19,22 +19,29 @@ package com.sk89q.worldedit.world.biome; +import com.sk89q.worldedit.registry.RegistryItem; import com.sk89q.worldedit.registry.NamespacedRegistry; /** * All the types of biomes in the game. */ -public class BiomeType { +public class BiomeType implements RegistryItem { public static final NamespacedRegistry REGISTRY = new NamespacedRegistry<>("biome type"); - private final int internalId; private final String id; - protected BiomeType(String id, int internalId) { + public BiomeType(String id) { this.id = id; + } + + private int internalId; + + @Override + public void setInternalId(int internalId) { this.internalId = internalId; } + @Override public int getInternalId() { return internalId; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeTypes.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeTypes.java index e77623ac3..400acd517 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeTypes.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/biome/BiomeTypes.java @@ -21,6 +21,7 @@ package com.sk89q.worldedit.world.biome; import javax.annotation.Nullable; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Set; @@ -107,28 +108,15 @@ public class BiomeTypes { private BiomeTypes() { } - private static List biomes = new ArrayList<>(); - private static List biomesLocked = Collections.unmodifiableList(biomes); - - private static BiomeType register(final String id) { - BiomeType biome = new BiomeType(id, biomes.size()); - biomes.add(biome); - return register(biome); - } - - public static BiomeType register(final BiomeType biome) { - return BiomeType.REGISTRY.register(biome.getId(), biome); - } - public static @Nullable BiomeType get(final String id) { return BiomeType.REGISTRY.get(id); } public static BiomeType get(int internalId) { - return biomes.get(internalId); + return BiomeType.REGISTRY.getByInternalId(internalId); } - public static List values() { - return biomesLocked; + public static Collection values() { + return BiomeType.REGISTRY.values(); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockState.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockState.java index caaac9250..b9e36479d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockState.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockState.java @@ -180,7 +180,7 @@ public class BlockState implements BlockStateHolder, FawePattern { // Suggest property String input = charSequence.toString(); BlockType finalType = type; - throw new SuggestInputParseException("Invalid property " + type + " | " + input, input, () -> + throw new SuggestInputParseException("Invalid property " + charSequence + ":" + input + " for type " + type, input, () -> finalType.getProperties().stream() .map(p -> p.getName()) .filter(p -> p.startsWith(input)) diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockType.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockType.java index c6b12ddc4..7a5f89f73 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockType.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockType.java @@ -29,6 +29,7 @@ import com.sk89q.worldedit.function.mask.SingleBlockTypeMask; import com.sk89q.worldedit.function.pattern.FawePattern; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.WorldEdit; +import com.sk89q.worldedit.world.item.ItemTypes; import com.sk89q.worldedit.world.registry.BlockMaterial; import com.sk89q.worldedit.extension.platform.Capability; import com.sk89q.worldedit.registry.NamespacedRegistry; @@ -48,10 +49,13 @@ public class BlockType implements FawePattern { private final String id; private final BlockTypes.Settings settings; + private boolean initItemType; + private ItemType itemType; + protected BlockType(String id, int internalId, List states) { - this.settings = new BlockTypes.Settings(this, id, internalId, states); int i = id.indexOf("["); this.id = i == -1 ? id : id.substring(0, i); + this.settings = new BlockTypes.Settings(this, id, internalId, states); } @Deprecated @@ -94,9 +98,9 @@ public class BlockType implements FawePattern { } @Deprecated - public BlockState withPropertyId(int internalPropertiesId) { - if (internalPropertiesId == 0) return getDefaultState(); - return BlockState.getFromInternalId(getInternalId() + (internalPropertiesId << BlockTypes.BIT_OFFSET)); + public BlockState withPropertyId(int propertyId) { + if (settings.stateOrdinals == null) return settings.defaultState; + return BlockTypes.states[settings.stateOrdinals[propertyId]]; } @Deprecated @@ -237,7 +241,11 @@ public class BlockType implements FawePattern { */ @Nullable public ItemType getItemType() { - return settings.itemType; + if(!initItemType) { + initItemType = true; + itemType = ItemTypes.get(getId()); + } + return itemType; } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockTypes.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockTypes.java index 02968870d..47042f6a6 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockTypes.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/block/BlockTypes.java @@ -62,604 +62,604 @@ import java.util.stream.Stream; public final class BlockTypes { // Doesn't really matter what the hardcoded values are, as FAWE will update it on load @Nullable public static final BlockType __RESERVED__ = null; - @Nullable public static final BlockType ACACIA_BUTTON = get("minecraft:acacia_button"); - @Nullable public static final BlockType ACACIA_DOOR = get("minecraft:acacia_door"); - @Nullable public static final BlockType ACACIA_FENCE = get("minecraft:acacia_fence"); - @Nullable public static final BlockType ACACIA_FENCE_GATE = get("minecraft:acacia_fence_gate"); - @Nullable public static final BlockType ACACIA_LEAVES = get("minecraft:acacia_leaves"); - @Nullable public static final BlockType ACACIA_LOG = get("minecraft:acacia_log"); - @Nullable public static final BlockType ACACIA_PLANKS = get("minecraft:acacia_planks"); - @Nullable public static final BlockType ACACIA_PRESSURE_PLATE = get("minecraft:acacia_pressure_plate"); - @Nullable public static final BlockType ACACIA_SAPLING = get("minecraft:acacia_sapling"); - @Nullable public static final BlockType ACACIA_SLAB = get("minecraft:acacia_slab"); - @Nullable public static final BlockType ACACIA_STAIRS = get("minecraft:acacia_stairs"); - @Nullable public static final BlockType ACACIA_TRAPDOOR = get("minecraft:acacia_trapdoor"); - @Nullable public static final BlockType ACACIA_WOOD = get("minecraft:acacia_wood"); - @Nullable public static final BlockType ACTIVATOR_RAIL = get("minecraft:activator_rail"); - @Nullable public static final BlockType AIR = get("minecraft:air"); - @Nullable public static final BlockType ALLIUM = get("minecraft:allium"); - @Nullable public static final BlockType ANDESITE = get("minecraft:andesite"); - @Nullable public static final BlockType ANVIL = get("minecraft:anvil"); - @Nullable public static final BlockType ATTACHED_MELON_STEM = get("minecraft:attached_melon_stem"); - @Nullable public static final BlockType ATTACHED_PUMPKIN_STEM = get("minecraft:attached_pumpkin_stem"); - @Nullable public static final BlockType AZURE_BLUET = get("minecraft:azure_bluet"); - @Nullable public static final BlockType BARRIER = get("minecraft:barrier"); - @Nullable public static final BlockType BEACON = get("minecraft:beacon"); - @Nullable public static final BlockType BEDROCK = get("minecraft:bedrock"); - @Nullable public static final BlockType BEETROOTS = get("minecraft:beetroots"); - @Nullable public static final BlockType BIRCH_BUTTON = get("minecraft:birch_button"); - @Nullable public static final BlockType BIRCH_DOOR = get("minecraft:birch_door"); - @Nullable public static final BlockType BIRCH_FENCE = get("minecraft:birch_fence"); - @Nullable public static final BlockType BIRCH_FENCE_GATE = get("minecraft:birch_fence_gate"); - @Nullable public static final BlockType BIRCH_LEAVES = get("minecraft:birch_leaves"); - @Nullable public static final BlockType BIRCH_LOG = get("minecraft:birch_log"); - @Nullable public static final BlockType BIRCH_PLANKS = get("minecraft:birch_planks"); - @Nullable public static final BlockType BIRCH_PRESSURE_PLATE = get("minecraft:birch_pressure_plate"); - @Nullable public static final BlockType BIRCH_SAPLING = get("minecraft:birch_sapling"); - @Nullable public static final BlockType BIRCH_SLAB = get("minecraft:birch_slab"); - @Nullable public static final BlockType BIRCH_STAIRS = get("minecraft:birch_stairs"); - @Nullable public static final BlockType BIRCH_TRAPDOOR = get("minecraft:birch_trapdoor"); - @Nullable public static final BlockType BIRCH_WOOD = get("minecraft:birch_wood"); - @Nullable public static final BlockType BLACK_BANNER = get("minecraft:black_banner"); - @Nullable public static final BlockType BLACK_BED = get("minecraft:black_bed"); - @Nullable public static final BlockType BLACK_CARPET = get("minecraft:black_carpet"); - @Nullable public static final BlockType BLACK_CONCRETE = get("minecraft:black_concrete"); - @Nullable public static final BlockType BLACK_CONCRETE_POWDER = get("minecraft:black_concrete_powder"); - @Nullable public static final BlockType BLACK_GLAZED_TERRACOTTA = get("minecraft:black_glazed_terracotta"); - @Nullable public static final BlockType BLACK_SHULKER_BOX = get("minecraft:black_shulker_box"); - @Nullable public static final BlockType BLACK_STAINED_GLASS = get("minecraft:black_stained_glass"); - @Nullable public static final BlockType BLACK_STAINED_GLASS_PANE = get("minecraft:black_stained_glass_pane"); - @Nullable public static final BlockType BLACK_TERRACOTTA = get("minecraft:black_terracotta"); - @Nullable public static final BlockType BLACK_WALL_BANNER = get("minecraft:black_wall_banner"); - @Nullable public static final BlockType BLACK_WOOL = get("minecraft:black_wool"); - @Nullable public static final BlockType BLUE_BANNER = get("minecraft:blue_banner"); - @Nullable public static final BlockType BLUE_BED = get("minecraft:blue_bed"); - @Nullable public static final BlockType BLUE_CARPET = get("minecraft:blue_carpet"); - @Nullable public static final BlockType BLUE_CONCRETE = get("minecraft:blue_concrete"); - @Nullable public static final BlockType BLUE_CONCRETE_POWDER = get("minecraft:blue_concrete_powder"); - @Nullable public static final BlockType BLUE_GLAZED_TERRACOTTA = get("minecraft:blue_glazed_terracotta"); - @Nullable public static final BlockType BLUE_ICE = get("minecraft:blue_ice"); - @Nullable public static final BlockType BLUE_ORCHID = get("minecraft:blue_orchid"); - @Nullable public static final BlockType BLUE_SHULKER_BOX = get("minecraft:blue_shulker_box"); - @Nullable public static final BlockType BLUE_STAINED_GLASS = get("minecraft:blue_stained_glass"); - @Nullable public static final BlockType BLUE_STAINED_GLASS_PANE = get("minecraft:blue_stained_glass_pane"); - @Nullable public static final BlockType BLUE_TERRACOTTA = get("minecraft:blue_terracotta"); - @Nullable public static final BlockType BLUE_WALL_BANNER = get("minecraft:blue_wall_banner"); - @Nullable public static final BlockType BLUE_WOOL = get("minecraft:blue_wool"); - @Nullable public static final BlockType BONE_BLOCK = get("minecraft:bone_block"); - @Nullable public static final BlockType BOOKSHELF = get("minecraft:bookshelf"); - @Nullable public static final BlockType BRAIN_CORAL = get("minecraft:brain_coral"); - @Nullable public static final BlockType BRAIN_CORAL_BLOCK = get("minecraft:brain_coral_block"); - @Nullable public static final BlockType BRAIN_CORAL_FAN = get("minecraft:brain_coral_fan"); - @Nullable public static final BlockType BRAIN_CORAL_WALL_FAN = get("minecraft:brain_coral_wall_fan"); - @Nullable public static final BlockType BREWING_STAND = get("minecraft:brewing_stand"); - @Nullable public static final BlockType BRICK_SLAB = get("minecraft:brick_slab"); - @Nullable public static final BlockType BRICK_STAIRS = get("minecraft:brick_stairs"); - @Nullable public static final BlockType BRICKS = get("minecraft:bricks"); - @Nullable public static final BlockType BROWN_BANNER = get("minecraft:brown_banner"); - @Nullable public static final BlockType BROWN_BED = get("minecraft:brown_bed"); - @Nullable public static final BlockType BROWN_CARPET = get("minecraft:brown_carpet"); - @Nullable public static final BlockType BROWN_CONCRETE = get("minecraft:brown_concrete"); - @Nullable public static final BlockType BROWN_CONCRETE_POWDER = get("minecraft:brown_concrete_powder"); - @Nullable public static final BlockType BROWN_GLAZED_TERRACOTTA = get("minecraft:brown_glazed_terracotta"); - @Nullable public static final BlockType BROWN_MUSHROOM = get("minecraft:brown_mushroom"); - @Nullable public static final BlockType BROWN_MUSHROOM_BLOCK = get("minecraft:brown_mushroom_block"); - @Nullable public static final BlockType BROWN_SHULKER_BOX = get("minecraft:brown_shulker_box"); - @Nullable public static final BlockType BROWN_STAINED_GLASS = get("minecraft:brown_stained_glass"); - @Nullable public static final BlockType BROWN_STAINED_GLASS_PANE = get("minecraft:brown_stained_glass_pane"); - @Nullable public static final BlockType BROWN_TERRACOTTA = get("minecraft:brown_terracotta"); - @Nullable public static final BlockType BROWN_WALL_BANNER = get("minecraft:brown_wall_banner"); - @Nullable public static final BlockType BROWN_WOOL = get("minecraft:brown_wool"); - @Nullable public static final BlockType BUBBLE_COLUMN = get("minecraft:bubble_column"); - @Nullable public static final BlockType BUBBLE_CORAL = get("minecraft:bubble_coral"); - @Nullable public static final BlockType BUBBLE_CORAL_BLOCK = get("minecraft:bubble_coral_block"); - @Nullable public static final BlockType BUBBLE_CORAL_FAN = get("minecraft:bubble_coral_fan"); - @Nullable public static final BlockType BUBBLE_CORAL_WALL_FAN = get("minecraft:bubble_coral_wall_fan"); - @Nullable public static final BlockType CACTUS = get("minecraft:cactus"); - @Nullable public static final BlockType CAKE = get("minecraft:cake"); - @Nullable public static final BlockType CARROTS = get("minecraft:carrots"); - @Nullable public static final BlockType CARVED_PUMPKIN = get("minecraft:carved_pumpkin"); - @Nullable public static final BlockType CAULDRON = get("minecraft:cauldron"); - @Nullable public static final BlockType CAVE_AIR = get("minecraft:cave_air"); - @Nullable public static final BlockType CHAIN_COMMAND_BLOCK = get("minecraft:chain_command_block"); - @Nullable public static final BlockType CHEST = get("minecraft:chest"); - @Nullable public static final BlockType CHIPPED_ANVIL = get("minecraft:chipped_anvil"); - @Nullable public static final BlockType CHISELED_QUARTZ_BLOCK = get("minecraft:chiseled_quartz_block"); - @Nullable public static final BlockType CHISELED_RED_SANDSTONE = get("minecraft:chiseled_red_sandstone"); - @Nullable public static final BlockType CHISELED_SANDSTONE = get("minecraft:chiseled_sandstone"); - @Nullable public static final BlockType CHISELED_STONE_BRICKS = get("minecraft:chiseled_stone_bricks"); - @Nullable public static final BlockType CHORUS_FLOWER = get("minecraft:chorus_flower"); - @Nullable public static final BlockType CHORUS_PLANT = get("minecraft:chorus_plant"); - @Nullable public static final BlockType CLAY = get("minecraft:clay"); - @Nullable public static final BlockType COAL_BLOCK = get("minecraft:coal_block"); - @Nullable public static final BlockType COAL_ORE = get("minecraft:coal_ore"); - @Nullable public static final BlockType COARSE_DIRT = get("minecraft:coarse_dirt"); - @Nullable public static final BlockType COBBLESTONE = get("minecraft:cobblestone"); - @Nullable public static final BlockType COBBLESTONE_SLAB = get("minecraft:cobblestone_slab"); - @Nullable public static final BlockType COBBLESTONE_STAIRS = get("minecraft:cobblestone_stairs"); - @Nullable public static final BlockType COBBLESTONE_WALL = get("minecraft:cobblestone_wall"); - @Nullable public static final BlockType COBWEB = get("minecraft:cobweb"); - @Nullable public static final BlockType COCOA = get("minecraft:cocoa"); - @Nullable public static final BlockType COMMAND_BLOCK = get("minecraft:command_block"); - @Nullable public static final BlockType COMPARATOR = get("minecraft:comparator"); - @Nullable public static final BlockType CONDUIT = get("minecraft:conduit"); - @Nullable public static final BlockType CRACKED_STONE_BRICKS = get("minecraft:cracked_stone_bricks"); - @Nullable public static final BlockType CRAFTING_TABLE = get("minecraft:crafting_table"); - @Nullable public static final BlockType CREEPER_HEAD = get("minecraft:creeper_head"); - @Nullable public static final BlockType CREEPER_WALL_HEAD = get("minecraft:creeper_wall_head"); - @Nullable public static final BlockType CUT_RED_SANDSTONE = get("minecraft:cut_red_sandstone"); - @Nullable public static final BlockType CUT_SANDSTONE = get("minecraft:cut_sandstone"); - @Nullable public static final BlockType CYAN_BANNER = get("minecraft:cyan_banner"); - @Nullable public static final BlockType CYAN_BED = get("minecraft:cyan_bed"); - @Nullable public static final BlockType CYAN_CARPET = get("minecraft:cyan_carpet"); - @Nullable public static final BlockType CYAN_CONCRETE = get("minecraft:cyan_concrete"); - @Nullable public static final BlockType CYAN_CONCRETE_POWDER = get("minecraft:cyan_concrete_powder"); - @Nullable public static final BlockType CYAN_GLAZED_TERRACOTTA = get("minecraft:cyan_glazed_terracotta"); - @Nullable public static final BlockType CYAN_SHULKER_BOX = get("minecraft:cyan_shulker_box"); - @Nullable public static final BlockType CYAN_STAINED_GLASS = get("minecraft:cyan_stained_glass"); - @Nullable public static final BlockType CYAN_STAINED_GLASS_PANE = get("minecraft:cyan_stained_glass_pane"); - @Nullable public static final BlockType CYAN_TERRACOTTA = get("minecraft:cyan_terracotta"); - @Nullable public static final BlockType CYAN_WALL_BANNER = get("minecraft:cyan_wall_banner"); - @Nullable public static final BlockType CYAN_WOOL = get("minecraft:cyan_wool"); - @Nullable public static final BlockType DAMAGED_ANVIL = get("minecraft:damaged_anvil"); - @Nullable public static final BlockType DANDELION = get("minecraft:dandelion"); - @Nullable public static final BlockType DARK_OAK_BUTTON = get("minecraft:dark_oak_button"); - @Nullable public static final BlockType DARK_OAK_DOOR = get("minecraft:dark_oak_door"); - @Nullable public static final BlockType DARK_OAK_FENCE = get("minecraft:dark_oak_fence"); - @Nullable public static final BlockType DARK_OAK_FENCE_GATE = get("minecraft:dark_oak_fence_gate"); - @Nullable public static final BlockType DARK_OAK_LEAVES = get("minecraft:dark_oak_leaves"); - @Nullable public static final BlockType DARK_OAK_LOG = get("minecraft:dark_oak_log"); - @Nullable public static final BlockType DARK_OAK_PLANKS = get("minecraft:dark_oak_planks"); - @Nullable public static final BlockType DARK_OAK_PRESSURE_PLATE = get("minecraft:dark_oak_pressure_plate"); - @Nullable public static final BlockType DARK_OAK_SAPLING = get("minecraft:dark_oak_sapling"); - @Nullable public static final BlockType DARK_OAK_SLAB = get("minecraft:dark_oak_slab"); - @Nullable public static final BlockType DARK_OAK_STAIRS = get("minecraft:dark_oak_stairs"); - @Nullable public static final BlockType DARK_OAK_TRAPDOOR = get("minecraft:dark_oak_trapdoor"); - @Nullable public static final BlockType DARK_OAK_WOOD = get("minecraft:dark_oak_wood"); - @Nullable public static final BlockType DARK_PRISMARINE = get("minecraft:dark_prismarine"); - @Nullable public static final BlockType DARK_PRISMARINE_SLAB = get("minecraft:dark_prismarine_slab"); - @Nullable public static final BlockType DARK_PRISMARINE_STAIRS = get("minecraft:dark_prismarine_stairs"); - @Nullable public static final BlockType DAYLIGHT_DETECTOR = get("minecraft:daylight_detector"); - @Nullable public static final BlockType DEAD_BRAIN_CORAL = get("minecraft:dead_brain_coral"); - @Nullable public static final BlockType DEAD_BRAIN_CORAL_BLOCK = get("minecraft:dead_brain_coral_block"); - @Nullable public static final BlockType DEAD_BRAIN_CORAL_FAN = get("minecraft:dead_brain_coral_fan"); - @Nullable public static final BlockType DEAD_BRAIN_CORAL_WALL_FAN = get("minecraft:dead_brain_coral_wall_fan"); - @Nullable public static final BlockType DEAD_BUBBLE_CORAL = get("minecraft:dead_bubble_coral"); - @Nullable public static final BlockType DEAD_BUBBLE_CORAL_BLOCK = get("minecraft:dead_bubble_coral_block"); - @Nullable public static final BlockType DEAD_BUBBLE_CORAL_FAN = get("minecraft:dead_bubble_coral_fan"); - @Nullable public static final BlockType DEAD_BUBBLE_CORAL_WALL_FAN = get("minecraft:dead_bubble_coral_wall_fan"); - @Nullable public static final BlockType DEAD_BUSH = get("minecraft:dead_bush"); - @Nullable public static final BlockType DEAD_FIRE_CORAL = get("minecraft:dead_fire_coral"); - @Nullable public static final BlockType DEAD_FIRE_CORAL_BLOCK = get("minecraft:dead_fire_coral_block"); - @Nullable public static final BlockType DEAD_FIRE_CORAL_FAN = get("minecraft:dead_fire_coral_fan"); - @Nullable public static final BlockType DEAD_FIRE_CORAL_WALL_FAN = get("minecraft:dead_fire_coral_wall_fan"); - @Nullable public static final BlockType DEAD_HORN_CORAL = get("minecraft:dead_horn_coral"); - @Nullable public static final BlockType DEAD_HORN_CORAL_BLOCK = get("minecraft:dead_horn_coral_block"); - @Nullable public static final BlockType DEAD_HORN_CORAL_FAN = get("minecraft:dead_horn_coral_fan"); - @Nullable public static final BlockType DEAD_HORN_CORAL_WALL_FAN = get("minecraft:dead_horn_coral_wall_fan"); - @Nullable public static final BlockType DEAD_TUBE_CORAL = get("minecraft:dead_tube_coral"); - @Nullable public static final BlockType DEAD_TUBE_CORAL_BLOCK = get("minecraft:dead_tube_coral_block"); - @Nullable public static final BlockType DEAD_TUBE_CORAL_FAN = get("minecraft:dead_tube_coral_fan"); - @Nullable public static final BlockType DEAD_TUBE_CORAL_WALL_FAN = get("minecraft:dead_tube_coral_wall_fan"); - @Nullable public static final BlockType DETECTOR_RAIL = get("minecraft:detector_rail"); - @Nullable public static final BlockType DIAMOND_BLOCK = get("minecraft:diamond_block"); - @Nullable public static final BlockType DIAMOND_ORE = get("minecraft:diamond_ore"); - @Nullable public static final BlockType DIORITE = get("minecraft:diorite"); - @Nullable public static final BlockType DIRT = get("minecraft:dirt"); - @Nullable public static final BlockType DISPENSER = get("minecraft:dispenser"); - @Nullable public static final BlockType DRAGON_EGG = get("minecraft:dragon_egg"); - @Nullable public static final BlockType DRAGON_HEAD = get("minecraft:dragon_head"); - @Nullable public static final BlockType DRAGON_WALL_HEAD = get("minecraft:dragon_wall_head"); - @Nullable public static final BlockType DRIED_KELP_BLOCK = get("minecraft:dried_kelp_block"); - @Nullable public static final BlockType DROPPER = get("minecraft:dropper"); - @Nullable public static final BlockType EMERALD_BLOCK = get("minecraft:emerald_block"); - @Nullable public static final BlockType EMERALD_ORE = get("minecraft:emerald_ore"); - @Nullable public static final BlockType ENCHANTING_TABLE = get("minecraft:enchanting_table"); - @Nullable public static final BlockType END_GATEWAY = get("minecraft:end_gateway"); - @Nullable public static final BlockType END_PORTAL = get("minecraft:end_portal"); - @Nullable public static final BlockType END_PORTAL_FRAME = get("minecraft:end_portal_frame"); - @Nullable public static final BlockType END_ROD = get("minecraft:end_rod"); - @Nullable public static final BlockType END_STONE = get("minecraft:end_stone"); - @Nullable public static final BlockType END_STONE_BRICKS = get("minecraft:end_stone_bricks"); - @Nullable public static final BlockType ENDER_CHEST = get("minecraft:ender_chest"); - @Nullable public static final BlockType FARMLAND = get("minecraft:farmland"); - @Nullable public static final BlockType FERN = get("minecraft:fern"); - @Nullable public static final BlockType FIRE = get("minecraft:fire"); - @Nullable public static final BlockType FIRE_CORAL = get("minecraft:fire_coral"); - @Nullable public static final BlockType FIRE_CORAL_BLOCK = get("minecraft:fire_coral_block"); - @Nullable public static final BlockType FIRE_CORAL_FAN = get("minecraft:fire_coral_fan"); - @Nullable public static final BlockType FIRE_CORAL_WALL_FAN = get("minecraft:fire_coral_wall_fan"); - @Nullable public static final BlockType FLOWER_POT = get("minecraft:flower_pot"); - @Nullable public static final BlockType FROSTED_ICE = get("minecraft:frosted_ice"); - @Nullable public static final BlockType FURNACE = get("minecraft:furnace"); - @Nullable public static final BlockType GLASS = get("minecraft:glass"); - @Nullable public static final BlockType GLASS_PANE = get("minecraft:glass_pane"); - @Nullable public static final BlockType GLOWSTONE = get("minecraft:glowstone"); - @Nullable public static final BlockType GOLD_BLOCK = get("minecraft:gold_block"); - @Nullable public static final BlockType GOLD_ORE = get("minecraft:gold_ore"); - @Nullable public static final BlockType GRANITE = get("minecraft:granite"); - @Nullable public static final BlockType GRASS = get("minecraft:grass"); - @Nullable public static final BlockType GRASS_BLOCK = get("minecraft:grass_block"); - @Nullable public static final BlockType GRASS_PATH = get("minecraft:grass_path"); - @Nullable public static final BlockType GRAVEL = get("minecraft:gravel"); - @Nullable public static final BlockType GRAY_BANNER = get("minecraft:gray_banner"); - @Nullable public static final BlockType GRAY_BED = get("minecraft:gray_bed"); - @Nullable public static final BlockType GRAY_CARPET = get("minecraft:gray_carpet"); - @Nullable public static final BlockType GRAY_CONCRETE = get("minecraft:gray_concrete"); - @Nullable public static final BlockType GRAY_CONCRETE_POWDER = get("minecraft:gray_concrete_powder"); - @Nullable public static final BlockType GRAY_GLAZED_TERRACOTTA = get("minecraft:gray_glazed_terracotta"); - @Nullable public static final BlockType GRAY_SHULKER_BOX = get("minecraft:gray_shulker_box"); - @Nullable public static final BlockType GRAY_STAINED_GLASS = get("minecraft:gray_stained_glass"); - @Nullable public static final BlockType GRAY_STAINED_GLASS_PANE = get("minecraft:gray_stained_glass_pane"); - @Nullable public static final BlockType GRAY_TERRACOTTA = get("minecraft:gray_terracotta"); - @Nullable public static final BlockType GRAY_WALL_BANNER = get("minecraft:gray_wall_banner"); - @Nullable public static final BlockType GRAY_WOOL = get("minecraft:gray_wool"); - @Nullable public static final BlockType GREEN_BANNER = get("minecraft:green_banner"); - @Nullable public static final BlockType GREEN_BED = get("minecraft:green_bed"); - @Nullable public static final BlockType GREEN_CARPET = get("minecraft:green_carpet"); - @Nullable public static final BlockType GREEN_CONCRETE = get("minecraft:green_concrete"); - @Nullable public static final BlockType GREEN_CONCRETE_POWDER = get("minecraft:green_concrete_powder"); - @Nullable public static final BlockType GREEN_GLAZED_TERRACOTTA = get("minecraft:green_glazed_terracotta"); - @Nullable public static final BlockType GREEN_SHULKER_BOX = get("minecraft:green_shulker_box"); - @Nullable public static final BlockType GREEN_STAINED_GLASS = get("minecraft:green_stained_glass"); - @Nullable public static final BlockType GREEN_STAINED_GLASS_PANE = get("minecraft:green_stained_glass_pane"); - @Nullable public static final BlockType GREEN_TERRACOTTA = get("minecraft:green_terracotta"); - @Nullable public static final BlockType GREEN_WALL_BANNER = get("minecraft:green_wall_banner"); - @Nullable public static final BlockType GREEN_WOOL = get("minecraft:green_wool"); - @Nullable public static final BlockType HAY_BLOCK = get("minecraft:hay_block"); - @Nullable public static final BlockType HEAVY_WEIGHTED_PRESSURE_PLATE = get("minecraft:heavy_weighted_pressure_plate"); - @Nullable public static final BlockType HOPPER = get("minecraft:hopper"); - @Nullable public static final BlockType HORN_CORAL = get("minecraft:horn_coral"); - @Nullable public static final BlockType HORN_CORAL_BLOCK = get("minecraft:horn_coral_block"); - @Nullable public static final BlockType HORN_CORAL_FAN = get("minecraft:horn_coral_fan"); - @Nullable public static final BlockType HORN_CORAL_WALL_FAN = get("minecraft:horn_coral_wall_fan"); - @Nullable public static final BlockType ICE = get("minecraft:ice"); - @Nullable public static final BlockType INFESTED_CHISELED_STONE_BRICKS = get("minecraft:infested_chiseled_stone_bricks"); - @Nullable public static final BlockType INFESTED_COBBLESTONE = get("minecraft:infested_cobblestone"); - @Nullable public static final BlockType INFESTED_CRACKED_STONE_BRICKS = get("minecraft:infested_cracked_stone_bricks"); - @Nullable public static final BlockType INFESTED_MOSSY_STONE_BRICKS = get("minecraft:infested_mossy_stone_bricks"); - @Nullable public static final BlockType INFESTED_STONE = get("minecraft:infested_stone"); - @Nullable public static final BlockType INFESTED_STONE_BRICKS = get("minecraft:infested_stone_bricks"); - @Nullable public static final BlockType IRON_BARS = get("minecraft:iron_bars"); - @Nullable public static final BlockType IRON_BLOCK = get("minecraft:iron_block"); - @Nullable public static final BlockType IRON_DOOR = get("minecraft:iron_door"); - @Nullable public static final BlockType IRON_ORE = get("minecraft:iron_ore"); - @Nullable public static final BlockType IRON_TRAPDOOR = get("minecraft:iron_trapdoor"); - @Nullable public static final BlockType JACK_O_LANTERN = get("minecraft:jack_o_lantern"); - @Nullable public static final BlockType JUKEBOX = get("minecraft:jukebox"); - @Nullable public static final BlockType JUNGLE_BUTTON = get("minecraft:jungle_button"); - @Nullable public static final BlockType JUNGLE_DOOR = get("minecraft:jungle_door"); - @Nullable public static final BlockType JUNGLE_FENCE = get("minecraft:jungle_fence"); - @Nullable public static final BlockType JUNGLE_FENCE_GATE = get("minecraft:jungle_fence_gate"); - @Nullable public static final BlockType JUNGLE_LEAVES = get("minecraft:jungle_leaves"); - @Nullable public static final BlockType JUNGLE_LOG = get("minecraft:jungle_log"); - @Nullable public static final BlockType JUNGLE_PLANKS = get("minecraft:jungle_planks"); - @Nullable public static final BlockType JUNGLE_PRESSURE_PLATE = get("minecraft:jungle_pressure_plate"); - @Nullable public static final BlockType JUNGLE_SAPLING = get("minecraft:jungle_sapling"); - @Nullable public static final BlockType JUNGLE_SLAB = get("minecraft:jungle_slab"); - @Nullable public static final BlockType JUNGLE_STAIRS = get("minecraft:jungle_stairs"); - @Nullable public static final BlockType JUNGLE_TRAPDOOR = get("minecraft:jungle_trapdoor"); - @Nullable public static final BlockType JUNGLE_WOOD = get("minecraft:jungle_wood"); - @Nullable public static final BlockType KELP = get("minecraft:kelp"); - @Nullable public static final BlockType KELP_PLANT = get("minecraft:kelp_plant"); - @Nullable public static final BlockType LADDER = get("minecraft:ladder"); - @Nullable public static final BlockType LAPIS_BLOCK = get("minecraft:lapis_block"); - @Nullable public static final BlockType LAPIS_ORE = get("minecraft:lapis_ore"); - @Nullable public static final BlockType LARGE_FERN = get("minecraft:large_fern"); - @Nullable public static final BlockType LAVA = get("minecraft:lava"); - @Nullable public static final BlockType LEVER = get("minecraft:lever"); - @Nullable public static final BlockType LIGHT_BLUE_BANNER = get("minecraft:light_blue_banner"); - @Nullable public static final BlockType LIGHT_BLUE_BED = get("minecraft:light_blue_bed"); - @Nullable public static final BlockType LIGHT_BLUE_CARPET = get("minecraft:light_blue_carpet"); - @Nullable public static final BlockType LIGHT_BLUE_CONCRETE = get("minecraft:light_blue_concrete"); - @Nullable public static final BlockType LIGHT_BLUE_CONCRETE_POWDER = get("minecraft:light_blue_concrete_powder"); - @Nullable public static final BlockType LIGHT_BLUE_GLAZED_TERRACOTTA = get("minecraft:light_blue_glazed_terracotta"); - @Nullable public static final BlockType LIGHT_BLUE_SHULKER_BOX = get("minecraft:light_blue_shulker_box"); - @Nullable public static final BlockType LIGHT_BLUE_STAINED_GLASS = get("minecraft:light_blue_stained_glass"); - @Nullable public static final BlockType LIGHT_BLUE_STAINED_GLASS_PANE = get("minecraft:light_blue_stained_glass_pane"); - @Nullable public static final BlockType LIGHT_BLUE_TERRACOTTA = get("minecraft:light_blue_terracotta"); - @Nullable public static final BlockType LIGHT_BLUE_WALL_BANNER = get("minecraft:light_blue_wall_banner"); - @Nullable public static final BlockType LIGHT_BLUE_WOOL = get("minecraft:light_blue_wool"); - @Nullable public static final BlockType LIGHT_GRAY_BANNER = get("minecraft:light_gray_banner"); - @Nullable public static final BlockType LIGHT_GRAY_BED = get("minecraft:light_gray_bed"); - @Nullable public static final BlockType LIGHT_GRAY_CARPET = get("minecraft:light_gray_carpet"); - @Nullable public static final BlockType LIGHT_GRAY_CONCRETE = get("minecraft:light_gray_concrete"); - @Nullable public static final BlockType LIGHT_GRAY_CONCRETE_POWDER = get("minecraft:light_gray_concrete_powder"); - @Nullable public static final BlockType LIGHT_GRAY_GLAZED_TERRACOTTA = get("minecraft:light_gray_glazed_terracotta"); - @Nullable public static final BlockType LIGHT_GRAY_SHULKER_BOX = get("minecraft:light_gray_shulker_box"); - @Nullable public static final BlockType LIGHT_GRAY_STAINED_GLASS = get("minecraft:light_gray_stained_glass"); - @Nullable public static final BlockType LIGHT_GRAY_STAINED_GLASS_PANE = get("minecraft:light_gray_stained_glass_pane"); - @Nullable public static final BlockType LIGHT_GRAY_TERRACOTTA = get("minecraft:light_gray_terracotta"); - @Nullable public static final BlockType LIGHT_GRAY_WALL_BANNER = get("minecraft:light_gray_wall_banner"); - @Nullable public static final BlockType LIGHT_GRAY_WOOL = get("minecraft:light_gray_wool"); - @Nullable public static final BlockType LIGHT_WEIGHTED_PRESSURE_PLATE = get("minecraft:light_weighted_pressure_plate"); - @Nullable public static final BlockType LILAC = get("minecraft:lilac"); - @Nullable public static final BlockType LILY_PAD = get("minecraft:lily_pad"); - @Nullable public static final BlockType LIME_BANNER = get("minecraft:lime_banner"); - @Nullable public static final BlockType LIME_BED = get("minecraft:lime_bed"); - @Nullable public static final BlockType LIME_CARPET = get("minecraft:lime_carpet"); - @Nullable public static final BlockType LIME_CONCRETE = get("minecraft:lime_concrete"); - @Nullable public static final BlockType LIME_CONCRETE_POWDER = get("minecraft:lime_concrete_powder"); - @Nullable public static final BlockType LIME_GLAZED_TERRACOTTA = get("minecraft:lime_glazed_terracotta"); - @Nullable public static final BlockType LIME_SHULKER_BOX = get("minecraft:lime_shulker_box"); - @Nullable public static final BlockType LIME_STAINED_GLASS = get("minecraft:lime_stained_glass"); - @Nullable public static final BlockType LIME_STAINED_GLASS_PANE = get("minecraft:lime_stained_glass_pane"); - @Nullable public static final BlockType LIME_TERRACOTTA = get("minecraft:lime_terracotta"); - @Nullable public static final BlockType LIME_WALL_BANNER = get("minecraft:lime_wall_banner"); - @Nullable public static final BlockType LIME_WOOL = get("minecraft:lime_wool"); - @Nullable public static final BlockType MAGENTA_BANNER = get("minecraft:magenta_banner"); - @Nullable public static final BlockType MAGENTA_BED = get("minecraft:magenta_bed"); - @Nullable public static final BlockType MAGENTA_CARPET = get("minecraft:magenta_carpet"); - @Nullable public static final BlockType MAGENTA_CONCRETE = get("minecraft:magenta_concrete"); - @Nullable public static final BlockType MAGENTA_CONCRETE_POWDER = get("minecraft:magenta_concrete_powder"); - @Nullable public static final BlockType MAGENTA_GLAZED_TERRACOTTA = get("minecraft:magenta_glazed_terracotta"); - @Nullable public static final BlockType MAGENTA_SHULKER_BOX = get("minecraft:magenta_shulker_box"); - @Nullable public static final BlockType MAGENTA_STAINED_GLASS = get("minecraft:magenta_stained_glass"); - @Nullable public static final BlockType MAGENTA_STAINED_GLASS_PANE = get("minecraft:magenta_stained_glass_pane"); - @Nullable public static final BlockType MAGENTA_TERRACOTTA = get("minecraft:magenta_terracotta"); - @Nullable public static final BlockType MAGENTA_WALL_BANNER = get("minecraft:magenta_wall_banner"); - @Nullable public static final BlockType MAGENTA_WOOL = get("minecraft:magenta_wool"); - @Nullable public static final BlockType MAGMA_BLOCK = get("minecraft:magma_block"); - @Nullable public static final BlockType MELON = get("minecraft:melon"); - @Nullable public static final BlockType MELON_STEM = get("minecraft:melon_stem"); - @Nullable public static final BlockType MOSSY_COBBLESTONE = get("minecraft:mossy_cobblestone"); - @Nullable public static final BlockType MOSSY_COBBLESTONE_WALL = get("minecraft:mossy_cobblestone_wall"); - @Nullable public static final BlockType MOSSY_STONE_BRICKS = get("minecraft:mossy_stone_bricks"); - @Nullable public static final BlockType MOVING_PISTON = get("minecraft:moving_piston"); - @Nullable public static final BlockType MUSHROOM_STEM = get("minecraft:mushroom_stem"); - @Nullable public static final BlockType MYCELIUM = get("minecraft:mycelium"); - @Nullable public static final BlockType NETHER_BRICK_FENCE = get("minecraft:nether_brick_fence"); - @Nullable public static final BlockType NETHER_BRICK_SLAB = get("minecraft:nether_brick_slab"); - @Nullable public static final BlockType NETHER_BRICK_STAIRS = get("minecraft:nether_brick_stairs"); - @Nullable public static final BlockType NETHER_BRICKS = get("minecraft:nether_bricks"); - @Nullable public static final BlockType NETHER_PORTAL = get("minecraft:nether_portal"); - @Nullable public static final BlockType NETHER_QUARTZ_ORE = get("minecraft:nether_quartz_ore"); - @Nullable public static final BlockType NETHER_WART = get("minecraft:nether_wart"); - @Nullable public static final BlockType NETHER_WART_BLOCK = get("minecraft:nether_wart_block"); - @Nullable public static final BlockType NETHERRACK = get("minecraft:netherrack"); - @Nullable public static final BlockType NOTE_BLOCK = get("minecraft:note_block"); - @Nullable public static final BlockType OAK_BUTTON = get("minecraft:oak_button"); - @Nullable public static final BlockType OAK_DOOR = get("minecraft:oak_door"); - @Nullable public static final BlockType OAK_FENCE = get("minecraft:oak_fence"); - @Nullable public static final BlockType OAK_FENCE_GATE = get("minecraft:oak_fence_gate"); - @Nullable public static final BlockType OAK_LEAVES = get("minecraft:oak_leaves"); - @Nullable public static final BlockType OAK_LOG = get("minecraft:oak_log"); - @Nullable public static final BlockType OAK_PLANKS = get("minecraft:oak_planks"); - @Nullable public static final BlockType OAK_PRESSURE_PLATE = get("minecraft:oak_pressure_plate"); - @Nullable public static final BlockType OAK_SAPLING = get("minecraft:oak_sapling"); - @Nullable public static final BlockType OAK_SLAB = get("minecraft:oak_slab"); - @Nullable public static final BlockType OAK_STAIRS = get("minecraft:oak_stairs"); - @Nullable public static final BlockType OAK_TRAPDOOR = get("minecraft:oak_trapdoor"); - @Nullable public static final BlockType OAK_WOOD = get("minecraft:oak_wood"); - @Nullable public static final BlockType OBSERVER = get("minecraft:observer"); - @Nullable public static final BlockType OBSIDIAN = get("minecraft:obsidian"); - @Nullable public static final BlockType ORANGE_BANNER = get("minecraft:orange_banner"); - @Nullable public static final BlockType ORANGE_BED = get("minecraft:orange_bed"); - @Nullable public static final BlockType ORANGE_CARPET = get("minecraft:orange_carpet"); - @Nullable public static final BlockType ORANGE_CONCRETE = get("minecraft:orange_concrete"); - @Nullable public static final BlockType ORANGE_CONCRETE_POWDER = get("minecraft:orange_concrete_powder"); - @Nullable public static final BlockType ORANGE_GLAZED_TERRACOTTA = get("minecraft:orange_glazed_terracotta"); - @Nullable public static final BlockType ORANGE_SHULKER_BOX = get("minecraft:orange_shulker_box"); - @Nullable public static final BlockType ORANGE_STAINED_GLASS = get("minecraft:orange_stained_glass"); - @Nullable public static final BlockType ORANGE_STAINED_GLASS_PANE = get("minecraft:orange_stained_glass_pane"); - @Nullable public static final BlockType ORANGE_TERRACOTTA = get("minecraft:orange_terracotta"); - @Nullable public static final BlockType ORANGE_TULIP = get("minecraft:orange_tulip"); - @Nullable public static final BlockType ORANGE_WALL_BANNER = get("minecraft:orange_wall_banner"); - @Nullable public static final BlockType ORANGE_WOOL = get("minecraft:orange_wool"); - @Nullable public static final BlockType OXEYE_DAISY = get("minecraft:oxeye_daisy"); - @Nullable public static final BlockType PACKED_ICE = get("minecraft:packed_ice"); - @Nullable public static final BlockType PEONY = get("minecraft:peony"); - @Nullable public static final BlockType PETRIFIED_OAK_SLAB = get("minecraft:petrified_oak_slab"); - @Nullable public static final BlockType PINK_BANNER = get("minecraft:pink_banner"); - @Nullable public static final BlockType PINK_BED = get("minecraft:pink_bed"); - @Nullable public static final BlockType PINK_CARPET = get("minecraft:pink_carpet"); - @Nullable public static final BlockType PINK_CONCRETE = get("minecraft:pink_concrete"); - @Nullable public static final BlockType PINK_CONCRETE_POWDER = get("minecraft:pink_concrete_powder"); - @Nullable public static final BlockType PINK_GLAZED_TERRACOTTA = get("minecraft:pink_glazed_terracotta"); - @Nullable public static final BlockType PINK_SHULKER_BOX = get("minecraft:pink_shulker_box"); - @Nullable public static final BlockType PINK_STAINED_GLASS = get("minecraft:pink_stained_glass"); - @Nullable public static final BlockType PINK_STAINED_GLASS_PANE = get("minecraft:pink_stained_glass_pane"); - @Nullable public static final BlockType PINK_TERRACOTTA = get("minecraft:pink_terracotta"); - @Nullable public static final BlockType PINK_TULIP = get("minecraft:pink_tulip"); - @Nullable public static final BlockType PINK_WALL_BANNER = get("minecraft:pink_wall_banner"); - @Nullable public static final BlockType PINK_WOOL = get("minecraft:pink_wool"); - @Nullable public static final BlockType PISTON = get("minecraft:piston"); - @Nullable public static final BlockType PISTON_HEAD = get("minecraft:piston_head"); - @Nullable public static final BlockType PLAYER_HEAD = get("minecraft:player_head"); - @Nullable public static final BlockType PLAYER_WALL_HEAD = get("minecraft:player_wall_head"); - @Nullable public static final BlockType PODZOL = get("minecraft:podzol"); - @Nullable public static final BlockType POLISHED_ANDESITE = get("minecraft:polished_andesite"); - @Nullable public static final BlockType POLISHED_DIORITE = get("minecraft:polished_diorite"); - @Nullable public static final BlockType POLISHED_GRANITE = get("minecraft:polished_granite"); - @Nullable public static final BlockType POPPY = get("minecraft:poppy"); - @Nullable public static final BlockType POTATOES = get("minecraft:potatoes"); - @Nullable public static final BlockType POTTED_ACACIA_SAPLING = get("minecraft:potted_acacia_sapling"); - @Nullable public static final BlockType POTTED_ALLIUM = get("minecraft:potted_allium"); - @Nullable public static final BlockType POTTED_AZURE_BLUET = get("minecraft:potted_azure_bluet"); - @Nullable public static final BlockType POTTED_BIRCH_SAPLING = get("minecraft:potted_birch_sapling"); - @Nullable public static final BlockType POTTED_BLUE_ORCHID = get("minecraft:potted_blue_orchid"); - @Nullable public static final BlockType POTTED_BROWN_MUSHROOM = get("minecraft:potted_brown_mushroom"); - @Nullable public static final BlockType POTTED_CACTUS = get("minecraft:potted_cactus"); - @Nullable public static final BlockType POTTED_DANDELION = get("minecraft:potted_dandelion"); - @Nullable public static final BlockType POTTED_DARK_OAK_SAPLING = get("minecraft:potted_dark_oak_sapling"); - @Nullable public static final BlockType POTTED_DEAD_BUSH = get("minecraft:potted_dead_bush"); - @Nullable public static final BlockType POTTED_FERN = get("minecraft:potted_fern"); - @Nullable public static final BlockType POTTED_JUNGLE_SAPLING = get("minecraft:potted_jungle_sapling"); - @Nullable public static final BlockType POTTED_OAK_SAPLING = get("minecraft:potted_oak_sapling"); - @Nullable public static final BlockType POTTED_ORANGE_TULIP = get("minecraft:potted_orange_tulip"); - @Nullable public static final BlockType POTTED_OXEYE_DAISY = get("minecraft:potted_oxeye_daisy"); - @Nullable public static final BlockType POTTED_PINK_TULIP = get("minecraft:potted_pink_tulip"); - @Nullable public static final BlockType POTTED_POPPY = get("minecraft:potted_poppy"); - @Nullable public static final BlockType POTTED_RED_MUSHROOM = get("minecraft:potted_red_mushroom"); - @Nullable public static final BlockType POTTED_RED_TULIP = get("minecraft:potted_red_tulip"); - @Nullable public static final BlockType POTTED_SPRUCE_SAPLING = get("minecraft:potted_spruce_sapling"); - @Nullable public static final BlockType POTTED_WHITE_TULIP = get("minecraft:potted_white_tulip"); - @Nullable public static final BlockType POWERED_RAIL = get("minecraft:powered_rail"); - @Nullable public static final BlockType PRISMARINE = get("minecraft:prismarine"); - @Nullable public static final BlockType PRISMARINE_BRICK_SLAB = get("minecraft:prismarine_brick_slab"); - @Nullable public static final BlockType PRISMARINE_BRICK_STAIRS = get("minecraft:prismarine_brick_stairs"); - @Nullable public static final BlockType PRISMARINE_BRICKS = get("minecraft:prismarine_bricks"); - @Nullable public static final BlockType PRISMARINE_SLAB = get("minecraft:prismarine_slab"); - @Nullable public static final BlockType PRISMARINE_STAIRS = get("minecraft:prismarine_stairs"); - @Nullable public static final BlockType PUMPKIN = get("minecraft:pumpkin"); - @Nullable public static final BlockType PUMPKIN_STEM = get("minecraft:pumpkin_stem"); - @Nullable public static final BlockType PURPLE_BANNER = get("minecraft:purple_banner"); - @Nullable public static final BlockType PURPLE_BED = get("minecraft:purple_bed"); - @Nullable public static final BlockType PURPLE_CARPET = get("minecraft:purple_carpet"); - @Nullable public static final BlockType PURPLE_CONCRETE = get("minecraft:purple_concrete"); - @Nullable public static final BlockType PURPLE_CONCRETE_POWDER = get("minecraft:purple_concrete_powder"); - @Nullable public static final BlockType PURPLE_GLAZED_TERRACOTTA = get("minecraft:purple_glazed_terracotta"); - @Nullable public static final BlockType PURPLE_SHULKER_BOX = get("minecraft:purple_shulker_box"); - @Nullable public static final BlockType PURPLE_STAINED_GLASS = get("minecraft:purple_stained_glass"); - @Nullable public static final BlockType PURPLE_STAINED_GLASS_PANE = get("minecraft:purple_stained_glass_pane"); - @Nullable public static final BlockType PURPLE_TERRACOTTA = get("minecraft:purple_terracotta"); - @Nullable public static final BlockType PURPLE_WALL_BANNER = get("minecraft:purple_wall_banner"); - @Nullable public static final BlockType PURPLE_WOOL = get("minecraft:purple_wool"); - @Nullable public static final BlockType PURPUR_BLOCK = get("minecraft:purpur_block"); - @Nullable public static final BlockType PURPUR_PILLAR = get("minecraft:purpur_pillar"); - @Nullable public static final BlockType PURPUR_SLAB = get("minecraft:purpur_slab"); - @Nullable public static final BlockType PURPUR_STAIRS = get("minecraft:purpur_stairs"); - @Nullable public static final BlockType QUARTZ_BLOCK = get("minecraft:quartz_block"); - @Nullable public static final BlockType QUARTZ_PILLAR = get("minecraft:quartz_pillar"); - @Nullable public static final BlockType QUARTZ_SLAB = get("minecraft:quartz_slab"); - @Nullable public static final BlockType QUARTZ_STAIRS = get("minecraft:quartz_stairs"); - @Nullable public static final BlockType RAIL = get("minecraft:rail"); - @Nullable public static final BlockType RED_BANNER = get("minecraft:red_banner"); - @Nullable public static final BlockType RED_BED = get("minecraft:red_bed"); - @Nullable public static final BlockType RED_CARPET = get("minecraft:red_carpet"); - @Nullable public static final BlockType RED_CONCRETE = get("minecraft:red_concrete"); - @Nullable public static final BlockType RED_CONCRETE_POWDER = get("minecraft:red_concrete_powder"); - @Nullable public static final BlockType RED_GLAZED_TERRACOTTA = get("minecraft:red_glazed_terracotta"); - @Nullable public static final BlockType RED_MUSHROOM = get("minecraft:red_mushroom"); - @Nullable public static final BlockType RED_MUSHROOM_BLOCK = get("minecraft:red_mushroom_block"); - @Nullable public static final BlockType RED_NETHER_BRICKS = get("minecraft:red_nether_bricks"); - @Nullable public static final BlockType RED_SAND = get("minecraft:red_sand"); - @Nullable public static final BlockType RED_SANDSTONE = get("minecraft:red_sandstone"); - @Nullable public static final BlockType RED_SANDSTONE_SLAB = get("minecraft:red_sandstone_slab"); - @Nullable public static final BlockType RED_SANDSTONE_STAIRS = get("minecraft:red_sandstone_stairs"); - @Nullable public static final BlockType RED_SHULKER_BOX = get("minecraft:red_shulker_box"); - @Nullable public static final BlockType RED_STAINED_GLASS = get("minecraft:red_stained_glass"); - @Nullable public static final BlockType RED_STAINED_GLASS_PANE = get("minecraft:red_stained_glass_pane"); - @Nullable public static final BlockType RED_TERRACOTTA = get("minecraft:red_terracotta"); - @Nullable public static final BlockType RED_TULIP = get("minecraft:red_tulip"); - @Nullable public static final BlockType RED_WALL_BANNER = get("minecraft:red_wall_banner"); - @Nullable public static final BlockType RED_WOOL = get("minecraft:red_wool"); - @Nullable public static final BlockType REDSTONE_BLOCK = get("minecraft:redstone_block"); - @Nullable public static final BlockType REDSTONE_LAMP = get("minecraft:redstone_lamp"); - @Nullable public static final BlockType REDSTONE_ORE = get("minecraft:redstone_ore"); - @Nullable public static final BlockType REDSTONE_TORCH = get("minecraft:redstone_torch"); - @Nullable public static final BlockType REDSTONE_WALL_TORCH = get("minecraft:redstone_wall_torch"); - @Nullable public static final BlockType REDSTONE_WIRE = get("minecraft:redstone_wire"); - @Nullable public static final BlockType REPEATER = get("minecraft:repeater"); - @Nullable public static final BlockType REPEATING_COMMAND_BLOCK = get("minecraft:repeating_command_block"); - @Nullable public static final BlockType ROSE_BUSH = get("minecraft:rose_bush"); - @Nullable public static final BlockType SAND = get("minecraft:sand"); - @Nullable public static final BlockType SANDSTONE = get("minecraft:sandstone"); - @Nullable public static final BlockType SANDSTONE_SLAB = get("minecraft:sandstone_slab"); - @Nullable public static final BlockType SANDSTONE_STAIRS = get("minecraft:sandstone_stairs"); - @Nullable public static final BlockType SEA_LANTERN = get("minecraft:sea_lantern"); - @Nullable public static final BlockType SEA_PICKLE = get("minecraft:sea_pickle"); - @Nullable public static final BlockType SEAGRASS = get("minecraft:seagrass"); - @Nullable public static final BlockType SHULKER_BOX = get("minecraft:shulker_box"); - @Nullable public static final BlockType SIGN = get("minecraft:sign"); - @Nullable public static final BlockType SKELETON_SKULL = get("minecraft:skeleton_skull"); - @Nullable public static final BlockType SKELETON_WALL_SKULL = get("minecraft:skeleton_wall_skull"); - @Nullable public static final BlockType SLIME_BLOCK = get("minecraft:slime_block"); - @Nullable public static final BlockType SMOOTH_QUARTZ = get("minecraft:smooth_quartz"); - @Nullable public static final BlockType SMOOTH_RED_SANDSTONE = get("minecraft:smooth_red_sandstone"); - @Nullable public static final BlockType SMOOTH_SANDSTONE = get("minecraft:smooth_sandstone"); - @Nullable public static final BlockType SMOOTH_STONE = get("minecraft:smooth_stone"); - @Nullable public static final BlockType SNOW = get("minecraft:snow"); - @Nullable public static final BlockType SNOW_BLOCK = get("minecraft:snow_block"); - @Nullable public static final BlockType SOUL_SAND = get("minecraft:soul_sand"); - @Nullable public static final BlockType SPAWNER = get("minecraft:spawner"); - @Nullable public static final BlockType SPONGE = get("minecraft:sponge"); - @Nullable public static final BlockType SPRUCE_BUTTON = get("minecraft:spruce_button"); - @Nullable public static final BlockType SPRUCE_DOOR = get("minecraft:spruce_door"); - @Nullable public static final BlockType SPRUCE_FENCE = get("minecraft:spruce_fence"); - @Nullable public static final BlockType SPRUCE_FENCE_GATE = get("minecraft:spruce_fence_gate"); - @Nullable public static final BlockType SPRUCE_LEAVES = get("minecraft:spruce_leaves"); - @Nullable public static final BlockType SPRUCE_LOG = get("minecraft:spruce_log"); - @Nullable public static final BlockType SPRUCE_PLANKS = get("minecraft:spruce_planks"); - @Nullable public static final BlockType SPRUCE_PRESSURE_PLATE = get("minecraft:spruce_pressure_plate"); - @Nullable public static final BlockType SPRUCE_SAPLING = get("minecraft:spruce_sapling"); - @Nullable public static final BlockType SPRUCE_SLAB = get("minecraft:spruce_slab"); - @Nullable public static final BlockType SPRUCE_STAIRS = get("minecraft:spruce_stairs"); - @Nullable public static final BlockType SPRUCE_TRAPDOOR = get("minecraft:spruce_trapdoor"); - @Nullable public static final BlockType SPRUCE_WOOD = get("minecraft:spruce_wood"); - @Nullable public static final BlockType STICKY_PISTON = get("minecraft:sticky_piston"); - @Nullable public static final BlockType STONE = get("minecraft:stone"); - @Nullable public static final BlockType STONE_BRICK_SLAB = get("minecraft:stone_brick_slab"); - @Nullable public static final BlockType STONE_BRICK_STAIRS = get("minecraft:stone_brick_stairs"); - @Nullable public static final BlockType STONE_BRICKS = get("minecraft:stone_bricks"); - @Nullable public static final BlockType STONE_BUTTON = get("minecraft:stone_button"); - @Nullable public static final BlockType STONE_PRESSURE_PLATE = get("minecraft:stone_pressure_plate"); - @Nullable public static final BlockType STONE_SLAB = get("minecraft:stone_slab"); - @Nullable public static final BlockType STRIPPED_ACACIA_LOG = get("minecraft:stripped_acacia_log"); - @Nullable public static final BlockType STRIPPED_ACACIA_WOOD = get("minecraft:stripped_acacia_wood"); - @Nullable public static final BlockType STRIPPED_BIRCH_LOG = get("minecraft:stripped_birch_log"); - @Nullable public static final BlockType STRIPPED_BIRCH_WOOD = get("minecraft:stripped_birch_wood"); - @Nullable public static final BlockType STRIPPED_DARK_OAK_LOG = get("minecraft:stripped_dark_oak_log"); - @Nullable public static final BlockType STRIPPED_DARK_OAK_WOOD = get("minecraft:stripped_dark_oak_wood"); - @Nullable public static final BlockType STRIPPED_JUNGLE_LOG = get("minecraft:stripped_jungle_log"); - @Nullable public static final BlockType STRIPPED_JUNGLE_WOOD = get("minecraft:stripped_jungle_wood"); - @Nullable public static final BlockType STRIPPED_OAK_LOG = get("minecraft:stripped_oak_log"); - @Nullable public static final BlockType STRIPPED_OAK_WOOD = get("minecraft:stripped_oak_wood"); - @Nullable public static final BlockType STRIPPED_SPRUCE_LOG = get("minecraft:stripped_spruce_log"); - @Nullable public static final BlockType STRIPPED_SPRUCE_WOOD = get("minecraft:stripped_spruce_wood"); - @Nullable public static final BlockType STRUCTURE_BLOCK = get("minecraft:structure_block"); - @Nullable public static final BlockType STRUCTURE_VOID = get("minecraft:structure_void"); - @Nullable public static final BlockType SUGAR_CANE = get("minecraft:sugar_cane"); - @Nullable public static final BlockType SUNFLOWER = get("minecraft:sunflower"); - @Nullable public static final BlockType TALL_GRASS = get("minecraft:tall_grass"); - @Nullable public static final BlockType TALL_SEAGRASS = get("minecraft:tall_seagrass"); - @Nullable public static final BlockType TERRACOTTA = get("minecraft:terracotta"); - @Nullable public static final BlockType TNT = get("minecraft:tnt"); - @Nullable public static final BlockType TORCH = get("minecraft:torch"); - @Nullable public static final BlockType TRAPPED_CHEST = get("minecraft:trapped_chest"); - @Nullable public static final BlockType TRIPWIRE = get("minecraft:tripwire"); - @Nullable public static final BlockType TRIPWIRE_HOOK = get("minecraft:tripwire_hook"); - @Nullable public static final BlockType TUBE_CORAL = get("minecraft:tube_coral"); - @Nullable public static final BlockType TUBE_CORAL_BLOCK = get("minecraft:tube_coral_block"); - @Nullable public static final BlockType TUBE_CORAL_FAN = get("minecraft:tube_coral_fan"); - @Nullable public static final BlockType TUBE_CORAL_WALL_FAN = get("minecraft:tube_coral_wall_fan"); - @Nullable public static final BlockType TURTLE_EGG = get("minecraft:turtle_egg"); - @Nullable public static final BlockType VINE = get("minecraft:vine"); - @Nullable public static final BlockType VOID_AIR = get("minecraft:void_air"); - @Nullable public static final BlockType WALL_SIGN = get("minecraft:wall_sign"); - @Nullable public static final BlockType WALL_TORCH = get("minecraft:wall_torch"); - @Nullable public static final BlockType WATER = get("minecraft:water"); - @Nullable public static final BlockType WET_SPONGE = get("minecraft:wet_sponge"); - @Nullable public static final BlockType WHEAT = get("minecraft:wheat"); - @Nullable public static final BlockType WHITE_BANNER = get("minecraft:white_banner"); - @Nullable public static final BlockType WHITE_BED = get("minecraft:white_bed"); - @Nullable public static final BlockType WHITE_CARPET = get("minecraft:white_carpet"); - @Nullable public static final BlockType WHITE_CONCRETE = get("minecraft:white_concrete"); - @Nullable public static final BlockType WHITE_CONCRETE_POWDER = get("minecraft:white_concrete_powder"); - @Nullable public static final BlockType WHITE_GLAZED_TERRACOTTA = get("minecraft:white_glazed_terracotta"); - @Nullable public static final BlockType WHITE_SHULKER_BOX = get("minecraft:white_shulker_box"); - @Nullable public static final BlockType WHITE_STAINED_GLASS = get("minecraft:white_stained_glass"); - @Nullable public static final BlockType WHITE_STAINED_GLASS_PANE = get("minecraft:white_stained_glass_pane"); - @Nullable public static final BlockType WHITE_TERRACOTTA = get("minecraft:white_terracotta"); - @Nullable public static final BlockType WHITE_TULIP = get("minecraft:white_tulip"); - @Nullable public static final BlockType WHITE_WALL_BANNER = get("minecraft:white_wall_banner"); - @Nullable public static final BlockType WHITE_WOOL = get("minecraft:white_wool"); - @Nullable public static final BlockType WITHER_SKELETON_SKULL = get("minecraft:wither_skeleton_skull"); - @Nullable public static final BlockType WITHER_SKELETON_WALL_SKULL = get("minecraft:wither_skeleton_wall_skull"); - @Nullable public static final BlockType YELLOW_BANNER = get("minecraft:yellow_banner"); - @Nullable public static final BlockType YELLOW_BED = get("minecraft:yellow_bed"); - @Nullable public static final BlockType YELLOW_CARPET = get("minecraft:yellow_carpet"); - @Nullable public static final BlockType YELLOW_CONCRETE = get("minecraft:yellow_concrete"); - @Nullable public static final BlockType YELLOW_CONCRETE_POWDER = get("minecraft:yellow_concrete_powder"); - @Nullable public static final BlockType YELLOW_GLAZED_TERRACOTTA = get("minecraft:yellow_glazed_terracotta"); - @Nullable public static final BlockType YELLOW_SHULKER_BOX = get("minecraft:yellow_shulker_box"); - @Nullable public static final BlockType YELLOW_STAINED_GLASS = get("minecraft:yellow_stained_glass"); - @Nullable public static final BlockType YELLOW_STAINED_GLASS_PANE = get("minecraft:yellow_stained_glass_pane"); - @Nullable public static final BlockType YELLOW_TERRACOTTA = get("minecraft:yellow_terracotta"); - @Nullable public static final BlockType YELLOW_WALL_BANNER = get("minecraft:yellow_wall_banner"); - @Nullable public static final BlockType YELLOW_WOOL = get("minecraft:yellow_wool"); - @Nullable public static final BlockType ZOMBIE_HEAD = get("minecraft:zombie_head"); - @Nullable public static final BlockType ZOMBIE_WALL_HEAD = get("minecraft:zombie_wall_head"); + @Nullable public static final BlockType ACACIA_BUTTON = null; + @Nullable public static final BlockType ACACIA_DOOR = null; + @Nullable public static final BlockType ACACIA_FENCE = null; + @Nullable public static final BlockType ACACIA_FENCE_GATE = null; + @Nullable public static final BlockType ACACIA_LEAVES = null; + @Nullable public static final BlockType ACACIA_LOG = null; + @Nullable public static final BlockType ACACIA_PLANKS = null; + @Nullable public static final BlockType ACACIA_PRESSURE_PLATE = null; + @Nullable public static final BlockType ACACIA_SAPLING = null; + @Nullable public static final BlockType ACACIA_SLAB = null; + @Nullable public static final BlockType ACACIA_STAIRS = null; + @Nullable public static final BlockType ACACIA_TRAPDOOR = null; + @Nullable public static final BlockType ACACIA_WOOD = null; + @Nullable public static final BlockType ACTIVATOR_RAIL = null; + @Nullable public static final BlockType AIR = null; + @Nullable public static final BlockType ALLIUM = null; + @Nullable public static final BlockType ANDESITE = null; + @Nullable public static final BlockType ANVIL = null; + @Nullable public static final BlockType ATTACHED_MELON_STEM = null; + @Nullable public static final BlockType ATTACHED_PUMPKIN_STEM = null; + @Nullable public static final BlockType AZURE_BLUET = null; + @Nullable public static final BlockType BARRIER = null; + @Nullable public static final BlockType BEACON = null; + @Nullable public static final BlockType BEDROCK = null; + @Nullable public static final BlockType BEETROOTS = null; + @Nullable public static final BlockType BIRCH_BUTTON = null; + @Nullable public static final BlockType BIRCH_DOOR = null; + @Nullable public static final BlockType BIRCH_FENCE = null; + @Nullable public static final BlockType BIRCH_FENCE_GATE = null; + @Nullable public static final BlockType BIRCH_LEAVES = null; + @Nullable public static final BlockType BIRCH_LOG = null; + @Nullable public static final BlockType BIRCH_PLANKS = null; + @Nullable public static final BlockType BIRCH_PRESSURE_PLATE = null; + @Nullable public static final BlockType BIRCH_SAPLING = null; + @Nullable public static final BlockType BIRCH_SLAB = null; + @Nullable public static final BlockType BIRCH_STAIRS = null; + @Nullable public static final BlockType BIRCH_TRAPDOOR = null; + @Nullable public static final BlockType BIRCH_WOOD = null; + @Nullable public static final BlockType BLACK_BANNER = null; + @Nullable public static final BlockType BLACK_BED = null; + @Nullable public static final BlockType BLACK_CARPET = null; + @Nullable public static final BlockType BLACK_CONCRETE = null; + @Nullable public static final BlockType BLACK_CONCRETE_POWDER = null; + @Nullable public static final BlockType BLACK_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType BLACK_SHULKER_BOX = null; + @Nullable public static final BlockType BLACK_STAINED_GLASS = null; + @Nullable public static final BlockType BLACK_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType BLACK_TERRACOTTA = null; + @Nullable public static final BlockType BLACK_WALL_BANNER = null; + @Nullable public static final BlockType BLACK_WOOL = null; + @Nullable public static final BlockType BLUE_BANNER = null; + @Nullable public static final BlockType BLUE_BED = null; + @Nullable public static final BlockType BLUE_CARPET = null; + @Nullable public static final BlockType BLUE_CONCRETE = null; + @Nullable public static final BlockType BLUE_CONCRETE_POWDER = null; + @Nullable public static final BlockType BLUE_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType BLUE_ICE = null; + @Nullable public static final BlockType BLUE_ORCHID = null; + @Nullable public static final BlockType BLUE_SHULKER_BOX = null; + @Nullable public static final BlockType BLUE_STAINED_GLASS = null; + @Nullable public static final BlockType BLUE_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType BLUE_TERRACOTTA = null; + @Nullable public static final BlockType BLUE_WALL_BANNER = null; + @Nullable public static final BlockType BLUE_WOOL = null; + @Nullable public static final BlockType BONE_BLOCK = null; + @Nullable public static final BlockType BOOKSHELF = null; + @Nullable public static final BlockType BRAIN_CORAL = null; + @Nullable public static final BlockType BRAIN_CORAL_BLOCK = null; + @Nullable public static final BlockType BRAIN_CORAL_FAN = null; + @Nullable public static final BlockType BRAIN_CORAL_WALL_FAN = null; + @Nullable public static final BlockType BREWING_STAND = null; + @Nullable public static final BlockType BRICK_SLAB = null; + @Nullable public static final BlockType BRICK_STAIRS = null; + @Nullable public static final BlockType BRICKS = null; + @Nullable public static final BlockType BROWN_BANNER = null; + @Nullable public static final BlockType BROWN_BED = null; + @Nullable public static final BlockType BROWN_CARPET = null; + @Nullable public static final BlockType BROWN_CONCRETE = null; + @Nullable public static final BlockType BROWN_CONCRETE_POWDER = null; + @Nullable public static final BlockType BROWN_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType BROWN_MUSHROOM = null; + @Nullable public static final BlockType BROWN_MUSHROOM_BLOCK = null; + @Nullable public static final BlockType BROWN_SHULKER_BOX = null; + @Nullable public static final BlockType BROWN_STAINED_GLASS = null; + @Nullable public static final BlockType BROWN_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType BROWN_TERRACOTTA = null; + @Nullable public static final BlockType BROWN_WALL_BANNER = null; + @Nullable public static final BlockType BROWN_WOOL = null; + @Nullable public static final BlockType BUBBLE_COLUMN = null; + @Nullable public static final BlockType BUBBLE_CORAL = null; + @Nullable public static final BlockType BUBBLE_CORAL_BLOCK = null; + @Nullable public static final BlockType BUBBLE_CORAL_FAN = null; + @Nullable public static final BlockType BUBBLE_CORAL_WALL_FAN = null; + @Nullable public static final BlockType CACTUS = null; + @Nullable public static final BlockType CAKE = null; + @Nullable public static final BlockType CARROTS = null; + @Nullable public static final BlockType CARVED_PUMPKIN = null; + @Nullable public static final BlockType CAULDRON = null; + @Nullable public static final BlockType CAVE_AIR = null; + @Nullable public static final BlockType CHAIN_COMMAND_BLOCK = null; + @Nullable public static final BlockType CHEST = null; + @Nullable public static final BlockType CHIPPED_ANVIL = null; + @Nullable public static final BlockType CHISELED_QUARTZ_BLOCK = null; + @Nullable public static final BlockType CHISELED_RED_SANDSTONE = null; + @Nullable public static final BlockType CHISELED_SANDSTONE = null; + @Nullable public static final BlockType CHISELED_STONE_BRICKS = null; + @Nullable public static final BlockType CHORUS_FLOWER = null; + @Nullable public static final BlockType CHORUS_PLANT = null; + @Nullable public static final BlockType CLAY = null; + @Nullable public static final BlockType COAL_BLOCK = null; + @Nullable public static final BlockType COAL_ORE = null; + @Nullable public static final BlockType COARSE_DIRT = null; + @Nullable public static final BlockType COBBLESTONE = null; + @Nullable public static final BlockType COBBLESTONE_SLAB = null; + @Nullable public static final BlockType COBBLESTONE_STAIRS = null; + @Nullable public static final BlockType COBBLESTONE_WALL = null; + @Nullable public static final BlockType COBWEB = null; + @Nullable public static final BlockType COCOA = null; + @Nullable public static final BlockType COMMAND_BLOCK = null; + @Nullable public static final BlockType COMPARATOR = null; + @Nullable public static final BlockType CONDUIT = null; + @Nullable public static final BlockType CRACKED_STONE_BRICKS = null; + @Nullable public static final BlockType CRAFTING_TABLE = null; + @Nullable public static final BlockType CREEPER_HEAD = null; + @Nullable public static final BlockType CREEPER_WALL_HEAD = null; + @Nullable public static final BlockType CUT_RED_SANDSTONE = null; + @Nullable public static final BlockType CUT_SANDSTONE = null; + @Nullable public static final BlockType CYAN_BANNER = null; + @Nullable public static final BlockType CYAN_BED = null; + @Nullable public static final BlockType CYAN_CARPET = null; + @Nullable public static final BlockType CYAN_CONCRETE = null; + @Nullable public static final BlockType CYAN_CONCRETE_POWDER = null; + @Nullable public static final BlockType CYAN_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType CYAN_SHULKER_BOX = null; + @Nullable public static final BlockType CYAN_STAINED_GLASS = null; + @Nullable public static final BlockType CYAN_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType CYAN_TERRACOTTA = null; + @Nullable public static final BlockType CYAN_WALL_BANNER = null; + @Nullable public static final BlockType CYAN_WOOL = null; + @Nullable public static final BlockType DAMAGED_ANVIL = null; + @Nullable public static final BlockType DANDELION = null; + @Nullable public static final BlockType DARK_OAK_BUTTON = null; + @Nullable public static final BlockType DARK_OAK_DOOR = null; + @Nullable public static final BlockType DARK_OAK_FENCE = null; + @Nullable public static final BlockType DARK_OAK_FENCE_GATE = null; + @Nullable public static final BlockType DARK_OAK_LEAVES = null; + @Nullable public static final BlockType DARK_OAK_LOG = null; + @Nullable public static final BlockType DARK_OAK_PLANKS = null; + @Nullable public static final BlockType DARK_OAK_PRESSURE_PLATE = null; + @Nullable public static final BlockType DARK_OAK_SAPLING = null; + @Nullable public static final BlockType DARK_OAK_SLAB = null; + @Nullable public static final BlockType DARK_OAK_STAIRS = null; + @Nullable public static final BlockType DARK_OAK_TRAPDOOR = null; + @Nullable public static final BlockType DARK_OAK_WOOD = null; + @Nullable public static final BlockType DARK_PRISMARINE = null; + @Nullable public static final BlockType DARK_PRISMARINE_SLAB = null; + @Nullable public static final BlockType DARK_PRISMARINE_STAIRS = null; + @Nullable public static final BlockType DAYLIGHT_DETECTOR = null; + @Nullable public static final BlockType DEAD_BRAIN_CORAL = null; + @Nullable public static final BlockType DEAD_BRAIN_CORAL_BLOCK = null; + @Nullable public static final BlockType DEAD_BRAIN_CORAL_FAN = null; + @Nullable public static final BlockType DEAD_BRAIN_CORAL_WALL_FAN = null; + @Nullable public static final BlockType DEAD_BUBBLE_CORAL = null; + @Nullable public static final BlockType DEAD_BUBBLE_CORAL_BLOCK = null; + @Nullable public static final BlockType DEAD_BUBBLE_CORAL_FAN = null; + @Nullable public static final BlockType DEAD_BUBBLE_CORAL_WALL_FAN = null; + @Nullable public static final BlockType DEAD_BUSH = null; + @Nullable public static final BlockType DEAD_FIRE_CORAL = null; + @Nullable public static final BlockType DEAD_FIRE_CORAL_BLOCK = null; + @Nullable public static final BlockType DEAD_FIRE_CORAL_FAN = null; + @Nullable public static final BlockType DEAD_FIRE_CORAL_WALL_FAN = null; + @Nullable public static final BlockType DEAD_HORN_CORAL = null; + @Nullable public static final BlockType DEAD_HORN_CORAL_BLOCK = null; + @Nullable public static final BlockType DEAD_HORN_CORAL_FAN = null; + @Nullable public static final BlockType DEAD_HORN_CORAL_WALL_FAN = null; + @Nullable public static final BlockType DEAD_TUBE_CORAL = null; + @Nullable public static final BlockType DEAD_TUBE_CORAL_BLOCK = null; + @Nullable public static final BlockType DEAD_TUBE_CORAL_FAN = null; + @Nullable public static final BlockType DEAD_TUBE_CORAL_WALL_FAN = null; + @Nullable public static final BlockType DETECTOR_RAIL = null; + @Nullable public static final BlockType DIAMOND_BLOCK = null; + @Nullable public static final BlockType DIAMOND_ORE = null; + @Nullable public static final BlockType DIORITE = null; + @Nullable public static final BlockType DIRT = null; + @Nullable public static final BlockType DISPENSER = null; + @Nullable public static final BlockType DRAGON_EGG = null; + @Nullable public static final BlockType DRAGON_HEAD = null; + @Nullable public static final BlockType DRAGON_WALL_HEAD = null; + @Nullable public static final BlockType DRIED_KELP_BLOCK = null; + @Nullable public static final BlockType DROPPER = null; + @Nullable public static final BlockType EMERALD_BLOCK = null; + @Nullable public static final BlockType EMERALD_ORE = null; + @Nullable public static final BlockType ENCHANTING_TABLE = null; + @Nullable public static final BlockType END_GATEWAY = null; + @Nullable public static final BlockType END_PORTAL = null; + @Nullable public static final BlockType END_PORTAL_FRAME = null; + @Nullable public static final BlockType END_ROD = null; + @Nullable public static final BlockType END_STONE = null; + @Nullable public static final BlockType END_STONE_BRICKS = null; + @Nullable public static final BlockType ENDER_CHEST = null; + @Nullable public static final BlockType FARMLAND = null; + @Nullable public static final BlockType FERN = null; + @Nullable public static final BlockType FIRE = null; + @Nullable public static final BlockType FIRE_CORAL = null; + @Nullable public static final BlockType FIRE_CORAL_BLOCK = null; + @Nullable public static final BlockType FIRE_CORAL_FAN = null; + @Nullable public static final BlockType FIRE_CORAL_WALL_FAN = null; + @Nullable public static final BlockType FLOWER_POT = null; + @Nullable public static final BlockType FROSTED_ICE = null; + @Nullable public static final BlockType FURNACE = null; + @Nullable public static final BlockType GLASS = null; + @Nullable public static final BlockType GLASS_PANE = null; + @Nullable public static final BlockType GLOWSTONE = null; + @Nullable public static final BlockType GOLD_BLOCK = null; + @Nullable public static final BlockType GOLD_ORE = null; + @Nullable public static final BlockType GRANITE = null; + @Nullable public static final BlockType GRASS = null; + @Nullable public static final BlockType GRASS_BLOCK = null; + @Nullable public static final BlockType GRASS_PATH = null; + @Nullable public static final BlockType GRAVEL = null; + @Nullable public static final BlockType GRAY_BANNER = null; + @Nullable public static final BlockType GRAY_BED = null; + @Nullable public static final BlockType GRAY_CARPET = null; + @Nullable public static final BlockType GRAY_CONCRETE = null; + @Nullable public static final BlockType GRAY_CONCRETE_POWDER = null; + @Nullable public static final BlockType GRAY_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType GRAY_SHULKER_BOX = null; + @Nullable public static final BlockType GRAY_STAINED_GLASS = null; + @Nullable public static final BlockType GRAY_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType GRAY_TERRACOTTA = null; + @Nullable public static final BlockType GRAY_WALL_BANNER = null; + @Nullable public static final BlockType GRAY_WOOL = null; + @Nullable public static final BlockType GREEN_BANNER = null; + @Nullable public static final BlockType GREEN_BED = null; + @Nullable public static final BlockType GREEN_CARPET = null; + @Nullable public static final BlockType GREEN_CONCRETE = null; + @Nullable public static final BlockType GREEN_CONCRETE_POWDER = null; + @Nullable public static final BlockType GREEN_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType GREEN_SHULKER_BOX = null; + @Nullable public static final BlockType GREEN_STAINED_GLASS = null; + @Nullable public static final BlockType GREEN_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType GREEN_TERRACOTTA = null; + @Nullable public static final BlockType GREEN_WALL_BANNER = null; + @Nullable public static final BlockType GREEN_WOOL = null; + @Nullable public static final BlockType HAY_BLOCK = null; + @Nullable public static final BlockType HEAVY_WEIGHTED_PRESSURE_PLATE = null; + @Nullable public static final BlockType HOPPER = null; + @Nullable public static final BlockType HORN_CORAL = null; + @Nullable public static final BlockType HORN_CORAL_BLOCK = null; + @Nullable public static final BlockType HORN_CORAL_FAN = null; + @Nullable public static final BlockType HORN_CORAL_WALL_FAN = null; + @Nullable public static final BlockType ICE = null; + @Nullable public static final BlockType INFESTED_CHISELED_STONE_BRICKS = null; + @Nullable public static final BlockType INFESTED_COBBLESTONE = null; + @Nullable public static final BlockType INFESTED_CRACKED_STONE_BRICKS = null; + @Nullable public static final BlockType INFESTED_MOSSY_STONE_BRICKS = null; + @Nullable public static final BlockType INFESTED_STONE = null; + @Nullable public static final BlockType INFESTED_STONE_BRICKS = null; + @Nullable public static final BlockType IRON_BARS = null; + @Nullable public static final BlockType IRON_BLOCK = null; + @Nullable public static final BlockType IRON_DOOR = null; + @Nullable public static final BlockType IRON_ORE = null; + @Nullable public static final BlockType IRON_TRAPDOOR = null; + @Nullable public static final BlockType JACK_O_LANTERN = null; + @Nullable public static final BlockType JUKEBOX = null; + @Nullable public static final BlockType JUNGLE_BUTTON = null; + @Nullable public static final BlockType JUNGLE_DOOR = null; + @Nullable public static final BlockType JUNGLE_FENCE = null; + @Nullable public static final BlockType JUNGLE_FENCE_GATE = null; + @Nullable public static final BlockType JUNGLE_LEAVES = null; + @Nullable public static final BlockType JUNGLE_LOG = null; + @Nullable public static final BlockType JUNGLE_PLANKS = null; + @Nullable public static final BlockType JUNGLE_PRESSURE_PLATE = null; + @Nullable public static final BlockType JUNGLE_SAPLING = null; + @Nullable public static final BlockType JUNGLE_SLAB = null; + @Nullable public static final BlockType JUNGLE_STAIRS = null; + @Nullable public static final BlockType JUNGLE_TRAPDOOR = null; + @Nullable public static final BlockType JUNGLE_WOOD = null; + @Nullable public static final BlockType KELP = null; + @Nullable public static final BlockType KELP_PLANT = null; + @Nullable public static final BlockType LADDER = null; + @Nullable public static final BlockType LAPIS_BLOCK = null; + @Nullable public static final BlockType LAPIS_ORE = null; + @Nullable public static final BlockType LARGE_FERN = null; + @Nullable public static final BlockType LAVA = null; + @Nullable public static final BlockType LEVER = null; + @Nullable public static final BlockType LIGHT_BLUE_BANNER = null; + @Nullable public static final BlockType LIGHT_BLUE_BED = null; + @Nullable public static final BlockType LIGHT_BLUE_CARPET = null; + @Nullable public static final BlockType LIGHT_BLUE_CONCRETE = null; + @Nullable public static final BlockType LIGHT_BLUE_CONCRETE_POWDER = null; + @Nullable public static final BlockType LIGHT_BLUE_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType LIGHT_BLUE_SHULKER_BOX = null; + @Nullable public static final BlockType LIGHT_BLUE_STAINED_GLASS = null; + @Nullable public static final BlockType LIGHT_BLUE_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType LIGHT_BLUE_TERRACOTTA = null; + @Nullable public static final BlockType LIGHT_BLUE_WALL_BANNER = null; + @Nullable public static final BlockType LIGHT_BLUE_WOOL = null; + @Nullable public static final BlockType LIGHT_GRAY_BANNER = null; + @Nullable public static final BlockType LIGHT_GRAY_BED = null; + @Nullable public static final BlockType LIGHT_GRAY_CARPET = null; + @Nullable public static final BlockType LIGHT_GRAY_CONCRETE = null; + @Nullable public static final BlockType LIGHT_GRAY_CONCRETE_POWDER = null; + @Nullable public static final BlockType LIGHT_GRAY_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType LIGHT_GRAY_SHULKER_BOX = null; + @Nullable public static final BlockType LIGHT_GRAY_STAINED_GLASS = null; + @Nullable public static final BlockType LIGHT_GRAY_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType LIGHT_GRAY_TERRACOTTA = null; + @Nullable public static final BlockType LIGHT_GRAY_WALL_BANNER = null; + @Nullable public static final BlockType LIGHT_GRAY_WOOL = null; + @Nullable public static final BlockType LIGHT_WEIGHTED_PRESSURE_PLATE = null; + @Nullable public static final BlockType LILAC = null; + @Nullable public static final BlockType LILY_PAD = null; + @Nullable public static final BlockType LIME_BANNER = null; + @Nullable public static final BlockType LIME_BED = null; + @Nullable public static final BlockType LIME_CARPET = null; + @Nullable public static final BlockType LIME_CONCRETE = null; + @Nullable public static final BlockType LIME_CONCRETE_POWDER = null; + @Nullable public static final BlockType LIME_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType LIME_SHULKER_BOX = null; + @Nullable public static final BlockType LIME_STAINED_GLASS = null; + @Nullable public static final BlockType LIME_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType LIME_TERRACOTTA = null; + @Nullable public static final BlockType LIME_WALL_BANNER = null; + @Nullable public static final BlockType LIME_WOOL = null; + @Nullable public static final BlockType MAGENTA_BANNER = null; + @Nullable public static final BlockType MAGENTA_BED = null; + @Nullable public static final BlockType MAGENTA_CARPET = null; + @Nullable public static final BlockType MAGENTA_CONCRETE = null; + @Nullable public static final BlockType MAGENTA_CONCRETE_POWDER = null; + @Nullable public static final BlockType MAGENTA_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType MAGENTA_SHULKER_BOX = null; + @Nullable public static final BlockType MAGENTA_STAINED_GLASS = null; + @Nullable public static final BlockType MAGENTA_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType MAGENTA_TERRACOTTA = null; + @Nullable public static final BlockType MAGENTA_WALL_BANNER = null; + @Nullable public static final BlockType MAGENTA_WOOL = null; + @Nullable public static final BlockType MAGMA_BLOCK = null; + @Nullable public static final BlockType MELON = null; + @Nullable public static final BlockType MELON_STEM = null; + @Nullable public static final BlockType MOSSY_COBBLESTONE = null; + @Nullable public static final BlockType MOSSY_COBBLESTONE_WALL = null; + @Nullable public static final BlockType MOSSY_STONE_BRICKS = null; + @Nullable public static final BlockType MOVING_PISTON = null; + @Nullable public static final BlockType MUSHROOM_STEM = null; + @Nullable public static final BlockType MYCELIUM = null; + @Nullable public static final BlockType NETHER_BRICK_FENCE = null; + @Nullable public static final BlockType NETHER_BRICK_SLAB = null; + @Nullable public static final BlockType NETHER_BRICK_STAIRS = null; + @Nullable public static final BlockType NETHER_BRICKS = null; + @Nullable public static final BlockType NETHER_PORTAL = null; + @Nullable public static final BlockType NETHER_QUARTZ_ORE = null; + @Nullable public static final BlockType NETHER_WART = null; + @Nullable public static final BlockType NETHER_WART_BLOCK = null; + @Nullable public static final BlockType NETHERRACK = null; + @Nullable public static final BlockType NOTE_BLOCK = null; + @Nullable public static final BlockType OAK_BUTTON = null; + @Nullable public static final BlockType OAK_DOOR = null; + @Nullable public static final BlockType OAK_FENCE = null; + @Nullable public static final BlockType OAK_FENCE_GATE = null; + @Nullable public static final BlockType OAK_LEAVES = null; + @Nullable public static final BlockType OAK_LOG = null; + @Nullable public static final BlockType OAK_PLANKS = null; + @Nullable public static final BlockType OAK_PRESSURE_PLATE = null; + @Nullable public static final BlockType OAK_SAPLING = null; + @Nullable public static final BlockType OAK_SLAB = null; + @Nullable public static final BlockType OAK_STAIRS = null; + @Nullable public static final BlockType OAK_TRAPDOOR = null; + @Nullable public static final BlockType OAK_WOOD = null; + @Nullable public static final BlockType OBSERVER = null; + @Nullable public static final BlockType OBSIDIAN = null; + @Nullable public static final BlockType ORANGE_BANNER = null; + @Nullable public static final BlockType ORANGE_BED = null; + @Nullable public static final BlockType ORANGE_CARPET = null; + @Nullable public static final BlockType ORANGE_CONCRETE = null; + @Nullable public static final BlockType ORANGE_CONCRETE_POWDER = null; + @Nullable public static final BlockType ORANGE_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType ORANGE_SHULKER_BOX = null; + @Nullable public static final BlockType ORANGE_STAINED_GLASS = null; + @Nullable public static final BlockType ORANGE_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType ORANGE_TERRACOTTA = null; + @Nullable public static final BlockType ORANGE_TULIP = null; + @Nullable public static final BlockType ORANGE_WALL_BANNER = null; + @Nullable public static final BlockType ORANGE_WOOL = null; + @Nullable public static final BlockType OXEYE_DAISY = null; + @Nullable public static final BlockType PACKED_ICE = null; + @Nullable public static final BlockType PEONY = null; + @Nullable public static final BlockType PETRIFIED_OAK_SLAB = null; + @Nullable public static final BlockType PINK_BANNER = null; + @Nullable public static final BlockType PINK_BED = null; + @Nullable public static final BlockType PINK_CARPET = null; + @Nullable public static final BlockType PINK_CONCRETE = null; + @Nullable public static final BlockType PINK_CONCRETE_POWDER = null; + @Nullable public static final BlockType PINK_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType PINK_SHULKER_BOX = null; + @Nullable public static final BlockType PINK_STAINED_GLASS = null; + @Nullable public static final BlockType PINK_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType PINK_TERRACOTTA = null; + @Nullable public static final BlockType PINK_TULIP = null; + @Nullable public static final BlockType PINK_WALL_BANNER = null; + @Nullable public static final BlockType PINK_WOOL = null; + @Nullable public static final BlockType PISTON = null; + @Nullable public static final BlockType PISTON_HEAD = null; + @Nullable public static final BlockType PLAYER_HEAD = null; + @Nullable public static final BlockType PLAYER_WALL_HEAD = null; + @Nullable public static final BlockType PODZOL = null; + @Nullable public static final BlockType POLISHED_ANDESITE = null; + @Nullable public static final BlockType POLISHED_DIORITE = null; + @Nullable public static final BlockType POLISHED_GRANITE = null; + @Nullable public static final BlockType POPPY = null; + @Nullable public static final BlockType POTATOES = null; + @Nullable public static final BlockType POTTED_ACACIA_SAPLING = null; + @Nullable public static final BlockType POTTED_ALLIUM = null; + @Nullable public static final BlockType POTTED_AZURE_BLUET = null; + @Nullable public static final BlockType POTTED_BIRCH_SAPLING = null; + @Nullable public static final BlockType POTTED_BLUE_ORCHID = null; + @Nullable public static final BlockType POTTED_BROWN_MUSHROOM = null; + @Nullable public static final BlockType POTTED_CACTUS = null; + @Nullable public static final BlockType POTTED_DANDELION = null; + @Nullable public static final BlockType POTTED_DARK_OAK_SAPLING = null; + @Nullable public static final BlockType POTTED_DEAD_BUSH = null; + @Nullable public static final BlockType POTTED_FERN = null; + @Nullable public static final BlockType POTTED_JUNGLE_SAPLING = null; + @Nullable public static final BlockType POTTED_OAK_SAPLING = null; + @Nullable public static final BlockType POTTED_ORANGE_TULIP = null; + @Nullable public static final BlockType POTTED_OXEYE_DAISY = null; + @Nullable public static final BlockType POTTED_PINK_TULIP = null; + @Nullable public static final BlockType POTTED_POPPY = null; + @Nullable public static final BlockType POTTED_RED_MUSHROOM = null; + @Nullable public static final BlockType POTTED_RED_TULIP = null; + @Nullable public static final BlockType POTTED_SPRUCE_SAPLING = null; + @Nullable public static final BlockType POTTED_WHITE_TULIP = null; + @Nullable public static final BlockType POWERED_RAIL = null; + @Nullable public static final BlockType PRISMARINE = null; + @Nullable public static final BlockType PRISMARINE_BRICK_SLAB = null; + @Nullable public static final BlockType PRISMARINE_BRICK_STAIRS = null; + @Nullable public static final BlockType PRISMARINE_BRICKS = null; + @Nullable public static final BlockType PRISMARINE_SLAB = null; + @Nullable public static final BlockType PRISMARINE_STAIRS = null; + @Nullable public static final BlockType PUMPKIN = null; + @Nullable public static final BlockType PUMPKIN_STEM = null; + @Nullable public static final BlockType PURPLE_BANNER = null; + @Nullable public static final BlockType PURPLE_BED = null; + @Nullable public static final BlockType PURPLE_CARPET = null; + @Nullable public static final BlockType PURPLE_CONCRETE = null; + @Nullable public static final BlockType PURPLE_CONCRETE_POWDER = null; + @Nullable public static final BlockType PURPLE_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType PURPLE_SHULKER_BOX = null; + @Nullable public static final BlockType PURPLE_STAINED_GLASS = null; + @Nullable public static final BlockType PURPLE_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType PURPLE_TERRACOTTA = null; + @Nullable public static final BlockType PURPLE_WALL_BANNER = null; + @Nullable public static final BlockType PURPLE_WOOL = null; + @Nullable public static final BlockType PURPUR_BLOCK = null; + @Nullable public static final BlockType PURPUR_PILLAR = null; + @Nullable public static final BlockType PURPUR_SLAB = null; + @Nullable public static final BlockType PURPUR_STAIRS = null; + @Nullable public static final BlockType QUARTZ_BLOCK = null; + @Nullable public static final BlockType QUARTZ_PILLAR = null; + @Nullable public static final BlockType QUARTZ_SLAB = null; + @Nullable public static final BlockType QUARTZ_STAIRS = null; + @Nullable public static final BlockType RAIL = null; + @Nullable public static final BlockType RED_BANNER = null; + @Nullable public static final BlockType RED_BED = null; + @Nullable public static final BlockType RED_CARPET = null; + @Nullable public static final BlockType RED_CONCRETE = null; + @Nullable public static final BlockType RED_CONCRETE_POWDER = null; + @Nullable public static final BlockType RED_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType RED_MUSHROOM = null; + @Nullable public static final BlockType RED_MUSHROOM_BLOCK = null; + @Nullable public static final BlockType RED_NETHER_BRICKS = null; + @Nullable public static final BlockType RED_SAND = null; + @Nullable public static final BlockType RED_SANDSTONE = null; + @Nullable public static final BlockType RED_SANDSTONE_SLAB = null; + @Nullable public static final BlockType RED_SANDSTONE_STAIRS = null; + @Nullable public static final BlockType RED_SHULKER_BOX = null; + @Nullable public static final BlockType RED_STAINED_GLASS = null; + @Nullable public static final BlockType RED_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType RED_TERRACOTTA = null; + @Nullable public static final BlockType RED_TULIP = null; + @Nullable public static final BlockType RED_WALL_BANNER = null; + @Nullable public static final BlockType RED_WOOL = null; + @Nullable public static final BlockType REDSTONE_BLOCK = null; + @Nullable public static final BlockType REDSTONE_LAMP = null; + @Nullable public static final BlockType REDSTONE_ORE = null; + @Nullable public static final BlockType REDSTONE_TORCH = null; + @Nullable public static final BlockType REDSTONE_WALL_TORCH = null; + @Nullable public static final BlockType REDSTONE_WIRE = null; + @Nullable public static final BlockType REPEATER = null; + @Nullable public static final BlockType REPEATING_COMMAND_BLOCK = null; + @Nullable public static final BlockType ROSE_BUSH = null; + @Nullable public static final BlockType SAND = null; + @Nullable public static final BlockType SANDSTONE = null; + @Nullable public static final BlockType SANDSTONE_SLAB = null; + @Nullable public static final BlockType SANDSTONE_STAIRS = null; + @Nullable public static final BlockType SEA_LANTERN = null; + @Nullable public static final BlockType SEA_PICKLE = null; + @Nullable public static final BlockType SEAGRASS = null; + @Nullable public static final BlockType SHULKER_BOX = null; + @Nullable public static final BlockType SIGN = null; + @Nullable public static final BlockType SKELETON_SKULL = null; + @Nullable public static final BlockType SKELETON_WALL_SKULL = null; + @Nullable public static final BlockType SLIME_BLOCK = null; + @Nullable public static final BlockType SMOOTH_QUARTZ = null; + @Nullable public static final BlockType SMOOTH_RED_SANDSTONE = null; + @Nullable public static final BlockType SMOOTH_SANDSTONE = null; + @Nullable public static final BlockType SMOOTH_STONE = null; + @Nullable public static final BlockType SNOW = null; + @Nullable public static final BlockType SNOW_BLOCK = null; + @Nullable public static final BlockType SOUL_SAND = null; + @Nullable public static final BlockType SPAWNER = null; + @Nullable public static final BlockType SPONGE = null; + @Nullable public static final BlockType SPRUCE_BUTTON = null; + @Nullable public static final BlockType SPRUCE_DOOR = null; + @Nullable public static final BlockType SPRUCE_FENCE = null; + @Nullable public static final BlockType SPRUCE_FENCE_GATE = null; + @Nullable public static final BlockType SPRUCE_LEAVES = null; + @Nullable public static final BlockType SPRUCE_LOG = null; + @Nullable public static final BlockType SPRUCE_PLANKS = null; + @Nullable public static final BlockType SPRUCE_PRESSURE_PLATE = null; + @Nullable public static final BlockType SPRUCE_SAPLING = null; + @Nullable public static final BlockType SPRUCE_SLAB = null; + @Nullable public static final BlockType SPRUCE_STAIRS = null; + @Nullable public static final BlockType SPRUCE_TRAPDOOR = null; + @Nullable public static final BlockType SPRUCE_WOOD = null; + @Nullable public static final BlockType STICKY_PISTON = null; + @Nullable public static final BlockType STONE = null; + @Nullable public static final BlockType STONE_BRICK_SLAB = null; + @Nullable public static final BlockType STONE_BRICK_STAIRS = null; + @Nullable public static final BlockType STONE_BRICKS = null; + @Nullable public static final BlockType STONE_BUTTON = null; + @Nullable public static final BlockType STONE_PRESSURE_PLATE = null; + @Nullable public static final BlockType STONE_SLAB = null; + @Nullable public static final BlockType STRIPPED_ACACIA_LOG = null; + @Nullable public static final BlockType STRIPPED_ACACIA_WOOD = null; + @Nullable public static final BlockType STRIPPED_BIRCH_LOG = null; + @Nullable public static final BlockType STRIPPED_BIRCH_WOOD = null; + @Nullable public static final BlockType STRIPPED_DARK_OAK_LOG = null; + @Nullable public static final BlockType STRIPPED_DARK_OAK_WOOD = null; + @Nullable public static final BlockType STRIPPED_JUNGLE_LOG = null; + @Nullable public static final BlockType STRIPPED_JUNGLE_WOOD = null; + @Nullable public static final BlockType STRIPPED_OAK_LOG = null; + @Nullable public static final BlockType STRIPPED_OAK_WOOD = null; + @Nullable public static final BlockType STRIPPED_SPRUCE_LOG = null; + @Nullable public static final BlockType STRIPPED_SPRUCE_WOOD = null; + @Nullable public static final BlockType STRUCTURE_BLOCK = null; + @Nullable public static final BlockType STRUCTURE_VOID = null; + @Nullable public static final BlockType SUGAR_CANE = null; + @Nullable public static final BlockType SUNFLOWER = null; + @Nullable public static final BlockType TALL_GRASS = null; + @Nullable public static final BlockType TALL_SEAGRASS = null; + @Nullable public static final BlockType TERRACOTTA = null; + @Nullable public static final BlockType TNT = null; + @Nullable public static final BlockType TORCH = null; + @Nullable public static final BlockType TRAPPED_CHEST = null; + @Nullable public static final BlockType TRIPWIRE = null; + @Nullable public static final BlockType TRIPWIRE_HOOK = null; + @Nullable public static final BlockType TUBE_CORAL = null; + @Nullable public static final BlockType TUBE_CORAL_BLOCK = null; + @Nullable public static final BlockType TUBE_CORAL_FAN = null; + @Nullable public static final BlockType TUBE_CORAL_WALL_FAN = null; + @Nullable public static final BlockType TURTLE_EGG = null; + @Nullable public static final BlockType VINE = null; + @Nullable public static final BlockType VOID_AIR = null; + @Nullable public static final BlockType WALL_SIGN = null; + @Nullable public static final BlockType WALL_TORCH = null; + @Nullable public static final BlockType WATER = null; + @Nullable public static final BlockType WET_SPONGE = null; + @Nullable public static final BlockType WHEAT = null; + @Nullable public static final BlockType WHITE_BANNER = null; + @Nullable public static final BlockType WHITE_BED = null; + @Nullable public static final BlockType WHITE_CARPET = null; + @Nullable public static final BlockType WHITE_CONCRETE = null; + @Nullable public static final BlockType WHITE_CONCRETE_POWDER = null; + @Nullable public static final BlockType WHITE_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType WHITE_SHULKER_BOX = null; + @Nullable public static final BlockType WHITE_STAINED_GLASS = null; + @Nullable public static final BlockType WHITE_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType WHITE_TERRACOTTA = null; + @Nullable public static final BlockType WHITE_TULIP = null; + @Nullable public static final BlockType WHITE_WALL_BANNER = null; + @Nullable public static final BlockType WHITE_WOOL = null; + @Nullable public static final BlockType WITHER_SKELETON_SKULL = null; + @Nullable public static final BlockType WITHER_SKELETON_WALL_SKULL = null; + @Nullable public static final BlockType YELLOW_BANNER = null; + @Nullable public static final BlockType YELLOW_BED = null; + @Nullable public static final BlockType YELLOW_CARPET = null; + @Nullable public static final BlockType YELLOW_CONCRETE = null; + @Nullable public static final BlockType YELLOW_CONCRETE_POWDER = null; + @Nullable public static final BlockType YELLOW_GLAZED_TERRACOTTA = null; + @Nullable public static final BlockType YELLOW_SHULKER_BOX = null; + @Nullable public static final BlockType YELLOW_STAINED_GLASS = null; + @Nullable public static final BlockType YELLOW_STAINED_GLASS_PANE = null; + @Nullable public static final BlockType YELLOW_TERRACOTTA = null; + @Nullable public static final BlockType YELLOW_WALL_BANNER = null; + @Nullable public static final BlockType YELLOW_WOOL = null; + @Nullable public static final BlockType ZOMBIE_HEAD = null; + @Nullable public static final BlockType ZOMBIE_WALL_HEAD = null; /* ----------------------------------------------------- @@ -668,7 +668,6 @@ public final class BlockTypes { */ protected final static class Settings { protected final int internalId; - protected final ItemType itemType; protected final BlockState defaultState; protected final AbstractProperty[] propertiesMapArr; protected final AbstractProperty[] propertiesArr; @@ -724,7 +723,6 @@ public final class BlockTypes { this.permutations = maxInternalStateId; this.blockMaterial = WorldEdit.getInstance().getPlatformManager().queryCapability(Capability.GAME_HOOKS).getRegistries().getBlockRegistry().getMaterial(type); - this.itemType = ItemTypes.get(type); if (!propertiesList.isEmpty()) { this.stateOrdinals = generateStateOrdinals(internalId, states.size(), maxInternalStateId, propertiesList); @@ -820,14 +818,17 @@ public final class BlockTypes { Field[] oldFields = BlockID.class.getDeclaredFields(); for (Field field : oldFields) { if (field.getType() == int.class) { - String id = field.getName().toLowerCase(); - String defaultState = blockMap.get(id); - if (defaultState == null) { - System.out.println("Ignoring invalid block " + id); - continue; - } int internalId = field.getInt(null); - if (values[internalId] == null) { + String id = "minecraft:" + field.getName().toLowerCase(); + String defaultState = blockMap.remove(id); + if (defaultState == null) { + if (internalId != 0) { + System.out.println("Ignoring invalid block " + id); + continue; + } + defaultState = id; + } + if (values[internalId] != null) { throw new IllegalStateException("Invalid duplicate id for " + field.getName()); } BlockType type = register(defaultState, internalId, stateList); @@ -865,6 +866,18 @@ public final class BlockTypes { String typeName = id.substring(0, propStart == -1 ? id.length() : propStart); String enumName = (typeName.startsWith("minecraft:") ? typeName.substring(10) : typeName).toUpperCase(); BlockType existing = new BlockType(id, internalId, states); + + + // Set field value + try { + Field field = BlockTypes.class.getDeclaredField(enumName); + ReflectionUtils.setFailsafeFieldValue(field, null, existing); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + // register states if (typeName.startsWith("minecraft:")) $REGISTRY.put(typeName.substring(10), existing); $REGISTRY.put(typeName, existing); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/entity/EntityType.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/entity/EntityType.java index 71779e953..ac5fbfe5e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/entity/EntityType.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/entity/EntityType.java @@ -19,9 +19,10 @@ package com.sk89q.worldedit.world.entity; +import com.sk89q.worldedit.registry.RegistryItem; import com.sk89q.worldedit.registry.NamespacedRegistry; -public class EntityType { +public class EntityType implements RegistryItem { public static final NamespacedRegistry REGISTRY = new NamespacedRegistry<>("entity type"); @@ -39,6 +40,18 @@ public class EntityType { return this.id; } + private int internalId; + + @Override + public void setInternalId(int internalId) { + this.internalId = internalId; + } + + @Override + public int getInternalId() { + return internalId; + } + /** * Gets the name of this item, or the ID if the name cannot be found. * diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/fluid/FluidType.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/fluid/FluidType.java index 5b94015e1..1639e00c7 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/fluid/FluidType.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/fluid/FluidType.java @@ -19,13 +19,14 @@ package com.sk89q.worldedit.world.fluid; +import com.sk89q.worldedit.registry.RegistryItem; import com.sk89q.worldedit.registry.NamespacedRegistry; /** * Minecraft now has a 'fluid' system. This is a * stub class to represent what it may be in the future. */ -public class FluidType { +public class FluidType implements RegistryItem { public static final NamespacedRegistry REGISTRY = new NamespacedRegistry<>("fluid type"); @@ -44,6 +45,18 @@ public class FluidType { return this.id; } + private int internalId; + + @Override + public void setInternalId(int internalId) { + this.internalId = internalId; + } + + @Override + public int getInternalId() { + return internalId; + } + @Override public String toString() { return getId(); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemCategory.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemCategory.java index c5efdb4b9..1b0e4bd1e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemCategory.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemCategory.java @@ -34,6 +34,7 @@ import java.util.Set; public class ItemCategory extends Category { public static final NamespacedRegistry REGISTRY = new NamespacedRegistry<>("item tag"); + private int internalId; public ItemCategory(final String id) { super(id); @@ -56,4 +57,5 @@ public class ItemCategory extends Category { public boolean contains(BaseItem baseItem) { return this.getAll().contains(baseItem.getType()); } + } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemType.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemType.java index a54c877c2..b4bc13d14 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemType.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemType.java @@ -22,40 +22,44 @@ package com.sk89q.worldedit.world.item; import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.blocks.BaseItem; import com.sk89q.worldedit.extension.platform.Capability; +import com.sk89q.worldedit.registry.RegistryItem; import com.sk89q.worldedit.registry.NamespacedRegistry; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; import javax.annotation.Nullable; -public class ItemType { +public class ItemType implements RegistryItem { public static final NamespacedRegistry REGISTRY = new NamespacedRegistry<>("item type"); private String id; private BlockType blockType; - private int internalId; + private boolean initBlockType; private BaseItem defaultState; - protected ItemType(String id) { + public ItemType(String id) { // If it has no namespace, assume minecraft. if (!id.contains(":")) { id = "minecraft:" + id; } this.id = id; - this.blockType = BlockTypes.get(this.id); } public String getId() { return this.id; } - - public int getInternalId() { - return this.internalId; - } - + + private int internalId; + + @Override public void setInternalId(int internalId) { - this.internalId = internalId; + this.internalId = internalId; + } + + @Override + public int getInternalId() { + return internalId; } /** @@ -93,6 +97,10 @@ public class ItemType { } public void setBlockType(BlockType blockType) { + if (!initBlockType) { + initBlockType = true; + this.blockType = BlockTypes.get(this.id); + } this.blockType = blockType; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemTypes.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemTypes.java index 0a57db968..2b29803b0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemTypes.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/item/ItemTypes.java @@ -19,22 +19,12 @@ package com.sk89q.worldedit.world.item; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.LinkedHashSet; -import java.util.Map; - -import javax.annotation.Nullable; - -import com.sk89q.worldedit.WorldEdit; -import com.sk89q.worldedit.blocks.BaseItem; -import com.sk89q.worldedit.blocks.BaseItemStack; -import com.sk89q.worldedit.extension.platform.Capability; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.registry.LegacyMapper; +import javax.annotation.Nullable; +import java.util.Collection; + public final class ItemTypes { @Nullable public static final ItemType ACACIA_BOAT = get("minecraft:acacia_boat"); @@ -831,24 +821,6 @@ public final class ItemTypes { private ItemTypes() { } - private static ItemType register(final String id) { - return register(new ItemType(id)); - } - - public static ItemType register(final ItemType item) { - if(sortedRegistry == null) - sortedRegistry = new ArrayList<>(); - if(!sortedRegistry.contains(item))sortedRegistry.add(item); -// return ItemType.REGISTRY.register(item.getId(), item); - return internalRegister(item); - } - - private static ArrayList sortedRegistry; - - public static ItemType[] values() { - return sortedRegistry.toArray(new ItemType[sortedRegistry.size()]); - } - @Nullable public static ItemType parse(String input) { input = input.toLowerCase(); @@ -866,30 +838,20 @@ public final class ItemTypes { return result; } - private static ItemType internalRegister(final ItemType type) { - type.setInternalId(sortedRegistry.indexOf(type)); - type.setDefaultState(new BaseItemStack(type, 1)); - return ItemType.REGISTRY.register(type.getId(), type); - } - public static final @Nullable ItemType get(String id) { return ItemType.REGISTRY.get(id); } - public static final @Nullable ItemType get(BlockType type) { - ItemType item = get(type.getId()); - if (item != null && item.getBlockType() == null) { - item.setBlockType(type); - } - return item; - } - @Deprecated public static final ItemType get(final int ordinal) { - return values()[ordinal]; + return ItemType.REGISTRY.getByInternalId(ordinal); } public static int size() { - return values().length; + return ItemType.REGISTRY.size(); + } + + public static Collection values() { + return ItemType.REGISTRY.values(); } } diff --git a/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/legacy.json b/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/legacy.json index f8785401d..06c20e4e4 100644 --- a/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/legacy.json +++ b/worldedit-core/src/main/resources/com/sk89q/worldedit/world/registry/legacy.json @@ -343,14 +343,14 @@ "51:14": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=14]", "51:15": "minecraft:fire[east=false,south=false,north=false,west=false,up=false,age=15]", "52:0": "minecraft:spawner", - "53:0": "minecraft:oak_stairs[half=bottom,shape=straight,facing=east]", - "53:1": "minecraft:oak_stairs[half=bottom,shape=straight,facing=west]", - "53:2": "minecraft:oak_stairs[half=bottom,shape=straight,facing=south]", - "53:3": "minecraft:oak_stairs[half=bottom,shape=straight,facing=north]", - "53:4": "minecraft:oak_stairs[half=top,shape=straight,facing=east]", - "53:5": "minecraft:oak_stairs[half=top,shape=straight,facing=west]", - "53:6": "minecraft:oak_stairs[half=top,shape=straight,facing=south]", - "53:7": "minecraft:oak_stairs[half=top,shape=straight,facing=north]", + "53:0": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=east]", + "53:1": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=west]", + "53:2": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=south]", + "53:3": "minecraft:oak_stairs[half=bottom,shape=outer_right,facing=north]", + "53:4": "minecraft:oak_stairs[half=top,shape=outer_right,facing=east]", + "53:5": "minecraft:oak_stairs[half=top,shape=outer_right,facing=west]", + "53:6": "minecraft:oak_stairs[half=top,shape=outer_right,facing=south]", + "53:7": "minecraft:oak_stairs[half=top,shape=outer_right,facing=north]", "54:0": "minecraft:chest", "54:2": "minecraft:chest[facing=north,type=single]", "54:3": "minecraft:chest[facing=south,type=single]", @@ -404,7 +404,7 @@ "61:11": "minecraft:furnace[facing=south,lit=false]", "61:12": "minecraft:furnace[facing=west,lit=false]", "61:13": "minecraft:furnace[facing=east,lit=false]", - "62:0": "minecraft:lit_furnace", + "62:0": "minecraft:furnace[lit=true]", "62:2": "minecraft:furnace[facing=north,lit=true]", "62:3": "minecraft:furnace[facing=south,lit=true]", "62:4": "minecraft:furnace[facing=west,lit=true]", @@ -521,7 +521,7 @@ "75:10": "minecraft:redstone_wall_torch[facing=west,lit=false]", "75:11": "minecraft:redstone_wall_torch[facing=south,lit=false]", "75:12": "minecraft:redstone_wall_torch[facing=north,lit=false]", - "75:13": "minecraft:redstone_wall_torch[facing=up,lit=false]", + "75:13": "minecraft:redstone_wall_torch[lit=false]", "76:0": "minecraft:redstone_torch[lit=true]", "76:1": "minecraft:redstone_wall_torch[facing=east,lit=true]", "76:2": "minecraft:redstone_wall_torch[facing=west,lit=true]", @@ -532,7 +532,7 @@ "76:10": "minecraft:redstone_wall_torch[facing=west,lit=true]", "76:11": "minecraft:redstone_wall_torch[facing=south,lit=true]", "76:12": "minecraft:redstone_wall_torch[facing=north,lit=true]", - "76:13": "minecraft:redstone_wall_torch[facing=up,lit=true]", + "76:13": "minecraft:redstone_wall_torch[lit=true]", "77:0": "minecraft:stone_button[powered=false,facing=east,face=ceiling]", "77:1": "minecraft:stone_button[powered=false,facing=east,face=wall]", "77:2": "minecraft:stone_button[powered=false,facing=west,face=wall]",