From e692b53c3faf833411f880064aab762b30dee70f Mon Sep 17 00:00:00 2001 From: Camotoy <20743703+Camotoy@users.noreply.github.com> Date: Sat, 1 May 2021 23:19:49 -0400 Subject: [PATCH] Initial update for 21w17a --- connector/pom.xml | 2 +- .../connector/entity/type/EntityType.java | 1 + .../connector/inventory/Inventory.java | 8 - .../connector/network/BedrockProtocol.java | 10 - .../network/UpstreamPacketHandler.java | 7 +- .../network/session/GeyserSession.java | 5 +- .../inventory/click/ClickPlan.java | 20 +- .../translators/AnvilInventoryTranslator.java | 62 +- .../java/JavaJoinGameTranslator.java | 2 +- .../JavaEntitySetPassengersTranslator.java | 14 +- ...r.java => JavaRemoveEntityTranslator.java} | 17 +- .../title/JavaClearTitlesTranslator.java} | 42 +- .../JavaSetActionBarTextTranslator.java} | 50 +- .../title/JavaSetSubtitleTextTranslator.java | 52 + .../title/JavaSetTitleTextTranslator.java | 52 + .../JavaSetTitlesAnimationTranslator.java} | 26 +- .../java/world/JavaChunkDataTranslator.java | 18 +- .../world/block/BlockTranslator.java | 6 +- .../geysermc/connector/utils/ChunkUtils.java | 38 +- .../bedrock/blockpalette.1_16_100.nbt | Bin 104176 -> 0 bytes .../bedrock/blockpalette.1_16_210.nbt | Bin 34796 -> 36482 bytes .../resources/bedrock/creative_items.json | 1979 +++++++++-------- .../bedrock/runtime_item_states.json | 810 ++++--- 23 files changed, 1806 insertions(+), 1415 deletions(-) rename connector/src/main/java/org/geysermc/connector/network/translators/java/entity/{JavaEntityDestroyTranslator.java => JavaRemoveEntityTranslator.java} (75%) rename connector/src/main/java/org/geysermc/connector/network/translators/{world/block/BlockTranslator1_16_100.java => java/title/JavaClearTitlesTranslator.java} (52%) rename connector/src/main/java/org/geysermc/connector/network/translators/java/{JavaTitleTranslator.java => title/JavaSetActionBarTextTranslator.java} (52%) create mode 100644 connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetSubtitleTextTranslator.java create mode 100644 connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetTitleTextTranslator.java rename connector/src/main/java/org/geysermc/connector/network/translators/java/{window/JavaConfirmTransactionTranslator.java => title/JavaSetTitlesAnimationTranslator.java} (62%) delete mode 100644 connector/src/main/resources/bedrock/blockpalette.1_16_100.nbt diff --git a/connector/pom.xml b/connector/pom.xml index 90ee8a5c9..81c3b27d9 100644 --- a/connector/pom.xml +++ b/connector/pom.xml @@ -122,7 +122,7 @@ com.github.steveice10 mcprotocollib - 26201a4 + 21w17a-SNAPSHOT compile diff --git a/connector/src/main/java/org/geysermc/connector/entity/type/EntityType.java b/connector/src/main/java/org/geysermc/connector/entity/type/EntityType.java index 43658f63b..a1fac77f6 100644 --- a/connector/src/main/java/org/geysermc/connector/entity/type/EntityType.java +++ b/connector/src/main/java/org/geysermc/connector/entity/type/EntityType.java @@ -161,6 +161,7 @@ public enum EntityType { ZOGLIN(ZoglinEntity.class, 126, 1.4f, 1.3965f, 1.3965f, 0f, "minecraft:zoglin"), PIGLIN(PiglinEntity.class, 123, 1.95f, 0.6f, 0.6f, 0f, "minecraft:piglin"), PIGLIN_BRUTE(BasePiglinEntity.class, 127, 1.95f, 0.6f, 0.6f, 0f, "minecraft:piglin_brute"), + //TODO: GOAT AXOLOTL GLOW_SQUID GLOW_ITEM_FRAME MARKER /** * Item frames are handled differently since they are a block in Bedrock. diff --git a/connector/src/main/java/org/geysermc/connector/inventory/Inventory.java b/connector/src/main/java/org/geysermc/connector/inventory/Inventory.java index 11a0034ad..664781763 100644 --- a/connector/src/main/java/org/geysermc/connector/inventory/Inventory.java +++ b/connector/src/main/java/org/geysermc/connector/inventory/Inventory.java @@ -66,9 +66,6 @@ public class Inventory { @Setter protected long holderId = -1; - @Getter - protected short transactionId = 0; - @Getter @Setter private boolean pending = false; @@ -114,10 +111,6 @@ public class Inventory { } } - public short getNextTransactionId() { - return ++transactionId; - } - @Override public String toString() { return "Inventory{" + @@ -127,7 +120,6 @@ public class Inventory { ", items=" + Arrays.toString(items) + ", holderPosition=" + holderPosition + ", holderId=" + holderId + - ", transactionId=" + transactionId + '}'; } } diff --git a/connector/src/main/java/org/geysermc/connector/network/BedrockProtocol.java b/connector/src/main/java/org/geysermc/connector/network/BedrockProtocol.java index b7365c05d..234b85884 100644 --- a/connector/src/main/java/org/geysermc/connector/network/BedrockProtocol.java +++ b/connector/src/main/java/org/geysermc/connector/network/BedrockProtocol.java @@ -26,9 +26,6 @@ package org.geysermc.connector.network; import com.nukkitx.protocol.bedrock.BedrockPacketCodec; -import com.nukkitx.protocol.bedrock.v419.Bedrock_v419; -import com.nukkitx.protocol.bedrock.v422.Bedrock_v422; -import com.nukkitx.protocol.bedrock.v428.Bedrock_v428; import com.nukkitx.protocol.bedrock.v431.Bedrock_v431; import java.util.ArrayList; @@ -49,13 +46,6 @@ public class BedrockProtocol { public static final List SUPPORTED_BEDROCK_CODECS = new ArrayList<>(); static { - SUPPORTED_BEDROCK_CODECS.add(Bedrock_v419.V419_CODEC.toBuilder() - .minecraftVersion("1.16.100/1.16.101") // We change this as 1.16.100.60 is a beta - .build()); - SUPPORTED_BEDROCK_CODECS.add(Bedrock_v422.V422_CODEC.toBuilder() - .minecraftVersion("1.16.200/1.16.201") - .build()); - SUPPORTED_BEDROCK_CODECS.add(Bedrock_v428.V428_CODEC); SUPPORTED_BEDROCK_CODECS.add(DEFAULT_BEDROCK_CODEC); } diff --git a/connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java b/connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java index a30de4d07..17446effc 100644 --- a/connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java +++ b/connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java @@ -30,7 +30,6 @@ import com.nukkitx.protocol.bedrock.BedrockPacketCodec; import com.nukkitx.protocol.bedrock.data.ExperimentData; import com.nukkitx.protocol.bedrock.data.ResourcePackType; import com.nukkitx.protocol.bedrock.packet.*; -import com.nukkitx.protocol.bedrock.v428.Bedrock_v428; import org.geysermc.connector.GeyserConnector; import org.geysermc.connector.common.AuthType; import org.geysermc.connector.configuration.GeyserConfiguration; @@ -38,7 +37,6 @@ import org.geysermc.connector.network.session.GeyserSession; import org.geysermc.connector.network.session.cache.AdvancementsCache; import org.geysermc.connector.network.translators.PacketTranslatorRegistry; import org.geysermc.connector.network.translators.item.ItemRegistry; -import org.geysermc.connector.network.translators.world.block.BlockTranslator1_16_100; import org.geysermc.connector.network.translators.world.block.BlockTranslator1_16_210; import org.geysermc.connector.utils.*; @@ -74,8 +72,7 @@ public class UpstreamPacketHandler extends LoggingPacketHandler { session.getUpstream().getSession().setPacketCodec(packetCodec); // Set the block translation based off of version - session.setBlockTranslator(packetCodec.getProtocolVersion() >= Bedrock_v428.V428_CODEC.getProtocolVersion() - ? BlockTranslator1_16_210.INSTANCE : BlockTranslator1_16_100.INSTANCE); + session.setBlockTranslator(BlockTranslator1_16_210.INSTANCE); LoginEncryptionUtils.encryptPlayerConnection(connector, session, loginPacket); @@ -140,6 +137,8 @@ public class UpstreamPacketHandler extends LoggingPacketHandler { stackPacket.getExperiments().add(new ExperimentData("data_driven_items", true)); } + stackPacket.getExperiments().add(new ExperimentData("caves_and_cliffs", true)); + session.sendUpstreamPacket(stackPacket); break; diff --git a/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java b/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java index 63cdc6ece..39d0f05c9 100644 --- a/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java +++ b/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java @@ -807,7 +807,7 @@ public class GeyserSession implements CommandSender { @Override public void packetError(PacketErrorEvent event) { connector.getLogger().warning(LanguageUtils.getLocaleStringLog("geyser.network.downstream_error", event.getCause().getMessage())); - if (connector.getConfig().isDebugMode()) + //if (connector.getConfig().isDebugMode()) //TODO don't leave this uncommented event.getCause().printStackTrace(); event.setSuppress(true); } @@ -1053,13 +1053,14 @@ public class GeyserSession implements CommandSender { startGamePacket.setItemEntries(ItemRegistry.ITEMS); startGamePacket.setVanillaVersion("*"); startGamePacket.setInventoriesServerAuthoritative(true); - startGamePacket.setAuthoritativeMovementMode(AuthoritativeMovementMode.CLIENT); // can be removed once 1.16.200 support is dropped SyncedPlayerMovementSettings settings = new SyncedPlayerMovementSettings(); settings.setMovementMode(AuthoritativeMovementMode.CLIENT); settings.setRewindHistorySize(0); settings.setServerAuthoritativeBlockBreaking(false); startGamePacket.setPlayerMovementSettings(settings); + + startGamePacket.getExperiments().add(new ExperimentData("caves_and_cliffs", true)); upstream.sendPacket(startGamePacket); } diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/inventory/click/ClickPlan.java b/connector/src/main/java/org/geysermc/connector/network/translators/inventory/click/ClickPlan.java index c750baf51..5204bf675 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/inventory/click/ClickPlan.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/inventory/click/ClickPlan.java @@ -27,7 +27,6 @@ package org.geysermc.connector.network.translators.inventory.click; import com.github.steveice10.mc.protocol.data.game.entity.metadata.ItemStack; import com.github.steveice10.mc.protocol.data.game.window.WindowAction; -import com.github.steveice10.mc.protocol.packet.ingame.client.window.ClientConfirmTransactionPacket; import com.github.steveice10.mc.protocol.packet.ingame.client.window.ClientWindowActionPacket; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; @@ -43,7 +42,9 @@ import org.geysermc.connector.network.translators.inventory.translators.Crafting import org.geysermc.connector.network.translators.inventory.translators.PlayerInventoryTranslator; import org.geysermc.connector.utils.InventoryUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.ListIterator; public class ClickPlan { private final List plan = new ArrayList<>(); @@ -116,22 +117,23 @@ public class ClickPlan { clickedItemStack = getItem(action.slot).getItemStack(); } - short actionId = inventory.getNextTransactionId(); + Int2ObjectMap affectedSlots = new Int2ObjectOpenHashMap<>(); + for (Int2ObjectMap.Entry simulatedSlot : simulatedItems.int2ObjectEntrySet()) { + affectedSlots.put(simulatedSlot.getIntKey(), simulatedSlot.getValue().getItemStack()); + } + ClientWindowActionPacket clickPacket = new ClientWindowActionPacket( inventory.getId(), - actionId, action.slot, - clickedItemStack, action.click.windowAction, - action.click.actionParam + action.click.actionParam, + clickedItemStack, + affectedSlots ); simulateAction(action); session.sendDownstreamPacket(clickPacket); - if (clickedItemStack == InventoryUtils.REFRESH_ITEM || action.force) { - session.sendDownstreamPacket(new ClientConfirmTransactionPacket(inventory.getId(), actionId, true)); - } } session.getPlayerInventory().setCursor(simulatedCursor, session); diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/inventory/translators/AnvilInventoryTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/inventory/translators/AnvilInventoryTranslator.java index 38a0935e6..1f36eaabe 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/inventory/translators/AnvilInventoryTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/inventory/translators/AnvilInventoryTranslator.java @@ -26,21 +26,14 @@ package org.geysermc.connector.network.translators.inventory.translators; import com.github.steveice10.mc.protocol.data.game.window.WindowType; -import com.github.steveice10.mc.protocol.packet.ingame.client.window.ClientRenameItemPacket; -import com.nukkitx.nbt.NbtMap; -import com.nukkitx.protocol.bedrock.data.inventory.*; -import com.nukkitx.protocol.bedrock.data.inventory.stackrequestactions.CraftResultsDeprecatedStackRequestActionData; -import com.nukkitx.protocol.bedrock.data.inventory.stackrequestactions.StackRequestActionData; -import com.nukkitx.protocol.bedrock.data.inventory.stackrequestactions.StackRequestActionType; -import com.nukkitx.protocol.bedrock.packet.ItemStackResponsePacket; +import com.nukkitx.protocol.bedrock.data.inventory.ContainerSlotType; +import com.nukkitx.protocol.bedrock.data.inventory.ContainerType; +import com.nukkitx.protocol.bedrock.data.inventory.StackRequestSlotInfoData; import org.geysermc.connector.inventory.AnvilContainer; -import org.geysermc.connector.inventory.GeyserItemStack; import org.geysermc.connector.inventory.Inventory; import org.geysermc.connector.inventory.PlayerInventory; -import org.geysermc.connector.network.session.GeyserSession; import org.geysermc.connector.network.translators.inventory.BedrockContainerSlot; import org.geysermc.connector.network.translators.inventory.updater.UIInventoryUpdater; -import org.geysermc.connector.network.translators.item.ItemTranslator; public class AnvilInventoryTranslator extends AbstractBlockInventoryTranslator { public AnvilInventoryTranslator() { @@ -48,55 +41,6 @@ public class AnvilInventoryTranslator extends AbstractBlockInventoryTranslator { "minecraft:chipped_anvil", "minecraft:damaged_anvil"); } - /* 1.16.100 support start */ - @Override - @Deprecated - public boolean shouldHandleRequestFirst(StackRequestActionData action, Inventory inventory) { - return action.getType() == StackRequestActionType.CRAFT_NON_IMPLEMENTED_DEPRECATED; - } - - @Override - @Deprecated - public ItemStackResponsePacket.Response translateSpecialRequest(GeyserSession session, Inventory inventory, ItemStackRequest request) { - if (!(request.getActions()[1] instanceof CraftResultsDeprecatedStackRequestActionData)) { - // Just silently log an error - session.getConnector().getLogger().debug("Something isn't quite right with taking an item out of an anvil."); - return translateRequest(session, inventory, request); - } - CraftResultsDeprecatedStackRequestActionData actionData = (CraftResultsDeprecatedStackRequestActionData) request.getActions()[1]; - ItemData resultItem = actionData.getResultItems()[0]; - if (resultItem.getTag() != null) { - NbtMap displayTag = resultItem.getTag().getCompound("display"); - if (displayTag != null && displayTag.containsKey("Name")) { - ItemData sourceSlot = inventory.getItem(0).getItemData(session); - - if (sourceSlot.getTag() != null) { - NbtMap oldDisplayTag = sourceSlot.getTag().getCompound("display"); - if (oldDisplayTag != null && oldDisplayTag.containsKey("Name")) { - if (!displayTag.getString("Name").equals(oldDisplayTag.getString("Name"))) { - // Name has changed - sendRenamePacket(session, inventory, resultItem, displayTag.getString("Name")); - } - } else { - // No display tag on the old item - sendRenamePacket(session, inventory, resultItem, displayTag.getString("Name")); - } - } else { - // New NBT tag - sendRenamePacket(session, inventory, resultItem, displayTag.getString("Name")); - } - } - } - return translateRequest(session, inventory, request); - } - - private void sendRenamePacket(GeyserSession session, Inventory inventory, ItemData outputItem, String name) { - session.sendDownstreamPacket(new ClientRenameItemPacket(name)); - inventory.setItem(2, GeyserItemStack.from(ItemTranslator.translateToJava(outputItem)), session); - } - - /* 1.16.100 support end */ - @Override public int bedrockSlotToJava(StackRequestSlotInfoData slotInfoData) { switch (slotInfoData.getContainer()) { diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java index abd79437f..74093eecc 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaJoinGameTranslator.java @@ -93,7 +93,7 @@ public class JavaJoinGameTranslator extends PacketTranslator= Bedrock_v428.V428_CODEC.getProtocolVersion()) { - passenger.getMetadata().put(EntityData.RIDER_MIN_ROTATION, 1f); - passenger.getMetadata().put(EntityData.RIDER_ROTATION_OFFSET, -90f); - } else { - passenger.getMetadata().put(EntityData.RIDER_MIN_ROTATION, -90f); - } + passenger.getMetadata().put(EntityData.RIDER_MIN_ROTATION, 1f); + passenger.getMetadata().put(EntityData.RIDER_ROTATION_OFFSET, -90f); } else { passenger.getMetadata().put(EntityData.RIDER_ROTATION_LOCKED, (byte) 0); passenger.getMetadata().put(EntityData.RIDER_MAX_ROTATION, 0f); @@ -123,9 +117,7 @@ public class JavaEntitySetPassengersTranslator extends PacketTranslator= Bedrock_v428.V428_CODEC.getProtocolVersion()) { - passenger.getMetadata().put(EntityData.RIDER_ROTATION_OFFSET, 0f); - } + passenger.getMetadata().put(EntityData.RIDER_ROTATION_OFFSET, 0f); this.updateOffset(passenger, entity, session, false, false, (packet.getPassengerIds().length > 1)); } else { diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/entity/JavaEntityDestroyTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/entity/JavaRemoveEntityTranslator.java similarity index 75% rename from connector/src/main/java/org/geysermc/connector/network/translators/java/entity/JavaEntityDestroyTranslator.java rename to connector/src/main/java/org/geysermc/connector/network/translators/java/entity/JavaRemoveEntityTranslator.java index 1bcf9f340..a891cb323 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/entity/JavaEntityDestroyTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/entity/JavaRemoveEntityTranslator.java @@ -25,24 +25,21 @@ package org.geysermc.connector.network.translators.java.entity; +import com.github.steveice10.mc.protocol.packet.ingame.server.entity.ServerRemoveEntityPacket; import org.geysermc.connector.entity.Entity; import org.geysermc.connector.network.session.GeyserSession; import org.geysermc.connector.network.translators.PacketTranslator; import org.geysermc.connector.network.translators.Translator; -import com.github.steveice10.mc.protocol.packet.ingame.server.entity.ServerEntityDestroyPacket; - -@Translator(packet = ServerEntityDestroyPacket.class) -public class JavaEntityDestroyTranslator extends PacketTranslator { +@Translator(packet = ServerRemoveEntityPacket.class) +public class JavaRemoveEntityTranslator extends PacketTranslator { @Override - public void translate(ServerEntityDestroyPacket packet, GeyserSession session) { - for (int entityId : packet.getEntityIds()) { - Entity entity = session.getEntityCache().getEntityByJavaId(entityId); + public void translate(ServerRemoveEntityPacket packet, GeyserSession session) { + Entity entity = session.getEntityCache().getEntityByJavaId(packet.getEntityId()); - if (entity != null) { - session.getEntityCache().removeEntity(entity, false); - } + if (entity != null) { + session.getEntityCache().removeEntity(entity, false); } } } diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/world/block/BlockTranslator1_16_100.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaClearTitlesTranslator.java similarity index 52% rename from connector/src/main/java/org/geysermc/connector/network/translators/world/block/BlockTranslator1_16_100.java rename to connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaClearTitlesTranslator.java index e10a503ea..e12276b1f 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/world/block/BlockTranslator1_16_100.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaClearTitlesTranslator.java @@ -23,37 +23,23 @@ * @link https://github.com/GeyserMC/Geyser */ -package org.geysermc.connector.network.translators.world.block; +package org.geysermc.connector.network.translators.java.title; -import com.google.common.collect.ImmutableSet; -import com.nukkitx.nbt.NbtMapBuilder; +import com.github.steveice10.mc.protocol.packet.ingame.server.title.ServerClearTitlesPacket; +import com.nukkitx.protocol.bedrock.packet.SetTitlePacket; +import org.geysermc.connector.network.session.GeyserSession; +import org.geysermc.connector.network.translators.PacketTranslator; +import org.geysermc.connector.network.translators.Translator; -import java.util.Set; - -public class BlockTranslator1_16_100 extends BlockTranslator { - private static final Set CORRECTED_STATES = ImmutableSet.of("minecraft:stripped_warped_stem", - "minecraft:stripped_warped_hyphae", "minecraft:stripped_crimson_stem", "minecraft:stripped_crimson_hyphae"); - - public static final BlockTranslator1_16_100 INSTANCE = new BlockTranslator1_16_100(); - - public BlockTranslator1_16_100() { - super("bedrock/blockpalette.1_16_100.nbt"); - } +@Translator(packet = ServerClearTitlesPacket.class) +public class JavaClearTitlesTranslator extends PacketTranslator { @Override - public int getBlockStateVersion() { - return 17825808; - } - - @Override - protected NbtMapBuilder adjustBlockStateForVersion(String bedrockIdentifier, NbtMapBuilder statesBuilder) { - if (CORRECTED_STATES.contains(bedrockIdentifier)) { - statesBuilder.putInt("deprecated", 0); - } - return super.adjustBlockStateForVersion(bedrockIdentifier, statesBuilder); - } - - public static void init() { - // no-op + public void translate(ServerClearTitlesPacket packet, GeyserSession session) { + SetTitlePacket titlePacket = new SetTitlePacket(); + // TODO handle packet.isResetTimes() + titlePacket.setType(SetTitlePacket.Type.CLEAR); + titlePacket.setText(""); + session.sendUpstreamPacket(titlePacket); } } diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaTitleTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetActionBarTextTranslator.java similarity index 52% rename from connector/src/main/java/org/geysermc/connector/network/translators/java/JavaTitleTranslator.java rename to connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetActionBarTextTranslator.java index ffda57826..a659a3fb2 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/JavaTitleTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetActionBarTextTranslator.java @@ -23,58 +23,30 @@ * @link https://github.com/GeyserMC/Geyser */ -package org.geysermc.connector.network.translators.java; +package org.geysermc.connector.network.translators.java.title; +import com.github.steveice10.mc.protocol.packet.ingame.server.title.ServerSetActionBarTextPacket; +import com.nukkitx.protocol.bedrock.packet.SetTitlePacket; import org.geysermc.connector.network.session.GeyserSession; import org.geysermc.connector.network.translators.PacketTranslator; import org.geysermc.connector.network.translators.Translator; import org.geysermc.connector.network.translators.chat.MessageTranslator; -import com.github.steveice10.mc.protocol.packet.ingame.server.ServerTitlePacket; -import com.nukkitx.protocol.bedrock.packet.SetTitlePacket; - -@Translator(packet = ServerTitlePacket.class) -public class JavaTitleTranslator extends PacketTranslator { +@Translator(packet = ServerSetActionBarTextPacket.class) +public class JavaSetActionBarTextTranslator extends PacketTranslator { @Override - public void translate(ServerTitlePacket packet, GeyserSession session) { - SetTitlePacket titlePacket = new SetTitlePacket(); - String locale = session.getLocale(); - + public void translate(ServerSetActionBarTextPacket packet, GeyserSession session) { String text; - if (packet.getTitle() == null) { + if (packet.getText() == null) { //TODO 1.17 can this happen? text = " "; } else { - text = MessageTranslator.convertMessage(packet.getTitle(), locale); - } - - switch (packet.getAction()) { - case TITLE: - titlePacket.setType(SetTitlePacket.Type.TITLE); - titlePacket.setText(text); - break; - case SUBTITLE: - titlePacket.setType(SetTitlePacket.Type.SUBTITLE); - titlePacket.setText(text); - break; - case CLEAR: - case RESET: - titlePacket.setType(SetTitlePacket.Type.CLEAR); - titlePacket.setText(""); - break; - case ACTION_BAR: - titlePacket.setType(SetTitlePacket.Type.ACTIONBAR); - titlePacket.setText(text); - break; - case TIMES: - titlePacket.setType(SetTitlePacket.Type.TIMES); - titlePacket.setFadeInTime(packet.getFadeIn()); - titlePacket.setFadeOutTime(packet.getFadeOut()); - titlePacket.setStayTime(packet.getStay()); - titlePacket.setText(""); - break; + text = MessageTranslator.convertMessage(packet.getText(), session.getLocale()); } + SetTitlePacket titlePacket = new SetTitlePacket(); + titlePacket.setType(SetTitlePacket.Type.ACTIONBAR); + titlePacket.setText(text); session.sendUpstreamPacket(titlePacket); } } diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetSubtitleTextTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetSubtitleTextTranslator.java new file mode 100644 index 000000000..d0f97cc3d --- /dev/null +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetSubtitleTextTranslator.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2019-2021 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/Geyser + */ + +package org.geysermc.connector.network.translators.java.title; + +import com.github.steveice10.mc.protocol.packet.ingame.server.title.ServerSetSubtitleTextPacket; +import com.nukkitx.protocol.bedrock.packet.SetTitlePacket; +import org.geysermc.connector.network.session.GeyserSession; +import org.geysermc.connector.network.translators.PacketTranslator; +import org.geysermc.connector.network.translators.Translator; +import org.geysermc.connector.network.translators.chat.MessageTranslator; + +@Translator(packet = ServerSetSubtitleTextPacket.class) +public class JavaSetSubtitleTextTranslator extends PacketTranslator { + + @Override + public void translate(ServerSetSubtitleTextPacket packet, GeyserSession session) { + String text; + if (packet.getText() == null) { //TODO 1.17 can this happen? + text = " "; + } else { + text = MessageTranslator.convertMessage(packet.getText(), session.getLocale()); + } + + SetTitlePacket titlePacket = new SetTitlePacket(); + titlePacket.setType(SetTitlePacket.Type.SUBTITLE); + titlePacket.setText(text); + session.sendUpstreamPacket(titlePacket); + } +} diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetTitleTextTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetTitleTextTranslator.java new file mode 100644 index 000000000..7cf06a4f7 --- /dev/null +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetTitleTextTranslator.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2019-2021 GeyserMC. http://geysermc.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * @author GeyserMC + * @link https://github.com/GeyserMC/Geyser + */ + +package org.geysermc.connector.network.translators.java.title; + +import com.github.steveice10.mc.protocol.packet.ingame.server.title.ServerSetTitleTextPacket; +import com.nukkitx.protocol.bedrock.packet.SetTitlePacket; +import org.geysermc.connector.network.session.GeyserSession; +import org.geysermc.connector.network.translators.PacketTranslator; +import org.geysermc.connector.network.translators.Translator; +import org.geysermc.connector.network.translators.chat.MessageTranslator; + +@Translator(packet = ServerSetTitleTextPacket.class) +public class JavaSetTitleTextTranslator extends PacketTranslator { + + @Override + public void translate(ServerSetTitleTextPacket packet, GeyserSession session) { + String text; + if (packet.getText() == null) { //TODO 1.17 can this happen? + text = " "; + } else { + text = MessageTranslator.convertMessage(packet.getText(), session.getLocale()); + } + + SetTitlePacket titlePacket = new SetTitlePacket(); + titlePacket.setType(SetTitlePacket.Type.TITLE); + titlePacket.setText(text); + session.sendUpstreamPacket(titlePacket); + } +} diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/window/JavaConfirmTransactionTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetTitlesAnimationTranslator.java similarity index 62% rename from connector/src/main/java/org/geysermc/connector/network/translators/java/window/JavaConfirmTransactionTranslator.java rename to connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetTitlesAnimationTranslator.java index 3b55733bf..9e2c13eb5 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/window/JavaConfirmTransactionTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/title/JavaSetTitlesAnimationTranslator.java @@ -23,25 +23,25 @@ * @link https://github.com/GeyserMC/Geyser */ -package org.geysermc.connector.network.translators.java.window; +package org.geysermc.connector.network.translators.java.title; -import com.github.steveice10.mc.protocol.packet.ingame.client.window.ClientConfirmTransactionPacket; -import com.github.steveice10.mc.protocol.packet.ingame.server.window.ServerConfirmTransactionPacket; -import org.geysermc.connector.inventory.Inventory; +import com.github.steveice10.mc.protocol.packet.ingame.server.title.ServerSetTitlesAnimationPacket; +import com.nukkitx.protocol.bedrock.packet.SetTitlePacket; import org.geysermc.connector.network.session.GeyserSession; import org.geysermc.connector.network.translators.PacketTranslator; import org.geysermc.connector.network.translators.Translator; -@Translator(packet = ServerConfirmTransactionPacket.class) -public class JavaConfirmTransactionTranslator extends PacketTranslator { +@Translator(packet = ServerSetTitlesAnimationPacket.class) +public class JavaSetTitlesAnimationTranslator extends PacketTranslator { @Override - public void translate(ServerConfirmTransactionPacket packet, GeyserSession session) { - session.addInventoryTask(() -> { - if (!packet.isAccepted()) { - ClientConfirmTransactionPacket confirmPacket = new ClientConfirmTransactionPacket(packet.getWindowId(), packet.getActionId(), true); - session.sendDownstreamPacket(confirmPacket); - } - }); + public void translate(ServerSetTitlesAnimationPacket packet, GeyserSession session) { + SetTitlePacket titlePacket = new SetTitlePacket(); + titlePacket.setType(SetTitlePacket.Type.TIMES); + titlePacket.setText(""); + titlePacket.setFadeInTime(packet.getFadeIn()); + titlePacket.setFadeOutTime(packet.getFadeOut()); + titlePacket.setStayTime(packet.getStay()); + session.sendUpstreamPacket(titlePacket); } } diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaChunkDataTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaChunkDataTranslator.java index b6ad3dfb8..482acf59d 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaChunkDataTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaChunkDataTranslator.java @@ -45,14 +45,6 @@ import org.geysermc.connector.utils.ChunkUtils; @Translator(packet = ServerChunkDataPacket.class) public class JavaChunkDataTranslator extends PacketTranslator { - /** - * Determines if we should process non-full chunks - */ - private final boolean cacheChunks; - - public JavaChunkDataTranslator() { - cacheChunks = GeyserConnector.getInstance().getConfig().isCacheChunks(); - } @Override public void translate(ServerChunkDataPacket packet, GeyserSession session) { @@ -60,23 +52,15 @@ public class JavaChunkDataTranslator extends PacketTranslator { try { - ChunkUtils.ChunkData chunkData = ChunkUtils.translateToBedrock(session, mergedColumn, isNonFullChunk); + ChunkUtils.ChunkData chunkData = ChunkUtils.translateToBedrock(session, mergedColumn); ChunkSection[] sections = chunkData.getSections(); // Find highest section diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/world/block/BlockTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/world/block/BlockTranslator.java index 1a2624a6f..3bba7a478 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/world/block/BlockTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/world/block/BlockTranslator.java @@ -229,7 +229,6 @@ public abstract class BlockTranslator { } JAVA_WATER_ID = waterRuntimeId; - BlockTranslator1_16_100.init(); BlockTranslator1_16_210.init(); BLOCKS_JSON = null; // We no longer require this so let it garbage collect away } @@ -274,7 +273,10 @@ public abstract class BlockTranslator { NbtMap blockTag = buildBedrockState(entry.getValue()); int bedrockRuntimeId = blockStateOrderedMap.getOrDefault(blockTag, -1); if (bedrockRuntimeId == -1) { - throw new RuntimeException("Unable to find " + javaId + " Bedrock runtime ID! Built compound tag: \n" + blockTag); + //TODO REMOVE THIS COMMENT BEFORE RELEASE!!!! :) + //throw new RuntimeException("Unable to find " + javaId + " Bedrock runtime ID! Built compound tag: \n" + blockTag); + bedrockRuntimeId = 0; + GeyserConnector.getInstance().getLogger().warning("Unable to find " + javaId + " Bedrock runtime ID!"); } switch (javaId) { diff --git a/connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java b/connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java index b6e387237..09d446374 100644 --- a/connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java +++ b/connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java @@ -81,7 +81,7 @@ public class ChunkUtils { return (yzx >> 8) | (yzx & 0x0F0) | ((yzx & 0x00F) << 8); } - public static ChunkData translateToBedrock(GeyserSession session, Column column, boolean isNonFullChunk) { + public static ChunkData translateToBedrock(GeyserSession session, Column column) { Chunk[] javaSections = column.getChunks(); ChunkSection[] sections = new ChunkSection[javaSections.length]; @@ -91,45 +91,11 @@ public class ChunkUtils { BitSet waterloggedPaletteIds = new BitSet(); BitSet pistonOrFlowerPaletteIds = new BitSet(); - boolean worldManagerHasMoreBlockDataThanCache = session.getConnector().getWorldManager().hasOwnChunkCache(); - - // If the received packet was a full chunk update, null sections in the chunk are guaranteed to also be null in the world manager - boolean shouldCheckWorldManagerOnMissingSections = isNonFullChunk && worldManagerHasMoreBlockDataThanCache; - Chunk temporarySection = null; - for (int sectionY = 0; sectionY < javaSections.length; sectionY++) { Chunk javaSection = javaSections[sectionY]; - // Section is null, the cache will not contain anything of use - if (javaSection == null) { - // The column parameter contains all data currently available from the cache. If the chunk is null and the world manager - // reports the ability to access more data than the cache, attempt to fetch from the world manager instead. - if (shouldCheckWorldManagerOnMissingSections) { - // Ensure that temporary chunk is set - if (temporarySection == null) { - temporarySection = new Chunk(); - } - - // Read block data in section - session.getConnector().getWorldManager().getBlocksInSection(session, column.getX(), sectionY, column.getZ(), temporarySection); - - if (temporarySection.isEmpty()) { - // The world manager only contains air for the given section - // We can leave temporarySection as-is to allow it to potentially be re-used for later sections - continue; - } else { - javaSection = temporarySection; - - // Section contents have been modified, we can't re-use it - temporarySection = null; - } - } else { - continue; - } - } - // No need to encode an empty section... - if (javaSection.isEmpty()) { + if (javaSection == null || javaSection.isEmpty()) { continue; } diff --git a/connector/src/main/resources/bedrock/blockpalette.1_16_100.nbt b/connector/src/main/resources/bedrock/blockpalette.1_16_100.nbt deleted file mode 100644 index 4513be031b02c9a0b67871b36f14bb136ff30e04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104176 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 TUj@e_ci`%xOH5Tr7}oy*%Hl=7 diff --git a/connector/src/main/resources/bedrock/creative_items.json b/connector/src/main/resources/bedrock/creative_items.json index bc5bded52..73172ca53 100644 --- a/connector/src/main/resources/bedrock/creative_items.json +++ b/connector/src/main/resources/bedrock/creative_items.json @@ -2,155 +2,155 @@ "items" : [ { "id" : "minecraft:planks", - "blockRuntimeId" : 4812 + "blockRuntimeId" : 5004 }, { "id" : "minecraft:planks", - "blockRuntimeId" : 4813 + "blockRuntimeId" : 5005 }, { "id" : "minecraft:planks", - "blockRuntimeId" : 4814 + "blockRuntimeId" : 5006 }, { "id" : "minecraft:planks", - "blockRuntimeId" : 4815 + "blockRuntimeId" : 5007 }, { "id" : "minecraft:planks", - "blockRuntimeId" : 4816 + "blockRuntimeId" : 5008 }, { "id" : "minecraft:planks", - "blockRuntimeId" : 4817 + "blockRuntimeId" : 5009 }, { "id" : "minecraft:crimson_planks", - "blockRuntimeId" : 3484 + "blockRuntimeId" : 3605 }, { "id" : "minecraft:warped_planks", - "blockRuntimeId" : 6315 + "blockRuntimeId" : 6529 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 967 + "blockRuntimeId" : 1086 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 968 + "blockRuntimeId" : 1087 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 969 + "blockRuntimeId" : 1088 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 970 + "blockRuntimeId" : 1089 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 971 + "blockRuntimeId" : 1090 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 972 + "blockRuntimeId" : 1091 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 979 + "blockRuntimeId" : 1098 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 974 + "blockRuntimeId" : 1093 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 975 + "blockRuntimeId" : 1094 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 973 + "blockRuntimeId" : 1092 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 976 + "blockRuntimeId" : 1095 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 980 + "blockRuntimeId" : 1099 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 977 + "blockRuntimeId" : 1096 }, { "id" : "minecraft:cobblestone_wall", - "blockRuntimeId" : 978 + "blockRuntimeId" : 1097 }, { "id" : "minecraft:blackstone_wall", - "blockRuntimeId" : 449 + "blockRuntimeId" : 490 }, { "id" : "minecraft:polished_blackstone_wall", - "blockRuntimeId" : 5046 + "blockRuntimeId" : 5248 }, { "id" : "minecraft:polished_blackstone_brick_wall", - "blockRuntimeId" : 4843 + "blockRuntimeId" : 5045 }, { "id" : "minecraft:fence", - "blockRuntimeId" : 4018 + "blockRuntimeId" : 4174 }, { "id" : "minecraft:fence", - "blockRuntimeId" : 4019 + "blockRuntimeId" : 4175 }, { "id" : "minecraft:fence", - "blockRuntimeId" : 4020 + "blockRuntimeId" : 4176 }, { "id" : "minecraft:fence", - "blockRuntimeId" : 4021 + "blockRuntimeId" : 4177 }, { "id" : "minecraft:fence", - "blockRuntimeId" : 4022 + "blockRuntimeId" : 4178 }, { "id" : "minecraft:fence", - "blockRuntimeId" : 4023 + "blockRuntimeId" : 4179 }, { "id" : "minecraft:nether_brick_fence", - "blockRuntimeId" : 4738 + "blockRuntimeId" : 4916 }, { "id" : "minecraft:crimson_fence", - "blockRuntimeId" : 3462 + "blockRuntimeId" : 3583 }, { "id" : "minecraft:warped_fence", - "blockRuntimeId" : 6293 + "blockRuntimeId" : 6507 }, { "id" : "minecraft:fence_gate", - "blockRuntimeId" : 4024 + "blockRuntimeId" : 4180 }, { "id" : "minecraft:spruce_fence_gate", - "blockRuntimeId" : 5729 + "blockRuntimeId" : 5943 }, { "id" : "minecraft:birch_fence_gate", - "blockRuntimeId" : 352 + "blockRuntimeId" : 393 }, { "id" : "minecraft:jungle_fence_gate", - "blockRuntimeId" : 4372 + "blockRuntimeId" : 4542 }, { "id" : "minecraft:acacia_fence_gate", @@ -158,43 +158,43 @@ }, { "id" : "minecraft:dark_oak_fence_gate", - "blockRuntimeId" : 3604 + "blockRuntimeId" : 3736 }, { "id" : "minecraft:crimson_fence_gate", - "blockRuntimeId" : 3463 + "blockRuntimeId" : 3584 }, { "id" : "minecraft:warped_fence_gate", - "blockRuntimeId" : 6294 + "blockRuntimeId" : 6508 }, { "id" : "minecraft:normal_stone_stairs", - "blockRuntimeId" : 4757 + "blockRuntimeId" : 4935 }, { "id" : "minecraft:stone_stairs", - "blockRuntimeId" : 6000 + "blockRuntimeId" : 6214 }, { "id" : "minecraft:mossy_cobblestone_stairs", - "blockRuntimeId" : 4719 + "blockRuntimeId" : 4897 }, { "id" : "minecraft:oak_stairs", - "blockRuntimeId" : 4766 + "blockRuntimeId" : 4944 }, { "id" : "minecraft:spruce_stairs", - "blockRuntimeId" : 5761 + "blockRuntimeId" : 5975 }, { "id" : "minecraft:birch_stairs", - "blockRuntimeId" : 384 + "blockRuntimeId" : 425 }, { "id" : "minecraft:jungle_stairs", - "blockRuntimeId" : 4404 + "blockRuntimeId" : 4574 }, { "id" : "minecraft:acacia_stairs", @@ -202,47 +202,47 @@ }, { "id" : "minecraft:dark_oak_stairs", - "blockRuntimeId" : 3636 + "blockRuntimeId" : 3768 }, { "id" : "minecraft:stone_brick_stairs", - "blockRuntimeId" : 5906 + "blockRuntimeId" : 6120 }, { "id" : "minecraft:mossy_stone_brick_stairs", - "blockRuntimeId" : 4727 + "blockRuntimeId" : 4905 }, { "id" : "minecraft:sandstone_stairs", - "blockRuntimeId" : 5516 + "blockRuntimeId" : 5719 }, { "id" : "minecraft:smooth_sandstone_stairs", - "blockRuntimeId" : 5623 + "blockRuntimeId" : 5836 }, { "id" : "minecraft:red_sandstone_stairs", - "blockRuntimeId" : 5443 + "blockRuntimeId" : 5646 }, { "id" : "minecraft:smooth_red_sandstone_stairs", - "blockRuntimeId" : 5615 + "blockRuntimeId" : 5828 }, { "id" : "minecraft:granite_stairs", - "blockRuntimeId" : 4132 + "blockRuntimeId" : 4301 }, { "id" : "minecraft:polished_granite_stairs", - "blockRuntimeId" : 5216 + "blockRuntimeId" : 5418 }, { "id" : "minecraft:diorite_stairs", - "blockRuntimeId" : 3738 + "blockRuntimeId" : 3870 }, { "id" : "minecraft:polished_diorite_stairs", - "blockRuntimeId" : 5208 + "blockRuntimeId" : 5410 }, { "id" : "minecraft:andesite_stairs", @@ -250,67 +250,95 @@ }, { "id" : "minecraft:polished_andesite_stairs", - "blockRuntimeId" : 4819 + "blockRuntimeId" : 5021 }, { "id" : "minecraft:brick_stairs", - "blockRuntimeId" : 808 + "blockRuntimeId" : 849 }, { "id" : "minecraft:nether_brick_stairs", - "blockRuntimeId" : 4739 + "blockRuntimeId" : 4917 }, { "id" : "minecraft:red_nether_brick_stairs", - "blockRuntimeId" : 5431 + "blockRuntimeId" : 5634 }, { "id" : "minecraft:end_brick_stairs", - "blockRuntimeId" : 3978 + "blockRuntimeId" : 4120 }, { "id" : "minecraft:quartz_stairs", - "blockRuntimeId" : 5378 + "blockRuntimeId" : 5581 }, { "id" : "minecraft:smooth_quartz_stairs", - "blockRuntimeId" : 5607 + "blockRuntimeId" : 5820 }, { "id" : "minecraft:purpur_stairs", - "blockRuntimeId" : 5356 + "blockRuntimeId" : 5559 }, { "id" : "minecraft:prismarine_stairs", - "blockRuntimeId" : 5278 + "blockRuntimeId" : 5481 }, { "id" : "minecraft:dark_prismarine_stairs", - "blockRuntimeId" : 3660 + "blockRuntimeId" : 3792 }, { "id" : "minecraft:prismarine_bricks_stairs", - "blockRuntimeId" : 5270 + "blockRuntimeId" : 5473 }, { "id" : "minecraft:crimson_stairs", - "blockRuntimeId" : 3504 + "blockRuntimeId" : 3625 }, { "id" : "minecraft:warped_stairs", - "blockRuntimeId" : 6335 + "blockRuntimeId" : 6549 }, { "id" : "minecraft:blackstone_stairs", - "blockRuntimeId" : 441 + "blockRuntimeId" : 482 }, { "id" : "minecraft:polished_blackstone_stairs", - "blockRuntimeId" : 5038 + "blockRuntimeId" : 5240 }, { "id" : "minecraft:polished_blackstone_brick_stairs", - "blockRuntimeId" : 4835 + "blockRuntimeId" : 5037 + }, + { + "id" : "minecraft:cut_copper_stairs", + "blockRuntimeId" : 3678 + }, + { + "id" : "minecraft:exposed_cut_copper_stairs", + "blockRuntimeId" : 4156 + }, + { + "id" : "minecraft:weathered_cut_copper_stairs", + "blockRuntimeId" : 6662 + }, + { + "id" : "minecraft:oxidized_cut_copper_stairs", + "blockRuntimeId" : 4975 + }, + { + "id" : "minecraft:waxed_cut_copper_stairs", + "blockRuntimeId" : 6620 + }, + { + "id" : "minecraft:waxed_exposed_cut_copper_stairs", + "blockRuntimeId" : 6634 + }, + { + "id" : "minecraft:waxed_weathered_cut_copper_stairs", + "blockRuntimeId" : 6648 }, { "id" : "minecraft:wooden_door" @@ -341,19 +369,19 @@ }, { "id" : "minecraft:trapdoor", - "blockRuntimeId" : 6081 + "blockRuntimeId" : 6295 }, { "id" : "minecraft:spruce_trapdoor", - "blockRuntimeId" : 5785 + "blockRuntimeId" : 5999 }, { "id" : "minecraft:birch_trapdoor", - "blockRuntimeId" : 408 + "blockRuntimeId" : 449 }, { "id" : "minecraft:jungle_trapdoor", - "blockRuntimeId" : 4428 + "blockRuntimeId" : 4598 }, { "id" : "minecraft:acacia_trapdoor", @@ -361,1243 +389,1339 @@ }, { "id" : "minecraft:dark_oak_trapdoor", - "blockRuntimeId" : 3644 + "blockRuntimeId" : 3776 }, { "id" : "minecraft:iron_trapdoor", - "blockRuntimeId" : 4287 + "blockRuntimeId" : 4457 }, { "id" : "minecraft:crimson_trapdoor", - "blockRuntimeId" : 3531 + "blockRuntimeId" : 3652 }, { "id" : "minecraft:warped_trapdoor", - "blockRuntimeId" : 6362 + "blockRuntimeId" : 6576 }, { "id" : "minecraft:iron_bars", - "blockRuntimeId" : 4252 + "blockRuntimeId" : 4422 }, { "id" : "minecraft:glass", - "blockRuntimeId" : 4114 + "blockRuntimeId" : 4271 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5807 + "blockRuntimeId" : 6021 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5815 + "blockRuntimeId" : 6029 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5814 + "blockRuntimeId" : 6028 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5822 + "blockRuntimeId" : 6036 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5819 + "blockRuntimeId" : 6033 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5821 + "blockRuntimeId" : 6035 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5808 + "blockRuntimeId" : 6022 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5811 + "blockRuntimeId" : 6025 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5812 + "blockRuntimeId" : 6026 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5820 + "blockRuntimeId" : 6034 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5816 + "blockRuntimeId" : 6030 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5810 + "blockRuntimeId" : 6024 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5818 + "blockRuntimeId" : 6032 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5817 + "blockRuntimeId" : 6031 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5809 + "blockRuntimeId" : 6023 }, { "id" : "minecraft:stained_glass", - "blockRuntimeId" : 5813 + "blockRuntimeId" : 6027 }, { "id" : "minecraft:glass_pane", - "blockRuntimeId" : 4115 + "blockRuntimeId" : 4272 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5823 + "blockRuntimeId" : 6037 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5831 + "blockRuntimeId" : 6045 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5830 + "blockRuntimeId" : 6044 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5838 + "blockRuntimeId" : 6052 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5835 + "blockRuntimeId" : 6049 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5837 + "blockRuntimeId" : 6051 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5824 + "blockRuntimeId" : 6038 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5827 + "blockRuntimeId" : 6041 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5828 + "blockRuntimeId" : 6042 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5836 + "blockRuntimeId" : 6050 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5832 + "blockRuntimeId" : 6046 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5826 + "blockRuntimeId" : 6040 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5834 + "blockRuntimeId" : 6048 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5833 + "blockRuntimeId" : 6047 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5825 + "blockRuntimeId" : 6039 }, { "id" : "minecraft:stained_glass_pane", - "blockRuntimeId" : 5829 + "blockRuntimeId" : 6043 }, { "id" : "minecraft:ladder", - "blockRuntimeId" : 4476 + "blockRuntimeId" : 4646 }, { "id" : "minecraft:scaffolding", - "blockRuntimeId" : 5536 + "blockRuntimeId" : 5739 }, { "id" : "minecraft:double_stone_slab", - "blockRuntimeId" : 5942 + "blockRuntimeId" : 6156 }, { "id" : "minecraft:double_stone_slab4", - "blockRuntimeId" : 5992 + "blockRuntimeId" : 6206 }, { "id" : "minecraft:double_stone_slab", - "blockRuntimeId" : 5945 + "blockRuntimeId" : 6159 }, { "id" : "minecraft:double_stone_slab2", - "blockRuntimeId" : 5963 + "blockRuntimeId" : 6177 }, { "id" : "minecraft:wooden_slab", - "blockRuntimeId" : 6540 + "blockRuntimeId" : 6810 }, { "id" : "minecraft:wooden_slab", - "blockRuntimeId" : 6541 + "blockRuntimeId" : 6811 }, { "id" : "minecraft:wooden_slab", - "blockRuntimeId" : 6542 + "blockRuntimeId" : 6812 }, { "id" : "minecraft:wooden_slab", - "blockRuntimeId" : 6543 + "blockRuntimeId" : 6813 }, { "id" : "minecraft:wooden_slab", - "blockRuntimeId" : 6544 + "blockRuntimeId" : 6814 }, { "id" : "minecraft:wooden_slab", - "blockRuntimeId" : 6545 + "blockRuntimeId" : 6815 }, { "id" : "minecraft:double_stone_slab", - "blockRuntimeId" : 5947 + "blockRuntimeId" : 6161 }, { "id" : "minecraft:double_stone_slab4", - "blockRuntimeId" : 5990 + "blockRuntimeId" : 6204 }, { "id" : "minecraft:double_stone_slab", - "blockRuntimeId" : 5943 + "blockRuntimeId" : 6157 }, { "id" : "minecraft:double_stone_slab4", - "blockRuntimeId" : 5993 + "blockRuntimeId" : 6207 }, { "id" : "minecraft:double_stone_slab2", - "blockRuntimeId" : 5964 + "blockRuntimeId" : 6178 }, { "id" : "minecraft:double_stone_slab2", - "blockRuntimeId" : 5958 + "blockRuntimeId" : 6172 }, { "id" : "minecraft:double_stone_slab4", - "blockRuntimeId" : 5994 + "blockRuntimeId" : 6208 }, { "id" : "minecraft:double_stone_slab3", - "blockRuntimeId" : 5975 + "blockRuntimeId" : 6189 }, { "id" : "minecraft:double_stone_slab3", - "blockRuntimeId" : 5980 + "blockRuntimeId" : 6194 }, { "id" : "minecraft:double_stone_slab3", - "blockRuntimeId" : 5981 + "blockRuntimeId" : 6195 }, { "id" : "minecraft:double_stone_slab3", - "blockRuntimeId" : 5978 + "blockRuntimeId" : 6192 }, { "id" : "minecraft:double_stone_slab3", - "blockRuntimeId" : 5979 + "blockRuntimeId" : 6193 }, { "id" : "minecraft:double_stone_slab3", - "blockRuntimeId" : 5977 + "blockRuntimeId" : 6191 }, { "id" : "minecraft:double_stone_slab3", - "blockRuntimeId" : 5976 + "blockRuntimeId" : 6190 }, { "id" : "minecraft:double_stone_slab", - "blockRuntimeId" : 5946 + "blockRuntimeId" : 6160 }, { "id" : "minecraft:double_stone_slab", - "blockRuntimeId" : 5949 + "blockRuntimeId" : 6163 }, { "id" : "minecraft:double_stone_slab2", - "blockRuntimeId" : 5965 + "blockRuntimeId" : 6179 }, { "id" : "minecraft:double_stone_slab3", - "blockRuntimeId" : 5974 + "blockRuntimeId" : 6188 }, { "id" : "minecraft:double_stone_slab", - "blockRuntimeId" : 5948 + "blockRuntimeId" : 6162 }, { "id" : "minecraft:double_stone_slab4", - "blockRuntimeId" : 5991 + "blockRuntimeId" : 6205 }, { "id" : "minecraft:double_stone_slab2", - "blockRuntimeId" : 5959 + "blockRuntimeId" : 6173 }, { "id" : "minecraft:double_stone_slab2", - "blockRuntimeId" : 5960 + "blockRuntimeId" : 6174 }, { "id" : "minecraft:double_stone_slab2", - "blockRuntimeId" : 5961 + "blockRuntimeId" : 6175 }, { "id" : "minecraft:double_stone_slab2", - "blockRuntimeId" : 5962 + "blockRuntimeId" : 6176 }, { "id" : "minecraft:crimson_slab", - "blockRuntimeId" : 3502 + "blockRuntimeId" : 3623 }, { "id" : "minecraft:warped_slab", - "blockRuntimeId" : 6333 + "blockRuntimeId" : 6547 }, { "id" : "minecraft:blackstone_slab", - "blockRuntimeId" : 439 + "blockRuntimeId" : 480 }, { "id" : "minecraft:polished_blackstone_slab", - "blockRuntimeId" : 5036 + "blockRuntimeId" : 5238 }, { "id" : "minecraft:polished_blackstone_brick_slab", - "blockRuntimeId" : 4833 + "blockRuntimeId" : 5035 + }, + { + "id" : "minecraft:cut_copper_slab", + "blockRuntimeId" : 3676 + }, + { + "id" : "minecraft:exposed_cut_copper_slab", + "blockRuntimeId" : 4154 + }, + { + "id" : "minecraft:weathered_cut_copper_slab", + "blockRuntimeId" : 6660 + }, + { + "id" : "minecraft:oxidized_cut_copper_slab", + "blockRuntimeId" : 4973 + }, + { + "id" : "minecraft:waxed_cut_copper_slab", + "blockRuntimeId" : 6618 + }, + { + "id" : "minecraft:waxed_exposed_cut_copper_slab", + "blockRuntimeId" : 6632 + }, + { + "id" : "minecraft:waxed_weathered_cut_copper_slab", + "blockRuntimeId" : 6646 }, { "id" : "minecraft:brick_block", - "blockRuntimeId" : 807 + "blockRuntimeId" : 848 }, { "id" : "minecraft:chiseled_nether_bricks", - "blockRuntimeId" : 954 + "blockRuntimeId" : 1073 }, { "id" : "minecraft:cracked_nether_bricks", - "blockRuntimeId" : 3413 + "blockRuntimeId" : 3534 }, { "id" : "minecraft:quartz_bricks", - "blockRuntimeId" : 5376 + "blockRuntimeId" : 5579 }, { "id" : "minecraft:stonebrick", - "blockRuntimeId" : 6008 + "blockRuntimeId" : 6222 }, { "id" : "minecraft:stonebrick", - "blockRuntimeId" : 6009 + "blockRuntimeId" : 6223 }, { "id" : "minecraft:stonebrick", - "blockRuntimeId" : 6010 + "blockRuntimeId" : 6224 }, { "id" : "minecraft:stonebrick", - "blockRuntimeId" : 6011 + "blockRuntimeId" : 6225 }, { "id" : "minecraft:end_bricks", - "blockRuntimeId" : 3986 + "blockRuntimeId" : 4128 }, { "id" : "minecraft:prismarine", - "blockRuntimeId" : 5269 + "blockRuntimeId" : 5472 }, { "id" : "minecraft:polished_blackstone_bricks", - "blockRuntimeId" : 5005 + "blockRuntimeId" : 5207 }, { "id" : "minecraft:cracked_polished_blackstone_bricks", - "blockRuntimeId" : 3414 + "blockRuntimeId" : 3535 }, { "id" : "minecraft:gilded_blackstone", - "blockRuntimeId" : 4113 + "blockRuntimeId" : 4270 }, { "id" : "minecraft:chiseled_polished_blackstone", - "blockRuntimeId" : 955 + "blockRuntimeId" : 1074 }, { "id" : "minecraft:cobblestone", - "blockRuntimeId" : 966 + "blockRuntimeId" : 1085 }, { "id" : "minecraft:mossy_cobblestone", - "blockRuntimeId" : 4718 + "blockRuntimeId" : 4896 }, { "id" : "minecraft:smooth_stone", - "blockRuntimeId" : 5631 - }, - { - "id" : "minecraft:sandstone", - "blockRuntimeId" : 5512 - }, - { - "id" : "minecraft:sandstone", - "blockRuntimeId" : 5513 - }, - { - "id" : "minecraft:sandstone", - "blockRuntimeId" : 5514 - }, - { - "id" : "minecraft:sandstone", - "blockRuntimeId" : 5515 - }, - { - "id" : "minecraft:red_sandstone", - "blockRuntimeId" : 5439 - }, - { - "id" : "minecraft:red_sandstone", - "blockRuntimeId" : 5440 - }, - { - "id" : "minecraft:red_sandstone", - "blockRuntimeId" : 5441 - }, - { - "id" : "minecraft:red_sandstone", - "blockRuntimeId" : 5442 - }, - { - "id" : "minecraft:coal_block", - "blockRuntimeId" : 964 - }, - { - "id" : "minecraft:dried_kelp_block", - "blockRuntimeId" : 3843 - }, - { - "id" : "minecraft:gold_block", - "blockRuntimeId" : 4118 - }, - { - "id" : "minecraft:iron_block", - "blockRuntimeId" : 4253 - }, - { - "id" : "minecraft:emerald_block", - "blockRuntimeId" : 3975 - }, - { - "id" : "minecraft:diamond_block", - "blockRuntimeId" : 3736 - }, - { - "id" : "minecraft:lapis_block", - "blockRuntimeId" : 4484 - }, - { - "id" : "minecraft:quartz_block", - "blockRuntimeId" : 5364 - }, - { - "id" : "minecraft:quartz_block", - "blockRuntimeId" : 5366 - }, - { - "id" : "minecraft:quartz_block", - "blockRuntimeId" : 5365 - }, - { - "id" : "minecraft:quartz_block", - "blockRuntimeId" : 5367 - }, - { - "id" : "minecraft:prismarine", - "blockRuntimeId" : 5267 - }, - { - "id" : "minecraft:prismarine", - "blockRuntimeId" : 5268 - }, - { - "id" : "minecraft:slime", - "blockRuntimeId" : 5599 - }, - { - "id" : "minecraft:honey_block", - "blockRuntimeId" : 4234 - }, - { - "id" : "minecraft:honeycomb_block", - "blockRuntimeId" : 4235 - }, - { - "id" : "minecraft:hay_block", - "blockRuntimeId" : 4206 - }, - { - "id" : "minecraft:bone_block", - "blockRuntimeId" : 624 - }, - { - "id" : "minecraft:nether_brick", - "blockRuntimeId" : 4737 - }, - { - "id" : "minecraft:red_nether_brick", - "blockRuntimeId" : 5430 - }, - { - "id" : "minecraft:netherite_block", - "blockRuntimeId" : 4754 - }, - { - "id" : "minecraft:lodestone", - "blockRuntimeId" : 4632 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6552 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6560 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6559 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6567 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6564 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6566 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6553 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6556 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6557 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6565 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6561 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6555 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6563 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6562 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6554 - }, - { - "id" : "minecraft:wool", - "blockRuntimeId" : 6558 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 873 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 881 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 880 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 888 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 885 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 887 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 874 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 877 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 878 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 886 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 882 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 876 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 884 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 883 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 875 - }, - { - "id" : "minecraft:carpet", - "blockRuntimeId" : 879 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3308 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3316 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3315 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3323 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3320 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3322 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3309 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3312 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3313 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3321 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3317 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3311 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3319 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3318 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3310 - }, - { - "id" : "minecraft:concrete_powder", - "blockRuntimeId" : 3314 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3292 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3300 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3299 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3307 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3304 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3306 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3293 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3296 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3297 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3305 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3301 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3295 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3303 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3302 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3294 - }, - { - "id" : "minecraft:concrete", - "blockRuntimeId" : 3298 - }, - { - "id" : "minecraft:clay", - "blockRuntimeId" : 963 - }, - { - "id" : "minecraft:hardened_clay", - "blockRuntimeId" : 4205 - }, - { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5839 - }, - { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5847 - }, - { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5846 - }, - { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5854 - }, - { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5851 - }, - { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5853 - }, - { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5840 - }, - { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5843 - }, - { - "id" : "minecraft:stained_hardened_clay", "blockRuntimeId" : 5844 }, { - "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5852 + "id" : "minecraft:sandstone", + "blockRuntimeId" : 5715 + }, + { + "id" : "minecraft:sandstone", + "blockRuntimeId" : 5716 + }, + { + "id" : "minecraft:sandstone", + "blockRuntimeId" : 5717 + }, + { + "id" : "minecraft:sandstone", + "blockRuntimeId" : 5718 + }, + { + "id" : "minecraft:red_sandstone", + "blockRuntimeId" : 5642 + }, + { + "id" : "minecraft:red_sandstone", + "blockRuntimeId" : 5643 + }, + { + "id" : "minecraft:red_sandstone", + "blockRuntimeId" : 5644 + }, + { + "id" : "minecraft:red_sandstone", + "blockRuntimeId" : 5645 + }, + { + "id" : "minecraft:coal_block", + "blockRuntimeId" : 1083 + }, + { + "id" : "minecraft:dried_kelp_block", + "blockRuntimeId" : 3978 + }, + { + "id" : "minecraft:gold_block", + "blockRuntimeId" : 4287 + }, + { + "id" : "minecraft:iron_block", + "blockRuntimeId" : 4423 + }, + { + "id" : "minecraft:copper_block", + "blockRuntimeId" : 3444 + }, + { + "id" : "minecraft:exposed_copper", + "blockRuntimeId" : 4152 + }, + { + "id" : "minecraft:weathered_copper", + "blockRuntimeId" : 6658 + }, + { + "id" : "minecraft:oxidized_copper", + "blockRuntimeId" : 4971 + }, + { + "id" : "minecraft:waxed_copper", + "blockRuntimeId" : 6616 + }, + { + "id" : "minecraft:waxed_exposed_copper", + "blockRuntimeId" : 6630 + }, + { + "id" : "minecraft:waxed_weathered_copper", + "blockRuntimeId" : 6644 + }, + { + "id" : "minecraft:cut_copper", + "blockRuntimeId" : 3675 + }, + { + "id" : "minecraft:exposed_cut_copper", + "blockRuntimeId" : 4153 + }, + { + "id" : "minecraft:weathered_cut_copper", + "blockRuntimeId" : 6659 + }, + { + "id" : "minecraft:oxidized_cut_copper", + "blockRuntimeId" : 4972 + }, + { + "id" : "minecraft:waxed_cut_copper", + "blockRuntimeId" : 6617 + }, + { + "id" : "minecraft:waxed_exposed_cut_copper", + "blockRuntimeId" : 6631 + }, + { + "id" : "minecraft:waxed_weathered_cut_copper", + "blockRuntimeId" : 6645 + }, + { + "id" : "minecraft:emerald_block", + "blockRuntimeId" : 4117 + }, + { + "id" : "minecraft:diamond_block", + "blockRuntimeId" : 3868 + }, + { + "id" : "minecraft:lapis_block", + "blockRuntimeId" : 4654 + }, + { + "id" : "minecraft:quartz_block", + "blockRuntimeId" : 5567 + }, + { + "id" : "minecraft:quartz_block", + "blockRuntimeId" : 5569 + }, + { + "id" : "minecraft:quartz_block", + "blockRuntimeId" : 5568 + }, + { + "id" : "minecraft:quartz_block", + "blockRuntimeId" : 5570 + }, + { + "id" : "minecraft:prismarine", + "blockRuntimeId" : 5470 + }, + { + "id" : "minecraft:prismarine", + "blockRuntimeId" : 5471 + }, + { + "id" : "minecraft:slime", + "blockRuntimeId" : 5804 + }, + { + "id" : "minecraft:honey_block", + "blockRuntimeId" : 4404 + }, + { + "id" : "minecraft:honeycomb_block", + "blockRuntimeId" : 4405 + }, + { + "id" : "minecraft:hay_block", + "blockRuntimeId" : 4376 + }, + { + "id" : "minecraft:bone_block", + "blockRuntimeId" : 665 + }, + { + "id" : "minecraft:nether_brick", + "blockRuntimeId" : 4915 + }, + { + "id" : "minecraft:red_nether_brick", + "blockRuntimeId" : 5633 + }, + { + "id" : "minecraft:netherite_block", + "blockRuntimeId" : 4932 + }, + { + "id" : "minecraft:lodestone", + "blockRuntimeId" : 4808 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6822 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6830 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6829 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6837 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6834 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6836 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6823 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6826 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6827 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6835 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6831 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6825 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6833 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6832 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6824 + }, + { + "id" : "minecraft:wool", + "blockRuntimeId" : 6828 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 914 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 922 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 921 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 929 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 926 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 928 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 915 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 918 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 919 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 927 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 923 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 917 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 925 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 924 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 916 + }, + { + "id" : "minecraft:carpet", + "blockRuntimeId" : 920 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3427 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3435 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3434 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3442 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3439 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3441 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3428 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3431 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3432 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3440 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3436 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3430 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3438 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3437 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3429 + }, + { + "id" : "minecraft:concrete_powder", + "blockRuntimeId" : 3433 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3411 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3419 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3418 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3426 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3423 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3425 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3412 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3415 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3416 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3424 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3420 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3414 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3422 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3421 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3413 + }, + { + "id" : "minecraft:concrete", + "blockRuntimeId" : 3417 + }, + { + "id" : "minecraft:clay", + "blockRuntimeId" : 1082 + }, + { + "id" : "minecraft:hardened_clay", + "blockRuntimeId" : 4375 }, { "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5848 + "blockRuntimeId" : 6053 }, { "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5842 + "blockRuntimeId" : 6061 }, { "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5850 + "blockRuntimeId" : 6060 }, { "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5849 + "blockRuntimeId" : 6068 }, { "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5841 + "blockRuntimeId" : 6065 }, { "id" : "minecraft:stained_hardened_clay", - "blockRuntimeId" : 5845 + "blockRuntimeId" : 6067 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6054 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6057 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6058 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6066 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6062 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6056 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6064 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6063 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6055 + }, + { + "id" : "minecraft:stained_hardened_clay", + "blockRuntimeId" : 6059 }, { "id" : "minecraft:white_glazed_terracotta", - "blockRuntimeId" : 6437 + "blockRuntimeId" : 6707 }, { "id" : "minecraft:silver_glazed_terracotta", - "blockRuntimeId" : 5581 + "blockRuntimeId" : 5786 }, { "id" : "minecraft:gray_glazed_terracotta", - "blockRuntimeId" : 4143 + "blockRuntimeId" : 4312 }, { "id" : "minecraft:black_glazed_terracotta", - "blockRuntimeId" : 430 + "blockRuntimeId" : 471 }, { "id" : "minecraft:brown_glazed_terracotta", - "blockRuntimeId" : 816 + "blockRuntimeId" : 857 }, { "id" : "minecraft:red_glazed_terracotta", - "blockRuntimeId" : 5407 + "blockRuntimeId" : 5610 }, { "id" : "minecraft:orange_glazed_terracotta", - "blockRuntimeId" : 4787 + "blockRuntimeId" : 4965 }, { "id" : "minecraft:yellow_glazed_terracotta", - "blockRuntimeId" : 6569 + "blockRuntimeId" : 6839 }, { "id" : "minecraft:lime_glazed_terracotta", - "blockRuntimeId" : 4602 + "blockRuntimeId" : 4778 }, { "id" : "minecraft:green_glazed_terracotta", - "blockRuntimeId" : 4149 + "blockRuntimeId" : 4318 }, { "id" : "minecraft:cyan_glazed_terracotta", - "blockRuntimeId" : 3554 + "blockRuntimeId" : 3686 }, { "id" : "minecraft:light_blue_glazed_terracotta", - "blockRuntimeId" : 4580 + "blockRuntimeId" : 4750 }, { "id" : "minecraft:blue_glazed_terracotta", - "blockRuntimeId" : 617 + "blockRuntimeId" : 658 }, { "id" : "minecraft:purple_glazed_terracotta", - "blockRuntimeId" : 5338 + "blockRuntimeId" : 5541 }, { "id" : "minecraft:magenta_glazed_terracotta", - "blockRuntimeId" : 4655 + "blockRuntimeId" : 4831 }, { "id" : "minecraft:pink_glazed_terracotta", - "blockRuntimeId" : 4794 + "blockRuntimeId" : 4986 }, { "id" : "minecraft:purpur_block", - "blockRuntimeId" : 5344 + "blockRuntimeId" : 5547 }, { "id" : "minecraft:purpur_block", - "blockRuntimeId" : 5346 + "blockRuntimeId" : 5549 }, { "id" : "minecraft:nether_wart_block", - "blockRuntimeId" : 4753 + "blockRuntimeId" : 4931 }, { "id" : "minecraft:warped_wart_block", - "blockRuntimeId" : 6384 + "blockRuntimeId" : 6598 }, { "id" : "minecraft:shroomlight", - "blockRuntimeId" : 5564 + "blockRuntimeId" : 5769 }, { "id" : "minecraft:crimson_nylium", - "blockRuntimeId" : 3483 + "blockRuntimeId" : 3604 }, { "id" : "minecraft:warped_nylium", - "blockRuntimeId" : 6314 + "blockRuntimeId" : 6528 }, { "id" : "minecraft:basalt", - "blockRuntimeId" : 198 + "blockRuntimeId" : 207 }, { "id" : "minecraft:polished_basalt", - "blockRuntimeId" : 4827 + "blockRuntimeId" : 5029 }, { "id" : "minecraft:soul_soil", - "blockRuntimeId" : 5676 + "blockRuntimeId" : 5889 }, { "id" : "minecraft:dirt", - "blockRuntimeId" : 3746 + "blockRuntimeId" : 3878 }, { "id" : "minecraft:dirt", - "blockRuntimeId" : 3747 + "blockRuntimeId" : 3879 }, { "id" : "minecraft:farmland", - "blockRuntimeId" : 4010 + "blockRuntimeId" : 4166 }, { "id" : "minecraft:grass", - "blockRuntimeId" : 4140 + "blockRuntimeId" : 4309 }, { "id" : "minecraft:grass_path", - "blockRuntimeId" : 4141 + "blockRuntimeId" : 4310 }, { "id" : "minecraft:podzol", - "blockRuntimeId" : 4818 + "blockRuntimeId" : 5010 }, { "id" : "minecraft:mycelium", - "blockRuntimeId" : 4736 + "blockRuntimeId" : 4914 }, { "id" : "minecraft:stone", - "blockRuntimeId" : 5899 + "blockRuntimeId" : 6113 }, { "id" : "minecraft:iron_ore", - "blockRuntimeId" : 4286 + "blockRuntimeId" : 4456 }, { "id" : "minecraft:gold_ore", - "blockRuntimeId" : 4119 + "blockRuntimeId" : 4288 }, { "id" : "minecraft:diamond_ore", - "blockRuntimeId" : 3737 + "blockRuntimeId" : 3869 }, { "id" : "minecraft:lapis_ore", - "blockRuntimeId" : 4485 + "blockRuntimeId" : 4655 }, { "id" : "minecraft:redstone_ore", - "blockRuntimeId" : 5453 + "blockRuntimeId" : 5656 }, { "id" : "minecraft:coal_ore", - "blockRuntimeId" : 965 + "blockRuntimeId" : 1084 }, { "id" : "minecraft:emerald_ore", - "blockRuntimeId" : 3976 + "blockRuntimeId" : 4118 }, { "id" : "minecraft:quartz_ore", - "blockRuntimeId" : 5377 + "blockRuntimeId" : 5580 }, { "id" : "minecraft:nether_gold_ore", - "blockRuntimeId" : 4747 + "blockRuntimeId" : 4925 }, { "id" : "minecraft:ancient_debris", "blockRuntimeId" : 136 }, + { + "id" : "minecraft:copper_ore", + "blockRuntimeId" : 3445 + }, { "id" : "minecraft:gravel", - "blockRuntimeId" : 4142 + "blockRuntimeId" : 4311 }, { "id" : "minecraft:stone", - "blockRuntimeId" : 5900 + "blockRuntimeId" : 6114 }, { "id" : "minecraft:stone", - "blockRuntimeId" : 5902 + "blockRuntimeId" : 6116 }, { "id" : "minecraft:stone", - "blockRuntimeId" : 5904 + "blockRuntimeId" : 6118 }, { "id" : "minecraft:blackstone", - "blockRuntimeId" : 436 + "blockRuntimeId" : 477 }, { "id" : "minecraft:stone", - "blockRuntimeId" : 5901 + "blockRuntimeId" : 6115 }, { "id" : "minecraft:stone", - "blockRuntimeId" : 5903 + "blockRuntimeId" : 6117 }, { "id" : "minecraft:stone", - "blockRuntimeId" : 5905 + "blockRuntimeId" : 6119 }, { "id" : "minecraft:polished_blackstone", - "blockRuntimeId" : 4830 + "blockRuntimeId" : 5032 }, { "id" : "minecraft:sand", - "blockRuntimeId" : 5510 + "blockRuntimeId" : 5713 }, { "id" : "minecraft:sand", - "blockRuntimeId" : 5511 + "blockRuntimeId" : 5714 }, { "id" : "minecraft:cactus", - "blockRuntimeId" : 841 + "blockRuntimeId" : 882 }, { "id" : "minecraft:log", - "blockRuntimeId" : 4633 + "blockRuntimeId" : 4809 }, { "id" : "minecraft:stripped_oak_log", - "blockRuntimeId" : 6038 + "blockRuntimeId" : 6252 }, { "id" : "minecraft:log", - "blockRuntimeId" : 4634 + "blockRuntimeId" : 4810 }, { "id" : "minecraft:stripped_spruce_log", - "blockRuntimeId" : 6041 + "blockRuntimeId" : 6255 }, { "id" : "minecraft:log", - "blockRuntimeId" : 4635 + "blockRuntimeId" : 4811 }, { "id" : "minecraft:stripped_birch_log", - "blockRuntimeId" : 6023 + "blockRuntimeId" : 6237 }, { "id" : "minecraft:log", - "blockRuntimeId" : 4636 + "blockRuntimeId" : 4812 }, { "id" : "minecraft:stripped_jungle_log", - "blockRuntimeId" : 6035 + "blockRuntimeId" : 6249 }, { "id" : "minecraft:log2", - "blockRuntimeId" : 4645 + "blockRuntimeId" : 4821 }, { "id" : "minecraft:stripped_acacia_log", - "blockRuntimeId" : 6020 + "blockRuntimeId" : 6234 }, { "id" : "minecraft:log2", - "blockRuntimeId" : 4646 + "blockRuntimeId" : 4822 }, { "id" : "minecraft:stripped_dark_oak_log", - "blockRuntimeId" : 6032 + "blockRuntimeId" : 6246 }, { "id" : "minecraft:crimson_stem", - "blockRuntimeId" : 3528 + "blockRuntimeId" : 3649 }, { "id" : "minecraft:stripped_crimson_stem", - "blockRuntimeId" : 6029 + "blockRuntimeId" : 6243 }, { "id" : "minecraft:warped_stem", - "blockRuntimeId" : 6359 + "blockRuntimeId" : 6573 }, { "id" : "minecraft:stripped_warped_stem", - "blockRuntimeId" : 6047 + "blockRuntimeId" : 6261 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6444 + "blockRuntimeId" : 6714 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6450 + "blockRuntimeId" : 6720 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6445 + "blockRuntimeId" : 6715 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6451 + "blockRuntimeId" : 6721 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6446 + "blockRuntimeId" : 6716 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6452 + "blockRuntimeId" : 6722 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6447 + "blockRuntimeId" : 6717 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6453 + "blockRuntimeId" : 6723 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6448 + "blockRuntimeId" : 6718 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6454 + "blockRuntimeId" : 6724 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6449 + "blockRuntimeId" : 6719 }, { "id" : "minecraft:wood", - "blockRuntimeId" : 6455 + "blockRuntimeId" : 6725 }, { "id" : "minecraft:crimson_hyphae", - "blockRuntimeId" : 3480 + "blockRuntimeId" : 3601 }, { "id" : "minecraft:stripped_crimson_hyphae", - "blockRuntimeId" : 6026 + "blockRuntimeId" : 6240 }, { "id" : "minecraft:warped_hyphae", - "blockRuntimeId" : 6311 + "blockRuntimeId" : 6525 }, { "id" : "minecraft:stripped_warped_hyphae", - "blockRuntimeId" : 6044 + "blockRuntimeId" : 6258 }, { "id" : "minecraft:leaves", - "blockRuntimeId" : 4516 + "blockRuntimeId" : 4686 }, { "id" : "minecraft:leaves", - "blockRuntimeId" : 4517 + "blockRuntimeId" : 4687 }, { "id" : "minecraft:leaves", - "blockRuntimeId" : 4518 + "blockRuntimeId" : 4688 }, { "id" : "minecraft:leaves", - "blockRuntimeId" : 4519 + "blockRuntimeId" : 4689 }, { "id" : "minecraft:leaves2", - "blockRuntimeId" : 4532 + "blockRuntimeId" : 4702 }, { "id" : "minecraft:leaves2", - "blockRuntimeId" : 4533 + "blockRuntimeId" : 4703 + }, + { + "id" : "minecraft:azalea_leaves", + "blockRuntimeId" : 162 + }, + { + "id" : "minecraft:azalea_leaves_flowered", + "blockRuntimeId" : 166 }, { "id" : "minecraft:sapling", - "blockRuntimeId" : 5524 + "blockRuntimeId" : 5727 }, { "id" : "minecraft:sapling", - "blockRuntimeId" : 5525 + "blockRuntimeId" : 5728 }, { "id" : "minecraft:sapling", - "blockRuntimeId" : 5526 + "blockRuntimeId" : 5729 }, { "id" : "minecraft:sapling", - "blockRuntimeId" : 5527 + "blockRuntimeId" : 5730 }, { "id" : "minecraft:sapling", - "blockRuntimeId" : 5528 + "blockRuntimeId" : 5731 }, { "id" : "minecraft:sapling", - "blockRuntimeId" : 5529 + "blockRuntimeId" : 5732 }, { "id" : "minecraft:bee_nest", - "blockRuntimeId" : 220 + "blockRuntimeId" : 229 }, { "id" : "minecraft:wheat_seeds" @@ -1640,7 +1764,7 @@ }, { "id" : "minecraft:melon_block", - "blockRuntimeId" : 4662 + "blockRuntimeId" : 4838 }, { "id" : "minecraft:melon_slice" @@ -1651,202 +1775,205 @@ { "id" : "minecraft:sweet_berries" }, + { + "id" : "minecraft:glow_berries" + }, { "id" : "minecraft:pumpkin", - "blockRuntimeId" : 5286 + "blockRuntimeId" : 5489 }, { "id" : "minecraft:carved_pumpkin", - "blockRuntimeId" : 898 + "blockRuntimeId" : 939 }, { "id" : "minecraft:lit_pumpkin", - "blockRuntimeId" : 4620 + "blockRuntimeId" : 4796 }, { "id" : "minecraft:honeycomb" }, { "id" : "minecraft:tallgrass", - "blockRuntimeId" : 6068 + "blockRuntimeId" : 6282 }, { "id" : "minecraft:double_plant", - "blockRuntimeId" : 3763 + "blockRuntimeId" : 3898 }, { "id" : "minecraft:tallgrass", - "blockRuntimeId" : 6067 + "blockRuntimeId" : 6281 }, { "id" : "minecraft:double_plant", - "blockRuntimeId" : 3762 + "blockRuntimeId" : 3897 }, { "id" : "minecraft:nether_sprouts" }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3328 + "blockRuntimeId" : 3449 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3326 + "blockRuntimeId" : 3447 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3327 + "blockRuntimeId" : 3448 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3325 + "blockRuntimeId" : 3446 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3329 + "blockRuntimeId" : 3450 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3333 + "blockRuntimeId" : 3454 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3331 + "blockRuntimeId" : 3452 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3332 + "blockRuntimeId" : 3453 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3330 + "blockRuntimeId" : 3451 }, { "id" : "minecraft:coral", - "blockRuntimeId" : 3334 + "blockRuntimeId" : 3455 }, { "id" : "minecraft:coral_fan", - "blockRuntimeId" : 3348 + "blockRuntimeId" : 3469 }, { "id" : "minecraft:coral_fan", - "blockRuntimeId" : 3346 + "blockRuntimeId" : 3467 }, { "id" : "minecraft:coral_fan", - "blockRuntimeId" : 3347 + "blockRuntimeId" : 3468 }, { "id" : "minecraft:coral_fan", - "blockRuntimeId" : 3345 + "blockRuntimeId" : 3466 }, { "id" : "minecraft:coral_fan", - "blockRuntimeId" : 3349 + "blockRuntimeId" : 3470 }, { "id" : "minecraft:coral_fan_dead", - "blockRuntimeId" : 3358 + "blockRuntimeId" : 3479 }, { "id" : "minecraft:coral_fan_dead", - "blockRuntimeId" : 3356 + "blockRuntimeId" : 3477 }, { "id" : "minecraft:coral_fan_dead", - "blockRuntimeId" : 3357 + "blockRuntimeId" : 3478 }, { "id" : "minecraft:coral_fan_dead", - "blockRuntimeId" : 3355 + "blockRuntimeId" : 3476 }, { "id" : "minecraft:coral_fan_dead", - "blockRuntimeId" : 3359 + "blockRuntimeId" : 3480 }, { "id" : "minecraft:kelp" }, { "id" : "minecraft:seagrass", - "blockRuntimeId" : 5560 + "blockRuntimeId" : 5765 }, { "id" : "minecraft:crimson_roots", - "blockRuntimeId" : 3501 + "blockRuntimeId" : 3622 }, { "id" : "minecraft:warped_roots", - "blockRuntimeId" : 6332 + "blockRuntimeId" : 6546 }, { "id" : "minecraft:yellow_flower", - "blockRuntimeId" : 6568 + "blockRuntimeId" : 6838 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5396 + "blockRuntimeId" : 5599 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5397 + "blockRuntimeId" : 5600 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5398 + "blockRuntimeId" : 5601 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5399 + "blockRuntimeId" : 5602 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5400 + "blockRuntimeId" : 5603 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5401 + "blockRuntimeId" : 5604 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5402 + "blockRuntimeId" : 5605 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5403 + "blockRuntimeId" : 5606 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5404 + "blockRuntimeId" : 5607 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5405 + "blockRuntimeId" : 5608 }, { "id" : "minecraft:red_flower", - "blockRuntimeId" : 5406 + "blockRuntimeId" : 5609 }, { "id" : "minecraft:double_plant", - "blockRuntimeId" : 3760 + "blockRuntimeId" : 3895 }, { "id" : "minecraft:double_plant", - "blockRuntimeId" : 3761 + "blockRuntimeId" : 3896 }, { "id" : "minecraft:double_plant", - "blockRuntimeId" : 3764 + "blockRuntimeId" : 3899 }, { "id" : "minecraft:double_plant", - "blockRuntimeId" : 3765 + "blockRuntimeId" : 3900 }, { "id" : "minecraft:wither_rose", - "blockRuntimeId" : 6443 + "blockRuntimeId" : 6713 }, { "id" : "minecraft:white_dye" @@ -1899,6 +2026,9 @@ { "id" : "minecraft:ink_sac" }, + { + "id" : "minecraft:glow_ink_sac" + }, { "id" : "minecraft:cocoa_beans" }, @@ -1910,47 +2040,95 @@ }, { "id" : "minecraft:vine", - "blockRuntimeId" : 6219 + "blockRuntimeId" : 6433 }, { "id" : "minecraft:weeping_vines", - "blockRuntimeId" : 6403 + "blockRuntimeId" : 6673 }, { "id" : "minecraft:twisting_vines", - "blockRuntimeId" : 6147 + "blockRuntimeId" : 6361 }, { "id" : "minecraft:waterlily", - "blockRuntimeId" : 6401 + "blockRuntimeId" : 6615 }, { "id" : "minecraft:deadbush", - "blockRuntimeId" : 3722 + "blockRuntimeId" : 3854 }, { "id" : "minecraft:bamboo", - "blockRuntimeId" : 161 + "blockRuntimeId" : 170 }, { "id" : "minecraft:snow", - "blockRuntimeId" : 5632 + "blockRuntimeId" : 5845 }, { "id" : "minecraft:ice", - "blockRuntimeId" : 4248 + "blockRuntimeId" : 4418 }, { "id" : "minecraft:packed_ice", - "blockRuntimeId" : 4793 + "blockRuntimeId" : 4985 }, { "id" : "minecraft:blue_ice", - "blockRuntimeId" : 623 + "blockRuntimeId" : 664 }, { "id" : "minecraft:snow_layer", - "blockRuntimeId" : 5633 + "blockRuntimeId" : 5846 + }, + { + "id" : "minecraft:pointed_dripstone", + "blockRuntimeId" : 5016 + }, + { + "id" : "minecraft:sculk_sensor", + "blockRuntimeId" : 5755 + }, + { + "id" : "minecraft:dripstone_block", + "blockRuntimeId" : 3979 + }, + { + "id" : "minecraft:moss_carpet", + "blockRuntimeId" : 4895 + }, + { + "id" : "minecraft:moss_block", + "blockRuntimeId" : 4894 + }, + { + "id" : "minecraft:dirt_with_roots", + "blockRuntimeId" : 3880 + }, + { + "id" : "minecraft:hanging_roots", + "blockRuntimeId" : 4340 + }, + { + "id" : "minecraft:big_dripleaf", + "blockRuntimeId" : 321 + }, + { + "id" : "minecraft:small_dripleaf_block", + "blockRuntimeId" : 5812 + }, + { + "id" : "minecraft:spore_blossom", + "blockRuntimeId" : 5898 + }, + { + "id" : "minecraft:azalea", + "blockRuntimeId" : 161 + }, + { + "id" : "minecraft:flowering_azalea", + "blockRuntimeId" : 4215 }, { "id" : "minecraft:chicken" @@ -1981,35 +2159,35 @@ }, { "id" : "minecraft:brown_mushroom", - "blockRuntimeId" : 822 + "blockRuntimeId" : 863 }, { "id" : "minecraft:red_mushroom", - "blockRuntimeId" : 5413 + "blockRuntimeId" : 5616 }, { "id" : "minecraft:crimson_fungus", - "blockRuntimeId" : 3479 + "blockRuntimeId" : 3600 }, { "id" : "minecraft:warped_fungus", - "blockRuntimeId" : 6310 + "blockRuntimeId" : 6524 }, { "id" : "minecraft:brown_mushroom_block", - "blockRuntimeId" : 837 + "blockRuntimeId" : 878 }, { "id" : "minecraft:red_mushroom_block", - "blockRuntimeId" : 5428 + "blockRuntimeId" : 5631 }, { "id" : "minecraft:brown_mushroom_block", - "blockRuntimeId" : 838 + "blockRuntimeId" : 879 }, { "id" : "minecraft:brown_mushroom_block", - "blockRuntimeId" : 823 + "blockRuntimeId" : 864 }, { "id" : "minecraft:egg" @@ -2028,46 +2206,46 @@ }, { "id" : "minecraft:web", - "blockRuntimeId" : 6402 + "blockRuntimeId" : 6672 }, { "id" : "minecraft:spider_eye" }, { "id" : "minecraft:mob_spawner", - "blockRuntimeId" : 4711 + "blockRuntimeId" : 4887 }, { "id" : "minecraft:monster_egg", - "blockRuntimeId" : 4712 + "blockRuntimeId" : 4888 }, { "id" : "minecraft:monster_egg", - "blockRuntimeId" : 4713 + "blockRuntimeId" : 4889 }, { "id" : "minecraft:monster_egg", - "blockRuntimeId" : 4714 + "blockRuntimeId" : 4890 }, { "id" : "minecraft:monster_egg", - "blockRuntimeId" : 4715 + "blockRuntimeId" : 4891 }, { "id" : "minecraft:monster_egg", - "blockRuntimeId" : 4716 + "blockRuntimeId" : 4892 }, { "id" : "minecraft:monster_egg", - "blockRuntimeId" : 4717 + "blockRuntimeId" : 4893 }, { "id" : "minecraft:dragon_egg", - "blockRuntimeId" : 3842 + "blockRuntimeId" : 3977 }, { "id" : "minecraft:turtle_egg", - "blockRuntimeId" : 6135 + "blockRuntimeId" : 6349 }, { "id" : "minecraft:chicken_spawn_egg" @@ -2189,6 +2367,9 @@ { "id" : "minecraft:squid_spawn_egg" }, + { + "id" : "minecraft:glow_squid_spawn_egg" + }, { "id" : "minecraft:cave_spider_spawn_egg" }, @@ -2222,6 +2403,9 @@ { "id" : "minecraft:piglin_brute_spawn_egg" }, + { + "id" : "minecraft:goat_spawn_egg" + }, { "id" : "minecraft:ghast_spawn_egg" }, @@ -2260,42 +2444,42 @@ }, { "id" : "minecraft:obsidian", - "blockRuntimeId" : 4786 + "blockRuntimeId" : 4964 }, { "id" : "minecraft:crying_obsidian", - "blockRuntimeId" : 3553 + "blockRuntimeId" : 3674 }, { "id" : "minecraft:bedrock", - "blockRuntimeId" : 218 + "blockRuntimeId" : 227 }, { "id" : "minecraft:soul_sand", - "blockRuntimeId" : 5675 + "blockRuntimeId" : 5888 }, { "id" : "minecraft:netherrack", - "blockRuntimeId" : 4755 + "blockRuntimeId" : 4933 }, { "id" : "minecraft:magma", - "blockRuntimeId" : 4661 + "blockRuntimeId" : 4837 }, { "id" : "minecraft:nether_wart" }, { "id" : "minecraft:end_stone", - "blockRuntimeId" : 4003 + "blockRuntimeId" : 4145 }, { "id" : "minecraft:chorus_flower", - "blockRuntimeId" : 956 + "blockRuntimeId" : 1075 }, { "id" : "minecraft:chorus_plant", - "blockRuntimeId" : 962 + "blockRuntimeId" : 1081 }, { "id" : "minecraft:chorus_fruit" @@ -2305,51 +2489,51 @@ }, { "id" : "minecraft:sponge", - "blockRuntimeId" : 5683 + "blockRuntimeId" : 5896 }, { "id" : "minecraft:sponge", - "blockRuntimeId" : 5684 + "blockRuntimeId" : 5897 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3335 + "blockRuntimeId" : 3456 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3336 + "blockRuntimeId" : 3457 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3337 + "blockRuntimeId" : 3458 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3338 + "blockRuntimeId" : 3459 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3339 + "blockRuntimeId" : 3460 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3340 + "blockRuntimeId" : 3461 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3341 + "blockRuntimeId" : 3462 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3342 + "blockRuntimeId" : 3463 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3343 + "blockRuntimeId" : 3464 }, { "id" : "minecraft:coral_block", - "blockRuntimeId" : 3344 + "blockRuntimeId" : 3465 }, { "id" : "minecraft:leather_helmet" @@ -2762,6 +2946,9 @@ { "id" : "minecraft:saddle" }, + { + "id" : "minecraft:goat_horn" + }, { "id" : "minecraft:leather_horse_armor" }, @@ -3373,43 +3560,43 @@ }, { "id" : "minecraft:torch", - "blockRuntimeId" : 6075 + "blockRuntimeId" : 6289 }, { "id" : "minecraft:soul_torch", - "blockRuntimeId" : 5677 + "blockRuntimeId" : 5890 }, { "id" : "minecraft:sea_pickle", - "blockRuntimeId" : 5552 + "blockRuntimeId" : 5757 }, { "id" : "minecraft:lantern", - "blockRuntimeId" : 4482 + "blockRuntimeId" : 4652 }, { "id" : "minecraft:soul_lantern", - "blockRuntimeId" : 5673 + "blockRuntimeId" : 5886 }, { "id" : "minecraft:crafting_table", - "blockRuntimeId" : 3415 + "blockRuntimeId" : 3536 }, { "id" : "minecraft:cartography_table", - "blockRuntimeId" : 897 + "blockRuntimeId" : 938 }, { "id" : "minecraft:fletching_table", - "blockRuntimeId" : 4056 + "blockRuntimeId" : 4212 }, { "id" : "minecraft:smithing_table", - "blockRuntimeId" : 5600 + "blockRuntimeId" : 5813 }, { "id" : "minecraft:beehive", - "blockRuntimeId" : 244 + "blockRuntimeId" : 253 }, { "id" : "minecraft:campfire" @@ -3419,19 +3606,19 @@ }, { "id" : "minecraft:furnace", - "blockRuntimeId" : 4107 + "blockRuntimeId" : 4264 }, { "id" : "minecraft:blast_furnace", - "blockRuntimeId" : 611 + "blockRuntimeId" : 652 }, { "id" : "minecraft:smoker", - "blockRuntimeId" : 5601 + "blockRuntimeId" : 5814 }, { "id" : "minecraft:respawn_anchor", - "blockRuntimeId" : 5505 + "blockRuntimeId" : 5708 }, { "id" : "minecraft:brewing_stand" @@ -3450,121 +3637,121 @@ }, { "id" : "minecraft:grindstone", - "blockRuntimeId" : 4155 + "blockRuntimeId" : 4324 }, { "id" : "minecraft:enchanting_table", - "blockRuntimeId" : 3977 + "blockRuntimeId" : 4119 }, { "id" : "minecraft:bookshelf", - "blockRuntimeId" : 636 + "blockRuntimeId" : 677 }, { "id" : "minecraft:lectern", - "blockRuntimeId" : 4540 + "blockRuntimeId" : 4710 }, { "id" : "minecraft:cauldron" }, { "id" : "minecraft:composter", - "blockRuntimeId" : 3283 + "blockRuntimeId" : 3402 }, { "id" : "minecraft:chest", - "blockRuntimeId" : 948 + "blockRuntimeId" : 1067 }, { "id" : "minecraft:trapped_chest", - "blockRuntimeId" : 6097 + "blockRuntimeId" : 6311 }, { "id" : "minecraft:ender_chest", - "blockRuntimeId" : 4004 + "blockRuntimeId" : 4146 }, { "id" : "minecraft:barrel", - "blockRuntimeId" : 185 + "blockRuntimeId" : 194 }, { "id" : "minecraft:undyed_shulker_box", - "blockRuntimeId" : 6179 + "blockRuntimeId" : 6393 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5565 + "blockRuntimeId" : 5770 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5573 + "blockRuntimeId" : 5778 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5572 + "blockRuntimeId" : 5777 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5580 + "blockRuntimeId" : 5785 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5577 + "blockRuntimeId" : 5782 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5579 + "blockRuntimeId" : 5784 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5566 + "blockRuntimeId" : 5771 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5569 + "blockRuntimeId" : 5774 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5570 + "blockRuntimeId" : 5775 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5578 + "blockRuntimeId" : 5783 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5574 + "blockRuntimeId" : 5779 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5568 + "blockRuntimeId" : 5773 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5576 + "blockRuntimeId" : 5781 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5575 + "blockRuntimeId" : 5780 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5567 + "blockRuntimeId" : 5772 }, { "id" : "minecraft:shulker_box", - "blockRuntimeId" : 5571 + "blockRuntimeId" : 5776 }, { "id" : "minecraft:armor_stand" }, { "id" : "minecraft:noteblock", - "blockRuntimeId" : 4765 + "blockRuntimeId" : 4943 }, { "id" : "minecraft:jukebox", - "blockRuntimeId" : 4327 + "blockRuntimeId" : 4497 }, { "id" : "minecraft:music_disc_13" @@ -3610,15 +3797,15 @@ }, { "id" : "minecraft:glowstone", - "blockRuntimeId" : 4117 + "blockRuntimeId" : 4286 }, { "id" : "minecraft:redstone_lamp", - "blockRuntimeId" : 5452 + "blockRuntimeId" : 5655 }, { "id" : "minecraft:sealantern", - "blockRuntimeId" : 5563 + "blockRuntimeId" : 5768 }, { "id" : "minecraft:oak_sign" @@ -3683,6 +3870,12 @@ { "id" : "minecraft:pufferfish_bucket" }, + { + "id" : "minecraft:powder_snow_bucket" + }, + { + "id" : "minecraft:glow_frame" + }, { "id" : "minecraft:skull", "damage" : 3 @@ -3708,23 +3901,23 @@ }, { "id" : "minecraft:beacon", - "blockRuntimeId" : 201 + "blockRuntimeId" : 210 }, { "id" : "minecraft:bell", - "blockRuntimeId" : 276 + "blockRuntimeId" : 285 }, { "id" : "minecraft:conduit", - "blockRuntimeId" : 3324 + "blockRuntimeId" : 3443 }, { "id" : "minecraft:stonecutter_block", - "blockRuntimeId" : 6014 + "blockRuntimeId" : 6228 }, { "id" : "minecraft:end_portal_frame", - "blockRuntimeId" : 3989 + "blockRuntimeId" : 4131 }, { "id" : "minecraft:coal" @@ -3738,6 +3931,9 @@ { "id" : "minecraft:iron_nugget" }, + { + "id" : "minecraft:copper_ingot" + }, { "id" : "minecraft:iron_ingot" }, @@ -3845,7 +4041,11 @@ }, { "id" : "minecraft:end_rod", - "blockRuntimeId" : 3997 + "blockRuntimeId" : 4139 + }, + { + "id" : "minecraft:lightning_rod", + "blockRuntimeId" : 4772 }, { "id" : "minecraft:end_crystal" @@ -4307,15 +4507,15 @@ }, { "id" : "minecraft:rail", - "blockRuntimeId" : 5386 + "blockRuntimeId" : 5589 }, { "id" : "minecraft:golden_rail", - "blockRuntimeId" : 4120 + "blockRuntimeId" : 4289 }, { "id" : "minecraft:detector_rail", - "blockRuntimeId" : 3724 + "blockRuntimeId" : 3856 }, { "id" : "minecraft:activator_rail", @@ -4338,74 +4538,74 @@ }, { "id" : "minecraft:redstone_block", - "blockRuntimeId" : 5451 + "blockRuntimeId" : 5654 }, { "id" : "minecraft:redstone_torch", - "blockRuntimeId" : 5454 + "blockRuntimeId" : 5657 }, { "id" : "minecraft:lever", - "blockRuntimeId" : 4548 + "blockRuntimeId" : 4718 }, { "id" : "minecraft:wooden_button", - "blockRuntimeId" : 6480 + "blockRuntimeId" : 6750 }, { "id" : "minecraft:spruce_button", - "blockRuntimeId" : 5685 + "blockRuntimeId" : 5899 }, { "id" : "minecraft:birch_button", - "blockRuntimeId" : 308 + "blockRuntimeId" : 349 }, { "id" : "minecraft:jungle_button", - "blockRuntimeId" : 4328 + "blockRuntimeId" : 4498 }, { "id" : "minecraft:acacia_button" }, { "id" : "minecraft:dark_oak_button", - "blockRuntimeId" : 3560 + "blockRuntimeId" : 3692 }, { "id" : "minecraft:stone_button", - "blockRuntimeId" : 5914 + "blockRuntimeId" : 6128 }, { "id" : "minecraft:crimson_button", - "blockRuntimeId" : 3416 + "blockRuntimeId" : 3537 }, { "id" : "minecraft:warped_button", - "blockRuntimeId" : 6247 + "blockRuntimeId" : 6461 }, { "id" : "minecraft:polished_blackstone_button", - "blockRuntimeId" : 5006 + "blockRuntimeId" : 5208 }, { "id" : "minecraft:tripwire_hook", - "blockRuntimeId" : 6119 + "blockRuntimeId" : 6333 }, { "id" : "minecraft:wooden_pressure_plate", - "blockRuntimeId" : 6524 + "blockRuntimeId" : 6794 }, { "id" : "minecraft:spruce_pressure_plate", - "blockRuntimeId" : 5745 + "blockRuntimeId" : 5959 }, { "id" : "minecraft:birch_pressure_plate", - "blockRuntimeId" : 368 + "blockRuntimeId" : 409 }, { "id" : "minecraft:jungle_pressure_plate", - "blockRuntimeId" : 4388 + "blockRuntimeId" : 4558 }, { "id" : "minecraft:acacia_pressure_plate", @@ -4413,39 +4613,39 @@ }, { "id" : "minecraft:dark_oak_pressure_plate", - "blockRuntimeId" : 3620 + "blockRuntimeId" : 3752 }, { "id" : "minecraft:crimson_pressure_plate", - "blockRuntimeId" : 3485 + "blockRuntimeId" : 3606 }, { "id" : "minecraft:warped_pressure_plate", - "blockRuntimeId" : 6316 + "blockRuntimeId" : 6530 }, { "id" : "minecraft:stone_pressure_plate", - "blockRuntimeId" : 5926 + "blockRuntimeId" : 6140 }, { "id" : "minecraft:light_weighted_pressure_plate", - "blockRuntimeId" : 4586 + "blockRuntimeId" : 4756 }, { "id" : "minecraft:heavy_weighted_pressure_plate", - "blockRuntimeId" : 4218 + "blockRuntimeId" : 4388 }, { "id" : "minecraft:polished_blackstone_pressure_plate", - "blockRuntimeId" : 5020 + "blockRuntimeId" : 5222 }, { "id" : "minecraft:observer", - "blockRuntimeId" : 4774 + "blockRuntimeId" : 4952 }, { "id" : "minecraft:daylight_detector", - "blockRuntimeId" : 3690 + "blockRuntimeId" : 3822 }, { "id" : "minecraft:repeater" @@ -4458,30 +4658,30 @@ }, { "id" : "minecraft:dropper", - "blockRuntimeId" : 3847 + "blockRuntimeId" : 3989 }, { "id" : "minecraft:dispenser", - "blockRuntimeId" : 3751 + "blockRuntimeId" : 3884 }, { "id" : "minecraft:piston", - "blockRuntimeId" : 4801 + "blockRuntimeId" : 4993 }, { "id" : "minecraft:sticky_piston", - "blockRuntimeId" : 5888 + "blockRuntimeId" : 6102 }, { "id" : "minecraft:tnt", - "blockRuntimeId" : 6071 + "blockRuntimeId" : 6285 }, { "id" : "minecraft:name_tag" }, { "id" : "minecraft:loom", - "blockRuntimeId" : 4651 + "blockRuntimeId" : 4827 }, { "id" : "minecraft:banner" @@ -4724,10 +4924,13 @@ }, { "id" : "minecraft:target", - "blockRuntimeId" : 6070 + "blockRuntimeId" : 6284 }, { "id" : "minecraft:lodestone_compass" + }, + { + "id" : "minecraft:item.glow_frame" } ] } \ No newline at end of file diff --git a/connector/src/main/resources/bedrock/runtime_item_states.json b/connector/src/main/resources/bedrock/runtime_item_states.json index eaf6656bd..6171ef9bf 100644 --- a/connector/src/main/resources/bedrock/runtime_item_states.json +++ b/connector/src/main/resources/bedrock/runtime_item_states.json @@ -1,7 +1,7 @@ [ { "name" : "minecraft:acacia_boat", - "id" : 377 + "id" : 380 }, { "name" : "minecraft:acacia_button", @@ -9,7 +9,7 @@ }, { "name" : "minecraft:acacia_door", - "id" : 546 + "id" : 552 }, { "name" : "minecraft:acacia_fence_gate", @@ -21,7 +21,7 @@ }, { "name" : "minecraft:acacia_sign", - "id" : 569 + "id" : 575 }, { "name" : "minecraft:acacia_stairs", @@ -45,7 +45,7 @@ }, { "name" : "minecraft:agent_spawn_egg", - "id" : 485 + "id" : 488 }, { "name" : "minecraft:air", @@ -73,19 +73,31 @@ }, { "name" : "minecraft:armor_stand", - "id" : 542 + "id" : 548 }, { "name" : "minecraft:arrow", "id" : 301 }, + { + "name" : "minecraft:azalea", + "id" : -337 + }, + { + "name" : "minecraft:azalea_leaves", + "id" : -324 + }, + { + "name" : "minecraft:azalea_leaves_flowered", + "id" : -325 + }, { "name" : "minecraft:baked_potato", "id" : 281 }, { "name" : "minecraft:balloon", - "id" : 587 + "id" : 593 }, { "name" : "minecraft:bamboo", @@ -97,11 +109,11 @@ }, { "name" : "minecraft:banner", - "id" : 557 + "id" : 563 }, { "name" : "minecraft:banner_pattern", - "id" : 613 + "id" : 621 }, { "name" : "minecraft:barrel", @@ -117,7 +129,7 @@ }, { "name" : "minecraft:bat_spawn_egg", - "id" : 451 + "id" : 454 }, { "name" : "minecraft:beacon", @@ -125,7 +137,7 @@ }, { "name" : "minecraft:bed", - "id" : 416 + "id" : 419 }, { "name" : "minecraft:bedrock", @@ -137,7 +149,7 @@ }, { "name" : "minecraft:bee_spawn_egg", - "id" : 492 + "id" : 495 }, { "name" : "minecraft:beef", @@ -163,9 +175,13 @@ "name" : "minecraft:bell", "id" : -206 }, + { + "name" : "minecraft:big_dripleaf", + "id" : -323 + }, { "name" : "minecraft:birch_boat", - "id" : 374 + "id" : 377 }, { "name" : "minecraft:birch_button", @@ -173,7 +189,7 @@ }, { "name" : "minecraft:birch_door", - "id" : 544 + "id" : 550 }, { "name" : "minecraft:birch_fence_gate", @@ -185,7 +201,7 @@ }, { "name" : "minecraft:birch_sign", - "id" : 567 + "id" : 573 }, { "name" : "minecraft:birch_stairs", @@ -205,7 +221,7 @@ }, { "name" : "minecraft:black_dye", - "id" : 393 + "id" : 396 }, { "name" : "minecraft:black_glazed_terracotta", @@ -237,23 +253,23 @@ }, { "name" : "minecraft:blaze_powder", - "id" : 427 + "id" : 430 }, { "name" : "minecraft:blaze_rod", - "id" : 421 + "id" : 424 }, { "name" : "minecraft:blaze_spawn_egg", - "id" : 454 + "id" : 457 }, { "name" : "minecraft:bleach", - "id" : 585 + "id" : 591 }, { "name" : "minecraft:blue_dye", - "id" : 397 + "id" : 400 }, { "name" : "minecraft:blue_glazed_terracotta", @@ -265,11 +281,11 @@ }, { "name" : "minecraft:boat", - "id" : 611 + "id" : 619 }, { "name" : "minecraft:bone", - "id" : 413 + "id" : 416 }, { "name" : "minecraft:bone_block", @@ -277,11 +293,11 @@ }, { "name" : "minecraft:bone_meal", - "id" : 409 + "id" : 412 }, { "name" : "minecraft:book", - "id" : 385 + "id" : 388 }, { "name" : "minecraft:bookshelf", @@ -293,7 +309,7 @@ }, { "name" : "minecraft:bordure_indented_banner_pattern", - "id" : 576 + "id" : 582 }, { "name" : "minecraft:bow", @@ -309,7 +325,7 @@ }, { "name" : "minecraft:brewing_stand", - "id" : 429 + "id" : 432 }, { "name" : "minecraft:brewingstandblock", @@ -317,7 +333,7 @@ }, { "name" : "minecraft:brick", - "id" : 381 + "id" : 384 }, { "name" : "minecraft:brick_block", @@ -329,7 +345,7 @@ }, { "name" : "minecraft:brown_dye", - "id" : 396 + "id" : 399 }, { "name" : "minecraft:brown_glazed_terracotta", @@ -357,15 +373,15 @@ }, { "name" : "minecraft:cake", - "id" : 415 + "id" : 418 }, { "name" : "minecraft:camera", - "id" : 582 + "id" : 588 }, { "name" : "minecraft:campfire", - "id" : 578 + "id" : 584 }, { "name" : "minecraft:carpet", @@ -377,7 +393,7 @@ }, { "name" : "minecraft:carrot_on_a_stick", - "id" : 507 + "id" : 513 }, { "name" : "minecraft:carrots", @@ -393,19 +409,31 @@ }, { "name" : "minecraft:cat_spawn_egg", - "id" : 486 + "id" : 489 }, { "name" : "minecraft:cauldron", - "id" : 430 + "id" : 433 }, { "name" : "minecraft:cave_spider_spawn_egg", - "id" : 455 + "id" : 458 + }, + { + "name" : "minecraft:cave_vines", + "id" : -322 + }, + { + "name" : "minecraft:cave_vines_body_with_berries", + "id" : -375 + }, + { + "name" : "minecraft:cave_vines_head_with_berries", + "id" : -376 }, { "name" : "minecraft:chain", - "id" : 607 + "id" : 613 }, { "name" : "minecraft:chain_command_block", @@ -445,7 +473,7 @@ }, { "name" : "minecraft:chest_minecart", - "id" : 387 + "id" : 390 }, { "name" : "minecraft:chicken", @@ -453,7 +481,7 @@ }, { "name" : "minecraft:chicken_spawn_egg", - "id" : 433 + "id" : 436 }, { "name" : "minecraft:chiseled_nether_bricks", @@ -469,7 +497,7 @@ }, { "name" : "minecraft:chorus_fruit", - "id" : 548 + "id" : 554 }, { "name" : "minecraft:chorus_plant", @@ -481,11 +509,11 @@ }, { "name" : "minecraft:clay_ball", - "id" : 382 + "id" : 385 }, { "name" : "minecraft:clock", - "id" : 391 + "id" : 394 }, { "name" : "minecraft:coal", @@ -513,7 +541,7 @@ }, { "name" : "minecraft:cocoa_beans", - "id" : 410 + "id" : 413 }, { "name" : "minecraft:cod", @@ -525,7 +553,7 @@ }, { "name" : "minecraft:cod_spawn_egg", - "id" : 478 + "id" : 481 }, { "name" : "minecraft:colored_torch_bp", @@ -541,15 +569,15 @@ }, { "name" : "minecraft:command_block_minecart", - "id" : 553 + "id" : 559 }, { "name" : "minecraft:comparator", - "id" : 512 + "id" : 518 }, { "name" : "minecraft:compass", - "id" : 389 + "id" : 392 }, { "name" : "minecraft:composter", @@ -557,7 +585,7 @@ }, { "name" : "minecraft:compound", - "id" : 583 + "id" : 589 }, { "name" : "minecraft:concrete", @@ -585,7 +613,7 @@ }, { "name" : "minecraft:cooked_mutton", - "id" : 541 + "id" : 547 }, { "name" : "minecraft:cooked_porkchop", @@ -603,6 +631,18 @@ "name" : "minecraft:cookie", "id" : 271 }, + { + "name" : "minecraft:copper_block", + "id" : -340 + }, + { + "name" : "minecraft:copper_ingot", + "id" : 502 + }, + { + "name" : "minecraft:copper_ore", + "id" : -311 + }, { "name" : "minecraft:coral", "id" : -131 @@ -633,7 +673,7 @@ }, { "name" : "minecraft:cow_spawn_egg", - "id" : 434 + "id" : 437 }, { "name" : "minecraft:cracked_nether_bricks", @@ -649,11 +689,11 @@ }, { "name" : "minecraft:creeper_banner_pattern", - "id" : 572 + "id" : 578 }, { "name" : "minecraft:creeper_spawn_egg", - "id" : 439 + "id" : 442 }, { "name" : "minecraft:crimson_button", @@ -661,7 +701,7 @@ }, { "name" : "minecraft:crimson_door", - "id" : 604 + "id" : 610 }, { "name" : "minecraft:crimson_double_slab", @@ -701,7 +741,7 @@ }, { "name" : "minecraft:crimson_sign", - "id" : 602 + "id" : 608 }, { "name" : "minecraft:crimson_slab", @@ -729,15 +769,27 @@ }, { "name" : "minecraft:crossbow", - "id" : 565 + "id" : 571 }, { "name" : "minecraft:crying_obsidian", "id" : -289 }, + { + "name" : "minecraft:cut_copper", + "id" : -347 + }, + { + "name" : "minecraft:cut_copper_slab", + "id" : -361 + }, + { + "name" : "minecraft:cut_copper_stairs", + "id" : -354 + }, { "name" : "minecraft:cyan_dye", - "id" : 399 + "id" : 402 }, { "name" : "minecraft:cyan_glazed_terracotta", @@ -745,7 +797,7 @@ }, { "name" : "minecraft:dark_oak_boat", - "id" : 378 + "id" : 381 }, { "name" : "minecraft:dark_oak_button", @@ -753,7 +805,7 @@ }, { "name" : "minecraft:dark_oak_door", - "id" : 547 + "id" : 553 }, { "name" : "minecraft:dark_oak_fence_gate", @@ -765,7 +817,7 @@ }, { "name" : "minecraft:dark_oak_sign", - "id" : 570 + "id" : 576 }, { "name" : "minecraft:dark_oak_stairs", @@ -837,7 +889,7 @@ }, { "name" : "minecraft:diamond_horse_armor", - "id" : 523 + "id" : 529 }, { "name" : "minecraft:diamond_leggings", @@ -867,17 +919,25 @@ "name" : "minecraft:dirt", "id" : 3 }, + { + "name" : "minecraft:dirt_with_roots", + "id" : -318 + }, { "name" : "minecraft:dispenser", "id" : 23 }, { "name" : "minecraft:dolphin_spawn_egg", - "id" : 482 + "id" : 485 }, { "name" : "minecraft:donkey_spawn_egg", - "id" : 463 + "id" : 466 + }, + { + "name" : "minecraft:double_cut_copper_slab", + "id" : -368 }, { "name" : "minecraft:double_plant", @@ -905,7 +965,7 @@ }, { "name" : "minecraft:dragon_breath", - "id" : 550 + "id" : 556 }, { "name" : "minecraft:dragon_egg", @@ -919,25 +979,29 @@ "name" : "minecraft:dried_kelp_block", "id" : -139 }, + { + "name" : "minecraft:dripstone_block", + "id" : -317 + }, { "name" : "minecraft:dropper", "id" : 125 }, { "name" : "minecraft:drowned_spawn_egg", - "id" : 481 + "id" : 484 }, { "name" : "minecraft:dye", - "id" : 612 + "id" : 620 }, { "name" : "minecraft:egg", - "id" : 388 + "id" : 391 }, { "name" : "minecraft:elder_guardian_spawn_egg", - "id" : 469 + "id" : 472 }, { "name" : "minecraft:element_0", @@ -1417,11 +1481,11 @@ }, { "name" : "minecraft:elytra", - "id" : 554 + "id" : 560 }, { "name" : "minecraft:emerald", - "id" : 502 + "id" : 508 }, { "name" : "minecraft:emerald_block", @@ -1433,11 +1497,11 @@ }, { "name" : "minecraft:empty_map", - "id" : 505 + "id" : 511 }, { "name" : "minecraft:enchanted_book", - "id" : 511 + "id" : 517 }, { "name" : "minecraft:enchanted_golden_apple", @@ -1457,7 +1521,7 @@ }, { "name" : "minecraft:end_crystal", - "id" : 615 + "id" : 623 }, { "name" : "minecraft:end_gateway", @@ -1485,27 +1549,47 @@ }, { "name" : "minecraft:ender_eye", - "id" : 431 + "id" : 434 }, { "name" : "minecraft:ender_pearl", - "id" : 420 + "id" : 423 }, { "name" : "minecraft:enderman_spawn_egg", - "id" : 440 + "id" : 443 }, { "name" : "minecraft:endermite_spawn_egg", - "id" : 458 + "id" : 461 }, { "name" : "minecraft:evoker_spawn_egg", - "id" : 473 + "id" : 476 }, { "name" : "minecraft:experience_bottle", - "id" : 498 + "id" : 504 + }, + { + "name" : "minecraft:exposed_copper", + "id" : -341 + }, + { + "name" : "minecraft:exposed_cut_copper", + "id" : -348 + }, + { + "name" : "minecraft:exposed_cut_copper_slab", + "id" : -362 + }, + { + "name" : "minecraft:exposed_cut_copper_stairs", + "id" : -355 + }, + { + "name" : "minecraft:exposed_double_cut_copper_slab", + "id" : -369 }, { "name" : "minecraft:farmland", @@ -1525,15 +1609,15 @@ }, { "name" : "minecraft:fermented_spider_eye", - "id" : 426 + "id" : 429 }, { "name" : "minecraft:field_masoned_banner_pattern", - "id" : 575 + "id" : 581 }, { "name" : "minecraft:filled_map", - "id" : 418 + "id" : 421 }, { "name" : "minecraft:fire", @@ -1541,19 +1625,19 @@ }, { "name" : "minecraft:fire_charge", - "id" : 499 + "id" : 505 }, { "name" : "minecraft:firework_rocket", - "id" : 509 + "id" : 515 }, { "name" : "minecraft:firework_star", - "id" : 510 + "id" : 516 }, { "name" : "minecraft:fishing_rod", - "id" : 390 + "id" : 393 }, { "name" : "minecraft:fletching_table", @@ -1569,11 +1653,15 @@ }, { "name" : "minecraft:flower_banner_pattern", - "id" : 571 + "id" : 577 }, { "name" : "minecraft:flower_pot", - "id" : 504 + "id" : 510 + }, + { + "name" : "minecraft:flowering_azalea", + "id" : -338 }, { "name" : "minecraft:flowing_lava", @@ -1585,11 +1673,11 @@ }, { "name" : "minecraft:fox_spawn_egg", - "id" : 488 + "id" : 491 }, { "name" : "minecraft:frame", - "id" : 503 + "id" : 509 }, { "name" : "minecraft:frosted_ice", @@ -1601,11 +1689,11 @@ }, { "name" : "minecraft:ghast_spawn_egg", - "id" : 452 + "id" : 455 }, { "name" : "minecraft:ghast_tear", - "id" : 422 + "id" : 425 }, { "name" : "minecraft:gilded_blackstone", @@ -1617,7 +1705,7 @@ }, { "name" : "minecraft:glass_bottle", - "id" : 425 + "id" : 428 }, { "name" : "minecraft:glass_pane", @@ -1625,7 +1713,23 @@ }, { "name" : "minecraft:glistering_melon_slice", - "id" : 432 + "id" : 435 + }, + { + "name" : "minecraft:glow_berries", + "id" : 369 + }, + { + "name" : "minecraft:glow_frame", + "id" : 618 + }, + { + "name" : "minecraft:glow_ink_sac", + "id" : 370 + }, + { + "name" : "minecraft:glow_squid_spawn_egg", + "id" : 503 }, { "name" : "minecraft:glow_stick", @@ -1641,7 +1745,15 @@ }, { "name" : "minecraft:glowstone_dust", - "id" : 392 + "id" : 395 + }, + { + "name" : "minecraft:goat_horn", + "id" : 617 + }, + { + "name" : "minecraft:goat_spawn_egg", + "id" : 501 }, { "name" : "minecraft:gold_block", @@ -1653,7 +1765,7 @@ }, { "name" : "minecraft:gold_nugget", - "id" : 423 + "id" : 426 }, { "name" : "minecraft:gold_ore", @@ -1689,7 +1801,7 @@ }, { "name" : "minecraft:golden_horse_armor", - "id" : 522 + "id" : 528 }, { "name" : "minecraft:golden_leggings", @@ -1729,7 +1841,7 @@ }, { "name" : "minecraft:gray_dye", - "id" : 401 + "id" : 404 }, { "name" : "minecraft:gray_glazed_terracotta", @@ -1737,7 +1849,7 @@ }, { "name" : "minecraft:green_dye", - "id" : 395 + "id" : 398 }, { "name" : "minecraft:green_glazed_terracotta", @@ -1749,12 +1861,16 @@ }, { "name" : "minecraft:guardian_spawn_egg", - "id" : 459 + "id" : 462 }, { "name" : "minecraft:gunpowder", "id" : 328 }, + { + "name" : "minecraft:hanging_roots", + "id" : -319 + }, { "name" : "minecraft:hard_glass", "id" : 253 @@ -1781,7 +1897,7 @@ }, { "name" : "minecraft:heart_of_the_sea", - "id" : 561 + "id" : 567 }, { "name" : "minecraft:heavy_weighted_pressure_plate", @@ -1789,7 +1905,7 @@ }, { "name" : "minecraft:hoglin_spawn_egg", - "id" : 494 + "id" : 497 }, { "name" : "minecraft:honey_block", @@ -1797,11 +1913,11 @@ }, { "name" : "minecraft:honey_bottle", - "id" : 581 + "id" : 587 }, { "name" : "minecraft:honeycomb", - "id" : 580 + "id" : 586 }, { "name" : "minecraft:honeycomb_block", @@ -1809,19 +1925,19 @@ }, { "name" : "minecraft:hopper", - "id" : 517 + "id" : 523 }, { "name" : "minecraft:hopper_minecart", - "id" : 516 + "id" : 522 }, { "name" : "minecraft:horse_spawn_egg", - "id" : 456 + "id" : 459 }, { "name" : "minecraft:husk_spawn_egg", - "id" : 461 + "id" : 464 }, { "name" : "minecraft:ice", @@ -1829,7 +1945,7 @@ }, { "name" : "minecraft:ice_bomb", - "id" : 584 + "id" : 590 }, { "name" : "minecraft:info_update", @@ -1841,7 +1957,7 @@ }, { "name" : "minecraft:ink_sac", - "id" : 411 + "id" : 414 }, { "name" : "minecraft:invisiblebedrock", @@ -1869,7 +1985,7 @@ }, { "name" : "minecraft:iron_door", - "id" : 370 + "id" : 373 }, { "name" : "minecraft:iron_helmet", @@ -1881,7 +1997,7 @@ }, { "name" : "minecraft:iron_horse_armor", - "id" : 521 + "id" : 527 }, { "name" : "minecraft:iron_ingot", @@ -1893,7 +2009,7 @@ }, { "name" : "minecraft:iron_nugget", - "id" : 559 + "id" : 565 }, { "name" : "minecraft:iron_ore", @@ -1967,6 +2083,10 @@ "name" : "minecraft:item.frame", "id" : 199 }, + { + "name" : "minecraft:item.glow_frame", + "id" : -339 + }, { "name" : "minecraft:item.hopper", "id" : 154 @@ -1983,10 +2103,6 @@ "name" : "minecraft:item.kelp", "id" : -138 }, - { - "name" : "minecraft:nether_brick", - "id" : 112 - }, { "name" : "minecraft:item.nether_sprouts", "id" : -238 @@ -2033,7 +2149,7 @@ }, { "name" : "minecraft:jungle_boat", - "id" : 375 + "id" : 378 }, { "name" : "minecraft:jungle_button", @@ -2041,7 +2157,7 @@ }, { "name" : "minecraft:jungle_door", - "id" : 545 + "id" : 551 }, { "name" : "minecraft:jungle_fence_gate", @@ -2053,7 +2169,7 @@ }, { "name" : "minecraft:jungle_sign", - "id" : 568 + "id" : 574 }, { "name" : "minecraft:jungle_stairs", @@ -2073,7 +2189,7 @@ }, { "name" : "minecraft:kelp", - "id" : 380 + "id" : 383 }, { "name" : "minecraft:ladder", @@ -2089,7 +2205,7 @@ }, { "name" : "minecraft:lapis_lazuli", - "id" : 412 + "id" : 415 }, { "name" : "minecraft:lapis_ore", @@ -2109,11 +2225,11 @@ }, { "name" : "minecraft:lead", - "id" : 537 + "id" : 543 }, { "name" : "minecraft:leather", - "id" : 379 + "id" : 382 }, { "name" : "minecraft:leather_boots", @@ -2129,7 +2245,7 @@ }, { "name" : "minecraft:leather_horse_armor", - "id" : 520 + "id" : 526 }, { "name" : "minecraft:leather_leggings", @@ -2157,7 +2273,7 @@ }, { "name" : "minecraft:light_blue_dye", - "id" : 405 + "id" : 408 }, { "name" : "minecraft:light_blue_glazed_terracotta", @@ -2165,15 +2281,19 @@ }, { "name" : "minecraft:light_gray_dye", - "id" : 400 + "id" : 403 }, { "name" : "minecraft:light_weighted_pressure_plate", "id" : 147 }, + { + "name" : "minecraft:lightning_rod", + "id" : -312 + }, { "name" : "minecraft:lime_dye", - "id" : 403 + "id" : 406 }, { "name" : "minecraft:lime_glazed_terracotta", @@ -2181,7 +2301,7 @@ }, { "name" : "minecraft:lingering_potion", - "id" : 552 + "id" : 558 }, { "name" : "minecraft:lit_blast_furnace", @@ -2209,7 +2329,7 @@ }, { "name" : "minecraft:llama_spawn_egg", - "id" : 471 + "id" : 474 }, { "name" : "minecraft:lodestone", @@ -2217,7 +2337,7 @@ }, { "name" : "minecraft:lodestone_compass", - "id" : 590 + "id" : 596 }, { "name" : "minecraft:log", @@ -2233,7 +2353,7 @@ }, { "name" : "minecraft:magenta_dye", - "id" : 406 + "id" : 409 }, { "name" : "minecraft:magenta_glazed_terracotta", @@ -2245,15 +2365,15 @@ }, { "name" : "minecraft:magma_cream", - "id" : 428 + "id" : 431 }, { "name" : "minecraft:magma_cube_spawn_egg", - "id" : 453 + "id" : 456 }, { "name" : "minecraft:medicine", - "id" : 588 + "id" : 594 }, { "name" : "minecraft:melon_block", @@ -2277,7 +2397,7 @@ }, { "name" : "minecraft:minecart", - "id" : 368 + "id" : 371 }, { "name" : "minecraft:mob_spawner", @@ -2285,7 +2405,7 @@ }, { "name" : "minecraft:mojang_banner_pattern", - "id" : 574 + "id" : 580 }, { "name" : "minecraft:monster_egg", @@ -2293,7 +2413,15 @@ }, { "name" : "minecraft:mooshroom_spawn_egg", - "id" : 438 + "id" : 441 + }, + { + "name" : "minecraft:moss_block", + "id" : -320 + }, + { + "name" : "minecraft:moss_carpet", + "id" : -335 }, { "name" : "minecraft:mossy_cobblestone", @@ -2313,7 +2441,7 @@ }, { "name" : "minecraft:mule_spawn_egg", - "id" : 464 + "id" : 467 }, { "name" : "minecraft:mushroom_stew", @@ -2321,59 +2449,59 @@ }, { "name" : "minecraft:music_disc_11", - "id" : 534 + "id" : 540 }, { "name" : "minecraft:music_disc_13", - "id" : 524 - }, - { - "name" : "minecraft:music_disc_blocks", - "id" : 526 - }, - { - "name" : "minecraft:music_disc_cat", - "id" : 525 - }, - { - "name" : "minecraft:music_disc_chirp", - "id" : 527 - }, - { - "name" : "minecraft:music_disc_far", - "id" : 528 - }, - { - "name" : "minecraft:music_disc_mall", - "id" : 529 - }, - { - "name" : "minecraft:music_disc_mellohi", "id" : 530 }, { - "name" : "minecraft:music_disc_pigstep", - "id" : 608 - }, - { - "name" : "minecraft:music_disc_stal", - "id" : 531 - }, - { - "name" : "minecraft:music_disc_strad", + "name" : "minecraft:music_disc_blocks", "id" : 532 }, { - "name" : "minecraft:music_disc_wait", - "id" : 535 + "name" : "minecraft:music_disc_cat", + "id" : 531 }, { - "name" : "minecraft:music_disc_ward", + "name" : "minecraft:music_disc_chirp", "id" : 533 }, + { + "name" : "minecraft:music_disc_far", + "id" : 534 + }, + { + "name" : "minecraft:music_disc_mall", + "id" : 535 + }, + { + "name" : "minecraft:music_disc_mellohi", + "id" : 536 + }, + { + "name" : "minecraft:music_disc_pigstep", + "id" : 614 + }, + { + "name" : "minecraft:music_disc_stal", + "id" : 537 + }, + { + "name" : "minecraft:music_disc_strad", + "id" : 538 + }, + { + "name" : "minecraft:music_disc_wait", + "id" : 541 + }, + { + "name" : "minecraft:music_disc_ward", + "id" : 539 + }, { "name" : "minecraft:mutton", - "id" : 540 + "id" : 546 }, { "name" : "minecraft:mycelium", @@ -2381,15 +2509,15 @@ }, { "name" : "minecraft:name_tag", - "id" : 538 + "id" : 544 }, { "name" : "minecraft:nautilus_shell", - "id" : 560 + "id" : 566 }, { - "name" : "minecraft:netherbrick", - "id" : 513 + "name" : "minecraft:nether_brick", + "id" : 112 }, { "name" : "minecraft:nether_brick_fence", @@ -2405,11 +2533,11 @@ }, { "name" : "minecraft:nether_sprouts", - "id" : 609 + "id" : 615 }, { "name" : "minecraft:nether_star", - "id" : 508 + "id" : 514 }, { "name" : "minecraft:nether_wart", @@ -2419,9 +2547,13 @@ "name" : "minecraft:nether_wart_block", "id" : 214 }, + { + "name" : "minecraft:netherbrick", + "id" : 519 + }, { "name" : "minecraft:netherite_axe", - "id" : 595 + "id" : 601 }, { "name" : "minecraft:netherite_block", @@ -2429,43 +2561,43 @@ }, { "name" : "minecraft:netherite_boots", - "id" : 600 + "id" : 606 }, { "name" : "minecraft:netherite_chestplate", - "id" : 598 + "id" : 604 }, { "name" : "minecraft:netherite_helmet", - "id" : 597 + "id" : 603 }, { "name" : "minecraft:netherite_hoe", - "id" : 596 + "id" : 602 }, { "name" : "minecraft:netherite_ingot", - "id" : 591 + "id" : 597 }, { "name" : "minecraft:netherite_leggings", - "id" : 599 + "id" : 605 }, { "name" : "minecraft:netherite_pickaxe", - "id" : 594 + "id" : 600 }, { "name" : "minecraft:netherite_scrap", - "id" : 601 + "id" : 607 }, { "name" : "minecraft:netherite_shovel", - "id" : 593 + "id" : 599 }, { "name" : "minecraft:netherite_sword", - "id" : 592 + "id" : 598 }, { "name" : "minecraft:netherrack", @@ -2485,11 +2617,11 @@ }, { "name" : "minecraft:npc_spawn_egg", - "id" : 468 + "id" : 471 }, { "name" : "minecraft:oak_boat", - "id" : 373 + "id" : 376 }, { "name" : "minecraft:oak_sign", @@ -2509,16 +2641,36 @@ }, { "name" : "minecraft:ocelot_spawn_egg", - "id" : 449 + "id" : 452 }, { "name" : "minecraft:orange_dye", - "id" : 407 + "id" : 410 }, { "name" : "minecraft:orange_glazed_terracotta", "id" : 221 }, + { + "name" : "minecraft:oxidized_copper", + "id" : -343 + }, + { + "name" : "minecraft:oxidized_cut_copper", + "id" : -350 + }, + { + "name" : "minecraft:oxidized_cut_copper_slab", + "id" : -364 + }, + { + "name" : "minecraft:oxidized_cut_copper_stairs", + "id" : -357 + }, + { + "name" : "minecraft:oxidized_double_cut_copper_slab", + "id" : -371 + }, { "name" : "minecraft:packed_ice", "id" : 174 @@ -2529,47 +2681,47 @@ }, { "name" : "minecraft:panda_spawn_egg", - "id" : 487 + "id" : 490 }, { "name" : "minecraft:paper", - "id" : 384 + "id" : 387 }, { "name" : "minecraft:parrot_spawn_egg", - "id" : 476 + "id" : 479 }, { "name" : "minecraft:phantom_membrane", - "id" : 564 + "id" : 570 }, { "name" : "minecraft:phantom_spawn_egg", - "id" : 484 + "id" : 487 }, { "name" : "minecraft:pig_spawn_egg", - "id" : 435 + "id" : 438 }, { "name" : "minecraft:piglin_banner_pattern", - "id" : 577 + "id" : 583 }, { "name" : "minecraft:piglin_brute_spawn_egg", - "id" : 497 + "id" : 500 }, { "name" : "minecraft:piglin_spawn_egg", - "id" : 495 + "id" : 498 }, { "name" : "minecraft:pillager_spawn_egg", - "id" : 489 + "id" : 492 }, { "name" : "minecraft:pink_dye", - "id" : 402 + "id" : 405 }, { "name" : "minecraft:pink_glazed_terracotta", @@ -2591,13 +2743,17 @@ "name" : "minecraft:podzol", "id" : 243 }, + { + "name" : "minecraft:pointed_dripstone", + "id" : -308 + }, { "name" : "minecraft:poisonous_potato", "id" : 282 }, { "name" : "minecraft:polar_bear_spawn_egg", - "id" : 470 + "id" : 473 }, { "name" : "minecraft:polished_andesite_stairs", @@ -2665,7 +2821,7 @@ }, { "name" : "minecraft:popped_chorus_fruit", - "id" : 549 + "id" : 555 }, { "name" : "minecraft:porkchop", @@ -2685,7 +2841,15 @@ }, { "name" : "minecraft:potion", - "id" : 424 + "id" : 427 + }, + { + "name" : "minecraft:powder_snow", + "id" : -306 + }, + { + "name" : "minecraft:powder_snow_bucket", + "id" : 368 }, { "name" : "minecraft:powered_comparator", @@ -2705,11 +2869,11 @@ }, { "name" : "minecraft:prismarine_crystals", - "id" : 539 + "id" : 545 }, { "name" : "minecraft:prismarine_shard", - "id" : 555 + "id" : 561 }, { "name" : "minecraft:prismarine_stairs", @@ -2725,7 +2889,7 @@ }, { "name" : "minecraft:pufferfish_spawn_egg", - "id" : 479 + "id" : 482 }, { "name" : "minecraft:pumpkin", @@ -2745,7 +2909,7 @@ }, { "name" : "minecraft:purple_dye", - "id" : 398 + "id" : 401 }, { "name" : "minecraft:purple_glazed_terracotta", @@ -2761,7 +2925,7 @@ }, { "name" : "minecraft:quartz", - "id" : 514 + "id" : 520 }, { "name" : "minecraft:quartz_block", @@ -2785,15 +2949,15 @@ }, { "name" : "minecraft:rabbit_foot", - "id" : 518 + "id" : 524 }, { "name" : "minecraft:rabbit_hide", - "id" : 519 + "id" : 525 }, { "name" : "minecraft:rabbit_spawn_egg", - "id" : 457 + "id" : 460 }, { "name" : "minecraft:rabbit_stew", @@ -2805,11 +2969,11 @@ }, { "name" : "minecraft:rapid_fertilizer", - "id" : 586 + "id" : 592 }, { "name" : "minecraft:ravager_spawn_egg", - "id" : 491 + "id" : 494 }, { "name" : "minecraft:real_double_stone_slab", @@ -2829,7 +2993,7 @@ }, { "name" : "minecraft:red_dye", - "id" : 394 + "id" : 397 }, { "name" : "minecraft:red_flower", @@ -2865,7 +3029,7 @@ }, { "name" : "minecraft:redstone", - "id" : 371 + "id" : 374 }, { "name" : "minecraft:redstone_block", @@ -2889,7 +3053,7 @@ }, { "name" : "minecraft:repeater", - "id" : 417 + "id" : 420 }, { "name" : "minecraft:repeating_command_block", @@ -2909,7 +3073,7 @@ }, { "name" : "minecraft:saddle", - "id" : 369 + "id" : 372 }, { "name" : "minecraft:salmon", @@ -2921,7 +3085,7 @@ }, { "name" : "minecraft:salmon_spawn_egg", - "id" : 480 + "id" : 483 }, { "name" : "minecraft:sand", @@ -2943,9 +3107,13 @@ "name" : "minecraft:scaffolding", "id" : -165 }, + { + "name" : "minecraft:sculk_sensor", + "id" : -307 + }, { "name" : "minecraft:scute", - "id" : 562 + "id" : 568 }, { "name" : "minecraft:sea_pickle", @@ -2961,11 +3129,11 @@ }, { "name" : "minecraft:shears", - "id" : 419 + "id" : 422 }, { "name" : "minecraft:sheep_spawn_egg", - "id" : 436 + "id" : 439 }, { "name" : "minecraft:shield", @@ -2981,11 +3149,11 @@ }, { "name" : "minecraft:shulker_shell", - "id" : 556 + "id" : 562 }, { "name" : "minecraft:shulker_spawn_egg", - "id" : 467 + "id" : 470 }, { "name" : "minecraft:silver_glazed_terracotta", @@ -2993,23 +3161,23 @@ }, { "name" : "minecraft:silverfish_spawn_egg", - "id" : 441 + "id" : 444 }, { "name" : "minecraft:skeleton_horse_spawn_egg", - "id" : 465 + "id" : 468 }, { "name" : "minecraft:skeleton_spawn_egg", - "id" : 442 + "id" : 445 }, { "name" : "minecraft:skull", - "id" : 506 + "id" : 512 }, { "name" : "minecraft:skull_banner_pattern", - "id" : 573 + "id" : 579 }, { "name" : "minecraft:slime", @@ -3017,11 +3185,15 @@ }, { "name" : "minecraft:slime_ball", - "id" : 386 + "id" : 389 }, { "name" : "minecraft:slime_spawn_egg", - "id" : 443 + "id" : 446 + }, + { + "name" : "minecraft:small_dripleaf_block", + "id" : -336 }, { "name" : "minecraft:smithing_table", @@ -3057,11 +3229,11 @@ }, { "name" : "minecraft:snowball", - "id" : 372 + "id" : 375 }, { "name" : "minecraft:soul_campfire", - "id" : 610 + "id" : 616 }, { "name" : "minecraft:soul_fire", @@ -3085,11 +3257,11 @@ }, { "name" : "minecraft:sparkler", - "id" : 589 + "id" : 595 }, { "name" : "minecraft:spawn_egg", - "id" : 614 + "id" : 622 }, { "name" : "minecraft:spider_eye", @@ -3097,19 +3269,23 @@ }, { "name" : "minecraft:spider_spawn_egg", - "id" : 444 + "id" : 447 }, { "name" : "minecraft:splash_potion", - "id" : 551 + "id" : 557 }, { "name" : "minecraft:sponge", "id" : 19 }, + { + "name" : "minecraft:spore_blossom", + "id" : -321 + }, { "name" : "minecraft:spruce_boat", - "id" : 376 + "id" : 379 }, { "name" : "minecraft:spruce_button", @@ -3117,7 +3293,7 @@ }, { "name" : "minecraft:spruce_door", - "id" : 543 + "id" : 549 }, { "name" : "minecraft:spruce_fence_gate", @@ -3129,7 +3305,7 @@ }, { "name" : "minecraft:spruce_sign", - "id" : 566 + "id" : 572 }, { "name" : "minecraft:spruce_stairs", @@ -3149,7 +3325,7 @@ }, { "name" : "minecraft:squid_spawn_egg", - "id" : 448 + "id" : 451 }, { "name" : "minecraft:stained_glass", @@ -3237,11 +3413,11 @@ }, { "name" : "minecraft:stray_spawn_egg", - "id" : 460 + "id" : 463 }, { "name" : "minecraft:strider_spawn_egg", - "id" : 493 + "id" : 496 }, { "name" : "minecraft:string", @@ -3297,15 +3473,15 @@ }, { "name" : "minecraft:sugar", - "id" : 414 + "id" : 417 }, { "name" : "minecraft:sugar_cane", - "id" : 383 + "id" : 386 }, { "name" : "minecraft:suspicious_stew", - "id" : 579 + "id" : 585 }, { "name" : "minecraft:sweet_berries", @@ -3329,7 +3505,7 @@ }, { "name" : "minecraft:tnt_minecart", - "id" : 515 + "id" : 521 }, { "name" : "minecraft:torch", @@ -3337,7 +3513,7 @@ }, { "name" : "minecraft:totem_of_undying", - "id" : 558 + "id" : 564 }, { "name" : "minecraft:trapdoor", @@ -3349,7 +3525,7 @@ }, { "name" : "minecraft:trident", - "id" : 536 + "id" : 542 }, { "name" : "minecraft:tripwire", @@ -3369,7 +3545,7 @@ }, { "name" : "minecraft:tropical_fish_spawn_egg", - "id" : 477 + "id" : 480 }, { "name" : "minecraft:turtle_egg", @@ -3377,11 +3553,11 @@ }, { "name" : "minecraft:turtle_helmet", - "id" : 563 + "id" : 569 }, { "name" : "minecraft:turtle_spawn_egg", - "id" : 483 + "id" : 486 }, { "name" : "minecraft:twisting_vines", @@ -3413,15 +3589,15 @@ }, { "name" : "minecraft:vex_spawn_egg", - "id" : 474 + "id" : 477 }, { "name" : "minecraft:villager_spawn_egg", - "id" : 447 + "id" : 450 }, { "name" : "minecraft:vindicator_spawn_egg", - "id" : 472 + "id" : 475 }, { "name" : "minecraft:vine", @@ -3437,7 +3613,7 @@ }, { "name" : "minecraft:wandering_trader_spawn_egg", - "id" : 490 + "id" : 493 }, { "name" : "minecraft:warped_button", @@ -3445,7 +3621,7 @@ }, { "name" : "minecraft:warped_door", - "id" : 605 + "id" : 611 }, { "name" : "minecraft:warped_double_slab", @@ -3465,7 +3641,7 @@ }, { "name" : "minecraft:warped_fungus_on_a_stick", - "id" : 606 + "id" : 612 }, { "name" : "minecraft:warped_hyphae", @@ -3489,7 +3665,7 @@ }, { "name" : "minecraft:warped_sign", - "id" : 603 + "id" : 609 }, { "name" : "minecraft:warped_slab", @@ -3531,6 +3707,86 @@ "name" : "minecraft:waterlily", "id" : 111 }, + { + "name" : "minecraft:waxed_copper", + "id" : -344 + }, + { + "name" : "minecraft:waxed_cut_copper", + "id" : -351 + }, + { + "name" : "minecraft:waxed_cut_copper_slab", + "id" : -365 + }, + { + "name" : "minecraft:waxed_cut_copper_stairs", + "id" : -358 + }, + { + "name" : "minecraft:waxed_double_cut_copper_slab", + "id" : -372 + }, + { + "name" : "minecraft:waxed_exposed_copper", + "id" : -345 + }, + { + "name" : "minecraft:waxed_exposed_cut_copper", + "id" : -352 + }, + { + "name" : "minecraft:waxed_exposed_cut_copper_slab", + "id" : -366 + }, + { + "name" : "minecraft:waxed_exposed_cut_copper_stairs", + "id" : -359 + }, + { + "name" : "minecraft:waxed_exposed_double_cut_copper_slab", + "id" : -373 + }, + { + "name" : "minecraft:waxed_weathered_copper", + "id" : -346 + }, + { + "name" : "minecraft:waxed_weathered_cut_copper", + "id" : -353 + }, + { + "name" : "minecraft:waxed_weathered_cut_copper_slab", + "id" : -367 + }, + { + "name" : "minecraft:waxed_weathered_cut_copper_stairs", + "id" : -360 + }, + { + "name" : "minecraft:waxed_weathered_double_cut_copper_slab", + "id" : -374 + }, + { + "name" : "minecraft:weathered_copper", + "id" : -342 + }, + { + "name" : "minecraft:weathered_cut_copper", + "id" : -349 + }, + { + "name" : "minecraft:weathered_cut_copper_slab", + "id" : -363 + }, + { + "name" : "minecraft:weathered_cut_copper_stairs", + "id" : -356 + }, + { + "name" : "minecraft:weathered_double_cut_copper_slab", + "id" : -370 + }, { "name" : "minecraft:web", "id" : 30 @@ -3549,7 +3805,7 @@ }, { "name" : "minecraft:white_dye", - "id" : 408 + "id" : 411 }, { "name" : "minecraft:white_glazed_terracotta", @@ -3557,7 +3813,7 @@ }, { "name" : "minecraft:witch_spawn_egg", - "id" : 450 + "id" : 453 }, { "name" : "minecraft:wither_rose", @@ -3565,11 +3821,11 @@ }, { "name" : "minecraft:wither_skeleton_spawn_egg", - "id" : 462 + "id" : 465 }, { "name" : "minecraft:wolf_spawn_egg", - "id" : 437 + "id" : 440 }, { "name" : "minecraft:wood", @@ -3617,15 +3873,15 @@ }, { "name" : "minecraft:writable_book", - "id" : 500 + "id" : 506 }, { "name" : "minecraft:written_book", - "id" : 501 + "id" : 507 }, { "name" : "minecraft:yellow_dye", - "id" : 404 + "id" : 407 }, { "name" : "minecraft:yellow_flower", @@ -3637,22 +3893,22 @@ }, { "name" : "minecraft:zoglin_spawn_egg", - "id" : 496 + "id" : 499 }, { "name" : "minecraft:zombie_horse_spawn_egg", - "id" : 466 + "id" : 469 }, { "name" : "minecraft:zombie_pigman_spawn_egg", - "id" : 446 + "id" : 449 }, { "name" : "minecraft:zombie_spawn_egg", - "id" : 445 + "id" : 448 }, { "name" : "minecraft:zombie_villager_spawn_egg", - "id" : 475 + "id" : 478 } ] \ No newline at end of file