From 7b539dade60bdb4671159b0e045d1468cf6f4929 Mon Sep 17 00:00:00 2001 From: wizjany Date: Mon, 9 Dec 2013 23:13:16 -0500 Subject: [PATCH] Added 1.7 blocks and items. --- .../com/sk89q/worldedit/blocks/BlockID.java | 139 ++++++++++-------- .../com/sk89q/worldedit/blocks/BlockType.java | 80 ++++++---- .../com/sk89q/worldedit/blocks/ItemID.java | 1 + .../com/sk89q/worldedit/blocks/ItemType.java | 36 +++-- 4 files changed, 155 insertions(+), 101 deletions(-) diff --git a/src/main/java/com/sk89q/worldedit/blocks/BlockID.java b/src/main/java/com/sk89q/worldedit/blocks/BlockID.java index e032544ef..7ec0f92f7 100644 --- a/src/main/java/com/sk89q/worldedit/blocks/BlockID.java +++ b/src/main/java/com/sk89q/worldedit/blocks/BlockID.java @@ -30,13 +30,13 @@ public final class BlockID { public static final int GRASS = 2; public static final int DIRT = 3; public static final int COBBLESTONE = 4; - public static final int WOOD = 5; + public static final int WOOD = 5; // PLANKS public static final int SAPLING = 6; public static final int BEDROCK = 7; - public static final int WATER = 8; - public static final int STATIONARY_WATER = 9; - public static final int LAVA = 10; - public static final int STATIONARY_LAVA = 11; + public static final int WATER = 8; // FLOWING_WATER + public static final int STATIONARY_WATER = 9; // WATER + public static final int LAVA = 10; // FLOWING_LAVA + public static final int STATIONARY_LAVA = 11; // LAVA public static final int SAND = 12; public static final int GRAVEL = 13; public static final int GOLD_ORE = 14; @@ -46,88 +46,92 @@ public final class BlockID { public static final int LEAVES = 18; public static final int SPONGE = 19; public static final int GLASS = 20; - public static final int LAPIS_LAZULI_ORE = 21; - public static final int LAPIS_LAZULI_BLOCK = 22; + public static final int LAPIS_LAZULI_ORE = 21; // LAPIS_ORE + public static final int LAPIS_LAZULI_BLOCK = 22; // LAPIS_BLOCK public static final int DISPENSER = 23; public static final int SANDSTONE = 24; - public static final int NOTE_BLOCK = 25; + public static final int NOTE_BLOCK = 25; // NOTEBLOCK public static final int BED = 26; - public static final int POWERED_RAIL = 27; + public static final int POWERED_RAIL = 27; // GOLDEN_RAIL public static final int DETECTOR_RAIL = 28; - public static final int PISTON_STICKY_BASE = 29; + public static final int PISTON_STICKY_BASE = 29; // STICKY_PISTON public static final int WEB = 30; - public static final int LONG_GRASS = 31; - public static final int DEAD_BUSH = 32; - public static final int PISTON_BASE = 33; - public static final int PISTON_EXTENSION = 34; - public static final int CLOTH = 35; - public static final int PISTON_MOVING_PIECE = 36; + public static final int LONG_GRASS = 31; // TALLGRASS + public static final int DEAD_BUSH = 32; // DEADBUSH + public static final int PISTON_BASE = 33; // PISTON + public static final int PISTON_EXTENSION = 34; // PISTON_HEAD + public static final int CLOTH = 35; // WOOL + public static final int PISTON_MOVING_PIECE = 36; // PISTON_EXTENSION public static final int YELLOW_FLOWER = 37; public static final int RED_FLOWER = 38; public static final int BROWN_MUSHROOM = 39; public static final int RED_MUSHROOM = 40; public static final int GOLD_BLOCK = 41; public static final int IRON_BLOCK = 42; - public static final int DOUBLE_STEP = 43; - public static final int STEP = 44; - public static final int BRICK = 45; + public static final int DOUBLE_STEP = 43; // DOUBLE_STONE_SLAB + public static final int STEP = 44; // STONE_SLAB + public static final int BRICK = 45; // BRICK_BLOCK public static final int TNT = 46; - public static final int BOOKCASE = 47; + public static final int BOOKCASE = 47; // BOOKSHELF public static final int MOSSY_COBBLESTONE = 48; public static final int OBSIDIAN = 49; public static final int TORCH = 50; public static final int FIRE = 51; public static final int MOB_SPAWNER = 52; + @Deprecated public static final int WOODEN_STAIRS = 53; - public static final int OAK_WOOD_STAIRS = 53; + public static final int OAK_WOOD_STAIRS = 53; // OAK_STAIRS public static final int CHEST = 54; public static final int REDSTONE_WIRE = 55; public static final int DIAMOND_ORE = 56; public static final int DIAMOND_BLOCK = 57; - public static final int WORKBENCH = 58; - public static final int CROPS = 59; - public static final int SOIL = 60; + public static final int WORKBENCH = 58; // CRAFTING_TABLE + public static final int CROPS = 59; // WHEAT + public static final int SOIL = 60; // FARMLAND public static final int FURNACE = 61; - public static final int BURNING_FURNACE = 62; - public static final int SIGN_POST = 63; - public static final int WOODEN_DOOR = 64; + public static final int BURNING_FURNACE = 62; // LIT_FURNACE + public static final int SIGN_POST = 63; // STANDING_SIGN + public static final int WOODEN_DOOR = 64; // WOODEN_DOOR public static final int LADDER = 65; - public static final int MINECART_TRACKS = 66; - public static final int COBBLESTONE_STAIRS = 67; + public static final int MINECART_TRACKS = 66; // RAIL + public static final int COBBLESTONE_STAIRS = 67; // STONE_STAIRS public static final int WALL_SIGN = 68; public static final int LEVER = 69; public static final int STONE_PRESSURE_PLATE = 70; public static final int IRON_DOOR = 71; public static final int WOODEN_PRESSURE_PLATE = 72; - public static final int REDSTONE_ORE = 73; - public static final int GLOWING_REDSTONE_ORE = 74; - public static final int REDSTONE_TORCH_OFF = 75; - public static final int REDSTONE_TORCH_ON = 76; + public static final int REDSTONE_ORE = 73; // LIT_REDSTONE_ORE + public static final int GLOWING_REDSTONE_ORE = 74; // UNLIT_REDSTONE_ORE + public static final int REDSTONE_TORCH_OFF = 75; // UNLIT_REDSTONE_TORCH + public static final int REDSTONE_TORCH_ON = 76; // LIT_REDSTONE_TORCH public static final int STONE_BUTTON = 77; - public static final int SNOW = 78; + public static final int SNOW = 78; // SNOW_LAYER public static final int ICE = 79; - public static final int SNOW_BLOCK = 80; + public static final int SNOW_BLOCK = 80; // SNOW public static final int CACTUS = 81; public static final int CLAY = 82; - public static final int REED = 83; + public static final int REED = 83; // REEDS public static final int JUKEBOX = 84; public static final int FENCE = 85; public static final int PUMPKIN = 86; + @Deprecated public static final int NETHERSTONE = 87; public static final int NETHERRACK = 87; - public static final int SLOW_SAND = 88; - public static final int LIGHTSTONE = 89; + public static final int SLOW_SAND = 88; // SOUL_SAND + public static final int LIGHTSTONE = 89; // GLOWSTONE public static final int PORTAL = 90; - public static final int JACKOLANTERN = 91; - public static final int CAKE_BLOCK = 92; - public static final int REDSTONE_REPEATER_OFF = 93; - public static final int REDSTONE_REPEATER_ON = 94; + public static final int JACKOLANTERN = 91; // LIT_PUMPKIN + public static final int CAKE_BLOCK = 92; // CAKE + public static final int REDSTONE_REPEATER_OFF = 93; // UNPOWERED_REPEATER + public static final int REDSTONE_REPEATER_ON = 94; // POWERED_REPEATER + @Deprecated public static final int LOCKED_CHEST = 95; - public static final int TRAP_DOOR = 96; - public static final int SILVERFISH_BLOCK = 97; - public static final int STONE_BRICK = 98; - public static final int BROWN_MUSHROOM_CAP = 99; - public static final int RED_MUSHROOM_CAP = 100; + public static final int STAINED_GLASS = 95; + public static final int TRAP_DOOR = 96; // TRAPDOOR + public static final int SILVERFISH_BLOCK = 97; // MONSTER_EGG + public static final int STONE_BRICK = 98; // STONEBRICK + public static final int BROWN_MUSHROOM_CAP = 99; // BROWN_MUSHROOM_BLOCK + public static final int RED_MUSHROOM_CAP = 100; // RED_MUSHROOM_BLOCK public static final int IRON_BARS = 101; public static final int GLASS_PANE = 102; public static final int MELON_BLOCK = 103; @@ -138,32 +142,32 @@ public final class BlockID { public static final int BRICK_STAIRS = 108; public static final int STONE_BRICK_STAIRS = 109; public static final int MYCELIUM = 110; - public static final int LILY_PAD = 111; + public static final int LILY_PAD = 111; // WATERLILY public static final int NETHER_BRICK = 112; public static final int NETHER_BRICK_FENCE = 113; public static final int NETHER_BRICK_STAIRS = 114; public static final int NETHER_WART = 115; - public static final int ENCHANTMENT_TABLE = 116; + public static final int ENCHANTMENT_TABLE = 116; // ENCHANTING_TABLE public static final int BREWING_STAND = 117; public static final int CAULDRON = 118; public static final int END_PORTAL = 119; public static final int END_PORTAL_FRAME = 120; public static final int END_STONE = 121; public static final int DRAGON_EGG = 122; - public static final int REDSTONE_LAMP_OFF = 123; - public static final int REDSTONE_LAMP_ON = 124; - public static final int DOUBLE_WOODEN_STEP = 125; - public static final int WOODEN_STEP = 126; - public static final int COCOA_PLANT = 127; + public static final int REDSTONE_LAMP_OFF = 123; // REDSTONE_LAMP + public static final int REDSTONE_LAMP_ON = 124; // LIT_REDSTONE_LAMP + public static final int DOUBLE_WOODEN_STEP = 125; // DOUBLE_WOODEN_SLAB + public static final int WOODEN_STEP = 126; // WOODEN_SLAB + public static final int COCOA_PLANT = 127; // COCOA public static final int SANDSTONE_STAIRS = 128; public static final int EMERALD_ORE = 129; public static final int ENDER_CHEST = 130; public static final int TRIPWIRE_HOOK = 131; public static final int TRIPWIRE = 132; public static final int EMERALD_BLOCK = 133; - public static final int SPRUCE_WOOD_STAIRS = 134; - public static final int BIRCH_WOOD_STAIRS = 135; - public static final int JUNGLE_WOOD_STAIRS = 136; + public static final int SPRUCE_WOOD_STAIRS = 134; // SPRUCE_STAIRS + public static final int BIRCH_WOOD_STAIRS = 135; // BRUCE_STAIRS + public static final int JUNGLE_WOOD_STAIRS = 136; // JUNGLE_STAIRS public static final int COMMAND_BLOCK = 137; public static final int BEACON = 138; public static final int COBBLESTONE_WALL = 139; @@ -171,14 +175,14 @@ public final class BlockID { public static final int CARROTS = 141; public static final int POTATOES = 142; public static final int WOODEN_BUTTON = 143; - public static final int HEAD = 144; + public static final int HEAD = 144; // SKULL public static final int ANVIL = 145; public static final int TRAPPED_CHEST = 146; - public static final int PRESSURE_PLATE_LIGHT = 147; - public static final int PRESSURE_PLATE_HEAVY = 148; - public static final int COMPARATOR_OFF = 149; - public static final int COMPARATOR_ON = 150; - public static final int DAYLIGHT_SENSOR = 151; + public static final int PRESSURE_PLATE_LIGHT = 147; // LIGHT_WEIGHTED_PRESSURE_PLATE + public static final int PRESSURE_PLATE_HEAVY = 148; // HEAVY_WEIGHTED_PRESSURE_PLATE + public static final int COMPARATOR_OFF = 149; // UNPOWERED_COMPARATOR + public static final int COMPARATOR_ON = 150; // COMPARATOR + public static final int DAYLIGHT_SENSOR = 151; // DAYLIGHT_DETECTOR public static final int REDSTONE_BLOCK = 152; public static final int QUARTZ_ORE = 153; public static final int HOPPER = 154; @@ -186,10 +190,17 @@ public final class BlockID { public static final int QUARTZ_STAIRS = 156; public static final int ACTIVATOR_RAIL = 157; public static final int DROPPER = 158; - public static final int STAINED_CLAY = 159; + public static final int STAINED_CLAY = 159; // STAINED_HARDENED_CLAY + public static final int STAINED_GLASS_PANE = 160; + public static final int LEAVES2 = 161; + public static final int LOG2 = 162; + public static final int ACACIA_STAIRS = 163; + public static final int DARK_OAK_STAIRS = 164; public static final int HAY_BLOCK = 170; public static final int CARPET = 171; public static final int HARDENED_CLAY = 172; public static final int COAL_BLOCK = 173; + public static final int PACKED_ICE = 174; + public static final int DOUBLE_PLANT = 175; } diff --git a/src/main/java/com/sk89q/worldedit/blocks/BlockType.java b/src/main/java/com/sk89q/worldedit/blocks/BlockType.java index db247687a..2b1d533ac 100644 --- a/src/main/java/com/sk89q/worldedit/blocks/BlockType.java +++ b/src/main/java/com/sk89q/worldedit/blocks/BlockType.java @@ -89,7 +89,7 @@ public enum BlockType { TORCH(BlockID.TORCH, "Torch", "torch", "light", "candle"), FIRE(BlockID.FIRE, "Fire", "fire", "flame", "flames"), MOB_SPAWNER(BlockID.MOB_SPAWNER, "Mob spawner", "mobspawner", "spawner"), - WOODEN_STAIRS(BlockID.WOODEN_STAIRS, "Wooden stairs", "woodstair", "woodstairs", "woodenstair", "woodenstairs"), + WOODEN_STAIRS(BlockID.OAK_WOOD_STAIRS, "Wooden stairs", "woodstair", "woodstairs", "woodenstair", "woodenstairs"), CHEST(BlockID.CHEST, "Chest", "chest", "storage", "storagechest"), REDSTONE_WIRE(BlockID.REDSTONE_WIRE, "Redstone wire", "redstone", "redstoneblock"), DIAMOND_ORE(BlockID.DIAMOND_ORE, "Diamond ore", "diamondore"), @@ -131,7 +131,8 @@ public enum BlockType { CAKE(BlockID.CAKE_BLOCK, "Cake", "cake", "cakeblock"), REDSTONE_REPEATER_OFF(BlockID.REDSTONE_REPEATER_OFF, "Redstone repeater (off)", "diodeoff", "redstonerepeater", "repeateroff", "delayeroff"), REDSTONE_REPEATER_ON(BlockID.REDSTONE_REPEATER_ON, "Redstone repeater (on)", "diodeon", "redstonerepeateron", "repeateron", "delayeron"), - LOCKED_CHEST(BlockID.LOCKED_CHEST, "Locked chest", "lockedchest", "steveco", "supplycrate", "valveneedstoworkonep3nottf2kthx"), + @Deprecated LOCKED_CHEST(BlockID.LOCKED_CHEST, "thisblockisinvalidusedstainedglassinstead"), + STAINED_GLASS(BlockID.STAINED_GLASS, "Stained Glass", "stainedglass"), TRAP_DOOR(BlockID.TRAP_DOOR, "Trap door", "trapdoor", "hatch", "floordoor"), SILVERFISH_BLOCK(BlockID.SILVERFISH_BLOCK, "Silverfish block", "silverfish", "silver"), STONE_BRICK(BlockID.STONE_BRICK, "Stone brick", "stonebrick", "sbrick", "smoothstonebrick"), @@ -146,7 +147,7 @@ public enum BlockType { FENCE_GATE(BlockID.FENCE_GATE, "Fence gate", "fencegate", "gate"), BRICK_STAIRS(BlockID.BRICK_STAIRS, "Brick stairs", "brickstairs", "bricksteps"), STONE_BRICK_STAIRS(BlockID.STONE_BRICK_STAIRS, "Stone brick stairs", "stonebrickstairs", "smoothstonebrickstairs"), - MYCELIUM(BlockID.MYCELIUM, "Mycelium", "fungus", "mycel"), + MYCELIUM(BlockID.MYCELIUM, "Mycelium", "mycelium", "fungus", "mycel"), LILY_PAD(BlockID.LILY_PAD, "Lily pad", "lilypad", "waterlily"), NETHER_BRICK(BlockID.NETHER_BRICK, "Nether brick", "netherbrick"), NETHER_BRICK_FENCE(BlockID.NETHER_BRICK_FENCE, "Nether brick fence", "netherbrickfence", "netherfence"), @@ -187,7 +188,7 @@ public enum BlockType { PRESSURE_PLATE_HEAVY(BlockID.PRESSURE_PLATE_HEAVY, "Weighted Pressure Plate (Heavy)", "heavypressureplate"), COMPARATOR_OFF(BlockID.COMPARATOR_OFF, "Redstone Comparator (inactive)", "redstonecomparator", "comparator"), COMPARATOR_ON(BlockID.COMPARATOR_ON, "Redstone Comparator (active)", "redstonecomparatoron", "comparatoron"), - DAYLIGHT_SENSOR(BlockID.DAYLIGHT_SENSOR, "Daylight Sesnor", "daylightsensor", "lightsensor"), + DAYLIGHT_SENSOR(BlockID.DAYLIGHT_SENSOR, "Daylight Sensor", "daylightsensor", "lightsensor", "daylightdetector"), REDSTONE_BLOCK(BlockID.REDSTONE_BLOCK, "Block of Redstone", "redstoneblock", "blockofredstone"), QUARTZ_ORE(BlockID.QUARTZ_ORE, "Nether Quartz Ore", "quartzore", "netherquartzore"), HOPPER(BlockID.HOPPER, "Hopper", "hopper"), @@ -195,11 +196,18 @@ public enum BlockType { QUARTZ_STAIRS(BlockID.QUARTZ_STAIRS, "Quartz Stairs", "quartzstairs"), ACTIVATOR_RAIL(BlockID.ACTIVATOR_RAIL, "Activator Rail", "activatorrail", "tntrail", "activatortrack"), DROPPER(BlockID.DROPPER, "Dropper", "dropper"), - STAINED_CLAY(BlockID.STAINED_CLAY, "Stained clay", "stainedclay"), + STAINED_CLAY(BlockID.STAINED_CLAY, "Stained Clay", "stainedclay", "stainedhardenedclay"), + STAINED_GLASS_PANE(BlockID.STAINED_GLASS_PANE, "Stained Glass Pane", "stainedglasspane"), + LEAVES2(BlockID.LEAVES2, "Leaves", "leaves2", "acacialeaves", "darkoakleaves"), + LOG2(BlockID.LOG2, "Log", "log2", "acacia", "darkoak"), + ACACIA_STAIRS(BlockID.ACACIA_STAIRS, "Acacia Wood Stairs", "acaciawoodstairs", "acaciastairs"), + DARK_OAK_STAIRS(BlockID.DARK_OAK_STAIRS, "Dark Oak Wood Stairs", "darkoakwoodstairs", "darkoakstairs"), HAY_BLOCK(BlockID.HAY_BLOCK, "Hay Block", "hayblock", "haybale", "wheatbale"), CARPET(BlockID.CARPET, "Carpet", "carpet"), HARDENED_CLAY(BlockID.HARDENED_CLAY, "Hardened Clay", "hardenedclay", "hardclay"), - COAL_BLOCK(BlockID.COAL_BLOCK, "Block of Coal", "coalblock", "blockofcoal"); + COAL_BLOCK(BlockID.COAL_BLOCK, "Block of Coal", "coalblock", "blockofcoal"), + PACKED_ICE(BlockID.PACKED_ICE, "Packed Ice", "packedice", "hardice"), + DOUBLE_PLANT(BlockID.DOUBLE_PLANT, "Large Flowers", "largeflowers", "doubleflowers"); /** * Stores a map of the IDs for fast access. @@ -287,7 +295,7 @@ public static BlockType lookup(String name, boolean fuzzy) { private static Map dataItemBlockMapping = new HashMap(); static { for (int data = 0; data < 16; ++data) { - //dataItemBlockMapping.put(typeDataKey(BlockID.DIRT, data), new BaseBlock(BlockID.DIRT, data)); + dataItemBlockMapping.put(typeDataKey(BlockID.DIRT, data), new BaseBlock(BlockID.DIRT, data)); dataItemBlockMapping.put(typeDataKey(BlockID.WOOD, data), new BaseBlock(BlockID.WOOD, data)); dataItemBlockMapping.put(typeDataKey(BlockID.SAND, data), new BaseBlock(BlockID.SAND, data)); dataItemBlockMapping.put(typeDataKey(BlockID.SANDSTONE, data), new BaseBlock(BlockID.SANDSTONE, data)); @@ -298,9 +306,9 @@ public static BlockType lookup(String name, boolean fuzzy) { dataItemBlockMapping.put(typeDataKey(BlockID.COBBLESTONE_WALL, data), new BaseBlock(BlockID.COBBLESTONE_WALL, data)); dataItemBlockMapping.put(typeDataKey(BlockID.STAINED_CLAY, data), new BaseBlock(BlockID.STAINED_CLAY, data)); dataItemBlockMapping.put(typeDataKey(BlockID.CARPET, data), new BaseBlock(BlockID.CARPET, data)); - //dataItemBlockMapping.put(typeDataKey(BlockID.FLOWER, data), new BaseBlock(BlockID.FLOWER, data)); - //dataItemBlockMapping.put(typeDataKey(BlockID.LARGE_FLOWER, data), new BaseBlock(BlockID.LARGE_FLOWER, data)); - //dataItemBlockMapping.put(typeDataKey(BlockID.STAINED_GLASS, data), new BaseBlock(BlockID.STAINED_GLASS, data)); + dataItemBlockMapping.put(typeDataKey(BlockID.RED_FLOWER, data), new BaseBlock(BlockID.RED_FLOWER, data)); + dataItemBlockMapping.put(typeDataKey(BlockID.DOUBLE_PLANT, data), new BaseBlock(BlockID.DOUBLE_PLANT, data)); + dataItemBlockMapping.put(typeDataKey(BlockID.STAINED_GLASS, data), new BaseBlock(BlockID.STAINED_GLASS, data)); } itemBlockMapping.put(ItemID.FLINT_AND_TINDER, new BaseBlock(BlockID.FIRE, -1)); @@ -324,10 +332,6 @@ public static BlockType lookup(String name, boolean fuzzy) { itemBlockMapping.put(ItemID.CARROT, new BaseBlock(BlockID.CARROTS, -1)); itemBlockMapping.put(ItemID.POTATO, new BaseBlock(BlockID.POTATOES, -1)); itemBlockMapping.put(ItemID.COMPARATOR, new BaseBlock(BlockID.COMPARATOR_OFF, -1)); - - // These are just for fun: - itemBlockMapping.put(ItemID.BUCKET, new BaseBlock(BlockID.AIR, -1)); // There's nothing in the bucket, what did you expect? - itemBlockMapping.put(ItemID.MILK_BUCKET, new BaseBlock(BlockID.SNOW, -1)); // Whoops, spilled the milk } public static BaseBlock getBlockForItem(int typeId, int data) { @@ -413,6 +417,7 @@ public String getName() { shouldPlaceLast.add(BlockID.COMPARATOR_ON); shouldPlaceLast.add(BlockID.ACTIVATOR_RAIL); shouldPlaceLast.add(BlockID.CARPET); + shouldPlaceLast.add(BlockID.DOUBLE_PLANT); } /** @@ -516,6 +521,7 @@ public static boolean shouldPlaceFinal(int id) { canPassThrough.add(BlockID.COMPARATOR_ON); canPassThrough.add(BlockID.ACTIVATOR_RAIL); canPassThrough.add(BlockID.CARPET); + canPassThrough.add(BlockID.DOUBLE_PLANT); } @@ -666,14 +672,18 @@ public double centralTopLimit() { */ private static final Set usesData = new HashSet(); static { + usesData.add(BlockID.DIRT); usesData.add(BlockID.WOOD); usesData.add(BlockID.SAPLING); usesData.add(BlockID.WATER); usesData.add(BlockID.STATIONARY_WATER); usesData.add(BlockID.LAVA); usesData.add(BlockID.STATIONARY_LAVA); + usesData.add(BlockID.SAND); usesData.add(BlockID.LOG); + usesData.add(BlockID.LOG2); usesData.add(BlockID.LEAVES); + usesData.add(BlockID.LEAVES2); usesData.add(BlockID.DISPENSER); usesData.add(BlockID.SANDSTONE); usesData.add(BlockID.BED); @@ -684,11 +694,12 @@ public double centralTopLimit() { usesData.add(BlockID.PISTON_BASE); usesData.add(BlockID.PISTON_EXTENSION); usesData.add(BlockID.CLOTH); + usesData.add(BlockID.RED_FLOWER); usesData.add(BlockID.DOUBLE_STEP); usesData.add(BlockID.STEP); usesData.add(BlockID.TORCH); usesData.add(BlockID.FIRE); - usesData.add(BlockID.WOODEN_STAIRS); + usesData.add(BlockID.OAK_WOOD_STAIRS); usesData.add(BlockID.CHEST); usesData.add(BlockID.REDSTONE_WIRE); usesData.add(BlockID.CROPS); @@ -730,7 +741,6 @@ public double centralTopLimit() { usesData.add(BlockID.STONE_BRICK_STAIRS); usesData.add(BlockID.NETHER_BRICK_STAIRS); usesData.add(BlockID.NETHER_WART); - usesData.add(BlockID.ENCHANTMENT_TABLE); usesData.add(BlockID.BREWING_STAND); usesData.add(BlockID.CAULDRON); usesData.add(BlockID.END_PORTAL_FRAME); @@ -753,14 +763,18 @@ public double centralTopLimit() { usesData.add(BlockID.ANVIL); usesData.add(BlockID.PRESSURE_PLATE_LIGHT); usesData.add(BlockID.PRESSURE_PLATE_HEAVY); + usesData.add(BlockID.COMPARATOR_OFF); + usesData.add(BlockID.COMPARATOR_ON); usesData.add(BlockID.QUARTZ_BLOCK); usesData.add(BlockID.QUARTZ_STAIRS); usesData.add(BlockID.ACTIVATOR_RAIL); usesData.add(BlockID.DROPPER); usesData.add(BlockID.HOPPER); usesData.add(BlockID.STAINED_CLAY); + usesData.add(BlockID.STAINED_GLASS_PANE); usesData.add(BlockID.HAY_BLOCK); usesData.add(BlockID.CARPET); + usesData.add(BlockID.DOUBLE_PLANT); } /** @@ -992,9 +1006,11 @@ public boolean isRailBlock() { isNaturalTerrainBlock.add(BlockID.GRAVEL); isNaturalTerrainBlock.add(BlockID.CLAY); isNaturalTerrainBlock.add(BlockID.MYCELIUM); + isNaturalTerrainBlock.add(BlockID.PACKED_ICE); + isNaturalTerrainBlock.add(BlockID.STAINED_CLAY); // hell - isNaturalTerrainBlock.add(BlockID.NETHERSTONE); + isNaturalTerrainBlock.add(BlockID.NETHERRACK); isNaturalTerrainBlock.add(BlockID.SLOW_SAND); isNaturalTerrainBlock.add(BlockID.LIGHTSTONE); isNaturalTerrainBlock.add(BlockID.QUARTZ_ORE); @@ -1067,7 +1083,6 @@ public boolean isNaturalTerrainBlock() { emitsLight.add(BlockID.PORTAL); emitsLight.add(BlockID.JACKOLANTERN); emitsLight.add(BlockID.REDSTONE_REPEATER_ON); - emitsLight.add(BlockID.LOCKED_CHEST); emitsLight.add(BlockID.BROWN_MUSHROOM_CAP); emitsLight.add(BlockID.RED_MUSHROOM_CAP); emitsLight.add(BlockID.END_PORTAL); @@ -1115,7 +1130,7 @@ public static boolean emitsLight(int id) { isTranslucent.add(BlockID.TORCH); isTranslucent.add(BlockID.FIRE); isTranslucent.add(BlockID.MOB_SPAWNER); - isTranslucent.add(BlockID.WOODEN_STAIRS); + isTranslucent.add(BlockID.OAK_WOOD_STAIRS); isTranslucent.add(BlockID.CHEST); isTranslucent.add(BlockID.REDSTONE_WIRE); isTranslucent.add(BlockID.CROPS); @@ -1183,6 +1198,8 @@ public static boolean emitsLight(int id) { isTranslucent.add(BlockID.QUARTZ_STAIRS); isTranslucent.add(BlockID.ACTIVATOR_RAIL); isTranslucent.add(BlockID.CARPET); + isTranslucent.add(BlockID.STAINED_GLASS_PANE); + isTranslucent.add(BlockID.DOUBLE_PLANT); } /** @@ -1216,10 +1233,10 @@ public static boolean isTranslucent(int id) { nonDataBlockBagItems.put(BlockID.STONE, new BaseItem(BlockID.COBBLESTONE)); // rule 5 nonDataBlockBagItems.put(BlockID.GRASS, new BaseItem(BlockID.DIRT)); // rule 5 - addIdentity(BlockID.DIRT); // rule 1 + addIdentities(BlockID.DIRT, 3); // rule 1 addIdentity(BlockID.COBBLESTONE); // rule 1 - addIdentity(BlockID.WOOD); // rule 1 - addIdentities(BlockID.SAPLING, 3); // rule 1 + addIdentities(BlockID.WOOD, 6); // rule 1 + addIdentities(BlockID.SAPLING, 6); // rule 1 nonDataBlockBagItems.put(BlockID.BEDROCK, doNotDestroy); // exception // WATER, rule 6 // STATIONARY_WATER, rule 6 @@ -1230,7 +1247,7 @@ public static boolean isTranslucent(int id) { addIdentity(BlockID.GOLD_ORE); // rule 1 addIdentity(BlockID.IRON_ORE); // rule 1 nonDataBlockBagItems.put(BlockID.COAL_ORE, new BaseItem(ItemID.COAL)); // rule 5 - addIdentities(BlockID.LOG, 3); // rule 1 + addIdentities(BlockID.LOG, 4); // rule 1 addIdentities(BlockID.LEAVES, 4); // rule 1 with shears, otherwise rule 3 addIdentity(BlockID.SPONGE); // rule 1 addIdentity(BlockID.GLASS); // rule 3 @@ -1266,7 +1283,7 @@ public static boolean isTranslucent(int id) { addIdentity(BlockID.TORCH); // rule 1 // FIRE // MOB_SPAWNER - addIdentity(BlockID.WOODEN_STAIRS); // rule 3 + addIdentity(BlockID.OAK_WOOD_STAIRS); // rule 1 addIdentity(BlockID.CHEST); // rule 1 nonDataBlockBagItems.put(BlockID.REDSTONE_WIRE, new BaseItem(ItemID.REDSTONE_DUST)); // rule 3 nonDataBlockBagItems.put(BlockID.DIAMOND_ORE, new BaseItem(ItemID.DIAMOND)); // rule 5 @@ -1308,7 +1325,7 @@ public static boolean isTranslucent(int id) { nonDataBlockBagItems.put(BlockID.CAKE_BLOCK, new BaseItem(ItemID.CAKE_ITEM)); // rule 3 nonDataBlockBagItems.put(BlockID.REDSTONE_REPEATER_OFF, new BaseItem(ItemID.REDSTONE_REPEATER)); // rule 3 nonDataBlockBagItems.put(BlockID.REDSTONE_REPEATER_ON, new BaseItem(ItemID.REDSTONE_REPEATER)); // rule 3 - addIdentity(BlockID.LOCKED_CHEST); // ??? + addIdentities(BlockID.STAINED_GLASS_PANE, 16); // ??? addIdentity(BlockID.TRAP_DOOR); // rule 1 nonDataBlockBagItems.put(BlockID.SILVERFISH_BLOCK, doNotDestroy); // exception addIdentity(BlockID.STONE_BRICK); // rule 1 @@ -1383,6 +1400,14 @@ public static boolean isTranslucent(int id) { addIdentities(BlockID.CARPET, 16); // rule 1 addIdentity(BlockID.HARDENED_CLAY); // rule 1 addIdentity(BlockID.COAL_BLOCK); // rule 1 + + addIdentities(BlockID.LOG2, 1); + addIdentities(BlockID.LEAVES2, 1); + addIdentity(BlockID.ACACIA_STAIRS); + addIdentity(BlockID.DARK_OAK_STAIRS); + addIdentity(BlockID.PACKED_ICE); + addIdentities(BlockID.STAINED_GLASS_PANE, 16); + addIdentities(BlockID.DOUBLE_PLANT, 6); } /** @@ -1618,7 +1643,7 @@ public static BaseItemStack getBlockDrop(int id, short data) { case BlockID.HAY_BLOCK: return new BaseItemStack(BlockID.HAY_BLOCK); // strip orientation data - case BlockID.WOODEN_STAIRS: + case BlockID.OAK_WOOD_STAIRS: case BlockID.COBBLESTONE_STAIRS: case BlockID.BRICK_STAIRS: case BlockID.STONE_BRICK_STAIRS: @@ -1635,6 +1660,7 @@ public static BaseItemStack getBlockDrop(int id, short data) { case BlockID.LAVA: case BlockID.STATIONARY_LAVA: case BlockID.GLASS: + case BlockID.STAINED_GLASS_PANE: case BlockID.PISTON_EXTENSION: case BlockID.BOOKCASE: case BlockID.FIRE: @@ -1643,7 +1669,6 @@ public static BaseItemStack getBlockDrop(int id, short data) { case BlockID.ICE: case BlockID.PORTAL: case BlockID.AIR: - case BlockID.LOCKED_CHEST: case BlockID.SILVERFISH_BLOCK: case BlockID.VINE: case BlockID.END_PORTAL: @@ -1730,6 +1755,7 @@ public static BaseItemStack getBlockDrop(int id, short data) { nonDataAttachments.put(BlockID.COMPARATOR_OFF, PlayerDirection.DOWN); nonDataAttachments.put(BlockID.COMPARATOR_ON, PlayerDirection.DOWN); nonDataAttachments.put(BlockID.CARPET, PlayerDirection.DOWN); + nonDataAttachments.put(BlockID.DOUBLE_PLANT, PlayerDirection.DOWN); // Rails are hardcoded to be attached to the block below them. // In addition to that, let's attach ascending rails to the block they're ascending towards. diff --git a/src/main/java/com/sk89q/worldedit/blocks/ItemID.java b/src/main/java/com/sk89q/worldedit/blocks/ItemID.java index 04eacfe3f..30bee5680 100644 --- a/src/main/java/com/sk89q/worldedit/blocks/ItemID.java +++ b/src/main/java/com/sk89q/worldedit/blocks/ItemID.java @@ -183,6 +183,7 @@ public final class ItemID { public static final int HORSE_ARMOR_DIAMOND = 419; public static final int LEAD = 420; public static final int NAME_TAG = 421; + public static final int COMMAND_BLOCK_MINECART = 422; @Deprecated public static final int GOLD_RECORD = 2256; // deprecated, but leave it there @Deprecated public static final int GREEN_RECORD = 2257; // deprecated, but leave it there diff --git a/src/main/java/com/sk89q/worldedit/blocks/ItemType.java b/src/main/java/com/sk89q/worldedit/blocks/ItemType.java index 5227e70b1..f3db5fa98 100644 --- a/src/main/java/com/sk89q/worldedit/blocks/ItemType.java +++ b/src/main/java/com/sk89q/worldedit/blocks/ItemType.java @@ -88,7 +88,7 @@ public enum ItemType { TORCH(BlockID.TORCH, "Torch", "torch", "light", "candle"), FIRE(BlockID.FIRE, "Fire", "fire", "flame", "flames"), MOB_SPAWNER(BlockID.MOB_SPAWNER, "Mob spawner", "mobspawner", "spawner"), - WOODEN_STAIRS(BlockID.WOODEN_STAIRS, "Wooden stairs", "woodstair", "woodstairs", "woodenstair", "woodenstairs"), + WOODEN_STAIRS(BlockID.OAK_WOOD_STAIRS, "Wooden stairs", "woodstair", "woodstairs", "woodenstair", "woodenstairs"), CHEST(BlockID.CHEST, "Chest", "chest", "storage", "storagechest"), REDSTONE_WIRE(BlockID.REDSTONE_WIRE, "Redstone wire", "redstone", "redstoneblock"), DIAMOND_ORE(BlockID.DIAMOND_ORE, "Diamond ore", "diamondore"), @@ -130,7 +130,8 @@ public enum ItemType { CAKE(BlockID.CAKE_BLOCK, "Cake", "cake", "cakeblock"), REDSTONE_REPEATER_OFF(BlockID.REDSTONE_REPEATER_OFF, "Redstone repeater (off)", "diodeoff", "redstonerepeater", "repeateroff", "delayeroff"), REDSTONE_REPEATER_ON(BlockID.REDSTONE_REPEATER_ON, "Redstone repeater (on)", "diodeon", "redstonerepeateron", "repeateron", "delayeron"), - LOCKED_CHEST(BlockID.LOCKED_CHEST, "Locked chest", "lockedchest", "steveco", "supplycrate", "valveneedstoworkonep3nottf2kthx"), + @Deprecated LOCKED_CHEST(BlockID.LOCKED_CHEST, "thisblockisinvalidusedstainedglassinstead"), + STAINED_GLASS(BlockID.STAINED_GLASS, "Stained Glass", "stainedglass"), TRAP_DOOR(BlockID.TRAP_DOOR, "Trap door", "trapdoor", "hatch", "floordoor"), SILVERFISH_BLOCK(BlockID.SILVERFISH_BLOCK, "Silverfish block", "silverfish", "silver"), STONE_BRICK(BlockID.STONE_BRICK, "Stone brick", "stonebrick", "sbrick", "smoothstonebrick"), @@ -145,7 +146,7 @@ public enum ItemType { FENCE_GATE(BlockID.FENCE_GATE, "Fence gate", "fencegate", "gate"), BRICK_STAIRS(BlockID.BRICK_STAIRS, "Brick stairs", "brickstairs", "bricksteps"), STONE_BRICK_STAIRS(BlockID.STONE_BRICK_STAIRS, "Stone brick stairs", "stonebrickstairs", "smoothstonebrickstairs"), - MYCELIUM(BlockID.MYCELIUM, "Mycelium", "fungus", "mycel"), + MYCELIUM(BlockID.MYCELIUM, "Mycelium", "mycelium", "fungus", "mycel"), LILY_PAD(BlockID.LILY_PAD, "Lily pad", "lilypad", "waterlily"), NETHER_BRICK(BlockID.NETHER_BRICK, "Nether brick", "netherbrick"), NETHER_BRICK_FENCE(BlockID.NETHER_BRICK_FENCE, "Nether brick fence", "netherbrickfence", "netherfence"), @@ -175,30 +176,38 @@ public enum ItemType { COMMAND_BLOCK(BlockID.COMMAND_BLOCK, "Command block", "commandblock", "cmdblock", "command", "cmd"), BEACON(BlockID.BEACON, "Beacon", "beacon", "beaconblock"), COBBLESTONE_WALL(BlockID.COBBLESTONE_WALL, "Cobblestone wall", "cobblestonewall", "cobblewall"), - FLOWER_POT_BLOCK(BlockID.FLOWER_POT, "Flower pot", "flowerpot", "plantpot", "pot", "flowerpotblock"), - CARROTS_BLOCK(BlockID.CARROTS, "Carrots", "carrots", "carrotsplant", "carrotsblock"), - POTATOES_BLOCK(BlockID.POTATOES, "Potatoes", "patatoes", "potatoesblock"), + FLOWER_POT_BLOCK(BlockID.FLOWER_POT, "Flower pot", "flowerpot", "plantpot", "pot"), + CARROTS(BlockID.CARROTS, "Carrots", "carrots", "carrotsplant", "carrotsblock"), + POTATOES(BlockID.POTATOES, "Potatoes", "potatoes", "potatoesblock"), WOODEN_BUTTON(BlockID.WOODEN_BUTTON, "Wooden button", "woodbutton", "woodenbutton"), - HEAD_BLOCK(BlockID.HEAD, "Head", "head", "headmount", "mount", "headblock", "mountblock"), + HEAD_BLOCK(BlockID.HEAD, "Head", "head", "skull"), ANVIL(BlockID.ANVIL, "Anvil", "anvil", "blacksmith"), TRAPPED_CHEST(BlockID.TRAPPED_CHEST, "Trapped Chest", "trappedchest", "redstonechest"), PRESSURE_PLATE_LIGHT(BlockID.PRESSURE_PLATE_LIGHT, "Weighted Pressure Plate (Light)", "lightpressureplate"), PRESSURE_PLATE_HEAVY(BlockID.PRESSURE_PLATE_HEAVY, "Weighted Pressure Plate (Heavy)", "heavypressureplate"), COMPARATOR_OFF(BlockID.COMPARATOR_OFF, "Redstone Comparator (inactive)", "redstonecomparator", "comparator"), COMPARATOR_ON(BlockID.COMPARATOR_ON, "Redstone Comparator (active)", "redstonecomparatoron", "comparatoron"), - DAYLIGHT_SENSOR(BlockID.DAYLIGHT_SENSOR, "Daylight Sesnor", "daylightsensor", "lightsensor"), + DAYLIGHT_SENSOR(BlockID.DAYLIGHT_SENSOR, "Daylight Sensor", "daylightsensor", "lightsensor", "daylightdetector"), REDSTONE_BLOCK(BlockID.REDSTONE_BLOCK, "Block of Redstone", "redstoneblock", "blockofredstone"), QUARTZ_ORE(BlockID.QUARTZ_ORE, "Nether Quartz Ore", "quartzore", "netherquartzore"), HOPPER(BlockID.HOPPER, "Hopper", "hopper"), - QUARTZ_BLOCK(BlockID.QUARTZ_BLOCK, "Block of Quartz", "quartzblock"), + QUARTZ_BLOCK(BlockID.QUARTZ_BLOCK, "Block of Quartz", "quartzblock", "quartz"), QUARTZ_STAIRS(BlockID.QUARTZ_STAIRS, "Quartz Stairs", "quartzstairs"), ACTIVATOR_RAIL(BlockID.ACTIVATOR_RAIL, "Activator Rail", "activatorrail", "tntrail", "activatortrack"), DROPPER(BlockID.DROPPER, "Dropper", "dropper"), - STAINED_CLAY(BlockID.STAINED_CLAY, "Stained clay", "stainedclay"), + STAINED_CLAY(BlockID.STAINED_CLAY, "Stained Clay", "stainedclay", "stainedhardenedclay"), + STAINED_GLASS_PANE(BlockID.STAINED_GLASS_PANE, "Stained Glass Pane", "stainedglasspane"), + LEAVES2(BlockID.LEAVES2, "Leaves", "leaves2", "acacialeaves", "darkoakleaves"), + LOG2(BlockID.LOG2, "Log", "log2", "acacia", "darkoak"), + ACACIA_STAIRS(BlockID.ACACIA_STAIRS, "Acacia Wood Stairs", "acaciawoodstairs", "acaciastairs"), + DARK_OAK_STAIRS(BlockID.DARK_OAK_STAIRS, "Dark Oak Wood Stairs", "darkoakwoodstairs", "darkoakstairs"), HAY_BLOCK(BlockID.HAY_BLOCK, "Hay Block", "hayblock", "haybale", "wheatbale"), CARPET(BlockID.CARPET, "Carpet", "carpet"), HARDENED_CLAY(BlockID.HARDENED_CLAY, "Hardened Clay", "hardenedclay", "hardclay"), COAL_BLOCK(BlockID.COAL_BLOCK, "Block of Coal", "coalblock", "blockofcoal"), + PACKED_ICE(BlockID.PACKED_ICE, "Packed Ice", "packedice", "hardice"), + DOUBLE_PLANT(BlockID.DOUBLE_PLANT, "Large Flowers", "largeflowers", "doubleflowers"), + // Items IRON_SHOVEL(ItemID.IRON_SHOVEL, "Iron shovel", "ironshovel"), @@ -359,6 +368,7 @@ public enum ItemType { HORSE_ARMOR_DIAMOND(ItemID.HORSE_ARMOR_DIAMOND, "Diamond Horse Armor", "diamondhorsearmor", "diamondbarding"), LEAD(ItemID.LEAD, "Lead", "lead", "leash"), NAME_TAG(ItemID.NAME_TAG, "Name Tag", "nametag"), + COMMAND_BLOCK_MINECART(ItemID.COMMAND_BLOCK_MINECART, "Minecart with Command Block"), DISC_13(ItemID.DISC_13, "Music Disc - 13", "disc_13"), DISC_CAT(ItemID.DISC_CAT, "Music Disc - Cat", "disc_cat"), DISC_BLOCKS(ItemID.DISC_BLOCKS, "Music Disc - blocks", "disc_blocks"), @@ -592,6 +602,7 @@ public String[] getAliases() { shouldNotStack.add(ItemID.HORSE_ARMOR_IRON); shouldNotStack.add(ItemID.HORSE_ARMOR_GOLD); shouldNotStack.add(ItemID.HORSE_ARMOR_DIAMOND); + shouldNotStack.add(ItemID.COMMAND_BLOCK_MINECART); shouldNotStack.add(ItemID.DISC_13); shouldNotStack.add(ItemID.DISC_CAT); shouldNotStack.add(ItemID.DISC_BLOCKS); @@ -618,13 +629,16 @@ public static boolean shouldNotStack(int id) { private static final Set usesDamageValue = new HashSet(); static { + usesDamageValue.add(BlockID.DIRT); usesDamageValue.add(BlockID.WOOD); usesDamageValue.add(BlockID.SAPLING); + usesDamageValue.add(BlockID.SAND); usesDamageValue.add(BlockID.LOG); usesDamageValue.add(BlockID.LEAVES); usesDamageValue.add(BlockID.SANDSTONE); usesDamageValue.add(BlockID.LONG_GRASS); usesDamageValue.add(BlockID.CLOTH); + usesDamageValue.add(BlockID.RED_FLOWER); usesDamageValue.add(BlockID.DOUBLE_STEP); usesDamageValue.add(BlockID.STEP); usesDamageValue.add(BlockID.SILVERFISH_BLOCK); @@ -646,6 +660,8 @@ public static boolean shouldNotStack(int id) { usesDamageValue.add(ItemID.MAP); usesDamageValue.add(ItemID.HEAD); usesDamageValue.add(ItemID.GOLD_APPLE); + usesDamageValue.add(ItemID.RAW_FISH); + usesDamageValue.add(ItemID.COOKED_FISH); } /**