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 4513be031..000000000 Binary files a/connector/src/main/resources/bedrock/blockpalette.1_16_100.nbt and /dev/null differ diff --git a/connector/src/main/resources/bedrock/blockpalette.1_16_210.nbt b/connector/src/main/resources/bedrock/blockpalette.1_16_210.nbt index 178a370ed..aef6203a9 100644 Binary files a/connector/src/main/resources/bedrock/blockpalette.1_16_210.nbt and b/connector/src/main/resources/bedrock/blockpalette.1_16_210.nbt differ 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