diff --git a/README.md b/README.md index 853219b..a5cf9c6 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,25 @@ not critical to users, and left out. - hoppers, dispensers, droppers - entities +### Extra Notes -License: +Now allows a choice of conversion to Minetest Game or MineClone2. + +Currrently compatible with Minecraft Worlds up to, & including v1.12.2 + + +##### Coordinate Conversion from Minecraft to Minetest: +``` +X = Approximately the same in both. +Y = Approximately -64 nodes. +Z = The number is approximately inverted. + +Example of converted coordinates: +Minecraft: 704, 4, -318 +Minetest: 720, -60, 334 +``` + +### License: Copyright (C) 2016 - Nore, dgm555, sofar and others diff --git a/block.py b/block.py index 3589365..001d49f 100644 --- a/block.py +++ b/block.py @@ -270,9 +270,6 @@ def isdoor(b): # rotate lily pads randomly elif blocks[i] == 111: param2[i] = random.randint(0,3) - # melon/pumpkin blocks - elif blocks[i] == 86 or blocks[i] == 103: - param2[i] = random.randint(0,23) # grass of varying length randomly elif blocks[i] == 31 and data[i] == 1: content[i], param2[i] = conversion_table[931][random.randint(0,4)] @@ -290,6 +287,43 @@ def isdoor(b): alt = 964 if blocks[i] == 71: alt = 966 + if blocks[i] == 193: + alt = 968 + if blocks[i] == 194: + alt = 970 + if blocks[i] == 195: + alt = 972 + if blocks[i] == 196: + alt = 974 + if blocks[i] == 197: + alt = 976 + content[i], param2[i] = conversion_table[alt][d_face|d_open|(d_right<<3)] + if d_right == 1: + self.metadata[(i & 0xf, (i>>8) & 0xf, (i>>4) & 0xf)] = ({ "right": "1" }, {}) + # re-add code for converting top part of door for MineClone2, ignored for Minetest Game + elif isdoor(blocks[i]) and data[i] >= 8: # top part + below = i - 256 + if (below < 0): + logger.warning('Unable to fix door - bottom part is across block boundary! (%d < 0)' % below) + elif isdoor(blocks[below]) and data[below] >= 8: + logger.warning('Unable to fix door - top part 0x%x below top part 0x%x!', data[i], data[below]) + else: + d_right = data[i] & 1 # 0 - left, 1 - right + d_open = data[below] & 4 # 0 - closed, 1 - open + d_face = data[below] & 3 # n,e,s,w orientation + alt = 965 + if blocks[i] == 71: + alt = 967 + if blocks[i] == 193: + alt = 969 + if blocks[i] == 194: + alt = 971 + if blocks[i] == 195: + alt = 973 + if blocks[i] == 196: + alt = 975 + if blocks[i] == 197: + alt = 977 content[i], param2[i] = conversion_table[alt][d_face|d_open|(d_right<<3)] if d_right == 1: self.metadata[(i & 0xf, (i>>8) & 0xf, (i>>4) & 0xf)] = ({ "right": "1" }, {}) diff --git a/content_mcl2.py b/content_mcl2.py new file mode 100644 index 0000000..b80cc5d --- /dev/null +++ b/content_mcl2.py @@ -0,0 +1,76 @@ + +def preprocess(lines, flags): + output = [] + skip_level = 0 + for line in lines: + line = line.split("//")[0].strip() # Remove comment + if line == "": + continue + if line[0] == "#": + if line.startswith("#ifdef"): + cond = line[7:].strip() + if skip_level > 0 or cond not in flags: + skip_level += 1 + elif line.startswith("#else"): + if skip_level == 0: + skip_level = 1 + elif skip_level == 1: + skip_level = 0 + elif line.startswith("#endif"): + if skip_level > 0: + skip_level -= 1 + continue + if skip_level == 0: + output.append(line) + return output + +def get_id(name_id_mapping, name): + try: + # if the name of the node is known then return the location with the name_id_mapping list + return name_id_mapping.index(name) + except: + # else add the name of the node to the list then return the location + name_id_mapping.append(name) + return len(name_id_mapping)-1 + +def read_content(flags): + with open("mcl2_map_content.txt", "r") as f: + lines = f.readlines() + + lines = preprocess(lines, flags) + # if you map to air, then unknown blocks will be ignored + name_id_mapping = ["air"] + # name_id_mapping = ["mcblock:unknown"] + bd = {} # bd is block data, and keeps a list of the node names in the block + # iterate through all the lines in the map_content.txt file + for line in lines: + s = line.split("\t") + if len(s) >= 2: + r = s[1].split(" ") + if len(r) == 0: + print(line) + raise ValueError("Malformed data") + name = r[0] + param2 = 0 + for i in range(1, len(r)): + if r[i] != "": + param2 = int(r[i]) + break + t = s[0].split(" ") + if len(t) == 2: + for data in t[1].split(","): + key = (int(t[0]), int(data)) + if key not in bd: + bd[key] = (get_id(name_id_mapping, name), param2) + elif len(t) == 1: + for data in range(16): + key = (int(t[0]), data) + if key not in bd: + bd[key] = (get_id(name_id_mapping, name), param2) + + #blocks_len = max([i[0] for i in bd.keys()])+1 + blocks_len = 4096 + blocks = [[(0, 0)]*16 for i in range(blocks_len)] + for (id, data), value in bd.items(): + blocks[id][data] = value + return name_id_mapping, blocks diff --git a/map_content.txt b/map_content.txt index 9b6435a..74580d9 100644 --- a/map_content.txt +++ b/map_content.txt @@ -1139,3 +1139,98 @@ 966 13 doors:door_steel_a 1 966 14 doors:door_steel_a 2 966 15 doors:door_steel_a 3 + + +//spruce wood door +968 0 doors:door_wood_a 1 +968 1 doors:door_wood_a 2 +968 2 doors:door_wood_a 3 +968 3 doors:door_wood_a 0 +968 4 doors:door_wood_b 2 +968 5 doors:door_wood_b 3 +968 6 doors:door_wood_b 0 +968 7 doors:door_wood_b 1 +968 8 doors:door_wood_b 1 +968 9 doors:door_wood_b 2 +968 10 doors:door_wood_b 3 +968 11 doors:door_wood_b 0 +968 12 doors:door_wood_a 0 +968 13 doors:door_wood_a 1 +968 14 doors:door_wood_a 2 +968 15 doors:door_wood_a 3 + + +//birch wood door +970 0 doors:door_wood_a 1 +970 1 doors:door_wood_a 2 +970 2 doors:door_wood_a 3 +970 3 doors:door_wood_a 0 +970 4 doors:door_wood_b 2 +970 5 doors:door_wood_b 3 +970 6 doors:door_wood_b 0 +970 7 doors:door_wood_b 1 +970 8 doors:door_wood_b 1 +970 9 doors:door_wood_b 2 +970 10 doors:door_wood_b 3 +970 11 doors:door_wood_b 0 +970 12 doors:door_wood_a 0 +970 13 doors:door_wood_a 1 +970 14 doors:door_wood_a 2 +970 15 doors:door_wood_a 3 + + +//jungle wood door +972 0 doors:door_wood_a 1 +972 1 doors:door_wood_a 2 +972 2 doors:door_wood_a 3 +972 3 doors:door_wood_a 0 +972 4 doors:door_wood_b 2 +972 5 doors:door_wood_b 3 +972 6 doors:door_wood_b 0 +972 7 doors:door_wood_b 1 +972 8 doors:door_wood_b 1 +972 9 doors:door_wood_b 2 +972 10 doors:door_wood_b 3 +972 11 doors:door_wood_b 0 +972 12 doors:door_wood_a 0 +972 13 doors:door_wood_a 1 +972 14 doors:door_wood_a 2 +972 15 doors:door_wood_a 3 + + +//acacia wood door +974 0 doors:door_wood_a 1 +974 1 doors:door_wood_a 2 +974 2 doors:door_wood_a 3 +974 3 doors:door_wood_a 0 +974 4 doors:door_wood_b 2 +974 5 doors:door_wood_b 3 +974 6 doors:door_wood_b 0 +974 7 doors:door_wood_b 1 +974 8 doors:door_wood_b 1 +974 9 doors:door_wood_b 2 +974 10 doors:door_wood_b 3 +974 11 doors:door_wood_b 0 +974 12 doors:door_wood_a 0 +974 13 doors:door_wood_a 1 +974 14 doors:door_wood_a 2 +974 15 doors:door_wood_a 3 + + +//dark oak wood door +976 0 doors:door_wood_a 1 +976 1 doors:door_wood_a 2 +976 2 doors:door_wood_a 3 +976 3 doors:door_wood_a 0 +976 4 doors:door_wood_b 2 +976 5 doors:door_wood_b 3 +976 6 doors:door_wood_b 0 +976 7 doors:door_wood_b 1 +976 8 doors:door_wood_b 1 +976 9 doors:door_wood_b 2 +976 10 doors:door_wood_b 3 +976 11 doors:door_wood_b 0 +976 12 doors:door_wood_a 0 +976 13 doors:door_wood_a 1 +976 14 doors:door_wood_a 2 +976 15 doors:door_wood_a 3 diff --git a/mcimport.sh b/mcimport.sh index 8d8b726..e80d71d 100755 --- a/mcimport.sh +++ b/mcimport.sh @@ -6,8 +6,8 @@ cd `dirname $0` -if [ ! -f map_content.txt ]; then - zenity --info --width=800 --text "Unable to locate \"map_content.txt\" file - this is a critical error, and this program is unable to continue." +if [ ! -f map_content.txt ] || [ ! -f mcl2_map_content.txt ]; then + zenity --info --width=800 --text "Unable to locate \"map_content.txt\" or \"mcl2_map_content.txt\" file - this is a critical error, and this program is unable to continue." exit 1 fi @@ -32,23 +32,38 @@ if [ -d "${HOME}/.minetest/worlds/$OUT" ]; then rm -rf "${HOME}/.minetest/worlds/$OUT" fi -zenity --info --width=800 --title="Conversion in progress" --text="The conversion is now running and make take a *very* long time to finish. Do not be alarmed by output lines that show \"Unknown Minecraft Block\" messages, this is normal and can usually be ignored without issues. You can safely close this window." & +if [ $? == 0 ]; then +`zenity --question --width=800 --title="Select a game for the converted map?" --text="Would you like mcimport to convert the map for use in Minetest Game or MineClone2?" --ok-label="Minetest Game" --cancel-label="MineClone2"` + if [ $? == 0 ]; then + zenity --info --width=800 --title="Conversion in progress" --text="The conversion is now running and may take a *very* long time to finish. Do not be alarmed by output lines that show \"Unknown Minecraft Block\" messages, this is normal and can usually be ignored without issues. You can safely close this window." & -python3 mcimport.py "$IN" "${HOME}/.minetest/worlds/$OUT" + python3 mcimport.py "$IN" "${HOME}/.minetest/worlds/$OUT" -if [ $? == 0 ]; then - if ! zenity --width=800 --question --title="Download required mods?" --text="The world was succesfully converted. Do you want me to download and install all the required mods now? This should be done for each converted world."; then - exit 0 + if [ $? == 0 ]; then + if ! zenity --width=800 --question --title="Download required mods?" --text="The world was succesfully converted. Do you want me to download and install all the required mods now? This should be done for each converted world."; then + exit 0 + fi + cd "${HOME}/.minetest/worlds/$OUT" + ( + bash get-mods.sh + echo "=====================" + echo "Finished! You can now close this window!" + ) | zenity --text-info --width=800 --height=600 --title='Downloading required mods.' --text='Downloading...' + zenity --width=800 --info --text "Conversion finished! Your world should now be playable in Minetest." + else + zenity --info --width=800 --text "Conversion didn't finish normally, the resulting world may not be playable." + exit + fi + else zenity --info --width=800 --title="Conversion in progress" --text="The conversion is now running and may take a *very* long time to finish. Do not be alarmed by output lines that show \"Unknown Minecraft Block\" messages, this is normal and can usually be ignored without issues. You can safely close this window." & + + python3 mcimport_mcl2.py "$IN" "${HOME}/.minetest/worlds/$OUT" + + if [ $? == 0 ]; then + zenity --width=800 --info --text "Conversion finished! Your world should now be playable in Minetest." + else + zenity --info --width=800 --text "Conversion didn't finish normally, the resulting world may not be playable." + exit + fi fi - cd "${HOME}/.minetest/worlds/$OUT" - ( - bash get-mods.sh - echo "=====================" - echo "Finished! You can now close this window!" - ) | zenity --text-info --width=800 --height=600 --title='Downloading required mods.' --text='Downloading...' -else - zenity --info --width=800 --text "Conversion didn't finish normally, the resulting world may not be playable." - exit 1 fi -zenity --width=800 --info --text "Conversion finished! Your world should now be playable in Minetest." diff --git a/mcimport_mcl2.py b/mcimport_mcl2.py new file mode 100644 index 0000000..c48a386 --- /dev/null +++ b/mcimport_mcl2.py @@ -0,0 +1,63 @@ +#!/bin/env python + +import os +import stat +import sys +import logging +from block import * +import content_mcl2 + +logging.basicConfig(level=logging.INFO) + +if (sys.version_info < (3, 0)): + print("This script does not work with Python < 3.0, sorry.") + exit(1) + +if not os.path.exists(sys.argv[1]): + print("The provided minecraft world path does not exist.") + exit(1) + +if not os.path.exists(sys.argv[2]): + os.makedirs(sys.argv[2]) + +if os.path.exists(sys.argv[2] + "map.sqlite"): + print("A minetest world already exists - refusing to overwrite it.") + exit(1) + +if not os.path.exists(sys.argv[2] + "/world.mt"): + with open(sys.argv[2] + "/world.mt", "w") as wo: + wo.write("backend = sqlite3\n") + wo.write("gameid = MineClone2\n") + +if not os.path.exists(sys.argv[2] + "/worldmods"): + os.makedirs(sys.argv[2]+"/worldmods") +if not os.path.exists(sys.argv[2] + "/worldmods/mcimport"): + os.makedirs(sys.argv[2]+"/worldmods/mcimport") +if not os.path.exists(sys.argv[2]+"/worldmods/mcimport/init.lua"): + with open(sys.argv[2]+"/worldmods/mcimport/init.lua", "w") as sn: + sn.write("-- map conversion requires a special water level\n") + sn.write("minetest.set_mapgen_params({water_level = -2})\n\n") + sn.write("-- prevent overgeneration in incomplete chunks, and allow lbms to work\n") + sn.write("minetest.set_mapgen_params({chunksize = 1})\n\n") + sn.write("-- comment the line below if you want to enable mapgen (will destroy things!)\n") + sn.write("minetest.set_mapgen_params({mgname = \"singlenode\"})\n\n") + sn.write("-- below lines will recalculate lighting on map block load\n") + sn.write("minetest.register_on_generated(function(minp, maxp, seed)\n") + sn.write(" local vm = minetest.get_voxel_manip(minp, maxp)\n") + sn.write(" vm:set_lighting({day = 15, night = 0}, minp, maxp)\n") + sn.write(" vm:update_liquids()\n") + sn.write(" vm:write_to_map()\n") + sn.write(" vm:update_map()\n") + sn.write("end)\n\n") + + +mcmap = MCMap(sys.argv[1]) +mtmap = MTMap(sys.argv[2]) + +nimap, ct = content_mcl2.read_content(["NETHER", "QUARTZ"]) +mtmap.fromMCMap(mcmap, nimap, ct) +mtmap.save() + +print("Conversion finished!\n") +print("Please enjoy your new MineClone2 world!") + diff --git a/mcl2_map_content.txt b/mcl2_map_content.txt new file mode 100644 index 0000000..6df574c --- /dev/null +++ b/mcl2_map_content.txt @@ -0,0 +1,1914 @@ +// Documentation originally derived from: https://raw.githubusercontent.com/dgm3333/mcblocks/master/map_content.txt +// Updated by MysticTempest +// +// The format of this file is: +//MCID data modname:blockname param2 +//17 0 mcblocks:Oak_Wood 4 //U + +// or with optional preprocessor commands +//#if MORETREES +// 18 4,12 default:leaves 1 +//#else +// 17 default:tree // TODO: Trunk orientation +//#endif + +// !!!! WHITESPACE TYPE (space or tab) IS CRITICAL:- !!!! + +// ({tab})MCID({space}MCData1(,MCData2(...))){tab}MTnodename({space}param2){tab}<==Everything beyond this tab is ignored. +//Tab characters at the beginning of the line are ignored. +//It is critical that tabs and spaces not be mixed up or the line won't be recognised correctly, +//and the parsing may fail to progress beyond that point. + +// MCID and MCData must be separated by a space/s. +// MCData1,2,etc must be separated by commas but no spaces. +// There must also be no spaces before MCID or between MCData and the following tab. +// MCData must not be >=16, or the remainder of the file will be totally ignored. +// MCID/Data and MTnodename are separated by tabs. +// MTnodename and param2 are separated by a space/s. +//If MCData1 is omitted, the line will match MCIDs with MCData values from 0-15 (and any subsequent entries will be ignored) +// Any data following '//' is parsed and not processed +// preprocessor commands #if {NAME}, #else and #endif are recognised and intervening lines will be parsed +// out or retained dependant on flags in the content.read_content call + +// Extra reference documentation: +//https://github.com/minetest/minetest/blob/2992b774fe65410a8acd3d06ae82dcd1eb260413/doc/lua_api.txt#L905 +//http://dev.minetest.net/minetest.dir_to_wallmounted +//http://dev.minetest.net/minetest.dir_to_facedir + +//=============================================================================== +// Minetest uses these values for Wall-Mounted nodes(eg. buttons, vines, etc..). +// Note that for Y values; it equates to which half of an air node it's in. +// Example: +// Buttons attached to the bottom of blocks are in the upper half of an air node. Hence are, 0. +// Buttons attached to the top of blocks are in the lower half of an air node. Hence are, 1. +//param2 direction +//0 //U +Y +//1 //D -Y +//4 //N +Z +//2 //E +X +//5 //S -Z +//3 //W -X + + +//-------------------------------------------------------------------------------- +// Minetest uses these values for nodebox face directions(eg. chests, Jack O'Lanterns, etc..). +// Values range from 0-23, and involve multiple vectors/rotations. +// A node's param2 value direction is dependent on a player's face direction. +// (ie. A player faces North, but a Jack O'Lantern faces South towards the player with a param2 value of '0'.) +//Default values for a node; vector pointing upwards: +//param2 direction +//0 //N +//1 //E +//2 //S +//3 //W + +//------------------------ +//Vectors: +//------------------------ +//Vector points Up; rotation is around the North/South/East/West faces. +//0,1,2,3 +//Vector points North; rotation is around the East/West/Up/Down faces. +//4,5,6,7 +//Vector points South; rotation is around the East/West/Up/Down faces. +//8,9,10,11 +//Vector points East; rotation is around the North/South/Up/Down faces. +//12,13,14,15 +//Vector points West; rotation is around the North/South/Up/Down faces. +//16,17,18,19 +//Vector points Down; rotation is around the North/South/East/West faces. +//20,21,22,23 +//------------------------ +//Faces: +//------------------------ +//Player faces Down, node(eg. Jack O'Lantern) faces Upwards. +//0 degree: 4 +//90 degree: 13 +//180 degree: 10 +//270 degree: 19 + +//Player faces Up, Jack O'Lantern faces Downwards. +//0 degree: 8 +//90 degree: 15 +//180 degree: 6 +//270 degree: 17 + +//Player faces North, Jack O'Lantern faces South. +//0 degree: 0 +//90 degree: 12 +//180 degree: 20 +//270 degree: 16 + +//Player faces East, Jack O'Lantern faces West. +//0 degree: 1 +//90 degree: 9 +//180 degree: 23 +//270 degree: 5 + +//Player faces South, Jack O'Lantern faces North. +//0 degree: 2 +//90 degree: 18 +//180 degree: 22 +//270 degree: 14 + +//Player faces West, Jack O'Lantern faces East. +//0 degree: 3 +//90 degree: 7 +//180 degree: 21 +//270 degree: 11 + + +//-------------------------------------------------------------------------------- +//Lastly, it appears some Minecraft Blockstates can be converted to data values. +//At least blockstates for axes(eg. Purpur Pillar, Bone Block, etc..). +//Example: +//Purpur pillar; default & on its side facing N,E,S,W; blockstate translation for X,Y,Z axes. +//202 0 mcl_end:purpur_pillar //Default, vector pointing upward, with a MC state for Y +//202 4 mcl_end:purpur_pillar 12 //East,West pointing vectors with a MC state for X +//202 8 mcl_end:purpur_pillar 6 //North,South pointing vectors with a MC state for Z + +//===================================================================================== + + + +1 0 mcl_core:stone +1 1 mcl_core:granite +1 2 mcl_core:granite_smooth +1 3 mcl_core:diorite +1 4 mcl_core:diorite_smooth +1 5 mcl_core:andesite +1 6 mcl_core:andesite_smooth + +2 mcl_core:dirt_with_grass +3 0 mcl_core:dirt +3 1 mcl_core:coarse_dirt +3 2 mcl_core:podzol +4 mcl_core:cobble + +#ifdef MORETREES + 5 0 default:wood + 5 1 moretrees:spruce_planks + 5 2 moretrees:birch_planks + 5 3 moretrees:sequoia_planks + 5 4 moretrees:fir_planks + 5 5 moretrees:oak_planks + + 6 0 default:sapling + 6 8 default:sapling + 6 1 moretrees:spruce_sapling + 6 9 moretrees:spruce_sapling + 6 2 moretrees:birch_sapling + 6 10 moretrees:birch_sapling + 6 3 moretrees:sequoia_sapling + 6 11 moretrees:sequoia_sapling + 6 4 default:acacia_sapling + 6 12 default:acacia_sapling + 6 5 moretrees:oak_sapling + 6 13 moretrees:oak_sapling +#else + 5 0 mcl_core:wood + 5 1 mcl_core:sprucewood + 5 2 mcl_core:birchwood + 5 3 mcl_core:junglewood + 5 4 mcl_core:acaciawood + 5 5 mcl_core:darkwood + + 6 0 mcl_core:sapling + 6 8 mcl_core:sapling + 6 1 mcl_core:sprucesapling + 6 9 mcl_core:sprucesapling + 6 2 mcl_core:birchsapling + 6 10 mcl_core:birchsapling + 6 3 mcl_core:junglesapling + 6 11 mcl_core:junglesapling + 6 4 mcl_core:acaciasapling + 6 12 mcl_core:acaciasapling + 6 5 mcl_core:darksapling + 6 13 mcl_core:sapling +#endif + +7 mcl_core:bedrock + +// blocks 8, 9, 10 and 11 (water and lava) are handled in code. +8 mcl_core:water_flowing +9 mcl_core:water_source +10 mcl_core:lava_flowing +11 mcl_core:lava_source + +12 0 mcl_core:sand +12 1 mcl_core:redsand +13 mcl_core:gravel +14 mcl_core:stone_with_gold +15 mcl_core:stone_with_iron +16 mcl_core:stone_with_coal + +#ifdef MORETREES + 17 0 default:tree 0 + 17 4 default:tree 18 + 17 8 default:tree 9 + 17 1 moretrees:spruce_trunk 0 + 17 5 moretrees:spruce_trunk 18 + 17 9 moretrees:spruce_trunk 9 + 17 2 moretrees:birch_trunk 0 + 17 6 moretrees:birch_trunk 18 + 17 10 moretrees:birch_trunk 9 + 17 3 moretrees:sequoia_trunk 0 + 17 7 moretrees:sequoia_trunk 18 + 17 11 moretrees:sequoia_trunk 9 + 18 0,8 default:leaves + 18 4,12 default:leaves 1 + 18 1,9 moretrees:spruce_leaves + 18 5,13 moretrees:spruce_leaves 1 + 18 2,10 moretrees:birch_leaves + 18 6,14 moretrees:birch_leaves 1 + 18 3,11 moretrees:sequoia_leaves + 18 7,15 moretrees:sequoia_leaves 1 + 161 0,8 moretrees:acacia_leaves + 161 4,12 moretrees:acacia_leaves 1 + 161 1,9 moretrees:oak_leaves + 161 5,13 moretrees:oak_leaves 1 + 162 0 moretrees:acacia_trunk 0 + 162 4 moretrees:acacia_trunk 18 + 162 8 moretrees:acacia_trunk 9 + 162 1 moretrees:oak_trunk 0 + 162 5 moretrees:oak_trunk 18 + 162 9 moretrees:oak_trunk 9 +#else + 17 0 mcl_core:tree 0 + 17 4 mcl_core:tree 18 + 17 8 mcl_core:tree 9 + 17 1 mcl_core:sprucetree 0 + 17 5 mcl_core:sprucetree 18 + 17 9 mcl_core:sprucetree 9 + 17 2 mcl_core:birchtree 0 + 17 6 mcl_core:birchtree 18 + 17 10 mcl_core:birchtree 9 + 17 3 mcl_core:jungletree 0 + 17 7 mcl_core:jungletree 18 + 17 11 mcl_core:jungletree 9 + 17 12 mcl_core:tree # bark only versions + 17 13 mcl_core:sprucetree + 17 14 mcl_core:birchtree + 17 15 mcl_core:jungletree + 18 0,8 mcl_core:leaves + 18 4,12 mcl_core:leaves 1 + 18 1,9 mcl_core:spruceleaves + 18 5,13 mcl_core:spruceleaves 1 + 18 2,10 mcl_core:birchleaves + 18 6,14 mcl_core:birchleaves 1 + 18 3,11 mcl_core:jungleleaves + 18 7,15 mcl_core:jungleleaves 1 + 161 0,8 mcl_core:acacialeaves + 161 4,12 mcl_core:acacialeaves 1 + 161 1,9 mcl_core:darkleaves + 161 5,13 mcl_core:darkleaves 1 + 162 0 mcl_core:acaciatree 0 + 162 4 mcl_core:acaciatree 18 + 162 8 mcl_core:acaciatree 9 + 162 1 mcl_core:darktree 0 + 162 5 mcl_core:darktree 18 + 162 9 mcl_core:darktree 9 + 162 12 mcl_core:acaciatree + 162 13 mcl_core:darktree +#endif + + +19 0 mcl_sponges:sponge +19 1 mcl_sponges:sponge_wet +20 mcl_core:glass +21 mcl_core:stone_with_lapis +22 mcl_core:lapisblock + +23 0 mcl_dispensers:dispenser_down +23 1 mcl_dispensers:dispenser_up +23 2 mcl_dispensers:dispenser 2 +23 3 mcl_dispensers:dispenser 0 +23 4 mcl_dispensers:dispenser 1 +23 5 mcl_dispensers:dispenser 3 +23 8 mcl_dispensers:dispenser_down +23 9 mcl_dispensers:dispenser_up +23 10 mcl_dispensers:dispenser 2 +23 11 mcl_dispensers:dispenser 0 +23 12 mcl_dispensers:dispenser 1 +23 13 mcl_dispensers:dispenser 3 + +24 0 mcl_core:sandstone +24 1 mcl_core:sandstonecarved +24 2 mcl_core:sandstonesmooth + +25 mesecons_noteblock:noteblock // FIXME: get pitch from entity data + +26 0 mcl_beds:bed_red_bottom 2 +26 1 mcl_beds:bed_red_bottom 3 +26 2 mcl_beds:bed_red_bottom 0 +26 3 mcl_beds:bed_red_bottom 1 +26 8 mcl_beds:bed_red_top 2 +26 9 mcl_beds:bed_red_top 3 +26 10 mcl_beds:bed_red_top 0 +26 11 mcl_beds:bed_red_top 1 + +// Powered rail +27 0 mcl_minecarts:golden_rail +27 1 mcl_minecarts:golden_rail +27 2 mcl_minecarts:golden_rail +27 3 mcl_minecarts:golden_rail +27 4 mcl_minecarts:golden_rail +27 5 mcl_minecarts:golden_rail +27 8 mcl_minecarts:golden_rail_on +27 9 mcl_minecarts:golden_rail_on +27 10 mcl_minecarts:golden_rail_on +27 11 mcl_minecarts:golden_rail_on +27 12 mcl_minecarts:golden_rail_on +27 13 mcl_minecarts:golden_rail_on + +// Detector rail +28 0 mcl_minecarts:detector_rail +28 1 mcl_minecarts:detector_rail +28 2 mcl_minecarts:detector_rail +28 3 mcl_minecarts:detector_rail +28 4 mcl_minecarts:detector_rail +28 5 mcl_minecarts:detector_rail +28 8 mcl_minecarts:detector_rail_on +28 9 mcl_minecarts:detector_rail_on +28 10 mcl_minecarts:detector_rail_on +28 11 mcl_minecarts:detector_rail_on +28 12 mcl_minecarts:detector_rail_on +28 13 mcl_minecarts:detector_rail_on + +//sticky pistons +29 0 mesecons_pistons:piston_down_sticky_off +29 1 mesecons_pistons:piston_up_sticky_off +29 2 mesecons_pistons:piston_sticky_off 2 +29 3 mesecons_pistons:piston_sticky_off 0 +29 4 mesecons_pistons:piston_sticky_off 1 +29 5 mesecons_pistons:piston_sticky_off 3 +29 8 mesecons_pistons:piston_down_sticky_on +29 9 mesecons_pistons:piston_up_sticky_on +29 10 mesecons_pistons:piston_sticky_on 2 +29 11 mesecons_pistons:piston_sticky_on 0 +29 12 mesecons_pistons:piston_sticky_on 1 +29 13 mesecons_pistons:piston_sticky_on 3 + +30 mcl_core:cobweb +31 0 mcl_core:deadbush +31 2 mcl_flowers:fern + +31 1 mcl_mcl_flowers:tallgrass // code randomly changes height +31 2 mcl_flowers:fern +32 mcl_core:deadbush + +//normal pistons +33 0 mesecons_pistons:piston_down_normal_off +33 1 mesecons_pistons:piston_up_normal_off +33 2 mesecons_pistons:piston_normal_off 2 +33 3 mesecons_pistons:piston_normal_off 0 +33 4 mesecons_pistons:piston_normal_off 1 +33 5 mesecons_pistons:piston_normal_off 3 +33 8 mesecons_pistons:piston_down_normal_on +33 9 mesecons_pistons:piston_up_normal_on +33 10 mesecons_pistons:piston_normal_on 2 +33 11 mesecons_pistons:piston_normal_on 0 +33 12 mesecons_pistons:piston_normal_on 1 +33 13 mesecons_pistons:piston_normal_on 3 + +//piston head +34 0 mesecons_pistons:piston_down_pusher_normal +34 1 mesecons_pistons:piston_up_pusher_normal +34 2 mesecons_pistons:piston_pusher_normal 2 +34 3 mesecons_pistons:piston_pusher_normal 0 +34 4 mesecons_pistons:piston_pusher_normal 1 +34 5 mesecons_pistons:piston_pusher_normal 3 +34 8 mesecons_pistons:piston_down_pusher_sticky +34 9 mesecons_pistons:piston_up_pusher_sticky +34 10 mesecons_pistons:piston_pusher_sticky 2 +34 11 mesecons_pistons:piston_pusher_sticky 0 +34 12 mesecons_pistons:piston_pusher_sticky 1 +34 13 mesecons_pistons:piston_pusher_sticky 3 + +35 0 mcl_wool:white +35 1 mcl_wool:orange +35 2 mcl_wool:magenta +35 3 mcl_wool:light_blue +35 4 mcl_wool:yellow +35 5 mcl_wool:lime +35 6 mcl_wool:pink +35 7 mcl_wool:grey +35 8 mcl_wool:silver +35 9 mcl_wool:cyan +35 10 mcl_wool:purple +35 11 mcl_wool:blue +35 12 mcl_wool:brown +35 13 mcl_wool:green +35 14 mcl_wool:red +35 15 mcl_wool:black + +37 mcl_flowers:dandelion +38 0 mcl_flowers:poppy +38 1 mcl_flowers:blue_orchid +38 2 mcl_flowers:allium +38 3 mcl_flowers:azure_bluet +38 4 mcl_flowers:tulip_red +38 5 mcl_flowers:tulip_orange +38 6 mcl_flowers:tulip_white +38 7 mcl_flowers:tulip_pink +38 8 mcl_flowers:oxeye_daisy + +39 mcl_mushrooms:mushroom_brown +40 mcl_mushrooms:mushroom_red + +41 mcl_core:goldblock +42 mcl_core:ironblock + +43 0 mcl_stairs:slab_stone_double // Double slabs +43 1 mcl_core:sandstone +43 2 mcl_core:wood +43 3 mcl_core:cobble +43 4 mcl_core:brick_block +43 5 mcl_core:stonebrick +#ifdef NETHER +43 6 mcl_nether:nether_brick +#endif +#ifdef QUARTZ +43 7 mcl_nether:quartz_block +#endif +43 8 mcl_core:stone_smooth +43 9 mcl_core:sandstone +#ifdef QUARTZ +43 10 mcl_nether:quartz_chiseled +#endif + +44 0 mcl_stairs:slab_stone +44 8 mcl_stairs:slab_stone_top 22 +44 1 mcl_stairs:slab_sandstone +44 9 mcl_stairs:slab_sandstone_top 22 +44 2 mcl_stairs:slab_wood +44 10 mcl_stairs:slab_wood_top 22 +44 3 mcl_stairs:slab_cobble +44 11 mcl_stairs:slab_cobble_top 22 +44 4 mcl_stairs:slab_brick_block +44 12 mcl_stairs:slab_brick_block_top 22 +44 5 mcl_stairs:slab_stonebrick +44 13 mcl_stairs:slab_stonebrick_top 22 + +#ifdef NETHER +44 6 mcl_stairs:slab_nether_brick +44 14 mcl_stairs:slab_nether_brick_top 22 +#else + 44 6 mcl_stairs:slab_stonebrick + 44 14 mcl_stairs:slab_stonebrick_top 22 +#endif + +#ifdef QUARTZ + 44 7 mcl_stairs:slab_quartzblock + 44 15 mcl_stairs:slab_quartzblock_top 22 +#else + 44 7 mcl_stairs:slab_stonebrick + 44 15 mcl_stairs:slab_stonebrick_top 22 +#endif + + +45 mcl_core:brick_block + +46 mcl_tnt:tnt + +47 mcl_books:bookshelf + +48 mcl_core:mossycobble +49 mcl_core:obsidian + +50 0 mcl_torches:torch 1 +50 1 mcl_torches:torch_wall 3 +50 2 mcl_torches:torch_wall 2 +50 3 mcl_torches:torch_wall 4 +50 4 mcl_torches:torch_wall 5 +50 5 mcl_torches:torch 1 + +51 mcl_fire:fire + +52 0 mcl_mobspawners:spawner + +53 0 mcl_stairs:stair_wood 1 +53 1 mcl_stairs:stair_wood 3 +53 2 mcl_stairs:stair_wood 2 +53 3 mcl_stairs:stair_wood 0 +53 4 mcl_stairs:stair_wood 23 +53 5 mcl_stairs:stair_wood 21 +53 6 mcl_stairs:stair_wood 22 +53 7 mcl_stairs:stair_wood 20 + +54 0 mcl_chests:chest 2 // map to default orientation == 2, TODO: contents +54 2 mcl_chests:chest 2 //N +54 3 mcl_chests:chest 0 //S +54 4 mcl_chests:chest 1 //W +54 5 mcl_chests:chest 3 //E + +55 0 mesecons:wire_00000000_off // FIXME: manually fit wires based on neighbors +55 1 mesecons:wire_00000000_on +55 2 mesecons:wire_00000000_on +55 3 mesecons:wire_00000000_on +55 4 mesecons:wire_00000000_on +55 5 mesecons:wire_00000000_on +55 6 mesecons:wire_00000000_on +55 7 mesecons:wire_00000000_on +55 8 mesecons:wire_00000000_on +55 9 mesecons:wire_00000000_on +55 10 mesecons:wire_00000000_on +55 11 mesecons:wire_00000000_on +55 12 mesecons:wire_00000000_on +55 13 mesecons:wire_00000000_on +55 14 mesecons:wire_00000000_on +55 15 mesecons:wire_00000000_on + +56 mcl_core:stone_with_diamond +57 mcl_core:diamondblock + +58 mcl_crafting_table:crafting_table + +59 0 mcl_farming:wheat_1 +59 1 mcl_farming:wheat_2 +59 2 mcl_farming:wheat_3 +59 3 mcl_farming:wheat_4 +59 4 mcl_farming:wheat_5 +59 5 mcl_farming:wheat_6 +59 6 mcl_farming:wheat_7 +59 7 mcl_farming:wheat + +60 0 mcl_farming:soil +60 1 mcl_farming:soil_wet +60 2 mcl_farming:soil_wet +60 3 mcl_farming:soil_wet +60 4 mcl_farming:soil_wet +60 5 mcl_farming:soil_wet +60 6 mcl_farming:soil_wet +60 7 mcl_farming:soil_wet + +61 2 mcl_furnaces:furnace 2 // TODO: contents +61 3 mcl_furnaces:furnace 0 +61 4 mcl_furnaces:furnace 1 +61 5 mcl_furnaces:furnace 3 +62 2 mcl_furnaces:furnace_active 2 +62 3 mcl_furnaces:furnace_active 0 +62 4 mcl_furnaces:furnace_active 1 +62 5 mcl_furnaces:furnace_active 3 + +63 0 mcl_signs:standing_sign // Signs mostly fixed now. +63 1 mcl_signs:standing_sign22_5 //Thanks to the extra angles included in 'mcl_signs'. +63 2 mcl_signs:standing_sign45 +63 3 mcl_signs:standing_sign67_5 +63 4 mcl_signs:standing_sign 1 +63 5 mcl_signs:standing_sign22_5 1 +63 6 mcl_signs:standing_sign45 3 +63 7 mcl_signs:standing_sign67_5 1 +63 8 mcl_signs:standing_sign +63 9 mcl_signs:standing_sign22_5 +63 10 mcl_signs:standing_sign45 +63 11 mcl_signs:standing_sign67_5 +63 12 mcl_signs:standing_sign 3 +63 13 mcl_signs:standing_sign22_5 3 +63 14 mcl_signs:standing_sign45 3 +63 15 mcl_signs:standing_sign67_5 3 + +64 air // door parts get fixed up in code + +65 2 mcl_core:ladder 5 +65 3 mcl_core:ladder 4 +65 4 mcl_core:ladder 2 +65 5 mcl_core:ladder 3 + +66 mcl_minecarts:rail + + +67 0 mcl_stairs:stair_cobble 1 +67 1 mcl_stairs:stair_cobble 3 +67 2 mcl_stairs:stair_cobble 2 +67 3 mcl_stairs:stair_cobble 0 +67 4 mcl_stairs:stair_cobble 23 +67 5 mcl_stairs:stair_cobble 21 +67 6 mcl_stairs:stair_cobble 22 +67 7 mcl_stairs:stair_cobble 20 + +68 2 mcl_signs:wall_sign 5 +68 3 mcl_signs:wall_sign 4 +68 4 mcl_signs:wall_sign 2 +68 5 mcl_signs:wall_sign 3 + +69 0 mesecons_walllever:wall_lever_off 15 +69 1 mesecons_walllever:wall_lever_off 3 +69 2 mesecons_walllever:wall_lever_off 1 +69 3 mesecons_walllever:wall_lever_off 0 +69 4 mesecons_walllever:wall_lever_off 2 +69 5 mesecons_walllever:wall_lever_off 4 +69 6 mesecons_walllever:wall_lever_off 13 +69 7 mesecons_walllever:wall_lever_off 6 +69 8 mesecons_walllever:wall_lever_on 15 +69 9 mesecons_walllever:wall_lever_on 3 +69 10 mesecons_walllever:wall_lever_on 1 +69 11 mesecons_walllever:wall_lever_on 0 +69 12 mesecons_walllever:wall_lever_on 2 +69 13 mesecons_walllever:wall_lever_on 4 +69 14 mesecons_walllever:wall_lever_on 13 +69 15 mesecons_walllever:wall_lever_on 6 + +70 mesecons_pressureplates:pressure_plate_stone_off + +71 air // door parts get fixed up in code + +72 mesecons_pressureplates:pressure_plate_wood_off + +73 mcl_core:stone_with_redstone // Redstone ore +74 mcl_core:stone_with_redstone_lit + +75 1 mesecons_torch:mesecon_torch_off 3 +75 2 mesecons_torch:mesecon_torch_off 2 +75 3 mesecons_torch:mesecon_torch_off 4 +75 4 mesecons_torch:mesecon_torch_off 5 +75 5 mesecons_torch:mesecon_torch_off 1 + +76 1 mesecons_torch:mesecon_torch_on 3 +76 2 mesecons_torch:mesecon_torch_on 2 +76 3 mesecons_torch:mesecon_torch_on 4 +76 4 mesecons_torch:mesecon_torch_on 5 +76 5 mesecons_torch:mesecon_torch_on 1 + +77 0 mesecons_button:button_stone_off 0 +77 1 mesecons_button:button_stone_off 3 +77 2 mesecons_button:button_stone_off 2 +77 3 mesecons_button:button_stone_off 4 +77 4 mesecons_button:button_stone_off 5 +77 5 mesecons_button:button_stone_off 1 + + +78 0 mcl_core:snow +78 1 mcl_core:snow_2 +78 2 mcl_core:snow_3 +78 3 mcl_core:snow_4 +78 4 mcl_core:snow_5 +78 5 mcl_core:snow_6 +78 6 mcl_core:snow_7 +78 7 mcl_core:snow_8 + + +79 mcl_core:ice +80 mcl_core:snowblock +81 mcl_core:cactus +82 mcl_core:clay +83 mcl_core:reeds +84 mcl_jukebox:jukebox +85 mcl_fences:fence + +86 0 mcl_farming:pumpkin_face 0 +86 1 mcl_farming:pumpkin_face 1 +86 2 mcl_farming:pumpkin_face 2 +86 3 mcl_farming:pumpkin_face 3 + + + +#ifdef NETHER + 87 mcl_nether:netherrack + 88 mcl_nether:soul_sand + 89 mcl_nether:glowstone + //Nether Portal blockstate orientation fix. + 90 0 mcl_portals:portal 12 + 90 1 mcl_portals:portal 12 + 90 2 mcl_portals:portal 1 +#endif + +91 0 mcl_farming:pumpkin_face_light 0 +91 1 mcl_farming:pumpkin_face_light 1 +91 2 mcl_farming:pumpkin_face_light 2 +91 3 mcl_farming:pumpkin_face_light 3 +91 4 mcl_farming:pumpkin_face_light + +92 0 mcl_cake:cake +92 1 mcl_cake:cake_6 +92 2 mcl_cake:cake_5 +92 3 mcl_cake:cake_4 +92 4 mcl_cake:cake_3 +92 5 mcl_cake:cake_2 +92 6 mcl_cake:cake_1 + +93 0 mesecons_delayer:delayer_off_1 0 +93 1 mesecons_delayer:delayer_off_1 1 +93 2 mesecons_delayer:delayer_off_1 2 +93 3 mesecons_delayer:delayer_off_1 3 +93 4 mesecons_delayer:delayer_off_2 0 +93 5 mesecons_delayer:delayer_off_2 1 +93 6 mesecons_delayer:delayer_off_2 2 +93 7 mesecons_delayer:delayer_off_2 3 +93 8 mesecons_delayer:delayer_off_3 0 +93 9 mesecons_delayer:delayer_off_3 1 +93 10 mesecons_delayer:delayer_off_3 2 +93 11 mesecons_delayer:delayer_off_3 3 +93 12 mesecons_delayer:delayer_off_4 0 +93 13 mesecons_delayer:delayer_off_4 1 +93 14 mesecons_delayer:delayer_off_4 2 +93 15 mesecons_delayer:delayer_off_4 3 + +94 0 mesecons_delayer:delayer_on_1 0 +94 1 mesecons_delayer:delayer_on_1 1 +94 2 mesecons_delayer:delayer_on_1 2 +94 3 mesecons_delayer:delayer_on_1 3 +94 4 mesecons_delayer:delayer_on_2 0 +94 5 mesecons_delayer:delayer_on_2 1 +94 6 mesecons_delayer:delayer_on_2 2 +94 7 mesecons_delayer:delayer_on_2 3 +94 8 mesecons_delayer:delayer_on_3 0 +94 9 mesecons_delayer:delayer_on_3 1 +94 10 mesecons_delayer:delayer_on_3 2 +94 11 mesecons_delayer:delayer_on_3 3 +94 12 mesecons_delayer:delayer_on_4 0 +94 13 mesecons_delayer:delayer_on_4 1 +94 14 mesecons_delayer:delayer_on_4 2 +94 15 mesecons_delayer:delayer_on_4 3 + +95 0 mcl_core:glass_white +95 1 mcl_core:glass_orange +95 2 mcl_core:glass_magenta +95 3 mcl_core:glass_light_blue +95 4 mcl_core:glass_yellow +95 5 mcl_core:glass_lime +95 6 mcl_core:glass_pink +95 7 mcl_core:glass_gray +95 8 mcl_core:glass_silver +95 9 mcl_core:glass_cyan +95 10 mcl_core:glass_purple +95 11 mcl_core:glass_blue +95 12 mcl_core:glass_brown +95 13 mcl_core:glass_green +95 14 mcl_core:glass_red +95 15 mcl_core:glass_black + + +96 0 mcl_doors:trapdoor 2 +96 1 mcl_doors:trapdoor 0 +96 2 mcl_doors:trapdoor 1 +96 3 mcl_doors:trapdoor 3 +96 4 mcl_doors:trapdoor_open 2 +96 5 mcl_doors:trapdoor_open 0 +96 6 mcl_doors:trapdoor_open 1 +96 7 mcl_doors:trapdoor_open 3 +96 8 mcl_doors:trapdoor 22 +96 9 mcl_doors:trapdoor 20 +96 10 mcl_doors:trapdoor 23 +96 11 mcl_doors:trapdoor 21 +96 12 mcl_doors:trapdoor_open 22 +96 13 mcl_doors:trapdoor_open 20 +96 14 mcl_doors:trapdoor_open 23 +96 15 mcl_doors:trapdoor_open 21 + +97 0 mcl_monster_eggs:monster_egg_stone // Silverfish +97 1 mcl_monster_eggs:monster_egg_cobble +97 2 mcl_monster_eggs:monster_egg_stonebrick +97 3 mcl_monster_eggs:monster_egg_stonebrickmossy +97 4 mcl_monster_eggs:monster_egg_stonebrickcracked +97 5 mcl_monster_eggs:monster_egg_stonebrickcarved + +98 0 mcl_core:stonebrick +98 1 mcl_core:stonebrickmossy +98 2 mcl_core:stonebrickcracked +98 3 mcl_core:stonebrickcarved + + +99 0 mcl_mushrooms:brown_mushroom_block_cap_000000 +99 1 mcl_mushrooms:brown_mushroom_block_cap_100110 +99 2 mcl_mushrooms:brown_mushroom_block_cap_100010 +99 3 mcl_mushrooms:brown_mushroom_block_cap_101010 +99 4 mcl_mushrooms:brown_mushroom_block_cap_100100 +99 5 mcl_mushrooms:brown_mushroom_block_cap_100000 +99 6 mcl_mushrooms:brown_mushroom_block_cap_101000 +99 7 mcl_mushrooms:brown_mushroom_block_cap_100101 +99 8 mcl_mushrooms:brown_mushroom_block_cap_100001 +99 9 mcl_mushrooms:brown_mushroom_block_cap_101001 +99 10 mcl_mushrooms:brown_mushroom_block_stem +99 14 mcl_mushrooms:brown_mushroom_block_cap_111111 +99 15 mcl_mushrooms:brown_mushroom_block_stem_full +100 0 mcl_mushrooms:red_mushroom_block_cap_000000 +100 1 mcl_mushrooms:red_mushroom_block_cap_100110 +100 2 mcl_mushrooms:red_mushroom_block_cap_100010 +100 3 mcl_mushrooms:red_mushroom_block_cap_101010 +100 4 mcl_mushrooms:red_mushroom_block_cap_100100 +100 5 mcl_mushrooms:red_mushroom_block_cap_100000 +100 6 mcl_mushrooms:red_mushroom_block_cap_101000 +100 7 mcl_mushrooms:red_mushroom_block_cap_100101 +100 8 mcl_mushrooms:red_mushroom_block_cap_100001 +100 9 mcl_mushrooms:red_mushroom_block_cap_101001 +100 10 mcl_mushrooms:red_mushroom_block_stem +100 14 mcl_mushrooms:red_mushroom_block_cap_111111 +100 15 mcl_mushrooms:red_mushroom_block_stem_full + + +101 xpanes:bar // This seems to fix rotation issues. +102 xpanes:pane_natural // Mostly fixed, as it fixes rotation issues. But, requires adding some groups to the "connects_to" list in xpanes. + +103 mcl_farming:melon // rotates randomly + +104 0 mcl_farming:pumpkin_1 +104 1 mcl_farming:pumpkin_2 +104 2 mcl_farming:pumpkin_3 +104 3 mcl_farming:pumpkin_4 +104 4 mcl_farming:pumpkin_5 +104 5 mcl_farming:pumpkin_6 +104 6 mcl_farming:pumpkin_7 +104 7 mcl_farming:pumpkintige_unconnect + +105 0 mcl_farming:melontige_1 +105 1 mcl_farming:melontige_2 +105 2 mcl_farming:melontige_3 +105 3 mcl_farming:melontige_4 +105 4 mcl_farming:melontige_5 +105 5 mcl_farming:melontige_6 +105 6 mcl_farming:melontige_7 +105 7 mcl_farming:melontige_unconnect + +106 1 mcl_core:vine 5 //Ignore errors about other 106 #'s. +106 2 mcl_core:vine 3 //The bits are toggleable; meaning you don't need both. +106 4 mcl_core:vine 4 //These 4 will cover all bases(N-4,E-5,S-2,W-3) +106 8 mcl_core:vine 2 + +107 0 mcl_fences:fence_gate 2 +107 1 mcl_fences:fence_gate 3 +107 2 mcl_fences:fence_gate 0 +107 3 mcl_fences:fence_gate 1 +107 4 mcl_fences:fence_gate_open 2 +107 5 mcl_fences:fence_gate_open 3 +107 6 mcl_fences:fence_gate_open 0 +107 7 mcl_fences:fence_gate_open 1 + +108 0 mcl_stairs:stair_brick_block 1 +108 1 mcl_stairs:stair_brick_block 3 +108 2 mcl_stairs:stair_brick_block 2 +108 3 mcl_stairs:stair_brick_block 0 +108 4 mcl_stairs:stair_brick_block 23 +108 5 mcl_stairs:stair_brick_block 21 +108 6 mcl_stairs:stair_brick_block 22 +108 7 mcl_stairs:stair_brick_block 20 + +109 0 mcl_stairs:stair_stonebrick 1 +109 1 mcl_stairs:stair_stonebrick 3 +109 2 mcl_stairs:stair_stonebrick 2 +109 3 mcl_stairs:stair_stonebrick 0 +109 4 mcl_stairs:stair_stonebrick 23 +109 5 mcl_stairs:stair_stonebrick 21 +109 6 mcl_stairs:stair_stonebrick 22 +109 7 mcl_stairs:stair_stonebrick 20 + +110 mcl_core:mycelium + +111 mcl_flowers:waterlily // rotation done in code randomly + +#ifdef NETHER +112 mcl_nether:nether_brick +#endif + + +113 mcl_fences:nether_brick_fence + +#ifdef NETHER + 114 0 mcl_stairs:stair_nether_brick 1 + 114 1 mcl_stairs:stair_nether_brick 3 + 114 2 mcl_stairs:stair_nether_brick 2 + 114 3 mcl_stairs:stair_nether_brick 0 + 114 4 mcl_stairs:stair_nether_brick 23 + 114 5 mcl_stairs:stair_nether_brick 21 + 114 6 mcl_stairs:stair_nether_brick 22 + 114 7 mcl_stairs:stair_nether_brick 20 +#endif + + +115 0 mcl_nether:nether_wart_0 +115 1 mcl_nether:nether_wart_1 +115 2 mcl_nether:nether_wart_2 +115 3 mcl_nether:nether_wart + +//116 0 enchantment_table +//117 0 brewing stand + +118 0 mcl_cauldrons:cauldron +118 1 mcl_cauldrons:cauldron_1 // 1/3 full +118 2 mcl_cauldrons:cauldron_2 // 2/3 full +118 3 mcl_cauldrons:cauldron_3 // Full + +119 0 mcl_portals:portal_end + +120 0 mcl_portals:end_portal_frame +120 1 mcl_portals:end_portal_frame +120 2 mcl_portals:end_portal_frame +120 3 mcl_portals:end_portal_frame +120 4 mcl_portals:end_portal_frame_eye +120 5 mcl_portals:end_portal_frame_eye +120 6 mcl_portals:end_portal_frame_eye +120 7 mcl_portals:end_portal_frame_eye + +121 0 mcl_end:end_stone +122 0 mcl_end:dragon_egg + + +123 mesecons_lightstone:lightstone_off +124 mesecons_lightstone:lightstone_on + +#ifdef MORETREES + 125 1 moretrees:spruce_planks + 125 2 moretrees:birch_planks + 125 3 moretrees:sequoia_planks + 125 4 moretrees:fir_planks + 125 5 moretrees:oak_planks + + 126 0 stairs:slab_wood + 126 8 stairs:slab_wood_top 22 + 126 1 moretrees:slab_spruce_planks + 126 9 moretrees:slab_spruce_planks_top 22 + 126 2 moretrees:slab_birch_planks + 126 10 moretrees:slab_birch_planks_top 22 + 126 3 moretrees:slab_sequoia_planks + 126 11 moretrees:slab_sequoia_planks_top 22 + 126 4 moretrees:slab_fir_planks + 126 12 moretrees:slab_fir_planks_top 22 + 126 5 moretrees:slab_oak_planks + 126 13 moretrees:slab_oak_planks_top 22 +#else + + 125 0 mcl_core:wood + 125 1 mcl_core:sprucewood + 125 2 mcl_core:birchwood + 125 3 mcl_core:junglewood + 125 4 mcl_core:acaciawood + 125 5 mcl_core:darkwood + + 126 0 mcl_stairs:slab_wood + 126 8 mcl_stairs:slab_wood_top 22 + 126 1 mcl_stairs:slab_sprucewood + 126 9 mcl_stairs:slab_sprucewood_top 22 + 126 2 mcl_stairs:slab_birchwood + 126 10 mcl_stairs:slab_birchwood_top 22 + 126 3 mcl_stairs:slab_junglewood + 126 11 mcl_stairs:slab_junglewood_top 22 + 126 4 mcl_stairs:slab_acaciawood + 126 12 mcl_stairs:slab_acaciawood_top 22 + 126 5 mcl_stairs:slab_darkwood + 126 13 mcl_stairs:slab_darkwood_top 22 +#endif + + +127 0 mcl_cocoas:cocoa_1 2 +127 1 mcl_cocoas:cocoa_1 3 +127 2 mcl_cocoas:cocoa_1 0 +127 3 mcl_cocoas:cocoa_1 1 +127 4 mcl_cocoas:cocoa_2 2 +127 5 mcl_cocoas:cocoa_2 3 +127 6 mcl_cocoas:cocoa_2 0 +127 7 mcl_cocoas:cocoa_2 1 +127 8 mcl_cocoas:cocoa_3 2 +127 9 mcl_cocoas:cocoa_3 3 +127 10 mcl_cocoas:cocoa_3 0 +127 11 mcl_cocoas:cocoa_3 1 + +128 0 mcl_stairs:stair_sandstone 1 +128 1 mcl_stairs:stair_sandstone 3 +128 2 mcl_stairs:stair_sandstone 2 +128 3 mcl_stairs:stair_sandstone 0 +128 4 mcl_stairs:stair_sandstone 23 +128 5 mcl_stairs:stair_sandstone 21 +128 6 mcl_stairs:stair_sandstone 22 +128 7 mcl_stairs:stair_sandstone 20 + +129 mcl_core:stone_with_emerald + +130 2 mcl_chests:ender_chest 2 +130 3 mcl_chests:ender_chest 0 +130 4 mcl_chests:ender_chest 1 +130 5 mcl_chests:ender_chest 3 + +//131 tripwire hook +//132 tripwire + +133 0 mcl_core:emeraldblock + +#ifdef MORETREES + 134 0 moretrees:stair_spruce_planks 1 + 134 1 moretrees:stair_spruce_planks 3 + 134 2 moretrees:stair_spruce_planks 2 + 134 3 moretrees:stair_spruce_planks 0 + 134 4 moretrees:stair_spruce_planks 23 + 134 5 moretrees:stair_spruce_planks 21 + 134 6 moretrees:stair_spruce_planks 22 + 134 7 moretrees:stair_spruce_planks 20 + + 135 0 moretrees:stair_birch_planks 1 + 135 1 moretrees:stair_birch_planks 3 + 135 2 moretrees:stair_birch_planks 2 + 135 3 moretrees:stair_birch_planks 0 + 135 4 moretrees:stair_birch_planks 23 + 135 5 moretrees:stair_birch_planks 21 + 135 6 moretrees:stair_birch_planks 22 + 135 7 moretrees:stair_birch_planks 20 + + 136 0 moretrees:stair_sequoia_planks 1 + 136 1 moretrees:stair_sequoia_planks 3 + 136 2 moretrees:stair_sequoia_planks 2 + 136 3 moretrees:stair_sequoia_planks 0 + 136 4 moretrees:stair_sequoia_planks 23 + 136 5 moretrees:stair_sequoia_planks 21 + 136 6 moretrees:stair_sequoia_planks 22 + 136 7 moretrees:stair_sequoia_planks 20 +#else + 134 0 mcl_stairs:stair_sprucewood 1 + 134 1 mcl_stairs:stair_sprucewood 3 + 134 2 mcl_stairs:stair_sprucewood 2 + 134 3 mcl_stairs:stair_sprucewood 0 + 134 4 mcl_stairs:stair_sprucewood 23 + 134 5 mcl_stairs:stair_sprucewood 21 + 134 6 mcl_stairs:stair_sprucewood 22 + 134 7 mcl_stairs:stair_sprucewood 20 + + 135 0 mcl_stairs:stair_birchwood 1 + 135 1 mcl_stairs:stair_birchwood 3 + 135 2 mcl_stairs:stair_birchwood 2 + 135 3 mcl_stairs:stair_birchwood 0 + 135 4 mcl_stairs:stair_birchwood 23 + 135 5 mcl_stairs:stair_birchwood 21 + 135 6 mcl_stairs:stair_birchwood 22 + 135 7 mcl_stairs:stair_birchwood 20 + + 136 0 mcl_stairs:stair_junglewood 1 + 136 1 mcl_stairs:stair_junglewood 3 + 136 2 mcl_stairs:stair_junglewood 2 + 136 3 mcl_stairs:stair_junglewood 0 + 136 4 mcl_stairs:stair_junglewood 23 + 136 5 mcl_stairs:stair_junglewood 21 + 136 6 mcl_stairs:stair_junglewood 22 + 136 7 mcl_stairs:stair_junglewood 20 +#endif + +137 mesecons_commandblock:commandblock_off // FIXME: formspec + +//138 0 beacon + +139 0 mcl_walls:cobble +139 1 mcl_walls:mossycobble + +140 mcl_flowerpots:flower_pot // code will plant right flower + +141 0 mcl_farming:carrot_1 +141 1 mcl_farming:carrot_2 +141 2 mcl_farming:carrot_3 +141 3 mcl_farming:carrot_4 +141 4 mcl_farming:carrot_5 +141 5 mcl_farming:carrot_6 +141 6 mcl_farming:carrot_7 +141 7 mcl_farming:carrot + +142 0 mcl_farming:potato_1 +142 1 mcl_farming:potato_2 +142 2 mcl_farming:potato_3 +142 3 mcl_farming:potato_4 +142 4 mcl_farming:potato_5 +142 5 mcl_farming:potato_6 +142 6 mcl_farming:potato_7 +142 7 mcl_farming:potato + +143 0 mesecons_button:button_wood_off 0 +143 1 mesecons_button:button_wood_off 3 +143 2 mesecons_button:button_wood_off 2 +143 3 mesecons_button:button_wood_off 4 +143 4 mesecons_button:button_wood_off 5 +143 5 mesecons_button:button_wood_off 1 + +//Todo: entity data to define heads, default to Steve for now. +144 1 mcl_heads:steve +144 2 mcl_heads:steve 2 +144 3 mcl_heads:steve 0 +144 4 mcl_heads:steve 1 +144 5 mcl_heads:steve 3 + +145 0 mcl_anvils:anvil 1 +145 1 mcl_anvils:anvil 2 +145 2 mcl_anvils:anvil 3 +145 3 mcl_anvils:anvil 0 +145 4 mcl_anvils:anvil_damage_1 1 +145 5 mcl_anvils:anvil_damage_1 2 +145 6 mcl_anvils:anvil_damage_1 3 +145 7 mcl_anvils:anvil_damage_1 0 +145 8 mcl_anvils:anvil_damage_2 1 +145 9 mcl_anvils:anvil_damage_2 2 +145 10 mcl_anvils:anvil_damage_2 3 +145 11 mcl_anvils:anvil_damage_2 0 + +146 2 mcl_chests:trapped_chest 2 // Trapped chest +146 3 mcl_chests:trapped_chest 0 +146 4 mcl_chests:trapped_chest 1 +146 5 mcl_chests:trapped_chest 3 + +//147 0 weighted pressure plate (light) +//148 0 weighted pressure plate (heavy) + +149 0 mcl_comparators:comparator_off_comp 0 +149 1 mcl_comparators:comparator_off_comp 1 +149 2 mcl_comparators:comparator_off_comp 2 +149 3 mcl_comparators:comparator_off_comp 3 +149 4 mcl_comparators:comparator_off_sub 0 +149 5 mcl_comparators:comparator_off_sub 1 +149 6 mcl_comparators:comparator_off_sub 2 +149 7 mcl_comparators:comparator_off_sub 3 +149 8 mcl_comparators:comparator_on_comp 0 +149 9 mcl_comparators:comparator_on_comp 1 +149 10 mcl_comparators:comparator_on_comp 2 +149 11 mcl_comparators:comparator_on_comp 3 +149 12 mcl_comparators:comparator_on_sub 0 +149 13 mcl_comparators:comparator_on_sub 1 +149 14 mcl_comparators:comparator_on_sub 2 +149 15 mcl_comparators:comparator_on_sub 3 + +151 0 mesecons_solarpanel:solar_panel_off 1 +151 1 mesecons_solarpanel:solar_panel_on 1 +151 2 mesecons_solarpanel:solar_panel_on 1 +151 3 mesecons_solarpanel:solar_panel_on 1 +151 4 mesecons_solarpanel:solar_panel_on 1 +151 5 mesecons_solarpanel:solar_panel_on 1 +151 6 mesecons_solarpanel:solar_panel_on 1 +151 7 mesecons_solarpanel:solar_panel_on 1 +151 8 mesecons_solarpanel:solar_panel_on 1 +151 9 mesecons_solarpanel:solar_panel_on 1 +151 10 mesecons_solarpanel:solar_panel_on 1 +151 11 mesecons_solarpanel:solar_panel_on 1 +151 12 mesecons_solarpanel:solar_panel_on 1 +151 13 mesecons_solarpanel:solar_panel_on 1 +151 14 mesecons_solarpanel:solar_panel_on 1 +151 15 mesecons_solarpanel:solar_panel_on 1 + +152 mesecons_torch:redstoneblock + +154 0 mcl_hoppers:hopper 0 +154 1 mcl_hoppers:hopper 2 +154 2 mcl_hoppers:hopper 3 +154 3 mcl_hoppers:hopper 4 +154 4 mcl_hoppers:hopper 5 +154 8 mcl_hoppers:hopper 0 + + +#ifdef QUARTZ + 153 mcl_nether:quartz_ore + 155 0 mcl_nether:quartz_block + 155 1 mcl_nether:quartz_chiseled + 155 2 mcl_nether:quartz_pillar + 155 3 mcl_nether:quartz_pillar 4 // TODO: check that + 155 4 mcl_nether:quartz_pillar 8 // TODO: check that + + 156 0 mcl_stairs:stair_quartzblock 1 + 156 1 mcl_stairs:stair_quartzblock 3 + 156 2 mcl_stairs:stair_quartzblock 2 + 156 3 mcl_stairs:stair_quartzblock 0 + 156 4 mcl_stairs:stair_quartzblock 23 + 156 5 mcl_stairs:stair_quartzblock 21 + 156 6 mcl_stairs:stair_quartzblock 22 + 156 7 mcl_stairs:stair_quartzblock 20 +#endif + + +157 0 mcl_minecarts:activator_rail +157 1 mcl_minecarts:activator_rail +157 2 mcl_minecarts:activator_rail +157 3 mcl_minecarts:activator_rail +157 4 mcl_minecarts:activator_rail +157 5 mcl_minecarts:activator_rail +157 8 mcl_minecarts:activator_rail_on +157 9 mcl_minecarts:activator_rail_on +157 10 mcl_minecarts:activator_rail_on +157 11 mcl_minecarts:activator_rail_on +157 12 mcl_minecarts:activator_rail_on +157 13 mcl_minecarts:activator_rail_on + + +158 0 mcl_droppers:dropper_down +158 1 mcl_droppers:dropper_up +158 2 mcl_droppers:dropper 2 +158 3 mcl_droppers:dropper 0 +158 4 mcl_droppers:dropper 1 +158 5 mcl_droppers:dropper 3 +158 8 mcl_droppers:dropper_down +158 9 mcl_droppers:dropper_up +158 10 mcl_droppers:dropper 2 +158 11 mcl_droppers:dropper 0 +158 12 mcl_droppers:dropper 1 +158 13 mcl_droppers:dropper 3 + +159 0 mcl_colorblocks:hardened_clay_white +159 1 mcl_colorblocks:hardened_clay_orange +159 2 mcl_colorblocks:hardened_clay_magenta +159 3 mcl_colorblocks:hardened_clay_light_blue +159 4 mcl_colorblocks:hardened_clay_yellow +159 5 mcl_colorblocks:hardened_clay_lime +159 6 mcl_colorblocks:hardened_clay_pink +159 7 mcl_colorblocks:hardened_clay_grey +159 8 mcl_colorblocks:hardened_clay_silver +159 9 mcl_colorblocks:hardened_clay_cyan +159 10 mcl_colorblocks:hardened_clay_purple +159 11 mcl_colorblocks:hardened_clay_blue +159 12 mcl_colorblocks:hardened_clay_brown +159 13 mcl_colorblocks:hardened_clay_green +159 14 mcl_colorblocks:hardened_clay_red +159 15 mcl_colorblocks:hardened_clay_black + +160 0 xpanes:pane_white_flat +160 1 xpanes:pane_orange_flat +160 2 xpanes:pane_magenta_flat +160 3 xpanes:pane_light_blue_flat +160 4 xpanes:pane_yellow_flat +160 5 xpanes:pane_lime_flat +160 6 xpanes:pane_pink_flat +160 7 xpanes:pane_gray_flat +160 8 xpanes:pane_silver_flat +160 9 xpanes:pane_cyan_flat +160 10 xpanes:pane_purple_flat +160 11 xpanes:pane_blue_flat +160 12 xpanes:pane_brown_flat +160 13 xpanes:pane_green_flat +160 14 xpanes:pane_red_flat +160 15 xpanes:pane_black_flat + + +161 0 mcl_core:acacialeaves +161 1 mcl_core:darkleaves +162 0 mcl_core:acaciatree +162 1 mcl_core:darktree + +163 0 mcl_stairs:stair_acaciawood 1 +163 1 mcl_stairs:stair_acaciawood 3 +163 2 mcl_stairs:stair_acaciawood 2 +163 3 mcl_stairs:stair_acaciawood 0 +163 4 mcl_stairs:stair_acaciawood 23 +163 5 mcl_stairs:stair_acaciawood 21 +163 6 mcl_stairs:stair_acaciawood 22 +163 7 mcl_stairs:stair_acaciawood 20 + +#ifdef MORETREES + 164 0 moretrees:stair_oak_planks 1 + 164 1 moretrees:stair_oak_planks 3 + 164 2 moretrees:stair_oak_planks 2 + 164 3 moretrees:stair_oak_planks 0 + 164 4 moretrees:stair_oak_planks 23 + 164 5 moretrees:stair_oak_planks 21 + 164 6 moretrees:stair_oak_planks 22 + 164 7 moretrees:stair_oak_planks 20 +#else + 164 0 mcl_stairs:stair_darkwood 1 + 164 1 mcl_stairs:stair_darkwood 3 + 164 2 mcl_stairs:stair_darkwood 2 + 164 3 mcl_stairs:stair_darkwood 0 + 164 4 mcl_stairs:stair_darkwood 23 + 164 5 mcl_stairs:stair_darkwood 21 + 164 6 mcl_stairs:stair_darkwood 22 + 164 7 mcl_stairs:stair_darkwood 20 +#endif + + +165 0 mcl_core:slimeblock +166 0 mcl_core:barrier + +167 0 mcl_doors:iron_trapdoor 2 +167 1 mcl_doors:iron_trapdoor 0 +167 2 mcl_doors:iron_trapdoor 1 +167 3 mcl_doors:iron_trapdoor 3 +167 4 mcl_doors:iron_trapdoor_open 2 +167 5 mcl_doors:iron_trapdoor_open 0 +167 6 mcl_doors:iron_trapdoor_open 1 +167 7 mcl_doors:iron_trapdoor_open 3 +167 8 mcl_doors:iron_trapdoor 22 +167 9 mcl_doors:iron_trapdoor 20 +167 10 mcl_doors:iron_trapdoor 23 +167 11 mcl_doors:iron_trapdoor 21 +167 12 mcl_doors:iron_trapdoor_open 22 +167 13 mcl_doors:iron_trapdoor_open 20 +167 14 mcl_doors:iron_trapdoor_open 23 +167 15 mcl_doors:iron_trapdoor_open 21 + +168 0 mcl_ocean:prismarine +168 1 mcl_ocean:prismarine_brick +168 2 mcl_ocean:prismarine_dark +169 0 mcl_ocean:sea_lantern + +//HayBlock orientation fix using blockstate data. +170 0 mcl_farming:hay_block +170 4 mcl_farming:hay_block 12 +170 8 mcl_farming:hay_block 6 + +171 0 mcl_wool:white_carpet +171 1 mcl_wool:orange_carpet +171 2 mcl_wool:magenta_carpet +171 3 mcl_wool:blue_carpet +171 4 mcl_wool:yellow_carpet +171 5 mcl_wool:lime_carpet +171 6 mcl_wool:pink_carpet +171 7 mcl_wool:grey_carpet +171 8 mcl_wool:silver_carpet +171 9 mcl_wool:cyan_carpet +171 10 mcl_wool:purple_carpet +171 11 mcl_wool:blue_carpet +171 12 mcl_wool:brown_carpet +171 13 mcl_wool:green_carpet +171 14 mcl_wool:red_carpet +171 15 mcl_wool:black_carpet + + +172 0 mcl_colorblocks:hardened_clay +173 mcl_core:coalblock +174 mcl_core:packed_ice + +175 0 mcl_flowers:sunflower +175 1 mcl_flowers:lilac +175 2 mcl_flowers:double_grass +175 3 mcl_flowers:double_fern +175 4 mcl_flowers:rose_bush +175 5 mcl_flowers:peony +//Todo: Fix flowertops being set as grass top. +//175 8 mcl_flowers:sunflower_top +//175 9 mcl_flowers:lilac_top +//175 10 mcl_flowers:double_grass_top +//175 11 mcl_flowers:double_fern_top +//175 12 mcl_flowers:rose_bush_top +//175 13 mcl_flowers:peony_top + + +//todo:properly map banners. +176 mcl_banners:standing_banner +177 2 mcl_banners:hanging_banner 5 +177 3 mcl_banners:hanging_banner 4 +177 4 mcl_banners:hanging_banner 2 +177 5 mcl_banners:hanging_banner 3 + + +178 0 mesecons_solarpanel:solar_panel_inverted_off 1 +178 1 mesecons_solarpanel:solar_panel_inverted_on 1 +178 2 mesecons_solarpanel:solar_panel_inverted_on 1 +178 3 mesecons_solarpanel:solar_panel_inverted_on 1 +178 4 mesecons_solarpanel:solar_panel_inverted_on 1 +178 5 mesecons_solarpanel:solar_panel_inverted_on 1 +178 6 mesecons_solarpanel:solar_panel_inverted_on 1 +178 7 mesecons_solarpanel:solar_panel_inverted_on 1 +178 8 mesecons_solarpanel:solar_panel_inverted_on 1 +178 9 mesecons_solarpanel:solar_panel_inverted_on 1 +178 10 mesecons_solarpanel:solar_panel_inverted_on 1 +178 11 mesecons_solarpanel:solar_panel_inverted_on 1 +178 12 mesecons_solarpanel:solar_panel_inverted_on 1 +178 13 mesecons_solarpanel:solar_panel_inverted_on 1 +178 14 mesecons_solarpanel:solar_panel_inverted_on 1 +178 15 mesecons_solarpanel:solar_panel_inverted_on 1 + +179 0 mcl_core:redsandstone +179 1 mcl_core:redsandstonecarved +179 2 mcl_core:redsandstonesmooth + +180 0 mcl_stairs:stair_redsandstone 1 +180 1 mcl_stairs:stair_redsandstone 3 +180 2 mcl_stairs:stair_redsandstone 2 +180 3 mcl_stairs:stair_redsandstone 0 +180 4 mcl_stairs:stair_redsandstone 23 +180 5 mcl_stairs:stair_redsandstone 21 +180 6 mcl_stairs:stair_redsandstone 22 +180 7 mcl_stairs:stair_redsandstone 20 + +181 mcl_core:redsandstone + +182 8 mcl_stairs:slab_redsandstone_top 22 +182 0 mcl_stairs:slab_redsandstone + + +183 0 mcl_fences:spruce_fence_gate 2 +183 1 mcl_fences:spruce_fence_gate 3 +183 2 mcl_fences:spruce_fence_gate 0 +183 3 mcl_fences:spruce_fence_gate 1 +183 4 mcl_fences:spruce_fence_gate_open 2 +183 5 mcl_fences:spruce_fence_gate_open 3 +183 6 mcl_fences:spruce_fence_gate_open 0 +183 7 mcl_fences:spruce_fence_gate_open 1 + +184 0 mcl_fences:birch_fence_gate 2 +184 1 mcl_fences:birch_fence_gate 3 +184 2 mcl_fences:birch_fence_gate 0 +184 3 mcl_fences:birch_fence_gate 1 +184 4 mcl_fences:birch_fence_gate_open 2 +184 5 mcl_fences:birch_fence_gate_open 3 +184 6 mcl_fences:birch_fence_gate_open 0 +184 7 mcl_fences:birch_fence_gate_open 1 + +185 0 mcl_fences:jungle_fence_gate 2 +185 1 mcl_fences:jungle_fence_gate 3 +185 2 mcl_fences:jungle_fence_gate 0 +185 3 mcl_fences:jungle_fence_gate 1 +185 4 mcl_fences:jungle_fence_gate_open 2 +185 5 mcl_fences:jungle_fence_gate_open 3 +185 6 mcl_fences:jungle_fence_gate_open 0 +185 7 mcl_fences:jungle_fence_gate_open 1 + +186 0 mcl_fences:dark_oak_fence_gate 2 +186 1 mcl_fences:dark_oak_fence_gate 3 +186 2 mcl_fences:dark_oak_fence_gate 0 +186 3 mcl_fences:dark_oak_fence_gate 1 +186 4 mcl_fences:dark_oak_fence_gate_open 2 +186 5 mcl_fences:dark_oak_fence_gate_open 3 +186 6 mcl_fences:dark_oak_fence_gate_open 0 +186 7 mcl_fences:dark_oak_fence_gate_open 1 + +187 0 mcl_fences:acacia_fence_gate 2 +187 1 mcl_fences:acacia_fence_gate 3 +187 2 mcl_fences:acacia_fence_gate 0 +187 3 mcl_fences:acacia_fence_gate 1 +187 4 mcl_fences:acacia_fence_gate_open 2 +187 5 mcl_fences:acacia_fence_gate_open 3 +187 6 mcl_fences:acacia_fence_gate_open 0 +187 7 mcl_fences:acacia_fence_gate_open 1 + + +188 mcl_fences:spruce_fence +189 mcl_fences:birch_fence +190 mcl_fences:jungle_fence +191 mcl_fences:dark_oak_fence +192 mcl_fences:acacia_fence + +193 air // door parts get fixed up in code +194 air // door parts get fixed up in code +195 air // door parts get fixed up in code +196 air // door parts get fixed up in code +197 air // door parts get fixed up in code + +198 0 mcl_end:end_rod 20 //Vector Down +198 1 mcl_end:end_rod 0 //Vector Up +198 2 mcl_end:end_rod 4 //Vector North +198 3 mcl_end:end_rod 8 //Vector South +198 4 mcl_end:end_rod 16 //Vector West +198 5 mcl_end:end_rod 12 //Vector East + +199 0 mcl_end:chorus_plant +200 0 mcl_end:chorus_flower +200 1 mcl_end:chorus_flower +200 2 mcl_end:chorus_flower +200 3 mcl_end:chorus_flower +200 4 mcl_end:chorus_flower +200 5 mcl_end:chorus_flower_dead +201 0 mcl_end:purpur_block +202 0 mcl_end:purpur_pillar +//Pillar on its side N,E,S,W - seem to be hidden values. As MC uses blockstates. +202 4 mcl_end:purpur_pillar 12 +202 8 mcl_end:purpur_pillar 6 + +203 0 mcl_stairs:stair_purpur_block 1 +203 1 mcl_stairs:stair_purpur_block 3 +203 2 mcl_stairs:stair_purpur_block 2 +203 3 mcl_stairs:stair_purpur_block 0 +203 4 mcl_stairs:stair_purpur_block 23 +203 5 mcl_stairs:stair_purpur_block 21 +203 6 mcl_stairs:stair_purpur_block 22 +203 7 mcl_stairs:stair_purpur_block 20 + +204 0 mcl_end:purpur_block +205 0 mcl_stairs:slab_purpur_block +205 8 mcl_stairs:slab_purpur_block_top 22 +206 0 mcl_end:end_bricks +207 0 mcl_farming:beetroot_0 +207 1 mcl_farming:beetroot_1 +207 2 mcl_farming:beetroot_2 +207 3 mcl_farming:beetroot +208 0 mcl_core:grass_path + + +//210 repeating command block +//211 0,5 chain command block + + +212 0 mcl_core:frosted_ice_0 +212 1 mcl_core:frosted_ice_1 +212 2 mcl_core:frosted_ice_2 +212 3 mcl_core:frosted_ice_3 + +213 0 mcl_nether:magma +214 0 mcl_nether:nether_wart_block +215 0 mcl_nether:red_nether_brick + +//block state data +216 0 mcl_core:bone_block +216 4 mcl_core:bone_block 12 +216 8 mcl_core:bone_block 6 + + + +218 0 mcl_observers:observer_down_off +218 1 mcl_observers:observer_up_off +218 2 mcl_observers:observer_off 0 +218 3 mcl_observers:observer_off 2 +218 4 mcl_observers:observer_off 3 +218 5 mcl_observers:observer_off 1 + +219 1 mcl_chests:white_shulker_box +220 1 mcl_chests:orange_shulker_box +221 1 mcl_chests:magenta_shulker_box +222 1 mcl_chests:lightblue_shulker_box +223 1 mcl_chests:yellow_shulker_box +224 1 mcl_chests:green_shulker_box +225 1 mcl_chests:pink_shulker_box +226 1 mcl_chests:dark_grey_shulker_box +227 1 mcl_chests:grey_shulker_box +228 1 mcl_chests:cyan_shulker_box +229 1 mcl_chests:violet_shulker_box +230 1 mcl_chests:blue_shulker_box +231 1 mcl_chests:brown_shulker_box +232 1 mcl_chests:dark_green_shulker_box +233 1 mcl_chests:red_shulker_box +234 1 mcl_chests:black_shulker_box + + + +235 0 mcl_colorblocks:glazed_terracotta_white 0 +236 0 mcl_colorblocks:glazed_terracotta_orange 0 +237 0 mcl_colorblocks:glazed_terracotta_magenta 0 +238 0 mcl_colorblocks:glazed_terracotta_light_blue 0 +239 0 mcl_colorblocks:glazed_terracotta_yellow 0 +240 0 mcl_colorblocks:glazed_terracotta_lime 0 +241 0 mcl_colorblocks:glazed_terracotta_pink 0 +242 0 mcl_colorblocks:glazed_terracotta_grey 0 +243 0 mcl_colorblocks:glazed_terracotta_silver 0 +244 0 mcl_colorblocks:glazed_terracotta_cyan 0 +245 0 mcl_colorblocks:glazed_terracotta_purple 0 +246 0 mcl_colorblocks:glazed_terracotta_blue 0 +247 0 mcl_colorblocks:glazed_terracotta_brown 0 +248 0 mcl_colorblocks:glazed_terracotta_green 0 +249 0 mcl_colorblocks:glazed_terracotta_red 0 +250 0 mcl_colorblocks:glazed_terracotta_black 0 +235 1 mcl_colorblocks:glazed_terracotta_white 1 +236 1 mcl_colorblocks:glazed_terracotta_orange 1 +237 1 mcl_colorblocks:glazed_terracotta_magenta 1 +238 1 mcl_colorblocks:glazed_terracotta_light_blue 1 +239 1 mcl_colorblocks:glazed_terracotta_yellow 1 +240 1 mcl_colorblocks:glazed_terracotta_lime 1 +241 1 mcl_colorblocks:glazed_terracotta_pink 1 +242 1 mcl_colorblocks:glazed_terracotta_grey 1 +243 1 mcl_colorblocks:glazed_terracotta_silver 1 +244 1 mcl_colorblocks:glazed_terracotta_cyan 1 +245 1 mcl_colorblocks:glazed_terracotta_purple 1 +246 1 mcl_colorblocks:glazed_terracotta_blue 1 +247 1 mcl_colorblocks:glazed_terracotta_brown 1 +248 1 mcl_colorblocks:glazed_terracotta_green 1 +249 1 mcl_colorblocks:glazed_terracotta_red 1 +250 1 mcl_colorblocks:glazed_terracotta_black 1 +235 2 mcl_colorblocks:glazed_terracotta_white 5 +236 2 mcl_colorblocks:glazed_terracotta_orange 5 +237 2 mcl_colorblocks:glazed_terracotta_magenta 5 +238 2 mcl_colorblocks:glazed_terracotta_light_blue 5 +239 2 mcl_colorblocks:glazed_terracotta_yellow 5 +240 2 mcl_colorblocks:glazed_terracotta_lime 5 +241 2 mcl_colorblocks:glazed_terracotta_pink 5 +242 2 mcl_colorblocks:glazed_terracotta_grey 5 +243 2 mcl_colorblocks:glazed_terracotta_silver 5 +244 2 mcl_colorblocks:glazed_terracotta_cyan 5 +245 2 mcl_colorblocks:glazed_terracotta_purple 5 +246 2 mcl_colorblocks:glazed_terracotta_blue 5 +247 2 mcl_colorblocks:glazed_terracotta_brown 5 +248 2 mcl_colorblocks:glazed_terracotta_green 5 +249 2 mcl_colorblocks:glazed_terracotta_red 5 +250 2 mcl_colorblocks:glazed_terracotta_black 5 +235 3 mcl_colorblocks:glazed_terracotta_white 3 +236 3 mcl_colorblocks:glazed_terracotta_orange 3 +237 3 mcl_colorblocks:glazed_terracotta_magenta 3 +238 3 mcl_colorblocks:glazed_terracotta_light_blue 3 +239 3 mcl_colorblocks:glazed_terracotta_yellow 3 +240 3 mcl_colorblocks:glazed_terracotta_lime 3 +241 3 mcl_colorblocks:glazed_terracotta_pink 3 +242 3 mcl_colorblocks:glazed_terracotta_grey 3 +243 3 mcl_colorblocks:glazed_terracotta_silver 3 +244 3 mcl_colorblocks:glazed_terracotta_cyan 3 +245 3 mcl_colorblocks:glazed_terracotta_purple 3 +246 3 mcl_colorblocks:glazed_terracotta_blue 3 +247 3 mcl_colorblocks:glazed_terracotta_brown 3 +248 3 mcl_colorblocks:glazed_terracotta_green 3 +249 3 mcl_colorblocks:glazed_terracotta_red 3 +250 3 mcl_colorblocks:glazed_terracotta_black 3 + + +251 0 mcl_colorblocks:concrete_white +251 1 mcl_colorblocks:concrete_orange +251 2 mcl_colorblocks:concrete_magenta +251 3 mcl_colorblocks:concrete_light_blue +251 4 mcl_colorblocks:concrete_yellow +251 5 mcl_colorblocks:concrete_lime +251 6 mcl_colorblocks:concrete_pink +251 7 mcl_colorblocks:concrete_grey +251 8 mcl_colorblocks:concrete_silver +251 9 mcl_colorblocks:concrete_cyan +251 10 mcl_colorblocks:concrete_purple +251 11 mcl_colorblocks:concrete_blue +251 12 mcl_colorblocks:concrete_brown +251 13 mcl_colorblocks:concrete_green +251 14 mcl_colorblocks:concrete_red +251 15 mcl_colorblocks:concrete_black + +252 0 mcl_colorblocks:concrete_powder_white +252 1 mcl_colorblocks:concrete_powder_orange +252 2 mcl_colorblocks:concrete_powder_magenta +252 3 mcl_colorblocks:concrete_powder_light_blue +252 4 mcl_colorblocks:concrete_powder_yellow +252 5 mcl_colorblocks:concrete_powder_lime +252 6 mcl_colorblocks:concrete_powder_pink +252 7 mcl_colorblocks:concrete_powder_grey +252 8 mcl_colorblocks:concrete_powder_silver +252 9 mcl_colorblocks:concrete_powder_cyan +252 10 mcl_colorblocks:concrete_powder_purple +252 11 mcl_colorblocks:concrete_powder_blue +252 12 mcl_colorblocks:concrete_powder_brown +252 13 mcl_colorblocks:concrete_powder_green +252 14 mcl_colorblocks:concrete_powder_red +252 15 mcl_colorblocks:concrete_powder_black + + +324 0,4 mcl_doors:wooden_door_b_1 2 +324 1,5 mcl_doors:wooden_door_b_1 3 +324 2,6 mcl_doors:wooden_door_b_1 0 +324 3,7 mcl_doors:wooden_door_b_1 1 +324 8 mcl_doors:wooden_door_t_1 +324 9 mcl_doors:wooden_door_t_1 +324 10 mcl_doors:wooden_door_t_1 +324 11 mcl_doors:wooden_door_t_1 + +// Below here are non-MC blocks. We need to put these blocks in the +// table to make translation a bit easier + +// random pick for 31:1 grass +931 0 mcl_flowers:tallgrass // the 8+ entries are used +931 1 mcl_flowers:tallgrass // internally to vary grass +931 2 mcl_flowers:tallgrass // height randomly +931 3 mcl_flowers:tallgrass +931 4 mcl_flowers:tallgrass + +// flower pot plants +940 0 mcl_flowerpots:flower_pot +940 1 mcl_flowerpots:flower_pot_mushroom_brown +940 2 mcl_flowerpots:flower_pot_mushroom_red +940 3 mcl_flowerpots:flower_pot_cactus +940 4 mcl_flowerpots:flower_pot_deadbush +940 5 mcl_flowerpots:flower_pot_poppy +940 6 mcl_flowerpots:flower_pot_blue_orchid +940 7 mcl_flowerpots:flower_pot_allium +940 8 mcl_flowerpots:flower_pot_azure_bluet +940 9 mcl_flowerpots:flower_pot_tulip_red +940 10 mcl_flowerpots:flower_pot_tulip_orange +940 11 mcl_flowerpots:flower_pot_tulip_white +940 12 mcl_flowerpots:flower_pot_tulip_pink +940 13 mcl_flowerpots:flower_pot_oxeye_daisy +940 14 mcl_flowerpots:flower_pot_sapling +940 15 mcl_flowerpots:flower_pot_sprucesapling +// overflow +#ifdef MORETREES + 941 0 moretrees:birch_sapling +#else + 941 0 mcl_flowerpots:flower_pot_birchsapling +#endif +941 1 mcl_flowerpots:flower_pot_junglesapling +941 2 mcl_flowerpots:flower_pot_acaciasapling +941 3 mcl_flowerpots:flower_pot_sapling +941 4 mcl_flowerpots:flower_pot_fern +941 5 mcl_flowerpots:flower_pot_dandelion + +964 0 mcl_doors:wooden_door_b_1 1 +964 1 mcl_doors:wooden_door_b_1 2 +964 2 mcl_doors:wooden_door_b_1 3 +964 3 mcl_doors:wooden_door_b_1 0 +964 4 mcl_doors:wooden_door_b_2 2 +964 5 mcl_doors:wooden_door_b_2 3 +964 6 mcl_doors:wooden_door_b_2 0 +964 7 mcl_doors:wooden_door_b_2 1 +964 8 mcl_doors:wooden_door_b_2 1 +964 9 mcl_doors:wooden_door_b_2 2 +964 10 mcl_doors:wooden_door_b_2 3 +964 11 mcl_doors:wooden_door_b_2 0 +964 12 mcl_doors:wooden_door_b_1 0 +964 13 mcl_doors:wooden_door_b_1 1 +964 14 mcl_doors:wooden_door_b_1 2 +964 15 mcl_doors:wooden_door_b_1 3 + +965 0 mcl_doors:wooden_door_t_1 1 +965 1 mcl_doors:wooden_door_t_1 2 +965 2 mcl_doors:wooden_door_t_1 3 +965 3 mcl_doors:wooden_door_t_1 0 +965 4 mcl_doors:wooden_door_t_2 2 +965 5 mcl_doors:wooden_door_t_2 3 +965 6 mcl_doors:wooden_door_t_2 0 +965 7 mcl_doors:wooden_door_t_2 1 +965 8 mcl_doors:wooden_door_t_2 1 +965 9 mcl_doors:wooden_door_t_2 2 +965 10 mcl_doors:wooden_door_t_2 3 +965 11 mcl_doors:wooden_door_t_2 0 +965 12 mcl_doors:wooden_door_t_1 0 +965 13 mcl_doors:wooden_door_t_1 1 +965 14 mcl_doors:wooden_door_t_1 2 +965 15 mcl_doors:wooden_door_t_1 3 + +966 0 mcl_doors:iron_door_b_1 1 +966 1 mcl_doors:iron_door_b_1 2 +966 2 mcl_doors:iron_door_b_1 3 +966 3 mcl_doors:iron_door_b_1 0 +966 4 mcl_doors:iron_door_b_2 3 +966 5 mcl_doors:iron_door_b_2 3 +966 6 mcl_doors:iron_door_b_2 0 +966 7 mcl_doors:iron_door_b_2 1 +966 8 mcl_doors:iron_door_b_2 1 +966 9 mcl_doors:iron_door_b_2 2 +966 10 mcl_doors:iron_door_b_2 3 +966 11 mcl_doors:iron_door_b_2 0 +966 12 mcl_doors:iron_door_b_1 0 +966 13 mcl_doors:iron_door_b_1 1 +966 14 mcl_doors:iron_door_b_1 2 +966 15 mcl_doors:iron_door_b_1 3 + +967 0 mcl_doors:iron_door_t_1 1 +967 1 mcl_doors:iron_door_t_1 2 +967 2 mcl_doors:iron_door_t_1 3 +967 3 mcl_doors:iron_door_t_1 0 +967 4 mcl_doors:iron_door_t_2 3 +967 5 mcl_doors:iron_door_t_2 3 +967 6 mcl_doors:iron_door_t_2 0 +967 7 mcl_doors:iron_door_t_2 1 +967 8 mcl_doors:iron_door_t_2 1 +967 9 mcl_doors:iron_door_t_2 3 +967 10 mcl_doors:iron_door_t_2 3 +967 11 mcl_doors:iron_door_t_2 0 +967 12 mcl_doors:iron_door_t_1 0 +967 13 mcl_doors:iron_door_t_1 1 +967 14 mcl_doors:iron_door_t_1 2 +967 15 mcl_doors:iron_door_t_1 3 + + + +968 0 mcl_doors:spruce_door_b_1 1 +968 1 mcl_doors:spruce_door_b_1 2 +968 2 mcl_doors:spruce_door_b_1 3 +968 3 mcl_doors:spruce_door_b_1 0 +968 4 mcl_doors:spruce_door_b_2 2 +968 5 mcl_doors:spruce_door_b_2 3 +968 6 mcl_doors:spruce_door_b_2 0 +968 7 mcl_doors:spruce_door_b_2 1 +968 8 mcl_doors:spruce_door_b_2 1 +968 9 mcl_doors:spruce_door_b_2 2 +968 10 mcl_doors:spruce_door_b_2 3 +968 11 mcl_doors:spruce_door_b_2 0 +968 12 mcl_doors:spruce_door_b_1 0 +968 13 mcl_doors:spruce_door_b_1 1 +968 14 mcl_doors:spruce_door_b_1 2 +968 15 mcl_doors:spruce_door_b_1 3 + +969 0 mcl_doors:spruce_door_t_1 1 +969 1 mcl_doors:spruce_door_t_1 2 +969 2 mcl_doors:spruce_door_t_1 3 +969 3 mcl_doors:spruce_door_t_1 0 +969 4 mcl_doors:spruce_door_t_2 2 +969 5 mcl_doors:spruce_door_t_2 3 +969 6 mcl_doors:spruce_door_t_2 0 +969 7 mcl_doors:spruce_door_t_2 1 +969 8 mcl_doors:spruce_door_t_2 1 +969 9 mcl_doors:spruce_door_t_2 2 +969 10 mcl_doors:spruce_door_t_2 3 +969 11 mcl_doors:spruce_door_t_2 0 +969 12 mcl_doors:spruce_door_t_1 0 +969 13 mcl_doors:spruce_door_t_1 1 +969 14 mcl_doors:spruce_door_t_1 2 +969 15 mcl_doors:spruce_door_t_1 3 + + + +970 0 mcl_doors:birch_door_b_1 1 +970 1 mcl_doors:birch_door_b_1 2 +970 2 mcl_doors:birch_door_b_1 3 +970 3 mcl_doors:birch_door_b_1 0 +970 4 mcl_doors:birch_door_b_2 2 +970 5 mcl_doors:birch_door_b_2 3 +970 6 mcl_doors:birch_door_b_2 0 +970 7 mcl_doors:birch_door_b_2 1 +970 8 mcl_doors:birch_door_b_2 1 +970 9 mcl_doors:birch_door_b_2 2 +970 10 mcl_doors:birch_door_b_2 3 +970 11 mcl_doors:birch_door_b_2 0 +970 12 mcl_doors:birch_door_b_1 0 +970 13 mcl_doors:birch_door_b_1 1 +970 14 mcl_doors:birch_door_b_1 2 +970 15 mcl_doors:birch_door_b_1 3 + +971 0 mcl_doors:birch_door_t_1 1 +971 1 mcl_doors:birch_door_t_1 2 +971 2 mcl_doors:birch_door_t_1 3 +971 3 mcl_doors:birch_door_t_1 0 +971 4 mcl_doors:birch_door_t_2 2 +971 5 mcl_doors:birch_door_t_2 3 +971 6 mcl_doors:birch_door_t_2 0 +971 7 mcl_doors:birch_door_t_2 1 +971 8 mcl_doors:birch_door_t_2 1 +971 9 mcl_doors:birch_door_t_2 2 +971 10 mcl_doors:birch_door_t_2 3 +971 11 mcl_doors:birch_door_t_2 0 +971 12 mcl_doors:birch_door_t_1 0 +971 13 mcl_doors:birch_door_t_1 1 +971 14 mcl_doors:birch_door_t_1 2 +971 15 mcl_doors:birch_door_t_1 3 + + + +972 0 mcl_doors:jungle_door_b_1 1 +972 1 mcl_doors:jungle_door_b_1 2 +972 2 mcl_doors:jungle_door_b_1 3 +972 3 mcl_doors:jungle_door_b_1 0 +972 4 mcl_doors:jungle_door_b_2 2 +972 5 mcl_doors:jungle_door_b_2 3 +972 6 mcl_doors:jungle_door_b_2 0 +972 7 mcl_doors:jungle_door_b_2 1 +972 8 mcl_doors:jungle_door_b_2 1 +972 9 mcl_doors:jungle_door_b_2 2 +972 10 mcl_doors:jungle_door_b_2 3 +972 11 mcl_doors:jungle_door_b_2 0 +972 12 mcl_doors:jungle_door_b_1 0 +972 13 mcl_doors:jungle_door_b_1 1 +972 14 mcl_doors:jungle_door_b_1 2 +972 15 mcl_doors:jungle_door_b_1 3 + +973 0 mcl_doors:jungle_door_t_1 1 +973 1 mcl_doors:jungle_door_t_1 2 +973 2 mcl_doors:jungle_door_t_1 3 +973 3 mcl_doors:jungle_door_t_1 0 +973 4 mcl_doors:jungle_door_t_2 2 +973 5 mcl_doors:jungle_door_t_2 3 +973 6 mcl_doors:jungle_door_t_2 0 +973 7 mcl_doors:jungle_door_t_2 1 +973 8 mcl_doors:jungle_door_t_2 1 +973 9 mcl_doors:jungle_door_t_2 2 +973 10 mcl_doors:jungle_door_t_2 3 +973 11 mcl_doors:jungle_door_t_2 0 +973 12 mcl_doors:jungle_door_t_1 0 +973 13 mcl_doors:jungle_door_t_1 1 +973 14 mcl_doors:jungle_door_t_1 2 +973 15 mcl_doors:jungle_door_t_1 3 + + + +974 0 mcl_doors:acacia_door_b_1 1 +974 1 mcl_doors:acacia_door_b_1 2 +974 2 mcl_doors:acacia_door_b_1 3 +974 3 mcl_doors:acacia_door_b_1 0 +974 4 mcl_doors:acacia_door_b_2 2 +974 5 mcl_doors:acacia_door_b_2 3 +974 6 mcl_doors:acacia_door_b_2 0 +974 7 mcl_doors:acacia_door_b_2 1 +974 8 mcl_doors:acacia_door_b_2 1 +974 9 mcl_doors:acacia_door_b_2 2 +974 10 mcl_doors:acacia_door_b_2 3 +974 11 mcl_doors:acacia_door_b_2 0 +974 12 mcl_doors:acacia_door_b_1 0 +974 13 mcl_doors:acacia_door_b_1 1 +974 14 mcl_doors:acacia_door_b_1 2 +974 15 mcl_doors:acacia_door_b_1 3 + +975 0 mcl_doors:acacia_door_t_1 1 +975 1 mcl_doors:acacia_door_t_1 2 +975 2 mcl_doors:acacia_door_t_1 3 +975 3 mcl_doors:acacia_door_t_1 0 +975 4 mcl_doors:acacia_door_t_2 2 +975 5 mcl_doors:acacia_door_t_2 3 +975 6 mcl_doors:acacia_door_t_2 0 +975 7 mcl_doors:acacia_door_t_2 1 +975 8 mcl_doors:acacia_door_t_2 1 +975 9 mcl_doors:acacia_door_t_2 2 +975 10 mcl_doors:acacia_door_t_2 3 +975 11 mcl_doors:acacia_door_t_2 0 +975 12 mcl_doors:acacia_door_t_1 0 +975 13 mcl_doors:acacia_door_t_1 1 +975 14 mcl_doors:acacia_door_t_1 2 +975 15 mcl_doors:acacia_door_t_1 3 + + + +976 0 mcl_doors:dark_oak_door_b_1 1 +976 1 mcl_doors:dark_oak_door_b_1 2 +976 2 mcl_doors:dark_oak_door_b_1 3 +976 3 mcl_doors:dark_oak_door_b_1 0 +976 4 mcl_doors:dark_oak_door_b_2 2 +976 5 mcl_doors:dark_oak_door_b_2 3 +976 6 mcl_doors:dark_oak_door_b_2 0 +976 7 mcl_doors:dark_oak_door_b_2 1 +976 8 mcl_doors:dark_oak_door_b_2 1 +976 9 mcl_doors:dark_oak_door_b_2 2 +976 10 mcl_doors:dark_oak_door_b_2 3 +976 11 mcl_doors:dark_oak_door_b_2 0 +976 12 mcl_doors:dark_oak_door_b_1 0 +976 13 mcl_doors:dark_oak_door_b_1 1 +976 14 mcl_doors:dark_oak_door_b_1 2 +976 15 mcl_doors:dark_oak_door_b_1 3 + +977 0 mcl_doors:dark_oak_door_t_1 1 +977 1 mcl_doors:dark_oak_door_t_1 2 +977 2 mcl_doors:dark_oak_door_t_1 3 +977 3 mcl_doors:dark_oak_door_t_1 0 +977 4 mcl_doors:dark_oak_door_t_2 2 +977 5 mcl_doors:dark_oak_door_t_2 3 +977 6 mcl_doors:dark_oak_door_t_2 0 +977 7 mcl_doors:dark_oak_door_t_2 1 +977 8 mcl_doors:dark_oak_door_t_2 1 +977 9 mcl_doors:dark_oak_door_t_2 2 +977 10 mcl_doors:dark_oak_door_t_2 3 +977 11 mcl_doors:dark_oak_door_t_2 0 +977 12 mcl_doors:dark_oak_door_t_1 0 +977 13 mcl_doors:dark_oak_door_t_1 1 +977 14 mcl_doors:dark_oak_door_t_1 2 +977 15 mcl_doors:dark_oak_door_t_1 3 +