1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-12-19 14:59:27 +00:00

Drop Bedrock 1.21.40 support

This commit is contained in:
onebeastchris
2025-04-01 00:22:17 +02:00
parent b46651e3a6
commit 6ca2a2391d
15 changed files with 11 additions and 14245 deletions

View File

@@ -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.40 - 1.21.70 and Minecraft Java 1.21.5. For more information, please see [here](https://geysermc.org/wiki/geyser/supported-versions/).
Geyser is currently supporting Minecraft Bedrock 1.21.50 - 1.21.70 and Minecraft Java 1.21.5. 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.

View File

@@ -25,6 +25,6 @@
"depends": {
"fabricloader": ">=0.16.7",
"fabric-api": "*",
"minecraft": ">=1.21.4"
"minecraft": ">=1.21.5"
}
}

View File

@@ -16,12 +16,12 @@ config = "geyser_neoforge.mixins.json"
[[dependencies.geyser_neoforge]]
modId="neoforge"
type="required"
versionRange="[21.0.0-beta,)"
versionRange="[21.5.0-beta,)"
ordering="NONE"
side="BOTH"
[[dependencies.geyser_neoforge]]
modId="minecraft"
type="required"
versionRange="[1.21,)"
versionRange="[1.21.5,)"
ordering="NONE"
side="BOTH"
side="BOTH"

View File

