diff --git a/WorldPainter/WPCore/src/main/java/org/pepsoft/minecraft/Constants.java b/WorldPainter/WPCore/src/main/java/org/pepsoft/minecraft/Constants.java index 5e66213b..fd34541a 100644 --- a/WorldPainter/WPCore/src/main/java/org/pepsoft/minecraft/Constants.java +++ b/WorldPainter/WPCore/src/main/java/org/pepsoft/minecraft/Constants.java @@ -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; diff --git a/WorldPainter/WPCore/src/main/java/org/pepsoft/minecraft/MCNumberedBlocksChunk.java b/WorldPainter/WPCore/src/main/java/org/pepsoft/minecraft/MCNumberedBlocksChunk.java index 66ec39fc..dac241d8 100644 --- a/WorldPainter/WPCore/src/main/java/org/pepsoft/minecraft/MCNumberedBlocksChunk.java +++ b/WorldPainter/WPCore/src/main/java/org/pepsoft/minecraft/MCNumberedBlocksChunk.java @@ -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: