mirror of
https://github.com/GeyserMC/Geyser.git
synced 2025-12-19 14:59:27 +00:00
Support bedrock 1.21.110 (#5844)
* Initial work on 1.21.110 * Drop support for 1.21.70 and 1.21.80 * Update README * Target new mappings, build on Protocol without adventure * Add item tags for 1.21.100 and 1.21.110 * Target protocol with separate adventure module, cleanup * Use upstream protocol library * Update to 844, send fake chest whenever a single chest can be merged into a double chest on the client * Target mappings at master * Actually update to 844 --------- Co-authored-by: chris <github@onechris.mozmail.com>
This commit is contained in:
@@ -15,7 +15,7 @@ The ultimate goal of this project is to allow Minecraft: Bedrock Edition users t
|
||||
Special thanks to the DragonProxy project for being a trailblazer in protocol translation and for all the team members who have joined us here!
|
||||
|
||||
## Supported Versions
|
||||
Geyser is currently supporting Minecraft Bedrock 1.21.70 - 1.21.101 and Minecraft Java 1.21.7 - 1.21.8. For more information, please see [here](https://geysermc.org/wiki/geyser/supported-versions/).
|
||||
Geyser is currently supporting Minecraft Bedrock 1.21.90 - 1.21.110 and Minecraft Java 1.21.7 - 1.21.8. For more information, please see [here](https://geysermc.org/wiki/geyser/supported-versions/).
|
||||
|
||||
## Setting Up
|
||||
Take a look [here](https://geysermc.org/wiki/geyser/setup/) for how to set up Geyser.
|
||||
|
||||
@@ -33,7 +33,6 @@ import org.cloudburstmc.protocol.bedrock.packet.AnimatePacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.MoveEntityAbsolutePacket;
|
||||
import org.geysermc.geyser.entity.EntityDefinition;
|
||||
import org.geysermc.geyser.entity.EntityDefinitions;
|
||||
import org.geysermc.geyser.network.GameProtocol;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
import org.geysermc.geyser.util.InteractionResult;
|
||||
import org.geysermc.geyser.util.InteractiveTag;
|
||||
@@ -208,19 +207,11 @@ public class BoatEntity extends Entity implements Leashable, Tickable {
|
||||
|
||||
if (isPaddlingLeft) {
|
||||
paddleTimeLeft += ROWING_SPEED;
|
||||
if (GameProtocol.is1_21_80orHigher(session)) {
|
||||
dirtyMetadata.put(EntityDataTypes.ROW_TIME_LEFT, paddleTimeLeft);
|
||||
} else {
|
||||
sendAnimationPacket(session, rower, AnimatePacket.Action.ROW_LEFT, paddleTimeLeft);
|
||||
}
|
||||
}
|
||||
if (isPaddlingRight) {
|
||||
paddleTimeRight += ROWING_SPEED;
|
||||
if (GameProtocol.is1_21_80orHigher(session)) {
|
||||
dirtyMetadata.put(EntityDataTypes.ROW_TIME_RIGHT, paddleTimeRight);
|
||||
} else {
|
||||
sendAnimationPacket(session, rower, AnimatePacket.Action.ROW_RIGHT, paddleTimeRight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@ import org.cloudburstmc.math.vector.Vector3f;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.AddPaintingPacket;
|
||||
import org.geysermc.geyser.entity.EntityDefinition;
|
||||
import org.geysermc.geyser.level.PaintingType;
|
||||
import org.geysermc.geyser.network.GameProtocol;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
import org.geysermc.geyser.session.cache.registry.JavaRegistries;
|
||||
import org.geysermc.mcprotocollib.protocol.data.game.Holder;
|
||||
@@ -79,10 +78,6 @@ public class PaintingEntity extends HangingEntity {
|
||||
return;
|
||||
}
|
||||
|
||||
if (type == PaintingType.DENNIS && !GameProtocol.is1_21_90orHigher(session)) {
|
||||
type = PaintingType.TIDES;
|
||||
}
|
||||
|
||||
AddPaintingPacket addPaintingPacket = new AddPaintingPacket();
|
||||
addPaintingPacket.setUniqueEntityId(geyserId);
|
||||
addPaintingPacket.setRuntimeEntityId(geyserId);
|
||||
|
||||
@@ -134,7 +134,7 @@ public class BlockInventoryHolder extends InventoryHolder {
|
||||
// and the bedrock block is vanilla
|
||||
BlockState state = session.getGeyser().getWorldManager().blockAt(session, session.getLastInteractionBlockPosition());
|
||||
if (!BlockRegistries.CUSTOM_BLOCK_STATE_OVERRIDES.get().containsKey(state.javaId())) {
|
||||
if (isValidBlock(state)) {
|
||||
if (isValidBlock(session, session.getLastInteractionBlockPosition(), state)) {
|
||||
// We can safely use this block
|
||||
container.setHolderPosition(session.getLastInteractionBlockPosition());
|
||||
container.setUsingRealBlock(true, state.block());
|
||||
@@ -161,7 +161,7 @@ public class BlockInventoryHolder extends InventoryHolder {
|
||||
/**
|
||||
* @return true if this Java block ID can be used for player inventory.
|
||||
*/
|
||||
protected boolean isValidBlock(BlockState blockState) {
|
||||
protected boolean isValidBlock(GeyserSession session, Vector3i position, BlockState blockState) {
|
||||
return this.validBlocks.contains(blockState.block());
|
||||
}
|
||||
|
||||
|
||||
@@ -29,11 +29,10 @@ import it.unimi.dsi.fastutil.ints.IntArrayList;
|
||||
import it.unimi.dsi.fastutil.ints.IntList;
|
||||
import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.BedrockCodec;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v786.Bedrock_v786;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v800.Bedrock_v800;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v818.Bedrock_v818;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v819.Bedrock_v819;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v827.Bedrock_v827;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v844.Bedrock_v844;
|
||||
import org.cloudburstmc.protocol.bedrock.netty.codec.packet.BedrockPacketCodec;
|
||||
import org.geysermc.geyser.api.util.MinecraftVersion;
|
||||
import org.geysermc.geyser.impl.MinecraftVersionImpl;
|
||||
@@ -84,11 +83,10 @@ public final class GameProtocol {
|
||||
|
||||
static {
|
||||
// Strict ordering
|
||||
register(Bedrock_v786.CODEC, "1.21.70", "1.21.71", "1.21.72", "1.21.73");
|
||||
register(Bedrock_v800.CODEC, "1.21.80", "1.21.81", "1.21.82", "1.21.83", "1.21.84");
|
||||
register(Bedrock_v818.CODEC, "1.21.90", "1.21.91", "1.21.92");
|
||||
register(Bedrock_v819.CODEC, "1.21.93", "1.21.94");
|
||||
register(Bedrock_v827.CODEC, "1.21.100", "1.21.101");
|
||||
register(Bedrock_v844.CODEC, "1.21.110");
|
||||
|
||||
MinecraftVersion latestBedrock = SUPPORTED_BEDROCK_VERSIONS.get(SUPPORTED_BEDROCK_VERSIONS.size() - 1);
|
||||
DEFAULT_BEDROCK_VERSION = latestBedrock.versionString();
|
||||
@@ -140,20 +138,8 @@ public final class GameProtocol {
|
||||
|
||||
/* Bedrock convenience methods to gatekeep features and easily remove the check on version removal */
|
||||
|
||||
public static boolean isTheOneVersionWithBrokenForms(GeyserSession session) {
|
||||
return session.protocolVersion() == Bedrock_v786.CODEC.getProtocolVersion();
|
||||
}
|
||||
|
||||
public static boolean is1_21_80orHigher(GeyserSession session) {
|
||||
return session.protocolVersion() >= Bedrock_v800.CODEC.getProtocolVersion();
|
||||
}
|
||||
|
||||
public static boolean is1_21_90orHigher(GeyserSession session) {
|
||||
return session.protocolVersion() >= Bedrock_v818.CODEC.getProtocolVersion();
|
||||
}
|
||||
|
||||
public static boolean is1_21_80(GeyserSession session) {
|
||||
return session.protocolVersion() == Bedrock_v800.CODEC.getProtocolVersion();
|
||||
public static boolean is1_21_110orHigher(GeyserSession session) {
|
||||
return session.protocolVersion() >= Bedrock_v844.CODEC.getProtocolVersion();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -30,7 +30,6 @@ import org.cloudburstmc.math.vector.Vector2f;
|
||||
import org.cloudburstmc.protocol.bedrock.BedrockDisconnectReasons;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.BedrockCodec;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.compat.BedrockCompat;
|
||||
import org.cloudburstmc.protocol.bedrock.data.ExperimentData;
|
||||
import org.cloudburstmc.protocol.bedrock.data.PacketCompressionAlgorithm;
|
||||
import org.cloudburstmc.protocol.bedrock.data.ResourcePackType;
|
||||
import org.cloudburstmc.protocol.bedrock.netty.codec.compression.CompressionStrategy;
|
||||
@@ -151,14 +150,14 @@ public class UpstreamPacketHandler extends LoggingPacketHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisconnect(String reason) {
|
||||
public void onDisconnect(CharSequence reason) {
|
||||
// Use our own disconnect messages for these reasons
|
||||
if (BedrockDisconnectReasons.CLOSED.equals(reason)) {
|
||||
if (BedrockDisconnectReasons.CLOSED.contentEquals(reason)) {
|
||||
this.session.getUpstream().getSession().setDisconnectReason(GeyserLocale.getLocaleStringLog("geyser.network.disconnect.closed_by_remote_peer"));
|
||||
} else if (BedrockDisconnectReasons.TIMEOUT.equals(reason)) {
|
||||
} else if (BedrockDisconnectReasons.TIMEOUT.contentEquals(reason)) {
|
||||
this.session.getUpstream().getSession().setDisconnectReason(GeyserLocale.getLocaleStringLog("geyser.network.disconnect.timed_out"));
|
||||
}
|
||||
this.session.disconnect(this.session.getUpstream().getSession().getDisconnectReason());
|
||||
this.session.disconnect(this.session.getUpstream().getSession().getDisconnectReason().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -288,17 +287,6 @@ public class UpstreamPacketHandler extends LoggingPacketHandler {
|
||||
stackPacket.setForcedToAccept(false); // Leaving this as false allows the player to choose to download or not
|
||||
stackPacket.setGameVersion(session.getClientData().getGameVersion());
|
||||
stackPacket.getResourcePacks().addAll(this.resourcePackLoadEvent.orderedPacks());
|
||||
// Allows Vibrant Visuals to be toggled in the settings
|
||||
if (session.isAllowVibrantVisuals() && !GameProtocol.is1_21_90orHigher(session)) {
|
||||
stackPacket.getExperiments().add(new ExperimentData("experimental_graphics", true));
|
||||
}
|
||||
|
||||
if (GameProtocol.is1_21_80(session)) {
|
||||
// Support happy ghasts in .80
|
||||
stackPacket.getExperiments().add(new ExperimentData("y_2025_drop_2", true));
|
||||
// Enables the locator bar for 1.21.80 clients
|
||||
stackPacket.getExperiments().add(new ExperimentData("locator_bar", true));
|
||||
}
|
||||
|
||||
session.sendUpstreamPacket(stackPacket);
|
||||
}
|
||||
|
||||
@@ -43,11 +43,10 @@ import org.cloudburstmc.nbt.NbtMap;
|
||||
import org.cloudburstmc.nbt.NbtMapBuilder;
|
||||
import org.cloudburstmc.nbt.NbtType;
|
||||
import org.cloudburstmc.nbt.NbtUtils;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v786.Bedrock_v786;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v800.Bedrock_v800;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v818.Bedrock_v818;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v819.Bedrock_v819;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v827.Bedrock_v827;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v844.Bedrock_v844;
|
||||
import org.cloudburstmc.protocol.bedrock.data.BlockPropertyData;
|
||||
import org.cloudburstmc.protocol.bedrock.data.definitions.BlockDefinition;
|
||||
import org.geysermc.geyser.GeyserImpl;
|
||||
@@ -60,7 +59,7 @@ import org.geysermc.geyser.level.block.type.Block;
|
||||
import org.geysermc.geyser.level.block.type.BlockState;
|
||||
import org.geysermc.geyser.level.block.type.FlowerPotBlock;
|
||||
import org.geysermc.geyser.registry.BlockRegistries;
|
||||
import org.geysermc.geyser.registry.populator.conversion.Conversion800_786;
|
||||
import org.geysermc.geyser.registry.populator.conversion.Conversion844_827;
|
||||
import org.geysermc.geyser.registry.type.BlockMappings;
|
||||
import org.geysermc.geyser.registry.type.GeyserBedrockBlock;
|
||||
|
||||
@@ -120,11 +119,10 @@ public final class BlockRegistryPopulator {
|
||||
|
||||
private static void registerBedrockBlocks() {
|
||||
var blockMappers = ImmutableMap.<ObjectIntPair<String>, Remapper>builder()
|
||||
.put(ObjectIntPair.of("1_21_70", Bedrock_v786.CODEC.getProtocolVersion()), Conversion800_786::remapBlock)
|
||||
.put(ObjectIntPair.of("1_21_80", Bedrock_v800.CODEC.getProtocolVersion()), tag -> tag)
|
||||
.put(ObjectIntPair.of("1_21_90", Bedrock_v818.CODEC.getProtocolVersion()), tag -> tag)
|
||||
.put(ObjectIntPair.of("1_21_90", Bedrock_v819.CODEC.getProtocolVersion()), tag -> tag)
|
||||
.put(ObjectIntPair.of("1_21_100", Bedrock_v827.CODEC.getProtocolVersion()), tag -> tag)
|
||||
.put(ObjectIntPair.of("1_21_90", Bedrock_v818.CODEC.getProtocolVersion()), Conversion844_827::remapBlock)
|
||||
.put(ObjectIntPair.of("1_21_90", Bedrock_v819.CODEC.getProtocolVersion()), Conversion844_827::remapBlock)
|
||||
.put(ObjectIntPair.of("1_21_100", Bedrock_v827.CODEC.getProtocolVersion()), Conversion844_827::remapBlock)
|
||||
.put(ObjectIntPair.of("1_21_110", Bedrock_v844.CODEC.getProtocolVersion()), tag -> tag)
|
||||
.build();
|
||||
|
||||
// We can keep this strong as nothing should be garbage collected
|
||||
|
||||
@@ -45,11 +45,10 @@ import org.cloudburstmc.nbt.NbtMap;
|
||||
import org.cloudburstmc.nbt.NbtMapBuilder;
|
||||
import org.cloudburstmc.nbt.NbtType;
|
||||
import org.cloudburstmc.nbt.NbtUtils;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v786.Bedrock_v786;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v800.Bedrock_v800;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v818.Bedrock_v818;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v819.Bedrock_v819;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v827.Bedrock_v827;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v844.Bedrock_v844;
|
||||
import org.cloudburstmc.protocol.bedrock.data.definitions.BlockDefinition;
|
||||
import org.cloudburstmc.protocol.bedrock.data.definitions.ItemDefinition;
|
||||
import org.cloudburstmc.protocol.bedrock.data.definitions.SimpleItemDefinition;
|
||||
@@ -74,6 +73,7 @@ import org.geysermc.geyser.item.type.Item;
|
||||
import org.geysermc.geyser.level.block.property.Properties;
|
||||
import org.geysermc.geyser.registry.BlockRegistries;
|
||||
import org.geysermc.geyser.registry.Registries;
|
||||
import org.geysermc.geyser.registry.populator.conversion.Conversion844_827;
|
||||
import org.geysermc.geyser.registry.type.BlockMappings;
|
||||
import org.geysermc.geyser.registry.type.GeyserBedrockBlock;
|
||||
import org.geysermc.geyser.registry.type.GeyserMappingItem;
|
||||
@@ -86,7 +86,6 @@ import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@@ -107,6 +106,10 @@ public class ItemRegistryPopulator {
|
||||
public PaletteVersion(String version, int protocolVersion, Map<Item, Item> javaOnlyItems) {
|
||||
this(version, protocolVersion, javaOnlyItems, (item, mapping) -> mapping);
|
||||
}
|
||||
|
||||
public PaletteVersion(String version, int protocolVersion, Remapper remapper) {
|
||||
this(version, protocolVersion, Collections.emptyMap(), remapper);
|
||||
}
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
@@ -116,39 +119,11 @@ public class ItemRegistryPopulator {
|
||||
}
|
||||
|
||||
public static void populate() {
|
||||
// Fallbacks for 1.21.6 items (1.21.6 -> 1.21.5)
|
||||
Map<Item, Item> itemFallbacks = new HashMap<>();
|
||||
itemFallbacks.put(Items.BLACK_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.BLUE_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.BROWN_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.RED_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.GREEN_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.YELLOW_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.ORANGE_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.MAGENTA_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.LIGHT_BLUE_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.LIME_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.PINK_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.GRAY_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.CYAN_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.PURPLE_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.LIGHT_GRAY_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.WHITE_HARNESS, Items.SADDLE);
|
||||
itemFallbacks.put(Items.HAPPY_GHAST_SPAWN_EGG, Items.EGG);
|
||||
itemFallbacks.put(Items.DRIED_GHAST, Items.PLAYER_HEAD);
|
||||
itemFallbacks.put(Items.MUSIC_DISC_TEARS, Items.MUSIC_DISC_5);
|
||||
itemFallbacks.put(Items.MUSIC_DISC_LAVA_CHICKEN, Items.MUSIC_DISC_CHIRP);
|
||||
|
||||
Map<Item, Item> fallbacks1_21_80 = new HashMap<>();
|
||||
fallbacks1_21_80.put(Items.MUSIC_DISC_LAVA_CHICKEN, Items.MUSIC_DISC_CHIRP);
|
||||
fallbacks1_21_80.put(Items.MUSIC_DISC_TEARS, Items.MUSIC_DISC_5);
|
||||
|
||||
List<PaletteVersion> paletteVersions = new ArrayList<>(4);
|
||||
paletteVersions.add(new PaletteVersion("1_21_70", Bedrock_v786.CODEC.getProtocolVersion(), itemFallbacks));
|
||||
paletteVersions.add(new PaletteVersion("1_21_80", Bedrock_v800.CODEC.getProtocolVersion(), fallbacks1_21_80));
|
||||
paletteVersions.add(new PaletteVersion("1_21_90", Bedrock_v818.CODEC.getProtocolVersion(), Map.of(Items.MUSIC_DISC_LAVA_CHICKEN, Items.MUSIC_DISC_CHIRP)));
|
||||
paletteVersions.add(new PaletteVersion("1_21_93", Bedrock_v819.CODEC.getProtocolVersion()));
|
||||
paletteVersions.add(new PaletteVersion("1_21_100", Bedrock_v827.CODEC.getProtocolVersion()));
|
||||
List<PaletteVersion> paletteVersions = new ArrayList<>(6);
|
||||
paletteVersions.add(new PaletteVersion("1_21_90", Bedrock_v818.CODEC.getProtocolVersion(), Map.of(Items.MUSIC_DISC_LAVA_CHICKEN, Items.MUSIC_DISC_CHIRP), Conversion844_827::remapItem));
|
||||
paletteVersions.add(new PaletteVersion("1_21_93", Bedrock_v819.CODEC.getProtocolVersion(), Conversion844_827::remapItem));
|
||||
paletteVersions.add(new PaletteVersion("1_21_100", Bedrock_v827.CODEC.getProtocolVersion(), Conversion844_827::remapItem));
|
||||
paletteVersions.add(new PaletteVersion("1_21_110", Bedrock_v844.CODEC.getProtocolVersion()));
|
||||
|
||||
GeyserBootstrap bootstrap = GeyserImpl.getInstance().getBootstrap();
|
||||
|
||||
|
||||
@@ -33,9 +33,10 @@ import it.unimi.dsi.fastutil.ints.IntArrayList;
|
||||
import it.unimi.dsi.fastutil.ints.IntList;
|
||||
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenCustomHashMap;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectIntPair;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v786.Bedrock_v786;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v800.Bedrock_v800;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v818.Bedrock_v818;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v819.Bedrock_v819;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v827.Bedrock_v827;
|
||||
import org.cloudburstmc.protocol.bedrock.codec.v844.Bedrock_v844;
|
||||
import org.geysermc.geyser.GeyserBootstrap;
|
||||
import org.geysermc.geyser.GeyserImpl;
|
||||
import org.geysermc.geyser.item.type.Item;
|
||||
@@ -68,10 +69,11 @@ public final class TagRegistryPopulator {
|
||||
};
|
||||
|
||||
List<ObjectIntPair<String>> paletteVersions = List.of(
|
||||
ObjectIntPair.of("1_21_70", Bedrock_v786.CODEC.getProtocolVersion()),
|
||||
// Not a typo, they're the same file
|
||||
ObjectIntPair.of("1_21_70", Bedrock_v800.CODEC.getProtocolVersion()),
|
||||
ObjectIntPair.of("1_21_70", Bedrock_v818.CODEC.getProtocolVersion())
|
||||
ObjectIntPair.of("1_21_90", Bedrock_v818.CODEC.getProtocolVersion()),
|
||||
// Not a typo, it's the same file
|
||||
ObjectIntPair.of("1_21_90", Bedrock_v819.CODEC.getProtocolVersion()),
|
||||
ObjectIntPair.of("1_21_100", Bedrock_v827.CODEC.getProtocolVersion()),
|
||||
ObjectIntPair.of("1_21_110", Bedrock_v844.CODEC.getProtocolVersion())
|
||||
);
|
||||
Type type = new TypeToken<Map<String, List<String>>>() {}.getType();
|
||||
|
||||
|
||||
@@ -26,16 +26,32 @@
|
||||
package org.geysermc.geyser.registry.populator.conversion;
|
||||
|
||||
import org.cloudburstmc.nbt.NbtMap;
|
||||
import org.cloudburstmc.nbt.NbtMapBuilder;
|
||||
import org.geysermc.geyser.item.Items;
|
||||
import org.geysermc.geyser.item.type.Item;
|
||||
import org.geysermc.geyser.registry.type.GeyserMappingItem;
|
||||
|
||||
public class Conversion800_786 {
|
||||
public class Conversion844_827 {
|
||||
|
||||
public static NbtMap remapBlock(NbtMap nbtMap) {
|
||||
|
||||
final String name = nbtMap.getString("name");
|
||||
if (name.equals("minecraft:dried_ghast")) {
|
||||
return ConversionHelper.withoutStates("unknown");
|
||||
if (name.equals("minecraft:iron_chain")) {
|
||||
return ConversionHelper.withName(nbtMap, "chain");
|
||||
} else if (name.equals("minecraft:lightning_rod")) {
|
||||
NbtMapBuilder statesWithoutPoweredBit = nbtMap.getCompound("states").toBuilder();
|
||||
statesWithoutPoweredBit.remove("powered_bit");
|
||||
return nbtMap.toBuilder()
|
||||
.putCompound("states", statesWithoutPoweredBit.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
return nbtMap;
|
||||
}
|
||||
|
||||
public static GeyserMappingItem remapItem(Item item, GeyserMappingItem mapping) {
|
||||
if (item == Items.CHAIN) {
|
||||
return mapping.withBedrockIdentifier("minecraft:chain");
|
||||
}
|
||||
return mapping;
|
||||
}
|
||||
}
|
||||
@@ -155,7 +155,6 @@ import org.geysermc.geyser.item.type.BlockItem;
|
||||
import org.geysermc.geyser.level.BedrockDimension;
|
||||
import org.geysermc.geyser.level.JavaDimension;
|
||||
import org.geysermc.geyser.level.physics.CollisionManager;
|
||||
import org.geysermc.geyser.network.GameProtocol;
|
||||
import org.geysermc.geyser.network.netty.LocalSession;
|
||||
import org.geysermc.geyser.registry.Registries;
|
||||
import org.geysermc.geyser.registry.type.BlockMappings;
|
||||
@@ -836,15 +835,9 @@ public class GeyserSession implements GeyserConnection, GeyserCommandSource {
|
||||
|
||||
ChunkUtils.sendEmptyChunks(this, playerEntity.getPosition().toInt(), 0, false);
|
||||
|
||||
if (GameProtocol.is1_21_80orHigher(this)) {
|
||||
BiomeDefinitionListPacket biomeDefinitionListPacket = new BiomeDefinitionListPacket();
|
||||
biomeDefinitionListPacket.setBiomes(Registries.BIOMES.get());
|
||||
upstream.sendPacket(biomeDefinitionListPacket);
|
||||
} else {
|
||||
BiomeDefinitionListPacket biomeDefinitionListPacket = new BiomeDefinitionListPacket();
|
||||
biomeDefinitionListPacket.setDefinitions(Registries.BIOMES_NBT.get());
|
||||
upstream.sendPacket(biomeDefinitionListPacket);
|
||||
}
|
||||
|
||||
AvailableEntityIdentifiersPacket entityPacket = new AvailableEntityIdentifiersPacket();
|
||||
entityPacket.setIdentifiers(Registries.BEDROCK_ENTITY_IDENTIFIERS.get());
|
||||
@@ -1801,16 +1794,6 @@ public class GeyserSession implements GeyserConnection, GeyserCommandSource {
|
||||
startGamePacket.getExperiments().add(new ExperimentData("upcoming_creator_features", true));
|
||||
// Needed for certain molang queries used in blocks and items
|
||||
startGamePacket.getExperiments().add(new ExperimentData("experimental_molang_features", true));
|
||||
// Allows Vibrant Visuals to appear in the settings menu
|
||||
if (allowVibrantVisuals && !GameProtocol.is1_21_90orHigher(this)) {
|
||||
startGamePacket.getExperiments().add(new ExperimentData("experimental_graphics", true));
|
||||
}
|
||||
// Enables 2025 Content Drop 2 features
|
||||
if (GameProtocol.is1_21_80(this)) {
|
||||
startGamePacket.getExperiments().add(new ExperimentData("y_2025_drop_2", true));
|
||||
// Enables the locator bar for 1.21.80 clients
|
||||
startGamePacket.getExperiments().add(new ExperimentData("locator_bar", true));
|
||||
}
|
||||
|
||||
startGamePacket.setVanillaVersion("*");
|
||||
startGamePacket.setInventoriesServerAuthoritative(true);
|
||||
|
||||
@@ -25,34 +25,23 @@
|
||||
|
||||
package org.geysermc.geyser.session.cache;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonArray;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import it.unimi.dsi.fastutil.ints.IntArrayList;
|
||||
import it.unimi.dsi.fastutil.ints.IntList;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.ModalFormRequestPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.ModalFormResponsePacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.NetworkStackLatencyPacket;
|
||||
import org.geysermc.cumulus.component.util.ComponentType;
|
||||
import org.geysermc.cumulus.form.CustomForm;
|
||||
import org.geysermc.cumulus.form.Form;
|
||||
import org.geysermc.cumulus.form.SimpleForm;
|
||||
import org.geysermc.cumulus.form.impl.FormDefinitions;
|
||||
import org.geysermc.geyser.GeyserImpl;
|
||||
import org.geysermc.geyser.network.GameProtocol;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public class FormCache {
|
||||
private static final Gson GSON_TEMP = new Gson();
|
||||
|
||||
/**
|
||||
* The magnitude of this doesn't actually matter, but it must be negative so that
|
||||
* BedrockNetworkStackLatencyTranslator can detect the hack.
|
||||
@@ -114,50 +103,9 @@ public class FormCache {
|
||||
return;
|
||||
}
|
||||
|
||||
String responseData = response.getFormData();
|
||||
// TODO drop once 1.21.70 is no longer supported
|
||||
if (form instanceof CustomForm customForm && GameProtocol.isTheOneVersionWithBrokenForms(session) && response.getCancelReason().isEmpty()) {
|
||||
// Labels are no longer included as a json null, so we have to manually add them for now.
|
||||
IntList labelIndexes = new IntArrayList();
|
||||
for (int i = 0; i < customForm.content().size(); i++) {
|
||||
var component = customForm.content().get(i);
|
||||
if (component == null) {
|
||||
continue;
|
||||
}
|
||||
if (component.type() == ComponentType.LABEL) {
|
||||
labelIndexes.add(i);
|
||||
}
|
||||
}
|
||||
if (!labelIndexes.isEmpty()) {
|
||||
// If the form only has labels, the response is the literal
|
||||
// null (with a newline char) instead of a json array
|
||||
if (responseData.startsWith("null")) {
|
||||
List<Object> newResponse = new ArrayList<>();
|
||||
for (int i = 0; i < labelIndexes.size(); i++) {
|
||||
newResponse.add(null);
|
||||
}
|
||||
responseData = GSON_TEMP.toJson(newResponse);
|
||||
} else {
|
||||
JsonArray responseDataArray = GSON_TEMP.fromJson(responseData, JsonArray.class);
|
||||
List<Object> newResponse = new ArrayList<>();
|
||||
|
||||
int handledLabelCount = 0;
|
||||
for (int i = 0; i < responseDataArray.size() + labelIndexes.size(); i++) {
|
||||
if (labelIndexes.contains(i)) {
|
||||
newResponse.add(null);
|
||||
handledLabelCount++;
|
||||
continue;
|
||||
}
|
||||
newResponse.add(responseDataArray.get(i - handledLabelCount));
|
||||
}
|
||||
responseData = GSON_TEMP.toJson(newResponse);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
formDefinitions.definitionFor(form)
|
||||
.handleFormResponse(form, responseData);
|
||||
.handleFormResponse(form, response.getFormData());
|
||||
} catch (Exception e) {
|
||||
GeyserImpl.getInstance().getLogger().error("Error while processing form response!", e);
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ public class ShulkerInventoryTranslator extends AbstractBlockInventoryTranslator
|
||||
private final BlockEntityTranslator shulkerBoxTranslator = Registries.BLOCK_ENTITIES.get(BlockEntityType.SHULKER_BOX);
|
||||
|
||||
@Override
|
||||
protected boolean isValidBlock(BlockState blockState) {
|
||||
protected boolean isValidBlock(GeyserSession session, Vector3i position, BlockState blockState) {
|
||||
return blockState.block().javaIdentifier().value().contains("shulker_box"); // TODO ew
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,10 @@
|
||||
|
||||
package org.geysermc.geyser.translator.inventory.chest;
|
||||
|
||||
import org.cloudburstmc.math.vector.Vector3i;
|
||||
import org.cloudburstmc.protocol.bedrock.data.inventory.ContainerSlotType;
|
||||
import org.cloudburstmc.protocol.bedrock.data.inventory.ContainerType;
|
||||
import org.geysermc.geyser.GeyserImpl;
|
||||
import org.geysermc.geyser.inventory.Generic9X3Container;
|
||||
import org.geysermc.geyser.inventory.holder.BlockInventoryHolder;
|
||||
import org.geysermc.geyser.inventory.holder.InventoryHolder;
|
||||
@@ -34,6 +36,9 @@ import org.geysermc.geyser.level.block.Blocks;
|
||||
import org.geysermc.geyser.level.block.property.ChestType;
|
||||
import org.geysermc.geyser.level.block.property.Properties;
|
||||
import org.geysermc.geyser.level.block.type.BlockState;
|
||||
import org.geysermc.geyser.level.physics.Axis;
|
||||
import org.geysermc.geyser.level.physics.Direction;
|
||||
import org.geysermc.geyser.network.GameProtocol;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
|
||||
public class SingleChestInventoryTranslator extends ChestInventoryTranslator<Generic9X3Container> {
|
||||
@@ -44,14 +49,34 @@ public class SingleChestInventoryTranslator extends ChestInventoryTranslator<Gen
|
||||
this.holder = new BlockInventoryHolder(Blocks.CHEST.defaultBlockState().withValue(Properties.CHEST_TYPE, ChestType.SINGLE), ContainerType.CONTAINER,
|
||||
Blocks.ENDER_CHEST, Blocks.TRAPPED_CHEST, Blocks.BARREL) {
|
||||
@Override
|
||||
protected boolean isValidBlock(BlockState blockState) {
|
||||
protected boolean isValidBlock(GeyserSession session, Vector3i position, BlockState blockState) {
|
||||
if (blockState.is(Blocks.ENDER_CHEST) || blockState.is(Blocks.BARREL)) {
|
||||
// Can't have double ender chests or barrels
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!super.isValidBlock(session, position, blockState)) {
|
||||
return false;
|
||||
} else if (blockState.getValue(Properties.CHEST_TYPE) != ChestType.SINGLE) {
|
||||
// Add provision to ensure this isn't a double chest
|
||||
return super.isValidBlock(blockState) && blockState.getValue(Properties.CHEST_TYPE) == ChestType.SINGLE;
|
||||
return false;
|
||||
} else if (GameProtocol.is1_21_110orHigher(session)) {
|
||||
// On 1.21.110 and above the client likes to merge single chests next to each other, even when we
|
||||
// tell the client not to
|
||||
// So, check for chests left and right of this chest. If there is a chest facing the same way,
|
||||
// there is a chance the client has merged them, and we can't use this block
|
||||
Direction facing = blockState.getValue(Properties.HORIZONTAL_FACING);
|
||||
Vector3i left = position.add((facing.getAxis() == Axis.X ? Direction.SOUTH : Direction.WEST).getUnitVector());
|
||||
Vector3i right = position.add((facing.getAxis() == Axis.X ? Direction.NORTH : Direction.EAST).getUnitVector());
|
||||
|
||||
BlockState leftState = BlockState.of(GeyserImpl.getInstance().getWorldManager().getBlockAt(session, left));
|
||||
BlockState rightState = BlockState.of(GeyserImpl.getInstance().getWorldManager().getBlockAt(session, right));
|
||||
|
||||
return (!leftState.is(blockState.block()) || leftState.getValue(Properties.HORIZONTAL_FACING) != facing)
|
||||
&& (!rightState.is(blockState.block()) || rightState.getValue(Properties.HORIZONTAL_FACING) != facing);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -34,14 +34,12 @@ import org.cloudburstmc.protocol.bedrock.data.entity.EntityFlag;
|
||||
import org.cloudburstmc.protocol.bedrock.data.inventory.transaction.ItemUseTransaction;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.AnimatePacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.PlayerAuthInputPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.UpdateAttributesPacket;
|
||||
import org.geysermc.geyser.entity.type.BoatEntity;
|
||||
import org.geysermc.geyser.entity.type.Entity;
|
||||
import org.geysermc.geyser.entity.type.living.animal.horse.AbstractHorseEntity;
|
||||
import org.geysermc.geyser.entity.type.living.animal.horse.LlamaEntity;
|
||||
import org.geysermc.geyser.entity.type.player.SessionPlayerEntity;
|
||||
import org.geysermc.geyser.entity.vehicle.ClientVehicle;
|
||||
import org.geysermc.geyser.network.GameProtocol;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
import org.geysermc.geyser.translator.protocol.PacketTranslator;
|
||||
import org.geysermc.geyser.translator.protocol.Translator;
|
||||
@@ -89,22 +87,12 @@ public final class BedrockPlayerAuthInputTranslator extends PacketTranslator<Pla
|
||||
case STOP_CRAWLING -> session.setCrawling(false);
|
||||
case START_SPRINTING -> {
|
||||
if (!leftOverInputData.contains(PlayerAuthInputData.STOP_SPRINTING)) {
|
||||
// Check if the player is standing on but not surrounded by water; don't allow sprinting in that case
|
||||
// resolves <https://github.com/GeyserMC/Geyser/issues/1705>
|
||||
if (!GameProtocol.is1_21_80orHigher(session) && session.getCollisionManager().isPlayerTouchingWater() && !session.getCollisionManager().isPlayerInWater()) {
|
||||
// Update movement speed attribute to prevent sprinting on water. This is fixed in 1.21.80+ natively.
|
||||
UpdateAttributesPacket attributesPacket = new UpdateAttributesPacket();
|
||||
attributesPacket.setRuntimeEntityId(entity.getGeyserId());
|
||||
attributesPacket.getAttributes().addAll(entity.getAttributes().values());
|
||||
session.sendUpstreamPacket(attributesPacket);
|
||||
} else {
|
||||
if (!session.isSprinting()) {
|
||||
sprintPacket = new ServerboundPlayerCommandPacket(entity.javaId(), PlayerState.START_SPRINTING);
|
||||
session.setSprinting(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
case STOP_SPRINTING -> {
|
||||
// Don't send sprinting update when we weren't sprinting
|
||||
if (!leftOverInputData.contains(PlayerAuthInputData.START_SPRINTING) && session.isSprinting()) {
|
||||
|
||||
BIN
core/src/main/resources/bedrock/block_palette.1_21_110.nbt
Normal file
BIN
core/src/main/resources/bedrock/block_palette.1_21_110.nbt
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
850
core/src/main/resources/bedrock/item_tags.1_21_100.json
Normal file
850
core/src/main/resources/bedrock/item_tags.1_21_100.json
Normal file
@@ -0,0 +1,850 @@
|
||||
{
|
||||
"minecraft:arrow": [
|
||||
"minecraft:arrow"
|
||||
],
|
||||
"minecraft:banner": [
|
||||
"minecraft:banner"
|
||||
],
|
||||
"minecraft:boat": [
|
||||
"minecraft:acacia_boat",
|
||||
"minecraft:acacia_chest_boat",
|
||||
"minecraft:bamboo_chest_raft",
|
||||
"minecraft:bamboo_raft",
|
||||
"minecraft:birch_boat",
|
||||
"minecraft:birch_chest_boat",
|
||||
"minecraft:cherry_boat",
|
||||
"minecraft:cherry_chest_boat",
|
||||
"minecraft:dark_oak_boat",
|
||||
"minecraft:dark_oak_chest_boat",
|
||||
"minecraft:jungle_boat",
|
||||
"minecraft:jungle_chest_boat",
|
||||
"minecraft:mangrove_boat",
|
||||
"minecraft:mangrove_chest_boat",
|
||||
"minecraft:oak_boat",
|
||||
"minecraft:oak_chest_boat",
|
||||
"minecraft:pale_oak_boat",
|
||||
"minecraft:pale_oak_chest_boat",
|
||||
"minecraft:spruce_boat",
|
||||
"minecraft:spruce_chest_boat"
|
||||
],
|
||||
"minecraft:boats": [
|
||||
"minecraft:acacia_boat",
|
||||
"minecraft:acacia_chest_boat",
|
||||
"minecraft:bamboo_chest_raft",
|
||||
"minecraft:bamboo_raft",
|
||||
"minecraft:birch_boat",
|
||||
"minecraft:birch_chest_boat",
|
||||
"minecraft:cherry_boat",
|
||||
"minecraft:cherry_chest_boat",
|
||||
"minecraft:dark_oak_boat",
|
||||
"minecraft:dark_oak_chest_boat",
|
||||
"minecraft:jungle_boat",
|
||||
"minecraft:jungle_chest_boat",
|
||||
"minecraft:mangrove_boat",
|
||||
"minecraft:mangrove_chest_boat",
|
||||
"minecraft:oak_boat",
|
||||
"minecraft:oak_chest_boat",
|
||||
"minecraft:pale_oak_boat",
|
||||
"minecraft:pale_oak_chest_boat",
|
||||
"minecraft:spruce_boat",
|
||||
"minecraft:spruce_chest_boat"
|
||||
],
|
||||
"minecraft:bookshelf_books": [
|
||||
"minecraft:book",
|
||||
"minecraft:enchanted_book",
|
||||
"minecraft:writable_book"
|
||||
],
|
||||
"minecraft:chainmail_tier": [
|
||||
"minecraft:chainmail_boots",
|
||||
"minecraft:chainmail_chestplate",
|
||||
"minecraft:chainmail_helmet",
|
||||
"minecraft:chainmail_leggings"
|
||||
],
|
||||
"minecraft:coals": [
|
||||
"minecraft:charcoal",
|
||||
"minecraft:coal"
|
||||
],
|
||||
"minecraft:crimson_stems": [
|
||||
"minecraft:crimson_hyphae",
|
||||
"minecraft:crimson_stem",
|
||||
"minecraft:stripped_crimson_hyphae",
|
||||
"minecraft:stripped_crimson_stem"
|
||||
],
|
||||
"minecraft:decorated_pot_sherds": [
|
||||
"minecraft:angler_pottery_sherd",
|
||||
"minecraft:archer_pottery_sherd",
|
||||
"minecraft:arms_up_pottery_sherd",
|
||||
"minecraft:blade_pottery_sherd",
|
||||
"minecraft:brewer_pottery_sherd",
|
||||
"minecraft:brick",
|
||||
"minecraft:burn_pottery_sherd",
|
||||
"minecraft:danger_pottery_sherd",
|
||||
"minecraft:explorer_pottery_sherd",
|
||||
"minecraft:flow_pottery_sherd",
|
||||
"minecraft:friend_pottery_sherd",
|
||||
"minecraft:guster_pottery_sherd",
|
||||
"minecraft:heart_pottery_sherd",
|
||||
"minecraft:heartbreak_pottery_sherd",
|
||||
"minecraft:howl_pottery_sherd",
|
||||
"minecraft:miner_pottery_sherd",
|
||||
"minecraft:mourner_pottery_sherd",
|
||||
"minecraft:plenty_pottery_sherd",
|
||||
"minecraft:prize_pottery_sherd",
|
||||
"minecraft:scrape_pottery_sherd",
|
||||
"minecraft:sheaf_pottery_sherd",
|
||||
"minecraft:shelter_pottery_sherd",
|
||||
"minecraft:skull_pottery_sherd",
|
||||
"minecraft:snort_pottery_sherd"
|
||||
],
|
||||
"minecraft:diamond_tier": [
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:diamond_boots",
|
||||
"minecraft:diamond_chestplate",
|
||||
"minecraft:diamond_helmet",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:diamond_leggings",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:diamond_sword",
|
||||
"minecraft:mace"
|
||||
],
|
||||
"minecraft:digger": [
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:golden_axe",
|
||||
"minecraft:golden_hoe",
|
||||
"minecraft:golden_pickaxe",
|
||||
"minecraft:golden_shovel",
|
||||
"minecraft:iron_axe",
|
||||
"minecraft:iron_hoe",
|
||||
"minecraft:iron_pickaxe",
|
||||
"minecraft:iron_shovel",
|
||||
"minecraft:netherite_axe",
|
||||
"minecraft:netherite_hoe",
|
||||
"minecraft:netherite_pickaxe",
|
||||
"minecraft:netherite_shovel",
|
||||
"minecraft:stone_axe",
|
||||
"minecraft:stone_hoe",
|
||||
"minecraft:stone_pickaxe",
|
||||
"minecraft:stone_shovel",
|
||||
"minecraft:wooden_axe",
|
||||
"minecraft:wooden_hoe",
|
||||
"minecraft:wooden_pickaxe",
|
||||
"minecraft:wooden_shovel"
|
||||
],
|
||||
"minecraft:door": [
|
||||
"minecraft:acacia_door",
|
||||
"minecraft:bamboo_door",
|
||||
"minecraft:birch_door",
|
||||
"minecraft:cherry_door",
|
||||
"minecraft:copper_door",
|
||||
"minecraft:crimson_door",
|
||||
"minecraft:dark_oak_door",
|
||||
"minecraft:exposed_copper_door",
|
||||
"minecraft:iron_door",
|
||||
"minecraft:jungle_door",
|
||||
"minecraft:mangrove_door",
|
||||
"minecraft:oxidized_copper_door",
|
||||
"minecraft:pale_oak_door",
|
||||
"minecraft:spruce_door",
|
||||
"minecraft:warped_door",
|
||||
"minecraft:waxed_copper_door",
|
||||
"minecraft:waxed_exposed_copper_door",
|
||||
"minecraft:waxed_oxidized_copper_door",
|
||||
"minecraft:waxed_weathered_copper_door",
|
||||
"minecraft:weathered_copper_door",
|
||||
"minecraft:wooden_door"
|
||||
],
|
||||
"minecraft:egg": [
|
||||
"minecraft:blue_egg",
|
||||
"minecraft:brown_egg",
|
||||
"minecraft:egg"
|
||||
],
|
||||
"minecraft:golden_tier": [
|
||||
"minecraft:golden_axe",
|
||||
"minecraft:golden_boots",
|
||||
"minecraft:golden_chestplate",
|
||||
"minecraft:golden_helmet",
|
||||
"minecraft:golden_hoe",
|
||||
"minecraft:golden_leggings",
|
||||
"minecraft:golden_pickaxe",
|
||||
"minecraft:golden_shovel",
|
||||
"minecraft:golden_sword"
|
||||
],
|
||||
"minecraft:hanging_actor": [
|
||||
"minecraft:painting"
|
||||
],
|
||||
"minecraft:hanging_sign": [
|
||||
"minecraft:acacia_hanging_sign",
|
||||
"minecraft:bamboo_hanging_sign",
|
||||
"minecraft:birch_hanging_sign",
|
||||
"minecraft:cherry_hanging_sign",
|
||||
"minecraft:crimson_hanging_sign",
|
||||
"minecraft:dark_oak_hanging_sign",
|
||||
"minecraft:jungle_hanging_sign",
|
||||
"minecraft:mangrove_hanging_sign",
|
||||
"minecraft:oak_hanging_sign",
|
||||
"minecraft:pale_oak_hanging_sign",
|
||||
"minecraft:spruce_hanging_sign",
|
||||
"minecraft:warped_hanging_sign"
|
||||
],
|
||||
"minecraft:harness": [
|
||||
"minecraft:black_harness",
|
||||
"minecraft:blue_harness",
|
||||
"minecraft:brown_harness",
|
||||
"minecraft:cyan_harness",
|
||||
"minecraft:gray_harness",
|
||||
"minecraft:green_harness",
|
||||
"minecraft:light_blue_harness",
|
||||
"minecraft:light_gray_harness",
|
||||
"minecraft:lime_harness",
|
||||
"minecraft:magenta_harness",
|
||||
"minecraft:orange_harness",
|
||||
"minecraft:pink_harness",
|
||||
"minecraft:purple_harness",
|
||||
"minecraft:red_harness",
|
||||
"minecraft:white_harness",
|
||||
"minecraft:yellow_harness"
|
||||
],
|
||||
"minecraft:horse_armor": [
|
||||
"minecraft:diamond_horse_armor",
|
||||
"minecraft:golden_horse_armor",
|
||||
"minecraft:iron_horse_armor",
|
||||
"minecraft:leather_horse_armor"
|
||||
],
|
||||
"minecraft:iron_tier": [
|
||||
"minecraft:iron_axe",
|
||||
"minecraft:iron_boots",
|
||||
"minecraft:iron_chestplate",
|
||||
"minecraft:iron_helmet",
|
||||
"minecraft:iron_hoe",
|
||||
"minecraft:iron_leggings",
|
||||
"minecraft:iron_pickaxe",
|
||||
"minecraft:iron_shovel",
|
||||
"minecraft:iron_sword"
|
||||
],
|
||||
"minecraft:is_armor": [
|
||||
"minecraft:chainmail_boots",
|
||||
"minecraft:chainmail_chestplate",
|
||||
"minecraft:chainmail_helmet",
|
||||
"minecraft:chainmail_leggings",
|
||||
"minecraft:diamond_boots",
|
||||
"minecraft:diamond_chestplate",
|
||||
"minecraft:diamond_helmet",
|
||||
"minecraft:diamond_leggings",
|
||||
"minecraft:elytra",
|
||||
"minecraft:golden_boots",
|
||||
"minecraft:golden_chestplate",
|
||||
"minecraft:golden_helmet",
|
||||
"minecraft:golden_leggings",
|
||||
"minecraft:iron_boots",
|
||||
"minecraft:iron_chestplate",
|
||||
"minecraft:iron_helmet",
|
||||
"minecraft:iron_leggings",
|
||||
"minecraft:leather_boots",
|
||||
"minecraft:leather_chestplate",
|
||||
"minecraft:leather_helmet",
|
||||
"minecraft:leather_leggings",
|
||||
"minecraft:netherite_boots",
|
||||
"minecraft:netherite_chestplate",
|
||||
"minecraft:netherite_helmet",
|
||||
"minecraft:netherite_leggings",
|
||||
"minecraft:turtle_helmet"
|
||||
],
|
||||
"minecraft:is_axe": [
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:golden_axe",
|
||||
"minecraft:iron_axe",
|
||||
"minecraft:netherite_axe",
|
||||
"minecraft:stone_axe",
|
||||
"minecraft:wooden_axe"
|
||||
],
|
||||
"minecraft:is_cooked": [
|
||||
"minecraft:cooked_beef",
|
||||
"minecraft:cooked_chicken",
|
||||
"minecraft:cooked_cod",
|
||||
"minecraft:cooked_mutton",
|
||||
"minecraft:cooked_porkchop",
|
||||
"minecraft:cooked_rabbit",
|
||||
"minecraft:cooked_salmon",
|
||||
"minecraft:rabbit_stew"
|
||||
],
|
||||
"minecraft:is_fish": [
|
||||
"minecraft:cod",
|
||||
"minecraft:cooked_cod",
|
||||
"minecraft:cooked_salmon",
|
||||
"minecraft:pufferfish",
|
||||
"minecraft:salmon",
|
||||
"minecraft:tropical_fish"
|
||||
],
|
||||
"minecraft:is_food": [
|
||||
"minecraft:apple",
|
||||
"minecraft:baked_potato",
|
||||
"minecraft:beef",
|
||||
"minecraft:beetroot",
|
||||
"minecraft:beetroot_soup",
|
||||
"minecraft:bread",
|
||||
"minecraft:carrot",
|
||||
"minecraft:chicken",
|
||||
"minecraft:cooked_beef",
|
||||
"minecraft:cooked_chicken",
|
||||
"minecraft:cooked_mutton",
|
||||
"minecraft:cooked_porkchop",
|
||||
"minecraft:cooked_rabbit",
|
||||
"minecraft:cookie",
|
||||
"minecraft:dried_kelp",
|
||||
"minecraft:enchanted_golden_apple",
|
||||
"minecraft:golden_apple",
|
||||
"minecraft:golden_carrot",
|
||||
"minecraft:melon_slice",
|
||||
"minecraft:mushroom_stew",
|
||||
"minecraft:mutton",
|
||||
"minecraft:porkchop",
|
||||
"minecraft:potato",
|
||||
"minecraft:pumpkin_pie",
|
||||
"minecraft:rabbit",
|
||||
"minecraft:rabbit_stew",
|
||||
"minecraft:rotten_flesh",
|
||||
"minecraft:sweet_berries"
|
||||
],
|
||||
"minecraft:is_hoe": [
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:golden_hoe",
|
||||
"minecraft:iron_hoe",
|
||||
"minecraft:netherite_hoe",
|
||||
"minecraft:stone_hoe",
|
||||
"minecraft:wooden_hoe"
|
||||
],
|
||||
"minecraft:is_meat": [
|
||||
"minecraft:beef",
|
||||
"minecraft:chicken",
|
||||
"minecraft:cooked_beef",
|
||||
"minecraft:cooked_chicken",
|
||||
"minecraft:cooked_mutton",
|
||||
"minecraft:cooked_porkchop",
|
||||
"minecraft:cooked_rabbit",
|
||||
"minecraft:mutton",
|
||||
"minecraft:porkchop",
|
||||
"minecraft:rabbit",
|
||||
"minecraft:rabbit_stew",
|
||||
"minecraft:rotten_flesh"
|
||||
],
|
||||
"minecraft:is_minecart": [
|
||||
"minecraft:chest_minecart",
|
||||
"minecraft:command_block_minecart",
|
||||
"minecraft:hopper_minecart",
|
||||
"minecraft:minecart",
|
||||
"minecraft:tnt_minecart"
|
||||
],
|
||||
"minecraft:is_pickaxe": [
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:golden_pickaxe",
|
||||
"minecraft:iron_pickaxe",
|
||||
"minecraft:netherite_pickaxe",
|
||||
"minecraft:stone_pickaxe",
|
||||
"minecraft:wooden_pickaxe"
|
||||
],
|
||||
"minecraft:is_shears": [
|
||||
"minecraft:shears"
|
||||
],
|
||||
"minecraft:is_shovel": [
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:golden_shovel",
|
||||
"minecraft:iron_shovel",
|
||||
"minecraft:netherite_shovel",
|
||||
"minecraft:stone_shovel",
|
||||
"minecraft:wooden_shovel"
|
||||
],
|
||||
"minecraft:is_sword": [
|
||||
"minecraft:diamond_sword",
|
||||
"minecraft:golden_sword",
|
||||
"minecraft:iron_sword",
|
||||
"minecraft:mace",
|
||||
"minecraft:netherite_sword",
|
||||
"minecraft:stone_sword",
|
||||
"minecraft:wooden_sword"
|
||||
],
|
||||
"minecraft:is_tool": [
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:diamond_sword",
|
||||
"minecraft:golden_axe",
|
||||
"minecraft:golden_hoe",
|
||||
"minecraft:golden_pickaxe",
|
||||
"minecraft:golden_shovel",
|
||||
"minecraft:golden_sword",
|
||||
"minecraft:iron_axe",
|
||||
"minecraft:iron_hoe",
|
||||
"minecraft:iron_pickaxe",
|
||||
"minecraft:iron_shovel",
|
||||
"minecraft:iron_sword",
|
||||
"minecraft:mace",
|
||||
"minecraft:netherite_axe",
|
||||
"minecraft:netherite_hoe",
|
||||
"minecraft:netherite_pickaxe",
|
||||
"minecraft:netherite_shovel",
|
||||
"minecraft:netherite_sword",
|
||||
"minecraft:stone_axe",
|
||||
"minecraft:stone_hoe",
|
||||
"minecraft:stone_pickaxe",
|
||||
"minecraft:stone_shovel",
|
||||
"minecraft:stone_sword",
|
||||
"minecraft:wooden_axe",
|
||||
"minecraft:wooden_hoe",
|
||||
"minecraft:wooden_pickaxe",
|
||||
"minecraft:wooden_shovel",
|
||||
"minecraft:wooden_sword"
|
||||
],
|
||||
"minecraft:is_trident": [
|
||||
"minecraft:trident"
|
||||
],
|
||||
"minecraft:leather_tier": [
|
||||
"minecraft:leather_boots",
|
||||
"minecraft:leather_chestplate",
|
||||
"minecraft:leather_helmet",
|
||||
"minecraft:leather_leggings"
|
||||
],
|
||||
"minecraft:lectern_books": [
|
||||
"minecraft:writable_book"
|
||||
],
|
||||
"minecraft:logs": [
|
||||
"minecraft:acacia_log",
|
||||
"minecraft:acacia_wood",
|
||||
"minecraft:birch_log",
|
||||
"minecraft:birch_wood",
|
||||
"minecraft:cherry_log",
|
||||
"minecraft:cherry_wood",
|
||||
"minecraft:crimson_hyphae",
|
||||
"minecraft:crimson_stem",
|
||||
"minecraft:dark_oak_log",
|
||||
"minecraft:dark_oak_wood",
|
||||
"minecraft:jungle_log",
|
||||
"minecraft:jungle_wood",
|
||||
"minecraft:mangrove_log",
|
||||
"minecraft:mangrove_wood",
|
||||
"minecraft:oak_log",
|
||||
"minecraft:oak_wood",
|
||||
"minecraft:pale_oak_log",
|
||||
"minecraft:pale_oak_wood",
|
||||
"minecraft:spruce_log",
|
||||
"minecraft:spruce_wood",
|
||||
"minecraft:stripped_acacia_log",
|
||||
"minecraft:stripped_acacia_wood",
|
||||
"minecraft:stripped_birch_log",
|
||||
"minecraft:stripped_birch_wood",
|
||||
"minecraft:stripped_cherry_log",
|
||||
"minecraft:stripped_cherry_wood",
|
||||
"minecraft:stripped_crimson_hyphae",
|
||||
"minecraft:stripped_crimson_stem",
|
||||
"minecraft:stripped_dark_oak_log",
|
||||
"minecraft:stripped_dark_oak_wood",
|
||||
"minecraft:stripped_jungle_log",
|
||||
"minecraft:stripped_jungle_wood",
|
||||
"minecraft:stripped_mangrove_log",
|
||||
"minecraft:stripped_mangrove_wood",
|
||||
"minecraft:stripped_oak_log",
|
||||
"minecraft:stripped_oak_wood",
|
||||
"minecraft:stripped_pale_oak_log",
|
||||
"minecraft:stripped_pale_oak_wood",
|
||||
"minecraft:stripped_spruce_log",
|
||||
"minecraft:stripped_spruce_wood",
|
||||
"minecraft:stripped_warped_hyphae",
|
||||
"minecraft:stripped_warped_stem",
|
||||
"minecraft:warped_hyphae",
|
||||
"minecraft:warped_stem"
|
||||
],
|
||||
"minecraft:logs_that_burn": [
|
||||
"minecraft:acacia_log",
|
||||
"minecraft:acacia_wood",
|
||||
"minecraft:birch_log",
|
||||
"minecraft:birch_wood",
|
||||
"minecraft:cherry_log",
|
||||
"minecraft:cherry_wood",
|
||||
"minecraft:dark_oak_log",
|
||||
"minecraft:dark_oak_wood",
|
||||
"minecraft:jungle_log",
|
||||
"minecraft:jungle_wood",
|
||||
"minecraft:mangrove_log",
|
||||
"minecraft:mangrove_wood",
|
||||
"minecraft:oak_log",
|
||||
"minecraft:oak_wood",
|
||||
"minecraft:pale_oak_log",
|
||||
"minecraft:pale_oak_wood",
|
||||
"minecraft:spruce_log",
|
||||
"minecraft:spruce_wood",
|
||||
"minecraft:stripped_acacia_log",
|
||||
"minecraft:stripped_acacia_wood",
|
||||
"minecraft:stripped_birch_log",
|
||||
"minecraft:stripped_birch_wood",
|
||||
"minecraft:stripped_cherry_log",
|
||||
"minecraft:stripped_cherry_wood",
|
||||
"minecraft:stripped_dark_oak_log",
|
||||
"minecraft:stripped_dark_oak_wood",
|
||||
"minecraft:stripped_jungle_log",
|
||||
"minecraft:stripped_jungle_wood",
|
||||
"minecraft:stripped_mangrove_log",
|
||||
"minecraft:stripped_mangrove_wood",
|
||||
"minecraft:stripped_oak_log",
|
||||
"minecraft:stripped_oak_wood",
|
||||
"minecraft:stripped_pale_oak_log",
|
||||
"minecraft:stripped_pale_oak_wood",
|
||||
"minecraft:stripped_spruce_log",
|
||||
"minecraft:stripped_spruce_wood"
|
||||
],
|
||||
"minecraft:mangrove_logs": [
|
||||
"minecraft:mangrove_log",
|
||||
"minecraft:mangrove_wood",
|
||||
"minecraft:stripped_mangrove_log",
|
||||
"minecraft:stripped_mangrove_wood"
|
||||
],
|
||||
"minecraft:music_disc": [
|
||||
"minecraft:music_disc_11",
|
||||
"minecraft:music_disc_13",
|
||||
"minecraft:music_disc_5",
|
||||
"minecraft:music_disc_blocks",
|
||||
"minecraft:music_disc_cat",
|
||||
"minecraft:music_disc_chirp",
|
||||
"minecraft:music_disc_creator",
|
||||
"minecraft:music_disc_creator_music_box",
|
||||
"minecraft:music_disc_far",
|
||||
"minecraft:music_disc_lava_chicken",
|
||||
"minecraft:music_disc_mall",
|
||||
"minecraft:music_disc_mellohi",
|
||||
"minecraft:music_disc_otherside",
|
||||
"minecraft:music_disc_pigstep",
|
||||
"minecraft:music_disc_precipice",
|
||||
"minecraft:music_disc_relic",
|
||||
"minecraft:music_disc_stal",
|
||||
"minecraft:music_disc_strad",
|
||||
"minecraft:music_disc_tears",
|
||||
"minecraft:music_disc_wait",
|
||||
"minecraft:music_disc_ward"
|
||||
],
|
||||
"minecraft:netherite_tier": [
|
||||
"minecraft:netherite_axe",
|
||||
"minecraft:netherite_boots",
|
||||
"minecraft:netherite_chestplate",
|
||||
"minecraft:netherite_helmet",
|
||||
"minecraft:netherite_hoe",
|
||||
"minecraft:netherite_leggings",
|
||||
"minecraft:netherite_pickaxe",
|
||||
"minecraft:netherite_shovel",
|
||||
"minecraft:netherite_sword"
|
||||
],
|
||||
"minecraft:planks": [
|
||||
"minecraft:acacia_planks",
|
||||
"minecraft:bamboo_planks",
|
||||
"minecraft:birch_planks",
|
||||
"minecraft:cherry_planks",
|
||||
"minecraft:crimson_planks",
|
||||
"minecraft:dark_oak_planks",
|
||||
"minecraft:jungle_planks",
|
||||
"minecraft:mangrove_planks",
|
||||
"minecraft:oak_planks",
|
||||
"minecraft:pale_oak_planks",
|
||||
"minecraft:spruce_planks",
|
||||
"minecraft:warped_planks"
|
||||
],
|
||||
"minecraft:sand": [
|
||||
"minecraft:red_sand",
|
||||
"minecraft:sand"
|
||||
],
|
||||
"minecraft:sign": [
|
||||
"minecraft:acacia_hanging_sign",
|
||||
"minecraft:acacia_sign",
|
||||
"minecraft:bamboo_hanging_sign",
|
||||
"minecraft:bamboo_sign",
|
||||
"minecraft:birch_hanging_sign",
|
||||
"minecraft:birch_sign",
|
||||
"minecraft:cherry_hanging_sign",
|
||||
"minecraft:cherry_sign",
|
||||
"minecraft:crimson_hanging_sign",
|
||||
"minecraft:crimson_sign",
|
||||
"minecraft:dark_oak_hanging_sign",
|
||||
"minecraft:dark_oak_sign",
|
||||
"minecraft:jungle_hanging_sign",
|
||||
"minecraft:jungle_sign",
|
||||
"minecraft:mangrove_hanging_sign",
|
||||
"minecraft:mangrove_sign",
|
||||
"minecraft:oak_hanging_sign",
|
||||
"minecraft:oak_sign",
|
||||
"minecraft:pale_oak_hanging_sign",
|
||||
"minecraft:pale_oak_sign",
|
||||
"minecraft:spruce_hanging_sign",
|
||||
"minecraft:spruce_sign",
|
||||
"minecraft:warped_hanging_sign",
|
||||
"minecraft:warped_sign"
|
||||
],
|
||||
"minecraft:soul_fire_base_blocks": [
|
||||
"minecraft:soul_sand",
|
||||
"minecraft:soul_soil"
|
||||
],
|
||||
"minecraft:spawn_egg": [
|
||||
"minecraft:allay_spawn_egg",
|
||||
"minecraft:armadillo_spawn_egg",
|
||||
"minecraft:axolotl_spawn_egg",
|
||||
"minecraft:bat_spawn_egg",
|
||||
"minecraft:bee_spawn_egg",
|
||||
"minecraft:blaze_spawn_egg",
|
||||
"minecraft:bogged_spawn_egg",
|
||||
"minecraft:breeze_spawn_egg",
|
||||
"minecraft:camel_spawn_egg",
|
||||
"minecraft:cat_spawn_egg",
|
||||
"minecraft:cave_spider_spawn_egg",
|
||||
"minecraft:chicken_spawn_egg",
|
||||
"minecraft:cod_spawn_egg",
|
||||
"minecraft:cow_spawn_egg",
|
||||
"minecraft:creaking_spawn_egg",
|
||||
"minecraft:creeper_spawn_egg",
|
||||
"minecraft:dolphin_spawn_egg",
|
||||
"minecraft:donkey_spawn_egg",
|
||||
"minecraft:drowned_spawn_egg",
|
||||
"minecraft:elder_guardian_spawn_egg",
|
||||
"minecraft:ender_dragon_spawn_egg",
|
||||
"minecraft:enderman_spawn_egg",
|
||||
"minecraft:endermite_spawn_egg",
|
||||
"minecraft:evoker_spawn_egg",
|
||||
"minecraft:fox_spawn_egg",
|
||||
"minecraft:frog_spawn_egg",
|
||||
"minecraft:ghast_spawn_egg",
|
||||
"minecraft:glow_squid_spawn_egg",
|
||||
"minecraft:goat_spawn_egg",
|
||||
"minecraft:guardian_spawn_egg",
|
||||
"minecraft:happy_ghast_spawn_egg",
|
||||
"minecraft:hoglin_spawn_egg",
|
||||
"minecraft:horse_spawn_egg",
|
||||
"minecraft:husk_spawn_egg",
|
||||
"minecraft:iron_golem_spawn_egg",
|
||||
"minecraft:llama_spawn_egg",
|
||||
"minecraft:magma_cube_spawn_egg",
|
||||
"minecraft:mooshroom_spawn_egg",
|
||||
"minecraft:mule_spawn_egg",
|
||||
"minecraft:ocelot_spawn_egg",
|
||||
"minecraft:panda_spawn_egg",
|
||||
"minecraft:parrot_spawn_egg",
|
||||
"minecraft:phantom_spawn_egg",
|
||||
"minecraft:pig_spawn_egg",
|
||||
"minecraft:piglin_brute_spawn_egg",
|
||||
"minecraft:piglin_spawn_egg",
|
||||
"minecraft:pillager_spawn_egg",
|
||||
"minecraft:polar_bear_spawn_egg",
|
||||
"minecraft:pufferfish_spawn_egg",
|
||||
"minecraft:rabbit_spawn_egg",
|
||||
"minecraft:ravager_spawn_egg",
|
||||
"minecraft:salmon_spawn_egg",
|
||||
"minecraft:sheep_spawn_egg",
|
||||
"minecraft:shulker_spawn_egg",
|
||||
"minecraft:silverfish_spawn_egg",
|
||||
"minecraft:skeleton_horse_spawn_egg",
|
||||
"minecraft:skeleton_spawn_egg",
|
||||
"minecraft:slime_spawn_egg",
|
||||
"minecraft:sniffer_spawn_egg",
|
||||
"minecraft:snow_golem_spawn_egg",
|
||||
"minecraft:spider_spawn_egg",
|
||||
"minecraft:squid_spawn_egg",
|
||||
"minecraft:stray_spawn_egg",
|
||||
"minecraft:strider_spawn_egg",
|
||||
"minecraft:tadpole_spawn_egg",
|
||||
"minecraft:trader_llama_spawn_egg",
|
||||
"minecraft:tropical_fish_spawn_egg",
|
||||
"minecraft:turtle_spawn_egg",
|
||||
"minecraft:vex_spawn_egg",
|
||||
"minecraft:villager_spawn_egg",
|
||||
"minecraft:vindicator_spawn_egg",
|
||||
"minecraft:wandering_trader_spawn_egg",
|
||||
"minecraft:warden_spawn_egg",
|
||||
"minecraft:witch_spawn_egg",
|
||||
"minecraft:wither_skeleton_spawn_egg",
|
||||
"minecraft:wither_spawn_egg",
|
||||
"minecraft:wolf_spawn_egg",
|
||||
"minecraft:zoglin_spawn_egg",
|
||||
"minecraft:zombie_horse_spawn_egg",
|
||||
"minecraft:zombie_pigman_spawn_egg",
|
||||
"minecraft:zombie_spawn_egg",
|
||||
"minecraft:zombie_villager_spawn_egg"
|
||||
],
|
||||
"minecraft:stone_bricks": [
|
||||
"minecraft:chiseled_stone_bricks",
|
||||
"minecraft:cracked_stone_bricks",
|
||||
"minecraft:mossy_stone_bricks",
|
||||
"minecraft:stone_bricks"
|
||||
],
|
||||
"minecraft:stone_crafting_materials": [
|
||||
"minecraft:blackstone",
|
||||
"minecraft:cobbled_deepslate",
|
||||
"minecraft:cobblestone"
|
||||
],
|
||||
"minecraft:stone_tier": [
|
||||
"minecraft:stone_axe",
|
||||
"minecraft:stone_hoe",
|
||||
"minecraft:stone_pickaxe",
|
||||
"minecraft:stone_shovel",
|
||||
"minecraft:stone_sword"
|
||||
],
|
||||
"minecraft:stone_tool_materials": [
|
||||
"minecraft:blackstone",
|
||||
"minecraft:cobbled_deepslate",
|
||||
"minecraft:cobblestone"
|
||||
],
|
||||
"minecraft:transform_materials": [
|
||||
"minecraft:netherite_ingot"
|
||||
],
|
||||
"minecraft:transform_templates": [
|
||||
"minecraft:netherite_upgrade_smithing_template"
|
||||
],
|
||||
"minecraft:transformable_items": [
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:diamond_boots",
|
||||
"minecraft:diamond_chestplate",
|
||||
"minecraft:diamond_helmet",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:diamond_leggings",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:diamond_sword",
|
||||
"minecraft:golden_boots"
|
||||
],
|
||||
"minecraft:trim_materials": [
|
||||
"minecraft:amethyst_shard",
|
||||
"minecraft:copper_ingot",
|
||||
"minecraft:diamond",
|
||||
"minecraft:emerald",
|
||||
"minecraft:gold_ingot",
|
||||
"minecraft:iron_ingot",
|
||||
"minecraft:lapis_lazuli",
|
||||
"minecraft:netherite_ingot",
|
||||
"minecraft:quartz",
|
||||
"minecraft:redstone",
|
||||
"minecraft:resin_brick"
|
||||
],
|
||||
"minecraft:trim_templates": [
|
||||
"minecraft:bolt_armor_trim_smithing_template",
|
||||
"minecraft:coast_armor_trim_smithing_template",
|
||||
"minecraft:dune_armor_trim_smithing_template",
|
||||
"minecraft:eye_armor_trim_smithing_template",
|
||||
"minecraft:flow_armor_trim_smithing_template",
|
||||
"minecraft:host_armor_trim_smithing_template",
|
||||
"minecraft:raiser_armor_trim_smithing_template",
|
||||
"minecraft:rib_armor_trim_smithing_template",
|
||||
"minecraft:sentry_armor_trim_smithing_template",
|
||||
"minecraft:shaper_armor_trim_smithing_template",
|
||||
"minecraft:silence_armor_trim_smithing_template",
|
||||
"minecraft:snout_armor_trim_smithing_template",
|
||||
"minecraft:spire_armor_trim_smithing_template",
|
||||
"minecraft:tide_armor_trim_smithing_template",
|
||||
"minecraft:vex_armor_trim_smithing_template",
|
||||
"minecraft:ward_armor_trim_smithing_template",
|
||||
"minecraft:wayfinder_armor_trim_smithing_template",
|
||||
"minecraft:wild_armor_trim_smithing_template"
|
||||
],
|
||||
"minecraft:trimmable_armors": [
|
||||
"minecraft:chainmail_boots",
|
||||
"minecraft:chainmail_chestplate",
|
||||
"minecraft:chainmail_helmet",
|
||||
"minecraft:chainmail_leggings",
|
||||
"minecraft:diamond_boots",
|
||||
"minecraft:diamond_chestplate",
|
||||
"minecraft:diamond_helmet",
|
||||
"minecraft:diamond_leggings",
|
||||
"minecraft:golden_boots",
|
||||
"minecraft:golden_chestplate",
|
||||
"minecraft:golden_helmet",
|
||||
"minecraft:golden_leggings",
|
||||
"minecraft:iron_boots",
|
||||
"minecraft:iron_chestplate",
|
||||
"minecraft:iron_helmet",
|
||||
"minecraft:iron_leggings",
|
||||
"minecraft:leather_boots",
|
||||
"minecraft:leather_chestplate",
|
||||
"minecraft:leather_helmet",
|
||||
"minecraft:leather_leggings",
|
||||
"minecraft:netherite_boots",
|
||||
"minecraft:netherite_chestplate",
|
||||
"minecraft:netherite_helmet",
|
||||
"minecraft:netherite_leggings",
|
||||
"minecraft:turtle_helmet"
|
||||
],
|
||||
"minecraft:vibration_damper": [
|
||||
"minecraft:black_carpet",
|
||||
"minecraft:black_wool",
|
||||
"minecraft:blue_carpet",
|
||||
"minecraft:blue_wool",
|
||||
"minecraft:brown_carpet",
|
||||
"minecraft:brown_wool",
|
||||
"minecraft:cyan_carpet",
|
||||
"minecraft:cyan_wool",
|
||||
"minecraft:gray_carpet",
|
||||
"minecraft:gray_wool",
|
||||
"minecraft:green_carpet",
|
||||
"minecraft:green_wool",
|
||||
"minecraft:light_blue_carpet",
|
||||
"minecraft:light_blue_wool",
|
||||
"minecraft:light_gray_carpet",
|
||||
"minecraft:light_gray_wool",
|
||||
"minecraft:lime_carpet",
|
||||
"minecraft:lime_wool",
|
||||
"minecraft:magenta_carpet",
|
||||
"minecraft:magenta_wool",
|
||||
"minecraft:orange_carpet",
|
||||
"minecraft:orange_wool",
|
||||
"minecraft:pink_carpet",
|
||||
"minecraft:pink_wool",
|
||||
"minecraft:purple_carpet",
|
||||
"minecraft:purple_wool",
|
||||
"minecraft:red_carpet",
|
||||
"minecraft:red_wool",
|
||||
"minecraft:white_carpet",
|
||||
"minecraft:white_wool",
|
||||
"minecraft:yellow_carpet",
|
||||
"minecraft:yellow_wool"
|
||||
],
|
||||
"minecraft:warped_stems": [
|
||||
"minecraft:stripped_warped_hyphae",
|
||||
"minecraft:stripped_warped_stem",
|
||||
"minecraft:warped_hyphae",
|
||||
"minecraft:warped_stem"
|
||||
],
|
||||
"minecraft:wooden_slabs": [
|
||||
"minecraft:acacia_slab",
|
||||
"minecraft:bamboo_slab",
|
||||
"minecraft:birch_slab",
|
||||
"minecraft:cherry_slab",
|
||||
"minecraft:crimson_slab",
|
||||
"minecraft:dark_oak_slab",
|
||||
"minecraft:jungle_slab",
|
||||
"minecraft:mangrove_slab",
|
||||
"minecraft:oak_slab",
|
||||
"minecraft:pale_oak_slab",
|
||||
"minecraft:spruce_slab",
|
||||
"minecraft:warped_slab"
|
||||
],
|
||||
"minecraft:wooden_tier": [
|
||||
"minecraft:wooden_axe",
|
||||
"minecraft:wooden_hoe",
|
||||
"minecraft:wooden_pickaxe",
|
||||
"minecraft:wooden_shovel",
|
||||
"minecraft:wooden_sword"
|
||||
],
|
||||
"minecraft:wool": [
|
||||
"minecraft:black_wool",
|
||||
"minecraft:blue_wool",
|
||||
"minecraft:brown_wool",
|
||||
"minecraft:cyan_wool",
|
||||
"minecraft:gray_wool",
|
||||
"minecraft:green_wool",
|
||||
"minecraft:light_blue_wool",
|
||||
"minecraft:light_gray_wool",
|
||||
"minecraft:lime_wool",
|
||||
"minecraft:magenta_wool",
|
||||
"minecraft:orange_wool",
|
||||
"minecraft:pink_wool",
|
||||
"minecraft:purple_wool",
|
||||
"minecraft:red_wool",
|
||||
"minecraft:white_wool",
|
||||
"minecraft:yellow_wool"
|
||||
]
|
||||
}
|
||||
896
core/src/main/resources/bedrock/item_tags.1_21_110.json
Normal file
896
core/src/main/resources/bedrock/item_tags.1_21_110.json
Normal file
@@ -0,0 +1,896 @@
|
||||
{
|
||||
"minecraft:arrow": [
|
||||
"minecraft:arrow"
|
||||
],
|
||||
"minecraft:banner": [
|
||||
"minecraft:banner"
|
||||
],
|
||||
"minecraft:boat": [
|
||||
"minecraft:acacia_boat",
|
||||
"minecraft:acacia_chest_boat",
|
||||
"minecraft:bamboo_chest_raft",
|
||||
"minecraft:bamboo_raft",
|
||||
"minecraft:birch_boat",
|
||||
"minecraft:birch_chest_boat",
|
||||
"minecraft:cherry_boat",
|
||||
"minecraft:cherry_chest_boat",
|
||||
"minecraft:dark_oak_boat",
|
||||
"minecraft:dark_oak_chest_boat",
|
||||
"minecraft:jungle_boat",
|
||||
"minecraft:jungle_chest_boat",
|
||||
"minecraft:mangrove_boat",
|
||||
"minecraft:mangrove_chest_boat",
|
||||
"minecraft:oak_boat",
|
||||
"minecraft:oak_chest_boat",
|
||||
"minecraft:pale_oak_boat",
|
||||
"minecraft:pale_oak_chest_boat",
|
||||
"minecraft:spruce_boat",
|
||||
"minecraft:spruce_chest_boat"
|
||||
],
|
||||
"minecraft:boats": [
|
||||
"minecraft:acacia_boat",
|
||||
"minecraft:acacia_chest_boat",
|
||||
"minecraft:bamboo_chest_raft",
|
||||
"minecraft:bamboo_raft",
|
||||
"minecraft:birch_boat",
|
||||
"minecraft:birch_chest_boat",
|
||||
"minecraft:cherry_boat",
|
||||
"minecraft:cherry_chest_boat",
|
||||
"minecraft:dark_oak_boat",
|
||||
"minecraft:dark_oak_chest_boat",
|
||||
"minecraft:jungle_boat",
|
||||
"minecraft:jungle_chest_boat",
|
||||
"minecraft:mangrove_boat",
|
||||
"minecraft:mangrove_chest_boat",
|
||||
"minecraft:oak_boat",
|
||||
"minecraft:oak_chest_boat",
|
||||
"minecraft:pale_oak_boat",
|
||||
"minecraft:pale_oak_chest_boat",
|
||||
"minecraft:spruce_boat",
|
||||
"minecraft:spruce_chest_boat"
|
||||
],
|
||||
"minecraft:bookshelf_books": [
|
||||
"minecraft:book",
|
||||
"minecraft:enchanted_book",
|
||||
"minecraft:writable_book"
|
||||
],
|
||||
"minecraft:chainmail_tier": [
|
||||
"minecraft:chainmail_boots",
|
||||
"minecraft:chainmail_chestplate",
|
||||
"minecraft:chainmail_helmet",
|
||||
"minecraft:chainmail_leggings"
|
||||
],
|
||||
"minecraft:coals": [
|
||||
"minecraft:charcoal",
|
||||
"minecraft:coal"
|
||||
],
|
||||
"minecraft:copper_tier": [
|
||||
"minecraft:copper_axe",
|
||||
"minecraft:copper_boots",
|
||||
"minecraft:copper_chestplate",
|
||||
"minecraft:copper_helmet",
|
||||
"minecraft:copper_hoe",
|
||||
"minecraft:copper_leggings",
|
||||
"minecraft:copper_pickaxe",
|
||||
"minecraft:copper_shovel",
|
||||
"minecraft:copper_sword"
|
||||
],
|
||||
"minecraft:crimson_stems": [
|
||||
"minecraft:crimson_hyphae",
|
||||
"minecraft:crimson_stem",
|
||||
"minecraft:stripped_crimson_hyphae",
|
||||
"minecraft:stripped_crimson_stem"
|
||||
],
|
||||
"minecraft:decorated_pot_sherds": [
|
||||
"minecraft:angler_pottery_sherd",
|
||||
"minecraft:archer_pottery_sherd",
|
||||
"minecraft:arms_up_pottery_sherd",
|
||||
"minecraft:blade_pottery_sherd",
|
||||
"minecraft:brewer_pottery_sherd",
|
||||
"minecraft:brick",
|
||||
"minecraft:burn_pottery_sherd",
|
||||
"minecraft:danger_pottery_sherd",
|
||||
"minecraft:explorer_pottery_sherd",
|
||||
"minecraft:flow_pottery_sherd",
|
||||
"minecraft:friend_pottery_sherd",
|
||||
"minecraft:guster_pottery_sherd",
|
||||
"minecraft:heart_pottery_sherd",
|
||||
"minecraft:heartbreak_pottery_sherd",
|
||||
"minecraft:howl_pottery_sherd",
|
||||
"minecraft:miner_pottery_sherd",
|
||||
"minecraft:mourner_pottery_sherd",
|
||||
"minecraft:plenty_pottery_sherd",
|
||||
"minecraft:prize_pottery_sherd",
|
||||
"minecraft:scrape_pottery_sherd",
|
||||
"minecraft:sheaf_pottery_sherd",
|
||||
"minecraft:shelter_pottery_sherd",
|
||||
"minecraft:skull_pottery_sherd",
|
||||
"minecraft:snort_pottery_sherd"
|
||||
],
|
||||
"minecraft:diamond_tier": [
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:diamond_boots",
|
||||
"minecraft:diamond_chestplate",
|
||||
"minecraft:diamond_helmet",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:diamond_leggings",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:diamond_sword",
|
||||
"minecraft:mace"
|
||||
],
|
||||
"minecraft:digger": [
|
||||
"minecraft:copper_axe",
|
||||
"minecraft:copper_hoe",
|
||||
"minecraft:copper_pickaxe",
|
||||
"minecraft:copper_shovel",
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:golden_axe",
|
||||
"minecraft:golden_hoe",
|
||||
"minecraft:golden_pickaxe",
|
||||
"minecraft:golden_shovel",
|
||||
"minecraft:iron_axe",
|
||||
"minecraft:iron_hoe",
|
||||
"minecraft:iron_pickaxe",
|
||||
"minecraft:iron_shovel",
|
||||
"minecraft:netherite_axe",
|
||||
"minecraft:netherite_hoe",
|
||||
"minecraft:netherite_pickaxe",
|
||||
"minecraft:netherite_shovel",
|
||||
"minecraft:stone_axe",
|
||||
"minecraft:stone_hoe",
|
||||
"minecraft:stone_pickaxe",
|
||||
"minecraft:stone_shovel",
|
||||
"minecraft:wooden_axe",
|
||||
"minecraft:wooden_hoe",
|
||||
"minecraft:wooden_pickaxe",
|
||||
"minecraft:wooden_shovel"
|
||||
],
|
||||
"minecraft:door": [
|
||||
"minecraft:acacia_door",
|
||||
"minecraft:bamboo_door",
|
||||
"minecraft:birch_door",
|
||||
"minecraft:cherry_door",
|
||||
"minecraft:copper_door",
|
||||
"minecraft:crimson_door",
|
||||
"minecraft:dark_oak_door",
|
||||
"minecraft:exposed_copper_door",
|
||||
"minecraft:iron_door",
|
||||
"minecraft:jungle_door",
|
||||
"minecraft:mangrove_door",
|
||||
"minecraft:oxidized_copper_door",
|
||||
"minecraft:pale_oak_door",
|
||||
"minecraft:spruce_door",
|
||||
"minecraft:warped_door",
|
||||
"minecraft:waxed_copper_door",
|
||||
"minecraft:waxed_exposed_copper_door",
|
||||
"minecraft:waxed_oxidized_copper_door",
|
||||
"minecraft:waxed_weathered_copper_door",
|
||||
"minecraft:weathered_copper_door",
|
||||
"minecraft:wooden_door"
|
||||
],
|
||||
"minecraft:egg": [
|
||||
"minecraft:blue_egg",
|
||||
"minecraft:brown_egg",
|
||||
"minecraft:egg"
|
||||
],
|
||||
"minecraft:golden_tier": [
|
||||
"minecraft:golden_axe",
|
||||
"minecraft:golden_boots",
|
||||
"minecraft:golden_chestplate",
|
||||
"minecraft:golden_helmet",
|
||||
"minecraft:golden_hoe",
|
||||
"minecraft:golden_leggings",
|
||||
"minecraft:golden_pickaxe",
|
||||
"minecraft:golden_shovel",
|
||||
"minecraft:golden_sword"
|
||||
],
|
||||
"minecraft:hanging_actor": [
|
||||
"minecraft:painting"
|
||||
],
|
||||
"minecraft:hanging_sign": [
|
||||
"minecraft:acacia_hanging_sign",
|
||||
"minecraft:bamboo_hanging_sign",
|
||||
"minecraft:birch_hanging_sign",
|
||||
"minecraft:cherry_hanging_sign",
|
||||
"minecraft:crimson_hanging_sign",
|
||||
"minecraft:dark_oak_hanging_sign",
|
||||
"minecraft:jungle_hanging_sign",
|
||||
"minecraft:mangrove_hanging_sign",
|
||||
"minecraft:oak_hanging_sign",
|
||||
"minecraft:pale_oak_hanging_sign",
|
||||
"minecraft:spruce_hanging_sign",
|
||||
"minecraft:warped_hanging_sign"
|
||||
],
|
||||
"minecraft:harness": [
|
||||
"minecraft:black_harness",
|
||||
"minecraft:blue_harness",
|
||||
"minecraft:brown_harness",
|
||||
"minecraft:cyan_harness",
|
||||
"minecraft:gray_harness",
|
||||
"minecraft:green_harness",
|
||||
"minecraft:light_blue_harness",
|
||||
"minecraft:light_gray_harness",
|
||||
"minecraft:lime_harness",
|
||||
"minecraft:magenta_harness",
|
||||
"minecraft:orange_harness",
|
||||
"minecraft:pink_harness",
|
||||
"minecraft:purple_harness",
|
||||
"minecraft:red_harness",
|
||||
"minecraft:white_harness",
|
||||
"minecraft:yellow_harness"
|
||||
],
|
||||
"minecraft:horse_armor": [
|
||||
"minecraft:copper_horse_armor",
|
||||
"minecraft:diamond_horse_armor",
|
||||
"minecraft:golden_horse_armor",
|
||||
"minecraft:iron_horse_armor",
|
||||
"minecraft:leather_horse_armor"
|
||||
],
|
||||
"minecraft:iron_tier": [
|
||||
"minecraft:iron_axe",
|
||||
"minecraft:iron_boots",
|
||||
"minecraft:iron_chestplate",
|
||||
"minecraft:iron_helmet",
|
||||
"minecraft:iron_hoe",
|
||||
"minecraft:iron_leggings",
|
||||
"minecraft:iron_pickaxe",
|
||||
"minecraft:iron_shovel",
|
||||
"minecraft:iron_sword"
|
||||
],
|
||||
"minecraft:is_armor": [
|
||||
"minecraft:chainmail_boots",
|
||||
"minecraft:chainmail_chestplate",
|
||||
"minecraft:chainmail_helmet",
|
||||
"minecraft:chainmail_leggings",
|
||||
"minecraft:copper_boots",
|
||||
"minecraft:copper_chestplate",
|
||||
"minecraft:copper_helmet",
|
||||
"minecraft:copper_leggings",
|
||||
"minecraft:diamond_boots",
|
||||
"minecraft:diamond_chestplate",
|
||||
"minecraft:diamond_helmet",
|
||||
"minecraft:diamond_leggings",
|
||||
"minecraft:elytra",
|
||||
"minecraft:golden_boots",
|
||||
"minecraft:golden_chestplate",
|
||||
"minecraft:golden_helmet",
|
||||
"minecraft:golden_leggings",
|
||||
"minecraft:iron_boots",
|
||||
"minecraft:iron_chestplate",
|
||||
"minecraft:iron_helmet",
|
||||
"minecraft:iron_leggings",
|
||||
"minecraft:leather_boots",
|
||||
"minecraft:leather_chestplate",
|
||||
"minecraft:leather_helmet",
|
||||
"minecraft:leather_leggings",
|
||||
"minecraft:netherite_boots",
|
||||
"minecraft:netherite_chestplate",
|
||||
"minecraft:netherite_helmet",
|
||||
"minecraft:netherite_leggings",
|
||||
"minecraft:turtle_helmet"
|
||||
],
|
||||
"minecraft:is_axe": [
|
||||
"minecraft:copper_axe",
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:golden_axe",
|
||||
"minecraft:iron_axe",
|
||||
"minecraft:netherite_axe",
|
||||
"minecraft:stone_axe",
|
||||
"minecraft:wooden_axe"
|
||||
],
|
||||
"minecraft:is_cooked": [
|
||||
"minecraft:cooked_beef",
|
||||
"minecraft:cooked_chicken",
|
||||
"minecraft:cooked_cod",
|
||||
"minecraft:cooked_mutton",
|
||||
"minecraft:cooked_porkchop",
|
||||
"minecraft:cooked_rabbit",
|
||||
"minecraft:cooked_salmon",
|
||||
"minecraft:rabbit_stew"
|
||||
],
|
||||
"minecraft:is_fish": [
|
||||
"minecraft:cod",
|
||||
"minecraft:cooked_cod",
|
||||
"minecraft:cooked_salmon",
|
||||
"minecraft:pufferfish",
|
||||
"minecraft:salmon",
|
||||
"minecraft:tropical_fish"
|
||||
],
|
||||
"minecraft:is_food": [
|
||||
"minecraft:apple",
|
||||
"minecraft:baked_potato",
|
||||
"minecraft:beef",
|
||||
"minecraft:beetroot",
|
||||
"minecraft:beetroot_soup",
|
||||
"minecraft:bread",
|
||||
"minecraft:carrot",
|
||||
"minecraft:chicken",
|
||||
"minecraft:chorus_fruit",
|
||||
"minecraft:cod",
|
||||
"minecraft:cooked_beef",
|
||||
"minecraft:cooked_chicken",
|
||||
"minecraft:cooked_cod",
|
||||
"minecraft:cooked_mutton",
|
||||
"minecraft:cooked_porkchop",
|
||||
"minecraft:cooked_rabbit",
|
||||
"minecraft:cooked_salmon",
|
||||
"minecraft:cookie",
|
||||
"minecraft:dried_kelp",
|
||||
"minecraft:enchanted_golden_apple",
|
||||
"minecraft:golden_apple",
|
||||
"minecraft:golden_carrot",
|
||||
"minecraft:honey_bottle",
|
||||
"minecraft:melon_slice",
|
||||
"minecraft:mushroom_stew",
|
||||
"minecraft:mutton",
|
||||
"minecraft:poisonous_potato",
|
||||
"minecraft:porkchop",
|
||||
"minecraft:potato",
|
||||
"minecraft:pufferfish",
|
||||
"minecraft:pumpkin_pie",
|
||||
"minecraft:rabbit",
|
||||
"minecraft:rabbit_stew",
|
||||
"minecraft:rotten_flesh",
|
||||
"minecraft:salmon",
|
||||
"minecraft:spider_eye",
|
||||
"minecraft:suspicious_stew",
|
||||
"minecraft:sweet_berries",
|
||||
"minecraft:tropical_fish"
|
||||
],
|
||||
"minecraft:is_hoe": [
|
||||
"minecraft:copper_hoe",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:golden_hoe",
|
||||
"minecraft:iron_hoe",
|
||||
"minecraft:netherite_hoe",
|
||||
"minecraft:stone_hoe",
|
||||
"minecraft:wooden_hoe"
|
||||
],
|
||||
"minecraft:is_meat": [
|
||||
"minecraft:beef",
|
||||
"minecraft:chicken",
|
||||
"minecraft:cooked_beef",
|
||||
"minecraft:cooked_chicken",
|
||||
"minecraft:cooked_mutton",
|
||||
"minecraft:cooked_porkchop",
|
||||
"minecraft:cooked_rabbit",
|
||||
"minecraft:mutton",
|
||||
"minecraft:porkchop",
|
||||
"minecraft:rabbit",
|
||||
"minecraft:rabbit_stew",
|
||||
"minecraft:rotten_flesh"
|
||||
],
|
||||
"minecraft:is_minecart": [
|
||||
"minecraft:chest_minecart",
|
||||
"minecraft:command_block_minecart",
|
||||
"minecraft:hopper_minecart",
|
||||
"minecraft:minecart",
|
||||
"minecraft:tnt_minecart"
|
||||
],
|
||||
"minecraft:is_pickaxe": [
|
||||
"minecraft:copper_pickaxe",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:golden_pickaxe",
|
||||
"minecraft:iron_pickaxe",
|
||||
"minecraft:netherite_pickaxe",
|
||||
"minecraft:stone_pickaxe",
|
||||
"minecraft:wooden_pickaxe"
|
||||
],
|
||||
"minecraft:is_shears": [
|
||||
"minecraft:shears"
|
||||
],
|
||||
"minecraft:is_shovel": [
|
||||
"minecraft:copper_shovel",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:golden_shovel",
|
||||
"minecraft:iron_shovel",
|
||||
"minecraft:netherite_shovel",
|
||||
"minecraft:stone_shovel",
|
||||
"minecraft:wooden_shovel"
|
||||
],
|
||||
"minecraft:is_sword": [
|
||||
"minecraft:copper_sword",
|
||||
"minecraft:diamond_sword",
|
||||
"minecraft:golden_sword",
|
||||
"minecraft:iron_sword",
|
||||
"minecraft:mace",
|
||||
"minecraft:netherite_sword",
|
||||
"minecraft:stone_sword",
|
||||
"minecraft:wooden_sword"
|
||||
],
|
||||
"minecraft:is_tool": [
|
||||
"minecraft:copper_axe",
|
||||
"minecraft:copper_hoe",
|
||||
"minecraft:copper_pickaxe",
|
||||
"minecraft:copper_shovel",
|
||||
"minecraft:copper_sword",
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:diamond_sword",
|
||||
"minecraft:golden_axe",
|
||||
"minecraft:golden_hoe",
|
||||
"minecraft:golden_pickaxe",
|
||||
"minecraft:golden_shovel",
|
||||
"minecraft:golden_sword",
|
||||
"minecraft:iron_axe",
|
||||
"minecraft:iron_hoe",
|
||||
"minecraft:iron_pickaxe",
|
||||
"minecraft:iron_shovel",
|
||||
"minecraft:iron_sword",
|
||||
"minecraft:mace",
|
||||
"minecraft:netherite_axe",
|
||||
"minecraft:netherite_hoe",
|
||||
"minecraft:netherite_pickaxe",
|
||||
"minecraft:netherite_shovel",
|
||||
"minecraft:netherite_sword",
|
||||
"minecraft:stone_axe",
|
||||
"minecraft:stone_hoe",
|
||||
"minecraft:stone_pickaxe",
|
||||
"minecraft:stone_shovel",
|
||||
"minecraft:stone_sword",
|
||||
"minecraft:wooden_axe",
|
||||
"minecraft:wooden_hoe",
|
||||
"minecraft:wooden_pickaxe",
|
||||
"minecraft:wooden_shovel",
|
||||
"minecraft:wooden_sword"
|
||||
],
|
||||
"minecraft:is_trident": [
|
||||
"minecraft:trident"
|
||||
],
|
||||
"minecraft:leather_tier": [
|
||||
"minecraft:leather_boots",
|
||||
"minecraft:leather_chestplate",
|
||||
"minecraft:leather_helmet",
|
||||
"minecraft:leather_leggings"
|
||||
],
|
||||
"minecraft:lectern_books": [
|
||||
"minecraft:writable_book"
|
||||
],
|
||||
"minecraft:logs": [
|
||||
"minecraft:acacia_log",
|
||||
"minecraft:acacia_wood",
|
||||
"minecraft:birch_log",
|
||||
"minecraft:birch_wood",
|
||||
"minecraft:cherry_log",
|
||||
"minecraft:cherry_wood",
|
||||
"minecraft:crimson_hyphae",
|
||||
"minecraft:crimson_stem",
|
||||
"minecraft:dark_oak_log",
|
||||
"minecraft:dark_oak_wood",
|
||||
"minecraft:jungle_log",
|
||||
"minecraft:jungle_wood",
|
||||
"minecraft:mangrove_log",
|
||||
"minecraft:mangrove_wood",
|
||||
"minecraft:oak_log",
|
||||
"minecraft:oak_wood",
|
||||
"minecraft:pale_oak_log",
|
||||
"minecraft:pale_oak_wood",
|
||||
"minecraft:spruce_log",
|
||||
"minecraft:spruce_wood",
|
||||
"minecraft:stripped_acacia_log",
|
||||
"minecraft:stripped_acacia_wood",
|
||||
"minecraft:stripped_birch_log",
|
||||
"minecraft:stripped_birch_wood",
|
||||
"minecraft:stripped_cherry_log",
|
||||
"minecraft:stripped_cherry_wood",
|
||||
"minecraft:stripped_crimson_hyphae",
|
||||
"minecraft:stripped_crimson_stem",
|
||||
"minecraft:stripped_dark_oak_log",
|
||||
"minecraft:stripped_dark_oak_wood",
|
||||
"minecraft:stripped_jungle_log",
|
||||
"minecraft:stripped_jungle_wood",
|
||||
"minecraft:stripped_mangrove_log",
|
||||
"minecraft:stripped_mangrove_wood",
|
||||
"minecraft:stripped_oak_log",
|
||||
"minecraft:stripped_oak_wood",
|
||||
"minecraft:stripped_pale_oak_log",
|
||||
"minecraft:stripped_pale_oak_wood",
|
||||
"minecraft:stripped_spruce_log",
|
||||
"minecraft:stripped_spruce_wood",
|
||||
"minecraft:stripped_warped_hyphae",
|
||||
"minecraft:stripped_warped_stem",
|
||||
"minecraft:warped_hyphae",
|
||||
"minecraft:warped_stem"
|
||||
],
|
||||
"minecraft:logs_that_burn": [
|
||||
"minecraft:acacia_log",
|
||||
"minecraft:acacia_wood",
|
||||
"minecraft:birch_log",
|
||||
"minecraft:birch_wood",
|
||||
"minecraft:cherry_log",
|
||||
"minecraft:cherry_wood",
|
||||
"minecraft:dark_oak_log",
|
||||
"minecraft:dark_oak_wood",
|
||||
"minecraft:jungle_log",
|
||||
"minecraft:jungle_wood",
|
||||
"minecraft:mangrove_log",
|
||||
"minecraft:mangrove_wood",
|
||||
"minecraft:oak_log",
|
||||
"minecraft:oak_wood",
|
||||
"minecraft:pale_oak_log",
|
||||
"minecraft:pale_oak_wood",
|
||||
"minecraft:spruce_log",
|
||||
"minecraft:spruce_wood",
|
||||
"minecraft:stripped_acacia_log",
|
||||
"minecraft:stripped_acacia_wood",
|
||||
"minecraft:stripped_birch_log",
|
||||
"minecraft:stripped_birch_wood",
|
||||
"minecraft:stripped_cherry_log",
|
||||
"minecraft:stripped_cherry_wood",
|
||||
"minecraft:stripped_dark_oak_log",
|
||||
"minecraft:stripped_dark_oak_wood",
|
||||
"minecraft:stripped_jungle_log",
|
||||
"minecraft:stripped_jungle_wood",
|
||||
"minecraft:stripped_mangrove_log",
|
||||
"minecraft:stripped_mangrove_wood",
|
||||
"minecraft:stripped_oak_log",
|
||||
"minecraft:stripped_oak_wood",
|
||||
"minecraft:stripped_pale_oak_log",
|
||||
"minecraft:stripped_pale_oak_wood",
|
||||
"minecraft:stripped_spruce_log",
|
||||
"minecraft:stripped_spruce_wood"
|
||||
],
|
||||
"minecraft:mangrove_logs": [
|
||||
"minecraft:mangrove_log",
|
||||
"minecraft:mangrove_wood",
|
||||
"minecraft:stripped_mangrove_log",
|
||||
"minecraft:stripped_mangrove_wood"
|
||||
],
|
||||
"minecraft:music_disc": [
|
||||
"minecraft:music_disc_11",
|
||||
"minecraft:music_disc_13",
|
||||
"minecraft:music_disc_5",
|
||||
"minecraft:music_disc_blocks",
|
||||
"minecraft:music_disc_cat",
|
||||
"minecraft:music_disc_chirp",
|
||||
"minecraft:music_disc_creator",
|
||||
"minecraft:music_disc_creator_music_box",
|
||||
"minecraft:music_disc_far",
|
||||
"minecraft:music_disc_lava_chicken",
|
||||
"minecraft:music_disc_mall",
|
||||
"minecraft:music_disc_mellohi",
|
||||
"minecraft:music_disc_otherside",
|
||||
"minecraft:music_disc_pigstep",
|
||||
"minecraft:music_disc_precipice",
|
||||
"minecraft:music_disc_relic",
|
||||
"minecraft:music_disc_stal",
|
||||
"minecraft:music_disc_strad",
|
||||
"minecraft:music_disc_tears",
|
||||
"minecraft:music_disc_wait",
|
||||
"minecraft:music_disc_ward"
|
||||
],
|
||||
"minecraft:netherite_tier": [
|
||||
"minecraft:netherite_axe",
|
||||
"minecraft:netherite_boots",
|
||||
"minecraft:netherite_chestplate",
|
||||
"minecraft:netherite_helmet",
|
||||
"minecraft:netherite_hoe",
|
||||
"minecraft:netherite_leggings",
|
||||
"minecraft:netherite_pickaxe",
|
||||
"minecraft:netherite_shovel",
|
||||
"minecraft:netherite_sword"
|
||||
],
|
||||
"minecraft:planks": [
|
||||
"minecraft:acacia_planks",
|
||||
"minecraft:bamboo_planks",
|
||||
"minecraft:birch_planks",
|
||||
"minecraft:cherry_planks",
|
||||
"minecraft:crimson_planks",
|
||||
"minecraft:dark_oak_planks",
|
||||
"minecraft:jungle_planks",
|
||||
"minecraft:mangrove_planks",
|
||||
"minecraft:oak_planks",
|
||||
"minecraft:pale_oak_planks",
|
||||
"minecraft:spruce_planks",
|
||||
"minecraft:warped_planks"
|
||||
],
|
||||
"minecraft:sand": [
|
||||
"minecraft:red_sand",
|
||||
"minecraft:sand"
|
||||
],
|
||||
"minecraft:sign": [
|
||||
"minecraft:acacia_hanging_sign",
|
||||
"minecraft:acacia_sign",
|
||||
"minecraft:bamboo_hanging_sign",
|
||||
"minecraft:bamboo_sign",
|
||||
"minecraft:birch_hanging_sign",
|
||||
"minecraft:birch_sign",
|
||||
"minecraft:cherry_hanging_sign",
|
||||
"minecraft:cherry_sign",
|
||||
"minecraft:crimson_hanging_sign",
|
||||
"minecraft:crimson_sign",
|
||||
"minecraft:dark_oak_hanging_sign",
|
||||
"minecraft:dark_oak_sign",
|
||||
"minecraft:jungle_hanging_sign",
|
||||
"minecraft:jungle_sign",
|
||||
"minecraft:mangrove_hanging_sign",
|
||||
"minecraft:mangrove_sign",
|
||||
"minecraft:oak_hanging_sign",
|
||||
"minecraft:oak_sign",
|
||||
"minecraft:pale_oak_hanging_sign",
|
||||
"minecraft:pale_oak_sign",
|
||||
"minecraft:spruce_hanging_sign",
|
||||
"minecraft:spruce_sign",
|
||||
"minecraft:warped_hanging_sign",
|
||||
"minecraft:warped_sign"
|
||||
],
|
||||
"minecraft:soul_fire_base_blocks": [
|
||||
"minecraft:soul_sand",
|
||||
"minecraft:soul_soil"
|
||||
],
|
||||
"minecraft:spawn_egg": [
|
||||
"minecraft:allay_spawn_egg",
|
||||
"minecraft:armadillo_spawn_egg",
|
||||
"minecraft:axolotl_spawn_egg",
|
||||
"minecraft:bat_spawn_egg",
|
||||
"minecraft:bee_spawn_egg",
|
||||
"minecraft:blaze_spawn_egg",
|
||||
"minecraft:bogged_spawn_egg",
|
||||
"minecraft:breeze_spawn_egg",
|
||||
"minecraft:camel_spawn_egg",
|
||||
"minecraft:cat_spawn_egg",
|
||||
"minecraft:cave_spider_spawn_egg",
|
||||
"minecraft:chicken_spawn_egg",
|
||||
"minecraft:cod_spawn_egg",
|
||||
"minecraft:copper_golem_spawn_egg",
|
||||
"minecraft:cow_spawn_egg",
|
||||
"minecraft:creaking_spawn_egg",
|
||||
"minecraft:creeper_spawn_egg",
|
||||
"minecraft:dolphin_spawn_egg",
|
||||
"minecraft:donkey_spawn_egg",
|
||||
"minecraft:drowned_spawn_egg",
|
||||
"minecraft:elder_guardian_spawn_egg",
|
||||
"minecraft:ender_dragon_spawn_egg",
|
||||
"minecraft:enderman_spawn_egg",
|
||||
"minecraft:endermite_spawn_egg",
|
||||
"minecraft:evoker_spawn_egg",
|
||||
"minecraft:fox_spawn_egg",
|
||||
"minecraft:frog_spawn_egg",
|
||||
"minecraft:ghast_spawn_egg",
|
||||
"minecraft:glow_squid_spawn_egg",
|
||||
"minecraft:goat_spawn_egg",
|
||||
"minecraft:guardian_spawn_egg",
|
||||
"minecraft:happy_ghast_spawn_egg",
|
||||
"minecraft:hoglin_spawn_egg",
|
||||
"minecraft:horse_spawn_egg",
|
||||
"minecraft:husk_spawn_egg",
|
||||
"minecraft:iron_golem_spawn_egg",
|
||||
"minecraft:llama_spawn_egg",
|
||||
"minecraft:magma_cube_spawn_egg",
|
||||
"minecraft:mooshroom_spawn_egg",
|
||||
"minecraft:mule_spawn_egg",
|
||||
"minecraft:ocelot_spawn_egg",
|
||||
"minecraft:panda_spawn_egg",
|
||||
"minecraft:parrot_spawn_egg",
|
||||
"minecraft:phantom_spawn_egg",
|
||||
"minecraft:pig_spawn_egg",
|
||||
"minecraft:piglin_brute_spawn_egg",
|
||||
"minecraft:piglin_spawn_egg",
|
||||
"minecraft:pillager_spawn_egg",
|
||||
"minecraft:polar_bear_spawn_egg",
|
||||
"minecraft:pufferfish_spawn_egg",
|
||||
"minecraft:rabbit_spawn_egg",
|
||||
"minecraft:ravager_spawn_egg",
|
||||
"minecraft:salmon_spawn_egg",
|
||||
"minecraft:sheep_spawn_egg",
|
||||
"minecraft:shulker_spawn_egg",
|
||||
"minecraft:silverfish_spawn_egg",
|
||||
"minecraft:skeleton_horse_spawn_egg",
|
||||
"minecraft:skeleton_spawn_egg",
|
||||
"minecraft:slime_spawn_egg",
|
||||
"minecraft:sniffer_spawn_egg",
|
||||
"minecraft:snow_golem_spawn_egg",
|
||||
"minecraft:spider_spawn_egg",
|
||||
"minecraft:squid_spawn_egg",
|
||||
"minecraft:stray_spawn_egg",
|
||||
"minecraft:strider_spawn_egg",
|
||||
"minecraft:tadpole_spawn_egg",
|
||||
"minecraft:trader_llama_spawn_egg",
|
||||
"minecraft:tropical_fish_spawn_egg",
|
||||
"minecraft:turtle_spawn_egg",
|
||||
"minecraft:vex_spawn_egg",
|
||||
"minecraft:villager_spawn_egg",
|
||||
"minecraft:vindicator_spawn_egg",
|
||||
"minecraft:wandering_trader_spawn_egg",
|
||||
"minecraft:warden_spawn_egg",
|
||||
"minecraft:witch_spawn_egg",
|
||||
"minecraft:wither_skeleton_spawn_egg",
|
||||
"minecraft:wither_spawn_egg",
|
||||
"minecraft:wolf_spawn_egg",
|
||||
"minecraft:zoglin_spawn_egg",
|
||||
"minecraft:zombie_horse_spawn_egg",
|
||||
"minecraft:zombie_pigman_spawn_egg",
|
||||
"minecraft:zombie_spawn_egg",
|
||||
"minecraft:zombie_villager_spawn_egg"
|
||||
],
|
||||
"minecraft:stone_bricks": [
|
||||
"minecraft:chiseled_stone_bricks",
|
||||
"minecraft:cracked_stone_bricks",
|
||||
"minecraft:mossy_stone_bricks",
|
||||
"minecraft:stone_bricks"
|
||||
],
|
||||
"minecraft:stone_crafting_materials": [
|
||||
"minecraft:blackstone",
|
||||
"minecraft:cobbled_deepslate",
|
||||
"minecraft:cobblestone"
|
||||
],
|
||||
"minecraft:stone_tier": [
|
||||
"minecraft:stone_axe",
|
||||
"minecraft:stone_hoe",
|
||||
"minecraft:stone_pickaxe",
|
||||
"minecraft:stone_shovel",
|
||||
"minecraft:stone_sword"
|
||||
],
|
||||
"minecraft:stone_tool_materials": [
|
||||
"minecraft:blackstone",
|
||||
"minecraft:cobbled_deepslate",
|
||||
"minecraft:cobblestone"
|
||||
],
|
||||
"minecraft:transform_materials": [
|
||||
"minecraft:netherite_ingot"
|
||||
],
|
||||
"minecraft:transform_templates": [
|
||||
"minecraft:netherite_upgrade_smithing_template"
|
||||
],
|
||||
"minecraft:transformable_items": [
|
||||
"minecraft:diamond_axe",
|
||||
"minecraft:diamond_boots",
|
||||
"minecraft:diamond_chestplate",
|
||||
"minecraft:diamond_helmet",
|
||||
"minecraft:diamond_hoe",
|
||||
"minecraft:diamond_leggings",
|
||||
"minecraft:diamond_pickaxe",
|
||||
"minecraft:diamond_shovel",
|
||||
"minecraft:diamond_sword",
|
||||
"minecraft:golden_boots"
|
||||
],
|
||||
"minecraft:trim_materials": [
|
||||
"minecraft:amethyst_shard",
|
||||
"minecraft:copper_ingot",
|
||||
"minecraft:diamond",
|
||||
"minecraft:emerald",
|
||||
"minecraft:gold_ingot",
|
||||
"minecraft:iron_ingot",
|
||||
"minecraft:lapis_lazuli",
|
||||
"minecraft:netherite_ingot",
|
||||
"minecraft:quartz",
|
||||
"minecraft:redstone",
|
||||
"minecraft:resin_brick"
|
||||
],
|
||||
"minecraft:trim_templates": [
|
||||
"minecraft:bolt_armor_trim_smithing_template",
|
||||
"minecraft:coast_armor_trim_smithing_template",
|
||||
"minecraft:dune_armor_trim_smithing_template",
|
||||
"minecraft:eye_armor_trim_smithing_template",
|
||||
"minecraft:flow_armor_trim_smithing_template",
|
||||
"minecraft:host_armor_trim_smithing_template",
|
||||
"minecraft:raiser_armor_trim_smithing_template",
|
||||
"minecraft:rib_armor_trim_smithing_template",
|
||||
"minecraft:sentry_armor_trim_smithing_template",
|
||||
"minecraft:shaper_armor_trim_smithing_template",
|
||||
"minecraft:silence_armor_trim_smithing_template",
|
||||
"minecraft:snout_armor_trim_smithing_template",
|
||||
"minecraft:spire_armor_trim_smithing_template",
|
||||
"minecraft:tide_armor_trim_smithing_template",
|
||||
"minecraft:vex_armor_trim_smithing_template",
|
||||
"minecraft:ward_armor_trim_smithing_template",
|
||||
"minecraft:wayfinder_armor_trim_smithing_template",
|
||||
"minecraft:wild_armor_trim_smithing_template"
|
||||
],
|
||||
"minecraft:trimmable_armors": [
|
||||
"minecraft:chainmail_boots",
|
||||
"minecraft:chainmail_chestplate",
|
||||
"minecraft:chainmail_helmet",
|
||||
"minecraft:chainmail_leggings",
|
||||
"minecraft:copper_boots",
|
||||
"minecraft:copper_chestplate",
|
||||
"minecraft:copper_helmet",
|
||||
"minecraft:copper_leggings",
|
||||
"minecraft:diamond_boots",
|
||||
"minecraft:diamond_chestplate",
|
||||
"minecraft:diamond_helmet",
|
||||
"minecraft:diamond_leggings",
|
||||
"minecraft:golden_boots",
|
||||
"minecraft:golden_chestplate",
|
||||
"minecraft:golden_helmet",
|
||||
"minecraft:golden_leggings",
|
||||
"minecraft:iron_boots",
|
||||
"minecraft:iron_chestplate",
|
||||
"minecraft:iron_helmet",
|
||||
"minecraft:iron_leggings",
|
||||
"minecraft:leather_boots",
|
||||
"minecraft:leather_chestplate",
|
||||
"minecraft:leather_helmet",
|
||||
"minecraft:leather_leggings",
|
||||
"minecraft:netherite_boots",
|
||||
"minecraft:netherite_chestplate",
|
||||
"minecraft:netherite_helmet",
|
||||
"minecraft:netherite_leggings",
|
||||
"minecraft:turtle_helmet"
|
||||
],
|
||||
"minecraft:vibration_damper": [
|
||||
"minecraft:black_carpet",
|
||||
"minecraft:black_wool",
|
||||
"minecraft:blue_carpet",
|
||||
"minecraft:blue_wool",
|
||||
"minecraft:brown_carpet",
|
||||
"minecraft:brown_wool",
|
||||
"minecraft:cyan_carpet",
|
||||
"minecraft:cyan_wool",
|
||||
"minecraft:gray_carpet",
|
||||
"minecraft:gray_wool",
|
||||
"minecraft:green_carpet",
|
||||
"minecraft:green_wool",
|
||||
"minecraft:light_blue_carpet",
|
||||
"minecraft:light_blue_wool",
|
||||
"minecraft:light_gray_carpet",
|
||||
"minecraft:light_gray_wool",
|
||||
"minecraft:lime_carpet",
|
||||
"minecraft:lime_wool",
|
||||
"minecraft:magenta_carpet",
|
||||
"minecraft:magenta_wool",
|
||||
"minecraft:orange_carpet",
|
||||
"minecraft:orange_wool",
|
||||
"minecraft:pink_carpet",
|
||||
"minecraft:pink_wool",
|
||||
"minecraft:purple_carpet",
|
||||
"minecraft:purple_wool",
|
||||
"minecraft:red_carpet",
|
||||
"minecraft:red_wool",
|
||||
"minecraft:white_carpet",
|
||||
"minecraft:white_wool",
|
||||
"minecraft:yellow_carpet",
|
||||
"minecraft:yellow_wool"
|
||||
],
|
||||
"minecraft:warped_stems": [
|
||||
"minecraft:stripped_warped_hyphae",
|
||||
"minecraft:stripped_warped_stem",
|
||||
"minecraft:warped_hyphae",
|
||||
"minecraft:warped_stem"
|
||||
],
|
||||
"minecraft:wooden_slabs": [
|
||||
"minecraft:acacia_slab",
|
||||
"minecraft:bamboo_slab",
|
||||
"minecraft:birch_slab",
|
||||
"minecraft:cherry_slab",
|
||||
"minecraft:crimson_slab",
|
||||
"minecraft:dark_oak_slab",
|
||||
"minecraft:jungle_slab",
|
||||
"minecraft:mangrove_slab",
|
||||
"minecraft:oak_slab",
|
||||
"minecraft:pale_oak_slab",
|
||||
"minecraft:spruce_slab",
|
||||
"minecraft:warped_slab"
|
||||
],
|
||||
"minecraft:wooden_tier": [
|
||||
"minecraft:wooden_axe",
|
||||
"minecraft:wooden_hoe",
|
||||
"minecraft:wooden_pickaxe",
|
||||
"minecraft:wooden_shovel",
|
||||
"minecraft:wooden_sword"
|
||||
],
|
||||
"minecraft:wool": [
|
||||
"minecraft:black_wool",
|
||||
"minecraft:blue_wool",
|
||||
"minecraft:brown_wool",
|
||||
"minecraft:cyan_wool",
|
||||
"minecraft:gray_wool",
|
||||
"minecraft:green_wool",
|
||||
"minecraft:light_blue_wool",
|
||||
"minecraft:light_gray_wool",
|
||||
"minecraft:lime_wool",
|
||||
"minecraft:magenta_wool",
|
||||
"minecraft:orange_wool",
|
||||
"minecraft:pink_wool",
|
||||
"minecraft:purple_wool",
|
||||
"minecraft:red_wool",
|
||||
"minecraft:white_wool",
|
||||
"minecraft:yellow_wool"
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -37,6 +38,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.125,
|
||||
"scale": 0.05,
|
||||
"mapWaterColor": {
|
||||
@@ -66,6 +68,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.0,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -90,6 +93,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 1.0,
|
||||
"scale": 0.5,
|
||||
"mapWaterColor": {
|
||||
@@ -116,6 +120,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.8,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -143,6 +148,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.125,
|
||||
"scale": 0.05,
|
||||
"mapWaterColor": {
|
||||
@@ -169,6 +175,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -197,6 +204,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.125,
|
||||
"scale": 0.05,
|
||||
"mapWaterColor": {
|
||||
@@ -224,6 +232,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -252,6 +261,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -0.5,
|
||||
"scale": 0.0,
|
||||
"mapWaterColor": {
|
||||
@@ -278,6 +288,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -304,6 +315,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -332,6 +344,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.8,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -359,6 +372,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -383,6 +397,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -410,6 +425,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -0.2,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -436,6 +452,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -466,6 +483,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -490,6 +508,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -518,6 +537,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.4,
|
||||
"mapWaterColor": {
|
||||
@@ -545,6 +565,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.0,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -572,6 +593,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -0.5,
|
||||
"scale": 0.0,
|
||||
"mapWaterColor": {
|
||||
@@ -601,6 +623,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -628,6 +651,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -657,6 +681,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.0,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -683,6 +708,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.0,
|
||||
"scale": 0.025,
|
||||
"mapWaterColor": {
|
||||
@@ -708,6 +734,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -738,6 +765,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.0,
|
||||
"scale": 0.025,
|
||||
"mapWaterColor": {
|
||||
@@ -763,6 +791,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.4,
|
||||
"mapWaterColor": {
|
||||
@@ -791,6 +820,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -818,6 +848,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -846,6 +877,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 1.5,
|
||||
"scale": 0.025,
|
||||
"mapWaterColor": {
|
||||
@@ -875,6 +907,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.8,
|
||||
"scale": 0.4,
|
||||
"mapWaterColor": {
|
||||
@@ -903,6 +936,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -932,6 +966,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.8,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -961,6 +996,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 1.0,
|
||||
"scale": 0.5,
|
||||
"mapWaterColor": {
|
||||
@@ -989,6 +1025,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -1017,6 +1054,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.8,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -1043,6 +1081,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.8,
|
||||
"mapWaterColor": {
|
||||
@@ -1068,6 +1107,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.4,
|
||||
"mapWaterColor": {
|
||||
@@ -1095,6 +1135,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.55,
|
||||
"scale": 0.5,
|
||||
"mapWaterColor": {
|
||||
@@ -1123,6 +1164,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 1.0,
|
||||
"scale": 0.5,
|
||||
"mapWaterColor": {
|
||||
@@ -1150,6 +1192,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.0,
|
||||
"scale": 0.025,
|
||||
"mapWaterColor": {
|
||||
@@ -1179,6 +1222,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -1206,6 +1250,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -1235,6 +1280,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.8,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -1262,6 +1308,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -1292,6 +1339,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.0,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -1318,6 +1366,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -1347,6 +1396,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -1376,6 +1426,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.125,
|
||||
"scale": 0.05,
|
||||
"mapWaterColor": {
|
||||
@@ -1403,6 +1454,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 1.5,
|
||||
"scale": 0.025,
|
||||
"mapWaterColor": {
|
||||
@@ -1431,6 +1483,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -1458,6 +1511,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 1.5,
|
||||
"scale": 0.025,
|
||||
"mapWaterColor": {
|
||||
@@ -1488,6 +1542,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.3,
|
||||
"scale": 0.4,
|
||||
"mapWaterColor": {
|
||||
@@ -1517,6 +1572,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.0,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -1544,6 +1600,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -1.0,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -1574,6 +1631,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.125,
|
||||
"scale": 0.05,
|
||||
"mapWaterColor": {
|
||||
@@ -1601,6 +1659,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.225,
|
||||
"scale": 0.25,
|
||||
"mapWaterColor": {
|
||||
@@ -1628,6 +1687,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -0.1,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -1655,6 +1715,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.425,
|
||||
"scale": 0.45,
|
||||
"mapWaterColor": {
|
||||
@@ -1684,6 +1745,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.4,
|
||||
"mapWaterColor": {
|
||||
@@ -1713,6 +1775,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.4,
|
||||
"mapWaterColor": {
|
||||
@@ -1742,6 +1805,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.2,
|
||||
"scale": 0.4,
|
||||
"mapWaterColor": {
|
||||
@@ -1769,6 +1833,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.55,
|
||||
"scale": 0.5,
|
||||
"mapWaterColor": {
|
||||
@@ -1799,6 +1864,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 1.0,
|
||||
"scale": 0.5,
|
||||
"mapWaterColor": {
|
||||
@@ -1827,6 +1893,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.3625,
|
||||
"scale": 1.225,
|
||||
"mapWaterColor": {
|
||||
@@ -1835,7 +1902,7 @@
|
||||
"g": 183,
|
||||
"b": 255
|
||||
},
|
||||
"rain": true,
|
||||
"rain": false,
|
||||
"chunkGenData": null,
|
||||
"id": null,
|
||||
"tags": [
|
||||
@@ -1855,6 +1922,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 1.05,
|
||||
"scale": 1.2125,
|
||||
"mapWaterColor": {
|
||||
@@ -1884,6 +1952,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -1912,6 +1981,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -1941,6 +2011,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.45,
|
||||
"scale": 0.3,
|
||||
"mapWaterColor": {
|
||||
@@ -1969,8 +2040,9 @@
|
||||
"downfall": 0.0,
|
||||
"redSporeDensity": 0.0,
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.05,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -1993,10 +2065,11 @@
|
||||
"minecraft:crimson_forest": {
|
||||
"temperature": 2.0,
|
||||
"downfall": 0.0,
|
||||
"redSporeDensity": 0.25,
|
||||
"redSporeDensity": 0.0,
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2021,9 +2094,10 @@
|
||||
"temperature": 2.0,
|
||||
"downfall": 0.0,
|
||||
"redSporeDensity": 0.0,
|
||||
"blueSporeDensity": 0.25,
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2049,7 +2123,8 @@
|
||||
"redSporeDensity": 0.0,
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 2.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2076,6 +2151,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2106,6 +2182,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2136,6 +2213,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2166,6 +2244,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2196,6 +2275,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2222,6 +2302,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2230,7 +2311,7 @@
|
||||
"g": 183,
|
||||
"b": 255
|
||||
},
|
||||
"rain": true,
|
||||
"rain": false,
|
||||
"chunkGenData": null,
|
||||
"id": null,
|
||||
"tags": [
|
||||
@@ -2248,6 +2329,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2256,7 +2338,7 @@
|
||||
"g": 183,
|
||||
"b": 255
|
||||
},
|
||||
"rain": true,
|
||||
"rain": false,
|
||||
"chunkGenData": null,
|
||||
"id": null,
|
||||
"tags": [
|
||||
@@ -2273,6 +2355,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2298,6 +2381,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2324,6 +2408,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": -0.2,
|
||||
"scale": 0.1,
|
||||
"mapWaterColor": {
|
||||
@@ -2351,6 +2436,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
@@ -2377,6 +2463,7 @@
|
||||
"blueSporeDensity": 0.0,
|
||||
"ashDensity": 0.0,
|
||||
"whiteAshDensity": 0.0,
|
||||
"foliageSnow": 0.0,
|
||||
"depth": 0.1,
|
||||
"scale": 0.2,
|
||||
"mapWaterColor": {
|
||||
|
||||
Submodule core/src/main/resources/mappings updated: 01a320f40a...40fa908cd1
@@ -8,5 +8,5 @@ org.gradle.vfs.watch=false
|
||||
|
||||
group=org.geysermc
|
||||
id=geyser
|
||||
version=2.8.3-SNAPSHOT
|
||||
version=2.8.4-SNAPSHOT
|
||||
description=Allows for players from Minecraft: Bedrock Edition to join Minecraft: Java Edition servers.
|
||||
|
||||
@@ -9,9 +9,9 @@ netty = "4.2.3.Final"
|
||||
guava = "29.0-jre"
|
||||
gson = "2.3.1" # Provided by Spigot 1.8.8
|
||||
websocket = "1.5.1"
|
||||
protocol-connection = "3.0.0.Beta7-20250812.232642-18"
|
||||
protocol-common = "3.0.0.Beta7-20250812.232642-18"
|
||||
protocol-codec = "3.0.0.Beta7-20250812.232642-18"
|
||||
protocol-connection = "3.0.0.Beta8-20250929.213851-8"
|
||||
protocol-common = "3.0.0.Beta8-20250929.213851-8"
|
||||
protocol-codec = "3.0.0.Beta8-20250929.213851-8"
|
||||
raknet = "1.0.0.CR3-20250811.214335-20"
|
||||
minecraftauth = "4.1.1"
|
||||
mcprotocollib = "1.21.7-20250915.111046-6"
|
||||
|
||||
Reference in New Issue
Block a user