@@ -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;
@@ -77,11 +76,6 @@ public class BoatEntity extends Entity implements Leashable, Tickable {
super(session, entityId, geyserId, uuid, definition, position.add(0d, definition.offset(), 0d), motion, yaw + 90, 0, yaw + 90);
this.variant = variant;
// TODO remove once 1.21.40 is dropped
if (variant == BoatVariant.PALE_OAK && GameProtocol.isPreWinterDrop(session)) {
variant = BoatVariant.BIRCH;
}
dirtyMetadata.put(EntityDataTypes.VARIANT, variant.ordinal());
// Required to be able to move on land 1.16.200+ or apply gravity not in the water 1.16.100+

View File

@@ -65,9 +65,6 @@ public final class GameProtocol {
private static final PacketCodec DEFAULT_JAVA_CODEC = MinecraftCodec.CODEC;
static {
SUPPORTED_BEDROCK_CODECS.add(CodecProcessor.processCodec(Bedrock_v748.CODEC.toBuilder()
.minecraftVersion("1.21.40 - 1.21.44")
.build()));
SUPPORTED_BEDROCK_CODECS.add(CodecProcessor.processCodec(Bedrock_v766.CODEC.toBuilder()
.minecraftVersion("1.21.50 - 1.21.51")
.build()));

View File

@@ -42,7 +42,6 @@ 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.v748.Bedrock_v748;
import org.cloudburstmc.protocol.bedrock.codec.v766.Bedrock_v766;
import org.cloudburstmc.protocol.bedrock.codec.v776.Bedrock_v776;
import org.cloudburstmc.protocol.bedrock.codec.v786.Bedrock_v786;
@@ -58,7 +57,6 @@ 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.Conversion766_748;
import org.geysermc.geyser.registry.populator.conversion.Conversion776_766;
import org.geysermc.geyser.registry.populator.conversion.Conversion786_776;
import org.geysermc.geyser.registry.type.BlockMappings;
@@ -120,7 +118,6 @@ public final class BlockRegistryPopulator {
private static void registerBedrockBlocks() {
var blockMappers = ImmutableMap.<ObjectIntPair<String>, Remapper>builder()
.put(ObjectIntPair.of("1_21_40", Bedrock_v748.CODEC.getProtocolVersion()), Conversion766_748::remapBlock)
.put(ObjectIntPair.of("1_21_50", Bedrock_v766.CODEC.getProtocolVersion()), Conversion776_766::remapBlock)
.put(ObjectIntPair.of("1_21_60", Bedrock_v776.CODEC.getProtocolVersion()), Conversion786_776::remapBlock)
.put(ObjectIntPair.of("1_21_70", Bedrock_v786.CODEC.getProtocolVersion()), tag -> tag)

View File

@@ -45,7 +45,6 @@ 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.v748.Bedrock_v748;
import org.cloudburstmc.protocol.bedrock.codec.v766.Bedrock_v766;
import org.cloudburstmc.protocol.bedrock.codec.v776.Bedrock_v776;
import org.cloudburstmc.protocol.bedrock.codec.v786.Bedrock_v786;
@@ -126,45 +125,7 @@ public class ItemRegistryPopulator {
itemFallbacks.put(Items.BLUE_EGG, Items.EGG);
itemFallbacks.put(Items.BROWN_EGG, Items.EGG);
// 1.21.4
Map<Item, Item> oneTwentyFourFallbacks = new HashMap<>(itemFallbacks);
oneTwentyFourFallbacks.put(Items.PALE_OAK_PLANKS, Items.BIRCH_PLANKS);
oneTwentyFourFallbacks.put(Items.PALE_OAK_FENCE, Items.BIRCH_FENCE);
oneTwentyFourFallbacks.put(Items.PALE_OAK_FENCE_GATE, Items.BIRCH_FENCE_GATE);
oneTwentyFourFallbacks.put(Items.PALE_OAK_STAIRS, Items.BIRCH_STAIRS);
oneTwentyFourFallbacks.put(Items.PALE_OAK_DOOR, Items.BIRCH_DOOR);
oneTwentyFourFallbacks.put(Items.PALE_OAK_TRAPDOOR, Items.BIRCH_TRAPDOOR);
oneTwentyFourFallbacks.put(Items.PALE_OAK_SLAB, Items.BIRCH_SLAB);
oneTwentyFourFallbacks.put(Items.PALE_OAK_LOG, Items.BIRCH_LOG);
oneTwentyFourFallbacks.put(Items.STRIPPED_PALE_OAK_LOG, Items.STRIPPED_BIRCH_LOG);
oneTwentyFourFallbacks.put(Items.PALE_OAK_WOOD, Items.BIRCH_WOOD);
oneTwentyFourFallbacks.put(Items.PALE_OAK_LEAVES, Items.BIRCH_LEAVES);
oneTwentyFourFallbacks.put(Items.PALE_OAK_SAPLING, Items.BIRCH_SAPLING);
oneTwentyFourFallbacks.put(Items.STRIPPED_PALE_OAK_WOOD, Items.STRIPPED_BIRCH_WOOD);
oneTwentyFourFallbacks.put(Items.PALE_OAK_SIGN, Items.BIRCH_SIGN);
oneTwentyFourFallbacks.put(Items.PALE_OAK_HANGING_SIGN, Items.BIRCH_HANGING_SIGN);
oneTwentyFourFallbacks.put(Items.PALE_OAK_BOAT, Items.BIRCH_BOAT);
oneTwentyFourFallbacks.put(Items.PALE_OAK_CHEST_BOAT, Items.BIRCH_CHEST_BOAT);
oneTwentyFourFallbacks.put(Items.PALE_OAK_BUTTON, Items.BIRCH_BUTTON);
oneTwentyFourFallbacks.put(Items.PALE_OAK_PRESSURE_PLATE, Items.BIRCH_PRESSURE_PLATE);
oneTwentyFourFallbacks.put(Items.RESIN_CLUMP, Items.RAW_COPPER);
oneTwentyFourFallbacks.put(Items.RESIN_BRICK_WALL, Items.RED_SANDSTONE_WALL);
oneTwentyFourFallbacks.put(Items.RESIN_BRICK_STAIRS, Items.RED_SANDSTONE_STAIRS);
oneTwentyFourFallbacks.put(Items.RESIN_BRICK_SLAB, Items.RED_SANDSTONE_SLAB);
oneTwentyFourFallbacks.put(Items.RESIN_BLOCK, Items.RED_SANDSTONE);
oneTwentyFourFallbacks.put(Items.RESIN_BRICK, Items.BRICK);
oneTwentyFourFallbacks.put(Items.RESIN_BRICKS, Items.CUT_RED_SANDSTONE);
oneTwentyFourFallbacks.put(Items.CHISELED_RESIN_BRICKS, Items.CHISELED_RED_SANDSTONE);
oneTwentyFourFallbacks.put(Items.CLOSED_EYEBLOSSOM, Items.WHITE_TULIP);
oneTwentyFourFallbacks.put(Items.OPEN_EYEBLOSSOM, Items.OXEYE_DAISY);
oneTwentyFourFallbacks.put(Items.PALE_MOSS_BLOCK, Items.MOSS_BLOCK);
oneTwentyFourFallbacks.put(Items.PALE_MOSS_CARPET, Items.MOSS_CARPET);
oneTwentyFourFallbacks.put(Items.PALE_HANGING_MOSS, Items.HANGING_ROOTS);
oneTwentyFourFallbacks.put(Items.CREAKING_HEART, Items.CHISELED_POLISHED_BLACKSTONE);
oneTwentyFourFallbacks.put(Items.CREAKING_SPAWN_EGG, Items.HOGLIN_SPAWN_EGG);
List<PaletteVersion> paletteVersions = new ArrayList<>(2);
paletteVersions.add(new PaletteVersion("1_21_40", Bedrock_v748.CODEC.getProtocolVersion(), oneTwentyFourFallbacks, (item, mapping) -> mapping));
paletteVersions.add(new PaletteVersion("1_21_50", Bedrock_v766.CODEC.getProtocolVersion(), itemFallbacks, (item, mapping) -> mapping));
paletteVersions.add(new PaletteVersion("1_21_60", Bedrock_v776.CODEC.getProtocolVersion(), itemFallbacks, (item, mapping) -> mapping));
paletteVersions.add(new PaletteVersion("1_21_70", Bedrock_v786.CODEC.getProtocolVersion()));
@@ -182,7 +143,6 @@ public class ItemRegistryPopulator {
}
NbtMap vanillaComponents;
// TODO e.g. breeze rod icon does not load with our modified item components
try (InputStream stream = bootstrap.getResourceOrThrow("bedrock/item_components.nbt")) {
vanillaComponents = (NbtMap) NbtUtils.createGZIPReader(stream, true, true).readTag();
} catch (Exception e) {

View File

@@ -33,8 +33,9 @@ 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.v748.Bedrock_v748;
import org.cloudburstmc.protocol.bedrock.codec.v766.Bedrock_v766;
import org.cloudburstmc.protocol.bedrock.codec.v776.Bedrock_v776;
import org.cloudburstmc.protocol.bedrock.codec.v786.Bedrock_v786;
import org.geysermc.geyser.GeyserBootstrap;
import org.geysermc.geyser.GeyserImpl;
import org.geysermc.geyser.item.type.Item;
@@ -67,8 +68,9 @@ public final class TagRegistryPopulator {
};
List<ObjectIntPair<String>> paletteVersions = List.of(
ObjectIntPair.of("1_21_40", Bedrock_v748.CODEC.getProtocolVersion()),
ObjectIntPair.of("1_21_50", Bedrock_v766.CODEC.getProtocolVersion())
ObjectIntPair.of("1_21_50", Bedrock_v766.CODEC.getProtocolVersion()),
ObjectIntPair.of("1_21_60", Bedrock_v776.CODEC.getProtocolVersion()),
ObjectIntPair.of("1_21_70", Bedrock_v786.CODEC.getProtocolVersion())
);
Type type = new TypeToken<Map<String, List<String>>>() {}.getType();

View File

@@ -1,121 +0,0 @@
/*
* Copyright (c) 2024-2025 GeyserMC. http://geysermc.org
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @author GeyserMC
* @link https://github.com/GeyserMC/Geyser
*/
package org.geysermc.geyser.registry.populator.conversion;
import org.cloudburstmc.nbt.NbtMap;
import org.geysermc.geyser.level.block.Blocks;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import static org.geysermc.geyser.registry.populator.conversion.ConversionHelper.withName;
import static org.geysermc.geyser.registry.populator.conversion.ConversionHelper.withoutStates;
public class Conversion766_748 {
static List<String> PALE_WOODEN_BLOCKS = new ArrayList<>();
static List<String> OTHER_NEW_BLOCKS = new ArrayList<>();
static {
Set.of(
Blocks.PALE_OAK_WOOD,
Blocks.PALE_OAK_PLANKS,
Blocks.PALE_OAK_SAPLING,
Blocks.PALE_OAK_LOG,
Blocks.STRIPPED_PALE_OAK_LOG,
Blocks.STRIPPED_PALE_OAK_WOOD,
Blocks.PALE_OAK_LEAVES,
Blocks.PALE_OAK_HANGING_SIGN,
Blocks.PALE_OAK_PRESSURE_PLATE,
Blocks.PALE_OAK_TRAPDOOR,
Blocks.PALE_OAK_BUTTON,
Blocks.PALE_OAK_STAIRS,
Blocks.PALE_OAK_SLAB,
Blocks.PALE_OAK_FENCE_GATE,
Blocks.PALE_OAK_FENCE,
Blocks.PALE_OAK_DOOR
).forEach(block -> PALE_WOODEN_BLOCKS.add(block.javaIdentifier().value()));
// Some things are of course stupid
PALE_WOODEN_BLOCKS.add("pale_oak_standing_sign");
PALE_WOODEN_BLOCKS.add("pale_oak_wall_sign");
PALE_WOODEN_BLOCKS.add("pale_oak_double_slab");
Set.of(
Blocks.PALE_MOSS_BLOCK,
Blocks.PALE_MOSS_CARPET,
Blocks.PALE_HANGING_MOSS,
Blocks.OPEN_EYEBLOSSOM,
Blocks.CLOSED_EYEBLOSSOM,
Blocks.RESIN_CLUMP,
Blocks.RESIN_BLOCK,
Blocks.RESIN_BRICKS,
Blocks.RESIN_BRICK_STAIRS,
Blocks.RESIN_BRICK_SLAB,
Blocks.RESIN_BRICK_WALL,
Blocks.CHISELED_RESIN_BRICKS,
Blocks.CREAKING_HEART
).forEach(block -> OTHER_NEW_BLOCKS.add(block.javaIdentifier().value()));
OTHER_NEW_BLOCKS.add("resin_brick_double_slab");
}
public static NbtMap remapBlock(NbtMap tag) {
// First: Downgrade from 1.21.60 -> 1.21.50
tag = Conversion776_766.remapBlock(tag);
String name = tag.getString("name").replace("minecraft:", "");
if (PALE_WOODEN_BLOCKS.contains(name)) {
return withName(tag, name.replace("pale_oak", "birch"));
}
if (OTHER_NEW_BLOCKS.contains(name)) {
return switch (name) {
case "resin_brick_double_slab" -> withName(tag,"red_sandstone_double_slab");
case "pale_moss_block" -> withName(tag, "moss_block");
case "pale_moss_carpet" -> withoutStates("moss_carpet");
case "pale_hanging_moss" -> withoutStates("hanging_roots");
case "open_eyeblossom" -> withoutStates("oxeye_daisy");
case "closed_eyeblossom" -> withoutStates("white_tulip");
case "resin_clump" -> withoutStates("unknown");
case "resin_block" -> withoutStates("red_sandstone");
case "resin_bricks" -> withoutStates("cut_red_sandstone");
case "resin_brick_stairs" -> withName(tag, "red_sandstone_stairs");
case "resin_brick_slab" -> withName(tag, "red_sandstone_slab");
case "resin_brick_wall" -> withName(tag, "red_sandstone_wall");
case "chiseled_resin_bricks" -> withName(tag, "chiseled_red_sandstone");
case "creaking_heart" -> withoutStates("chiseled_polished_blackstone");
default -> throw new IllegalStateException("missing replacement for new block! " + name);
};
}
return tag;
}
}

View File

@@ -53,7 +53,6 @@ public final class CustomItemTranslator {
return null;
}
// TODO 1.21.4
float customModelDataInt = 0;
CustomModelData customModelData = components.get(DataComponentTypes.CUSTOM_MODEL_DATA);
if (customModelData != null) {

File diff suppressed because it is too large Load Diff

View File

@@ -1,806 +0,0 @@
{
"minecraft:arrow": [
"minecraft:arrow"
],
"minecraft:banner": [
"minecraft:banner"
],
"minecraft:boat": [
"minecraft:cherry_chest_boat",
"minecraft:oak_chest_boat",
"minecraft:mangrove_boat",
"minecraft:oak_boat",
"minecraft:birch_boat",
"minecraft:jungle_boat",
"minecraft:spruce_boat",
"minecraft:acacia_boat",
"minecraft:dark_oak_boat",
"minecraft:birch_chest_boat",
"minecraft:jungle_chest_boat",
"minecraft:spruce_chest_boat",
"minecraft:acacia_chest_boat",
"minecraft:dark_oak_chest_boat",
"minecraft:mangrove_chest_boat",
"minecraft:cherry_boat",
"minecraft:bamboo_raft",
"minecraft:bamboo_chest_raft"
],
"minecraft:boats": [
"minecraft:cherry_chest_boat",
"minecraft:oak_chest_boat",
"minecraft:mangrove_boat",
"minecraft:oak_boat",
"minecraft:birch_boat",
"minecraft:jungle_boat",
"minecraft:spruce_boat",
"minecraft:acacia_boat",
"minecraft:dark_oak_boat",
"minecraft:birch_chest_boat",
"minecraft:jungle_chest_boat",
"minecraft:spruce_chest_boat",
"minecraft:acacia_chest_boat",
"minecraft:dark_oak_chest_boat",
"minecraft:mangrove_chest_boat",
"minecraft:cherry_boat",
"minecraft:bamboo_raft",
"minecraft:bamboo_chest_raft"
],
"minecraft:bookshelf_books": [
"minecraft:written_book",
"minecraft:book",
"minecraft:writable_book",
"minecraft:enchanted_book"
],
"minecraft:chainmail_tier": [
"minecraft:chainmail_helmet",
"minecraft:chainmail_chestplate",
"minecraft:chainmail_leggings",
"minecraft:chainmail_boots"
],
"minecraft:coals": [
"minecraft:coal",
"minecraft:charcoal"
],
"minecraft:crimson_stems": [
"minecraft:stripped_crimson_stem",
"minecraft:crimson_hyphae",
"minecraft:crimson_stem",
"minecraft:stripped_crimson_hyphae"
],
"minecraft:decorated_pot_sherds": [
"minecraft:skull_pottery_sherd",
"minecraft:mourner_pottery_sherd",
"minecraft:angler_pottery_sherd",
"minecraft:prize_pottery_sherd",
"minecraft:arms_up_pottery_sherd",
"minecraft:burn_pottery_sherd",
"minecraft:snort_pottery_sherd",
"minecraft:brick",
"minecraft:heartbreak_pottery_sherd",
"minecraft:miner_pottery_sherd",
"minecraft:brewer_pottery_sherd",
"minecraft:plenty_pottery_sherd",
"minecraft:scrape_pottery_sherd",
"minecraft:howl_pottery_sherd",
"minecraft:explorer_pottery_sherd",
"minecraft:archer_pottery_sherd",
"minecraft:blade_pottery_sherd",
"minecraft:danger_pottery_sherd",
"minecraft:flow_pottery_sherd",
"minecraft:friend_pottery_sherd",
"minecraft:guster_pottery_sherd",
"minecraft:heart_pottery_sherd",
"minecraft:sheaf_pottery_sherd",
"minecraft:shelter_pottery_sherd"
],
"minecraft:diamond_tier": [
"minecraft:diamond_sword",
"minecraft:diamond_shovel",
"minecraft:diamond_pickaxe",
"minecraft:diamond_axe",
"minecraft:mace",
"minecraft:diamond_hoe",
"minecraft:diamond_helmet",
"minecraft:diamond_chestplate",
"minecraft:diamond_leggings",
"minecraft:diamond_boots"
],
"minecraft:digger": [
"minecraft:iron_shovel",
"minecraft:wooden_pickaxe",
"minecraft:iron_pickaxe",
"minecraft:iron_axe",
"minecraft:wooden_shovel",
"minecraft:wooden_axe",
"minecraft:stone_shovel",
"minecraft:stone_pickaxe",
"minecraft:stone_axe",
"minecraft:diamond_shovel",
"minecraft:diamond_pickaxe",
"minecraft:diamond_axe",
"minecraft:golden_shovel",
"minecraft:golden_pickaxe",
"minecraft:golden_axe",
"minecraft:wooden_hoe",
"minecraft:stone_hoe",
"minecraft:iron_hoe",
"minecraft:diamond_hoe",
"minecraft:golden_hoe",
"minecraft:netherite_pickaxe",
"minecraft:netherite_shovel",
"minecraft:netherite_axe",
"minecraft:netherite_hoe"
],
"minecraft:door": [
"minecraft:weathered_copper_door",
"minecraft:warped_door",
"minecraft:wooden_door",
"minecraft:jungle_door",
"minecraft:waxed_weathered_copper_door",
"minecraft:iron_door",
"minecraft:mangrove_door",
"minecraft:exposed_copper_door",
"minecraft:bamboo_door",
"minecraft:spruce_door",
"minecraft:birch_door",
"minecraft:acacia_door",
"minecraft:dark_oak_door",
"minecraft:crimson_door",
"minecraft:cherry_door",
"minecraft:copper_door",
"minecraft:oxidized_copper_door",
"minecraft:waxed_copper_door",
"minecraft:waxed_exposed_copper_door",
"minecraft:waxed_oxidized_copper_door"
],
"minecraft:golden_tier": [
"minecraft:golden_sword",
"minecraft:golden_shovel",
"minecraft:golden_pickaxe",
"minecraft:golden_axe",
"minecraft:golden_hoe",
"minecraft:golden_helmet",
"minecraft:golden_chestplate",
"minecraft:golden_leggings",
"minecraft:golden_boots"
],
"minecraft:hanging_actor": [
"minecraft:painting"
],
"minecraft:hanging_sign": [
"minecraft:mangrove_hanging_sign",
"minecraft:bamboo_hanging_sign",
"minecraft:spruce_hanging_sign",
"minecraft:birch_hanging_sign",
"minecraft:cherry_hanging_sign",
"minecraft:oak_hanging_sign",
"minecraft:jungle_hanging_sign",
"minecraft:acacia_hanging_sign",
"minecraft:dark_oak_hanging_sign",
"minecraft:crimson_hanging_sign",
"minecraft:warped_hanging_sign"
],
"minecraft:horse_armor": [
"minecraft:iron_horse_armor",
"minecraft:golden_horse_armor",
"minecraft:leather_horse_armor",
"minecraft:diamond_horse_armor"
],
"minecraft:iron_tier": [
"minecraft:iron_chestplate",
"minecraft:iron_shovel",
"minecraft:iron_sword",
"minecraft:iron_pickaxe",
"minecraft:iron_axe",
"minecraft:iron_hoe",
"minecraft:iron_helmet",
"minecraft:iron_leggings",
"minecraft:iron_boots"
],
"minecraft:is_armor": [
"minecraft:iron_chestplate",
"minecraft:netherite_boots",
"minecraft:chainmail_helmet",
"minecraft:elytra",
"minecraft:leather_helmet",
"minecraft:leather_chestplate",
"minecraft:leather_leggings",
"minecraft:leather_boots",
"minecraft:chainmail_chestplate",
"minecraft:chainmail_leggings",
"minecraft:chainmail_boots",
"minecraft:iron_helmet",
"minecraft:iron_leggings",
"minecraft:iron_boots",
"minecraft:diamond_helmet",
"minecraft:diamond_chestplate",
"minecraft:diamond_leggings",
"minecraft:diamond_boots",
"minecraft:golden_helmet",
"minecraft:golden_chestplate",
"minecraft:golden_leggings",
"minecraft:golden_boots",
"minecraft:turtle_helmet",
"minecraft:netherite_chestplate",
"minecraft:netherite_leggings",
"minecraft:netherite_helmet"
],
"minecraft:is_axe": [
"minecraft:iron_axe",
"minecraft:wooden_axe",
"minecraft:stone_axe",
"minecraft:diamond_axe",
"minecraft:golden_axe",
"minecraft:netherite_axe"
],
"minecraft:is_cooked": [
"minecraft:cooked_cod",
"minecraft:cooked_porkchop",
"minecraft:cooked_salmon",
"minecraft:cooked_rabbit",
"minecraft:cooked_beef",
"minecraft:cooked_chicken",
"minecraft:rabbit_stew",
"minecraft:cooked_mutton"
],
"minecraft:is_fish": [
"minecraft:cooked_cod",
"minecraft:cooked_salmon",
"minecraft:cod",
"minecraft:salmon",
"minecraft:tropical_fish",
"minecraft:pufferfish"
],
"minecraft:is_food": [
"minecraft:rabbit",
"minecraft:cooked_porkchop",
"minecraft:mushroom_stew",
"minecraft:potato",
"minecraft:enchanted_golden_apple",
"minecraft:golden_carrot",
"minecraft:carrot",
"minecraft:chicken",
"minecraft:beetroot",
"minecraft:sweet_berries",
"minecraft:apple",
"minecraft:golden_apple",
"minecraft:bread",
"minecraft:porkchop",
"minecraft:cookie",
"minecraft:cooked_rabbit",
"minecraft:beef",
"minecraft:dried_kelp",
"minecraft:beetroot_soup",
"minecraft:melon_slice",
"minecraft:cooked_beef",
"minecraft:rotten_flesh",
"minecraft:cooked_chicken",
"minecraft:baked_potato",
"minecraft:pumpkin_pie",
"minecraft:rabbit_stew",
"minecraft:cooked_mutton",
"minecraft:mutton"
],
"minecraft:is_hoe": [
"minecraft:wooden_hoe",
"minecraft:stone_hoe",
"minecraft:iron_hoe",
"minecraft:diamond_hoe",
"minecraft:golden_hoe",
"minecraft:netherite_hoe"
],
"minecraft:is_meat": [
"minecraft:rabbit",
"minecraft:cooked_porkchop",
"minecraft:chicken",
"minecraft:porkchop",
"minecraft:cooked_rabbit",
"minecraft:beef",
"minecraft:cooked_beef",
"minecraft:rotten_flesh",
"minecraft:cooked_chicken",
"minecraft:rabbit_stew",
"minecraft:cooked_mutton",
"minecraft:mutton"
],
"minecraft:is_minecart": [
"minecraft:command_block_minecart",
"minecraft:minecart",
"minecraft:chest_minecart",
"minecraft:tnt_minecart",
"minecraft:hopper_minecart"
],
"minecraft:is_pickaxe": [
"minecraft:wooden_pickaxe",
"minecraft:iron_pickaxe",
"minecraft:stone_pickaxe",
"minecraft:diamond_pickaxe",
"minecraft:golden_pickaxe",
"minecraft:netherite_pickaxe"
],
"minecraft:is_shovel": [
"minecraft:iron_shovel",
"minecraft:wooden_shovel",
"minecraft:stone_shovel",
"minecraft:diamond_shovel",
"minecraft:golden_shovel",
"minecraft:netherite_shovel"
],
"minecraft:is_sword": [
"minecraft:netherite_sword",
"minecraft:iron_sword",
"minecraft:wooden_sword",
"minecraft:stone_sword",
"minecraft:diamond_sword",
"minecraft:mace",
"minecraft:golden_sword"
],
"minecraft:is_tool": [
"minecraft:netherite_sword",
"minecraft:iron_shovel",
"minecraft:iron_sword",
"minecraft:wooden_pickaxe",
"minecraft:iron_pickaxe",
"minecraft:iron_axe",
"minecraft:wooden_sword",
"minecraft:wooden_shovel",
"minecraft:wooden_axe",
"minecraft:stone_sword",
"minecraft:stone_shovel",
"minecraft:stone_pickaxe",
"minecraft:stone_axe",
"minecraft:diamond_sword",
"minecraft:diamond_shovel",
"minecraft:diamond_pickaxe",
"minecraft:diamond_axe",
"minecraft:mace",
"minecraft:golden_sword",
"minecraft:golden_shovel",
"minecraft:golden_pickaxe",
"minecraft:golden_axe",
"minecraft:wooden_hoe",
"minecraft:stone_hoe",
"minecraft:iron_hoe",
"minecraft:diamond_hoe",
"minecraft:golden_hoe",
"minecraft:netherite_pickaxe",
"minecraft:netherite_shovel",
"minecraft:netherite_axe",
"minecraft:netherite_hoe"
],
"minecraft:is_trident": [
"minecraft:trident"
],
"minecraft:leather_tier": [
"minecraft:leather_helmet",
"minecraft:leather_chestplate",
"minecraft:leather_leggings",
"minecraft:leather_boots"
],
"minecraft:lectern_books": [
"minecraft:written_book",
"minecraft:writable_book"
],
"minecraft:logs": [
"minecraft:mangrove_wood",
"minecraft:spruce_wood",
"minecraft:stripped_cherry_wood",
"minecraft:stripped_crimson_stem",
"minecraft:stripped_spruce_wood",
"minecraft:spruce_log",
"minecraft:acacia_wood",
"minecraft:stripped_acacia_wood",
"minecraft:stripped_warped_hyphae",
"minecraft:acacia_log",
"minecraft:stripped_warped_stem",
"minecraft:oak_log",
"minecraft:birch_log",
"minecraft:jungle_log",
"minecraft:dark_oak_log",
"minecraft:jungle_wood",
"minecraft:stripped_jungle_wood",
"minecraft:oak_wood",
"minecraft:birch_wood",
"minecraft:dark_oak_wood",
"minecraft:stripped_oak_wood",
"minecraft:stripped_birch_wood",
"minecraft:stripped_dark_oak_wood",
"minecraft:stripped_oak_log",
"minecraft:stripped_dark_oak_log",
"minecraft:mangrove_log",
"minecraft:stripped_jungle_log",
"minecraft:stripped_mangrove_wood",
"minecraft:crimson_hyphae",
"minecraft:stripped_cherry_log",
"minecraft:stripped_birch_log",
"minecraft:stripped_acacia_log",
"minecraft:crimson_stem",
"minecraft:warped_hyphae",
"minecraft:stripped_spruce_log",
"minecraft:warped_stem",
"minecraft:stripped_crimson_hyphae",
"minecraft:cherry_wood",
"minecraft:cherry_log",
"minecraft:stripped_mangrove_log"
],
"minecraft:logs_that_burn": [
"minecraft:mangrove_wood",
"minecraft:spruce_wood",
"minecraft:stripped_cherry_wood",
"minecraft:stripped_spruce_wood",
"minecraft:spruce_log",
"minecraft:acacia_wood",
"minecraft:stripped_acacia_wood",
"minecraft:acacia_log",
"minecraft:oak_log",
"minecraft:birch_log",
"minecraft:jungle_log",
"minecraft:dark_oak_log",
"minecraft:jungle_wood",
"minecraft:stripped_jungle_wood",
"minecraft:oak_wood",
"minecraft:birch_wood",
"minecraft:dark_oak_wood",
"minecraft:stripped_oak_wood",
"minecraft:stripped_birch_wood",
"minecraft:stripped_dark_oak_wood",
"minecraft:stripped_oak_log",
"minecraft:stripped_dark_oak_log",
"minecraft:mangrove_log",
"minecraft:stripped_jungle_log",
"minecraft:stripped_mangrove_wood",
"minecraft:stripped_cherry_log",
"minecraft:stripped_birch_log",
"minecraft:stripped_acacia_log",
"minecraft:stripped_spruce_log",
"minecraft:cherry_wood",
"minecraft:cherry_log",
"minecraft:stripped_mangrove_log"
],
"minecraft:mangrove_logs": [
"minecraft:mangrove_wood",
"minecraft:mangrove_log",
"minecraft:stripped_mangrove_wood",
"minecraft:stripped_mangrove_log"
],
"minecraft:music_disc": [
"minecraft:music_disc_ward",
"minecraft:music_disc_stal",
"minecraft:music_disc_wait",
"minecraft:music_disc_cat",
"minecraft:music_disc_strad",
"minecraft:music_disc_chirp",
"minecraft:music_disc_mall",
"minecraft:music_disc_creator_music_box",
"minecraft:music_disc_pigstep",
"minecraft:music_disc_11",
"minecraft:music_disc_13",
"minecraft:music_disc_blocks",
"minecraft:music_disc_far",
"minecraft:music_disc_mellohi",
"minecraft:music_disc_otherside",
"minecraft:music_disc_5",
"minecraft:music_disc_relic",
"minecraft:music_disc_creator",
"minecraft:music_disc_precipice"
],
"minecraft:netherite_tier": [
"minecraft:netherite_sword",
"minecraft:netherite_boots",
"minecraft:netherite_chestplate",
"minecraft:netherite_pickaxe",
"minecraft:netherite_leggings",
"minecraft:netherite_shovel",
"minecraft:netherite_axe",
"minecraft:netherite_hoe",
"minecraft:netherite_helmet"
],
"minecraft:planks": [
"minecraft:spruce_planks",
"minecraft:oak_planks",
"minecraft:mangrove_planks",
"minecraft:dark_oak_planks",
"minecraft:birch_planks",
"minecraft:jungle_planks",
"minecraft:acacia_planks",
"minecraft:bamboo_planks",
"minecraft:warped_planks",
"minecraft:crimson_planks",
"minecraft:cherry_planks"
],
"minecraft:sand": [
"minecraft:sand",
"minecraft:red_sand"
],
"minecraft:sign": [
"minecraft:jungle_sign",
"minecraft:bamboo_sign",
"minecraft:mangrove_hanging_sign",
"minecraft:cherry_sign",
"minecraft:oak_sign",
"minecraft:bamboo_hanging_sign",
"minecraft:warped_sign",
"minecraft:spruce_sign",
"minecraft:spruce_hanging_sign",
"minecraft:acacia_sign",
"minecraft:birch_hanging_sign",
"minecraft:birch_sign",
"minecraft:dark_oak_sign",
"minecraft:mangrove_sign",
"minecraft:crimson_sign",
"minecraft:cherry_hanging_sign",
"minecraft:oak_hanging_sign",
"minecraft:jungle_hanging_sign",
"minecraft:acacia_hanging_sign",
"minecraft:dark_oak_hanging_sign",
"minecraft:crimson_hanging_sign",
"minecraft:warped_hanging_sign"
],
"minecraft:soul_fire_base_blocks": [
"minecraft:soul_soil",
"minecraft:soul_sand"
],
"minecraft:spawn_egg": [
"minecraft:enderman_spawn_egg",
"minecraft:endermite_spawn_egg",
"minecraft:tropical_fish_spawn_egg",
"minecraft:ravager_spawn_egg",
"minecraft:pufferfish_spawn_egg",
"minecraft:zoglin_spawn_egg",
"minecraft:strider_spawn_egg",
"minecraft:slime_spawn_egg",
"minecraft:glow_squid_spawn_egg",
"minecraft:blaze_spawn_egg",
"minecraft:witch_spawn_egg",
"minecraft:horse_spawn_egg",
"minecraft:polar_bear_spawn_egg",
"minecraft:pillager_spawn_egg",
"minecraft:stray_spawn_egg",
"minecraft:zombie_pigman_spawn_egg",
"minecraft:snow_golem_spawn_egg",
"minecraft:panda_spawn_egg",
"minecraft:axolotl_spawn_egg",
"minecraft:agent_spawn_egg",
"minecraft:shulker_spawn_egg",
"minecraft:vindicator_spawn_egg",
"minecraft:evoker_spawn_egg",
"minecraft:parrot_spawn_egg",
"minecraft:wolf_spawn_egg",
"minecraft:sheep_spawn_egg",
"minecraft:elder_guardian_spawn_egg",
"minecraft:silverfish_spawn_egg",
"minecraft:tadpole_spawn_egg",
"minecraft:cow_spawn_egg",
"minecraft:bogged_spawn_egg",
"minecraft:ocelot_spawn_egg",
"minecraft:bee_spawn_egg",
"minecraft:piglin_brute_spawn_egg",
"minecraft:rabbit_spawn_egg",
"minecraft:camel_spawn_egg",
"minecraft:creeper_spawn_egg",
"minecraft:drowned_spawn_egg",
"minecraft:chicken_spawn_egg",
"minecraft:pig_spawn_egg",
"minecraft:mooshroom_spawn_egg",
"minecraft:skeleton_spawn_egg",
"minecraft:spider_spawn_egg",
"minecraft:zombie_spawn_egg",
"minecraft:villager_spawn_egg",
"minecraft:squid_spawn_egg",
"minecraft:bat_spawn_egg",
"minecraft:ghast_spawn_egg",
"minecraft:magma_cube_spawn_egg",
"minecraft:cave_spider_spawn_egg",
"minecraft:guardian_spawn_egg",
"minecraft:husk_spawn_egg",
"minecraft:piglin_spawn_egg",
"minecraft:wither_skeleton_spawn_egg",
"minecraft:donkey_spawn_egg",
"minecraft:mule_spawn_egg",
"minecraft:skeleton_horse_spawn_egg",
"minecraft:zombie_horse_spawn_egg",
"minecraft:npc_spawn_egg",
"minecraft:breeze_spawn_egg",
"minecraft:llama_spawn_egg",
"minecraft:vex_spawn_egg",
"minecraft:warden_spawn_egg",
"minecraft:zombie_villager_spawn_egg",
"minecraft:cod_spawn_egg",
"minecraft:salmon_spawn_egg",
"minecraft:dolphin_spawn_egg",
"minecraft:turtle_spawn_egg",
"minecraft:phantom_spawn_egg",
"minecraft:cat_spawn_egg",
"minecraft:fox_spawn_egg",
"minecraft:wandering_trader_spawn_egg",
"minecraft:hoglin_spawn_egg",
"minecraft:sniffer_spawn_egg",
"minecraft:goat_spawn_egg",
"minecraft:iron_golem_spawn_egg",
"minecraft:ender_dragon_spawn_egg",
"minecraft:wither_spawn_egg",
"minecraft:frog_spawn_egg",
"minecraft:allay_spawn_egg",
"minecraft:trader_llama_spawn_egg",
"minecraft:armadillo_spawn_egg",
"minecraft:spawn_egg"
],
"minecraft:stone_bricks": [
"minecraft:mossy_stone_bricks",
"minecraft:stone_bricks",
"minecraft:cracked_stone_bricks",
"minecraft:chiseled_stone_bricks"
],
"minecraft:stone_crafting_materials": [
"minecraft:cobblestone",
"minecraft:cobbled_deepslate",
"minecraft:blackstone"
],
"minecraft:stone_tier": [
"minecraft:stone_sword",
"minecraft:stone_shovel",
"minecraft:stone_pickaxe",
"minecraft:stone_axe",
"minecraft:stone_hoe"
],
"minecraft:stone_tool_materials": [
"minecraft:cobblestone",
"minecraft:cobbled_deepslate",
"minecraft:blackstone"
],
"minecraft:transform_materials": [
"minecraft:netherite_ingot"
],
"minecraft:transform_templates": [
"minecraft:netherite_upgrade_smithing_template"
],
"minecraft:transformable_items": [
"minecraft:diamond_sword",
"minecraft:diamond_shovel",
"minecraft:diamond_pickaxe",
"minecraft:diamond_axe",
"minecraft:diamond_hoe",
"minecraft:diamond_helmet",
"minecraft:diamond_chestplate",
"minecraft:diamond_leggings",
"minecraft:diamond_boots",
"minecraft:golden_boots"
],
"minecraft:trim_materials": [
"minecraft:diamond",
"minecraft:iron_ingot",
"minecraft:gold_ingot",
"minecraft:redstone",
"minecraft:netherite_ingot",
"minecraft:lapis_lazuli",
"minecraft:quartz",
"minecraft:copper_ingot",
"minecraft:emerald",
"minecraft:amethyst_shard"
],
"minecraft:trim_templates": [
"minecraft:coast_armor_trim_smithing_template",
"minecraft:vex_armor_trim_smithing_template",
"minecraft:wild_armor_trim_smithing_template",
"minecraft:flow_armor_trim_smithing_template",
"minecraft:silence_armor_trim_smithing_template",
"minecraft:snout_armor_trim_smithing_template",
"minecraft:dune_armor_trim_smithing_template",
"minecraft:rib_armor_trim_smithing_template",
"minecraft:host_armor_trim_smithing_template",
"minecraft:eye_armor_trim_smithing_template",
"minecraft:spire_armor_trim_smithing_template",
"minecraft:sentry_armor_trim_smithing_template",
"minecraft:ward_armor_trim_smithing_template",
"minecraft:tide_armor_trim_smithing_template",
"minecraft:wayfinder_armor_trim_smithing_template",
"minecraft:raiser_armor_trim_smithing_template",
"minecraft:shaper_armor_trim_smithing_template",
"minecraft:bolt_armor_trim_smithing_template"
],
"minecraft:trimmable_armors": [
"minecraft:iron_chestplate",
"minecraft:netherite_boots",
"minecraft:chainmail_helmet",
"minecraft:leather_helmet",
"minecraft:leather_chestplate",
"minecraft:leather_leggings",
"minecraft:leather_boots",
"minecraft:chainmail_chestplate",
"minecraft:chainmail_leggings",
"minecraft:chainmail_boots",
"minecraft:iron_helmet",
"minecraft:iron_leggings",
"minecraft:iron_boots",
"minecraft:diamond_helmet",
"minecraft:diamond_chestplate",
"minecraft:diamond_leggings",
"minecraft:diamond_boots",
"minecraft:golden_helmet",
"minecraft:golden_chestplate",
"minecraft:golden_leggings",
"minecraft:golden_boots",
"minecraft:turtle_helmet",
"minecraft:netherite_chestplate",
"minecraft:netherite_leggings",
"minecraft:netherite_helmet"
],
"minecraft:vibration_damper": [
"minecraft:black_carpet",
"minecraft:pink_carpet",
"minecraft:lime_carpet",
"minecraft:blue_carpet",
"minecraft:green_wool",
"minecraft:cyan_carpet",
"minecraft:orange_wool",
"minecraft:white_carpet",
"minecraft:purple_carpet",
"minecraft:yellow_carpet",
"minecraft:light_gray_wool",
"minecraft:magenta_carpet",
"minecraft:purple_wool",
"minecraft:gray_wool",
"minecraft:red_carpet",
"minecraft:brown_carpet",
"minecraft:light_blue_wool",
"minecraft:white_wool",
"minecraft:magenta_wool",
"minecraft:yellow_wool",
"minecraft:lime_wool",
"minecraft:pink_wool",
"minecraft:cyan_wool",
"minecraft:blue_wool",
"minecraft:brown_wool",
"minecraft:red_wool",
"minecraft:black_wool",
"minecraft:orange_carpet",
"minecraft:light_blue_carpet",
"minecraft:gray_carpet",
"minecraft:light_gray_carpet",
"minecraft:green_carpet"
],
"minecraft:warped_stems": [
"minecraft:stripped_warped_hyphae",
"minecraft:stripped_warped_stem",
"minecraft:warped_hyphae",
"minecraft:warped_stem"
],
"minecraft:wooden_slabs": [
"minecraft:birch_slab",
"minecraft:oak_slab",
"minecraft:spruce_slab",
"minecraft:bamboo_slab",
"minecraft:warped_slab",
"minecraft:mangrove_slab",
"minecraft:cherry_slab",
"minecraft:jungle_slab",
"minecraft:acacia_slab",
"minecraft:dark_oak_slab",
"minecraft:crimson_slab"
],
"minecraft:wooden_tier": [
"minecraft:wooden_pickaxe",
"minecraft:wooden_sword",
"minecraft:wooden_shovel",
"minecraft:wooden_axe",
"minecraft:wooden_hoe"
],
"minecraft:wool": [
"minecraft:green_wool",
"minecraft:orange_wool",
"minecraft:light_gray_wool",
"minecraft:purple_wool",
"minecraft:gray_wool",
"minecraft:light_blue_wool",
"minecraft:white_wool",
"minecraft:magenta_wool",
"minecraft:yellow_wool",
"minecraft:lime_wool",
"minecraft:pink_wool",
"minecraft:cyan_wool",
"minecraft:blue_wool",
"minecraft:brown_wool",
"minecraft:red_wool",
"minecraft:black_wool"
]
}

View File

@@ -42,7 +42,7 @@ mixinextras = "0.3.5"
minecraft = "1.21.5"
mockito = "5.+"
runtask = "2.3.1"
runpaperversion = "1.21.4"
runpaperversion = "1.21.5"
runvelocityversion = "3.4.0-SNAPSHOT"
# plugin versions