Support modern tile entity IDs for Minecraft 1.12

master
Captain Chaos 2022-08-21 17:27:59 +02:00
parent 61d41c6ad0
commit c5e1d0652f
2 changed files with 35 additions and 1 deletions

View File

@ -1140,7 +1140,7 @@ public final class Constants {
public static final String ID_END_PORTAL_FRAME = "minecraft:end_portal_frame";
public static final String ID_ENDER_EYE = "minecraft:ender_eye";
// Legacy (pre-MC 1.13) tile entity IDs
// Legacy (Minecraft 1.1) tile entity IDs
public static final String LEGACY_ID_CHEST = "Chest";
public static final String LEGACY_ID_VILLAGER = "Villager";
@ -1169,6 +1169,17 @@ public final class Constants {
public static final String LEGACY_ID_STRUCTURE = "Structure";
public static final String LEGACY_ID_SHULKER_BOX = "shulker_box"; // TODO: really?
// Legacy (Minecraft 1.12) tile entity IDs
public static final String ID_SAPLING = "minecraft:sapling";
public static final String ID_REEDS = "minecraft:reeds";
public static final String ID_BED = "minecraft:bed";
public static final String ID_LOG = "minecraft:log";
public static final String ID_BANNER = "minecraft:banner";
public static final String ID_SKULL = "minecraft:skull";
public static final String ID_NOTEBLOCK = "minecraft:noteblock";
public static final String ID_MOB_SPAWNER = "minecraft:mob_spawner";
public static final int GAME_TYPE_SURVIVAL = 0;
public static final int GAME_TYPE_CREATIVE = 1;
public static final int GAME_TYPE_ADVENTURE = 2;

View File

@ -81,6 +81,29 @@ public abstract class MCNumberedBlocksChunk extends NBTChunk {
LEGACY_TILE_ENTITY_MAP.put(LEGACY_ID_BANNER, ImmutableSet.of(BLK_STANDING_BANNER, BLK_WALL_BANNER));
LEGACY_TILE_ENTITY_MAP.put(LEGACY_ID_STRUCTURE, Collections.singleton(BLK_STRUCTURE_BLOCK));
LEGACY_TILE_ENTITY_MAP.put(LEGACY_ID_SHULKER_BOX, ImmutableSet.of(BLK_WHITE_SHULKER_BOX, BLK_ORANGE_SHULKER_BOX, BLK_MAGENTA_SHULKER_BOX, BLK_LIGHT_BLUE_SHULKER_BOX, BLK_YELLOW_SHULKER_BOX, BLK_LIME_SHULKER_BOX, BLK_PINK_SHULKER_BOX, BLK_GREY_SHULKER_BOX, BLK_LIGHT_GREY_SHULKER_BOX, BLK_CYAN_SHULKER_BOX, BLK_PURPLE_SHULKER_BOX, BLK_BLUE_SHULKER_BOX, BLK_BROWN_SHULKER_BOX, BLK_GREEN_SHULKER_BOX, BLK_RED_SHULKER_BOX, BLK_BLACK_SHULKER_BOX));
LEGACY_TILE_ENTITY_MAP.put(MC_END_PORTAL, Collections.singleton(BLK_END_PORTAL));
LEGACY_TILE_ENTITY_MAP.put(MC_BEACON, Collections.singleton(BLK_BEACON));
LEGACY_TILE_ENTITY_MAP.put(MC_BREWING_STAND, Collections.singleton(BLK_BREWING_STAND));
LEGACY_TILE_ENTITY_MAP.put(ID_CHEST, ImmutableSet.of(BLK_CHEST, BLK_TRAPPED_CHEST));
LEGACY_TILE_ENTITY_MAP.put(MC_COMPARATOR, ImmutableSet.of(BLK_REDSTONE_COMPARATOR_UNPOWERED, BLK_REDSTONE_COMPARATOR_POWERED));
LEGACY_TILE_ENTITY_MAP.put(MC_COMMAND_BLOCK, ImmutableSet.of(BLK_COMMAND_BLOCK, BLK_CHAIN_COMMAND_BLOCK, BLK_REPEATING_COMMAND_BLOCK));
LEGACY_TILE_ENTITY_MAP.put(MC_DAYLIGHT_DETECTOR, ImmutableSet.of(BLK_DAYLIGHT_SENSOR, BLK_DAYLIGHT_SENSOR_INVERTED));
LEGACY_TILE_ENTITY_MAP.put(MC_DROPPER, Collections.singleton(BLK_DROPPER));
LEGACY_TILE_ENTITY_MAP.put(MC_ENCHANTING_TABLE, Collections.singleton(BLK_ENCHANTMENT_TABLE));
LEGACY_TILE_ENTITY_MAP.put(MC_ENDER_CHEST, Collections.singleton(BLK_ENDER_CHEST));
LEGACY_TILE_ENTITY_MAP.put(MC_FLOWER_POT, Collections.singleton(BLK_FLOWER_POT));
LEGACY_TILE_ENTITY_MAP.put(MC_FURNACE, ImmutableSet.of(BLK_FURNACE, BLK_BURNING_FURNACE));
LEGACY_TILE_ENTITY_MAP.put(MC_HOPPER, Collections.singleton(BLK_HOPPER));
LEGACY_TILE_ENTITY_MAP.put(ID_MOB_SPAWNER, Collections.singleton(BLK_MONSTER_SPAWNER));
LEGACY_TILE_ENTITY_MAP.put(ID_NOTEBLOCK, Collections.singleton(BLK_NOTE_BLOCK));
LEGACY_TILE_ENTITY_MAP.put(MC_PISTON, Collections.singleton(BLK_PISTON_HEAD));
LEGACY_TILE_ENTITY_MAP.put(MC_JUKEBOX, Collections.singleton(BLK_JUKEBOX));
LEGACY_TILE_ENTITY_MAP.put(ID_SIGN, ImmutableSet.of(BLK_SIGN, BLK_WALL_SIGN));
LEGACY_TILE_ENTITY_MAP.put(ID_SKULL, Collections.singleton(BLK_HEAD));
LEGACY_TILE_ENTITY_MAP.put(MC_DISPENSER, Collections.singleton(BLK_DISPENSER));
LEGACY_TILE_ENTITY_MAP.put(ID_BANNER, ImmutableSet.of(BLK_STANDING_BANNER, BLK_WALL_BANNER));
LEGACY_TILE_ENTITY_MAP.put(MC_STRUCTURE_BLOCK, Collections.singleton(BLK_STRUCTURE_BLOCK));
LEGACY_TILE_ENTITY_MAP.put(MC_SHULKER_BOX, ImmutableSet.of(BLK_WHITE_SHULKER_BOX, BLK_ORANGE_SHULKER_BOX, BLK_MAGENTA_SHULKER_BOX, BLK_LIGHT_BLUE_SHULKER_BOX, BLK_YELLOW_SHULKER_BOX, BLK_LIME_SHULKER_BOX, BLK_PINK_SHULKER_BOX, BLK_GREY_SHULKER_BOX, BLK_LIGHT_GREY_SHULKER_BOX, BLK_CYAN_SHULKER_BOX, BLK_PURPLE_SHULKER_BOX, BLK_BLUE_SHULKER_BOX, BLK_BROWN_SHULKER_BOX, BLK_GREEN_SHULKER_BOX, BLK_RED_SHULKER_BOX, BLK_BLACK_SHULKER_BOX));
// Make sure the tile entity flag in the block database is consistent
// with the tile entity map: