<s> from logging import getLogger <EOL> from numpy import zeros , rollaxis , indices <EOL> import traceback <EOL> from os . path import join <EOL> from collections import defaultdict <EOL> from pprint import pformat <EOL> import os <EOL> NOTEX = ( <NUM_LIT> , <NUM_LIT> ) <EOL> import yaml <EOL> log = getLogger ( __name__ ) <EOL> class Block ( object ) : <EOL> """<STR_LIT>""" <EOL> def __str__ ( self ) : <EOL> return "<STR_LIT>" . format ( <EOL> name = self . name , id = self . ID , data = self . blockData , ha = self . hasVariants ) <EOL> def __repr__ ( self ) : <EOL> return str ( self ) <EOL> def __cmp__ ( self , other ) : <EOL> if not isinstance ( other , Block ) : <EOL> return - <NUM_LIT:1> <EOL> key = lambda a : a and ( a . ID , a . blockData ) <EOL> return cmp ( key ( self ) , key ( other ) ) <EOL> hasVariants = False <EOL> def __init__ ( self , materials , blockID , blockData = <NUM_LIT:0> ) : <EOL> self . materials = materials <EOL> self . ID = blockID <EOL> self . blockData = blockData <EOL> def __getattr__ ( self , attr ) : <EOL> if attr in self . __dict__ : <EOL> return self . __dict__ [ attr ] <EOL> if attr == "<STR_LIT:name>" : <EOL> r = self . materials . names [ self . ID ] <EOL> else : <EOL> r = getattr ( self . materials , attr ) [ self . ID ] <EOL> if attr in ( "<STR_LIT:name>" , "<STR_LIT>" , "<STR_LIT>" , "<STR_LIT:type>" ) : <EOL> r = r [ self . blockData ] <EOL> return r <EOL> id_limit = <NUM_LIT> <EOL> class MCMaterials ( object ) : <EOL> defaultColor = ( <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ) <EOL> defaultBrightness = <NUM_LIT:0> <EOL> defaultOpacity = <NUM_LIT:15> <EOL> defaultTexture = NOTEX <EOL> defaultTex = [ t // <NUM_LIT:16> for t in defaultTexture ] <EOL> def __init__ ( self , defaultName = "<STR_LIT>" ) : <EOL> object . __init__ ( self ) <EOL> self . yamlDatas = [ ] <EOL> self . defaultName = defaultName <EOL> self . blockTextures = zeros ( ( id_limit , <NUM_LIT:16> , <NUM_LIT:6> , <NUM_LIT:2> ) , dtype = '<STR_LIT>' ) <EOL> self . blockTextures [ : ] = self . defaultTexture <EOL> self . names = [ [ defaultName ] * <NUM_LIT:16> for i in range ( id_limit ) ] <EOL> self . aka = [ [ "<STR_LIT>" ] * <NUM_LIT:16> for i in range ( id_limit ) ] <EOL> self . type = [ [ "<STR_LIT>" ] * <NUM_LIT:16> ] * id_limit <EOL> self . blocksByType = defaultdict ( list ) <EOL> self . allBlocks = [ ] <EOL> self . blocksByID = { } <EOL> self . lightEmission = zeros ( id_limit , dtype = '<STR_LIT>' ) <EOL> self . lightEmission [ : ] = self . defaultBrightness <EOL> self . lightAbsorption = zeros ( id_limit , dtype = '<STR_LIT>' ) <EOL> self . lightAbsorption [ : ] = self . defaultOpacity <EOL> self . flatColors = zeros ( ( id_limit , <NUM_LIT:16> , <NUM_LIT:4> ) , dtype = '<STR_LIT>' ) <EOL> self . flatColors [ : ] = self . defaultColor <EOL> self . idStr = [ "<STR_LIT>" ] * id_limit <EOL> self . color = self . flatColors <EOL> self . brightness = self . lightEmission <EOL> self . opacity = self . lightAbsorption <EOL> self . Air = self . addBlock ( <NUM_LIT:0> , <EOL> name = "<STR_LIT>" , <EOL> texture = ( <NUM_LIT> , <NUM_LIT> ) , <EOL> opacity = <NUM_LIT:0> , <EOL> ) <EOL> def __repr__ ( self ) : <EOL> return "<STR_LIT>" . format ( self . name ) <EOL> @ property <EOL> def AllStairs ( self ) : <EOL> return [ b for b in self . allBlocks if b . name . endswith ( "<STR_LIT>" ) ] <EOL> def get ( self , key , default = None ) : <EOL> try : <EOL> return self [ key ] <EOL> except KeyError : <EOL> return default <EOL> def __len__ ( self ) : <EOL> return len ( self . allBlocks ) <EOL> def __iter__ ( self ) : <EOL> return iter ( self . allBlocks ) <EOL> def __getitem__ ( self , key ) : <EOL> """<STR_LIT>""" <EOL> if isinstance ( key , basestring ) : <EOL> for b in self . allBlocks : <EOL> if b . name == key : <EOL> return b <EOL> raise KeyError ( "<STR_LIT>" + key ) <EOL> if isinstance ( key , ( tuple , list ) ) : <EOL> id , blockData = key <EOL> return self . blockWithID ( id , blockData ) <EOL> return self . blockWithID ( key ) <EOL> def blocksMatching ( self , name ) : <EOL> name = name . lower ( ) <EOL> return [ v for v in self . allBlocks if name in v . name . lower ( ) or name in v . aka . lower ( ) ] <EOL> def blockWithID ( self , id , data = <NUM_LIT:0> ) : <EOL> if ( id , data ) in self . blocksByID : <EOL> return self . blocksByID [ id , data ] <EOL> else : <EOL> bl = Block ( self , id , blockData = data ) <EOL> bl . hasVariants = True <EOL> return bl <EOL> def addYamlBlocksFromFile ( self , filename ) : <EOL> try : <EOL> import pkg_resources <EOL> f = pkg_resources . resource_stream ( __name__ , filename ) <EOL> except ( ImportError , IOError ) , e : <EOL> print "<STR_LIT>" , filename , e <EOL> root = os . environ . get ( "<STR_LIT>" , "<STR_LIT>" ) <EOL> path = join ( root , filename ) <EOL> log . exception ( "<STR_LIT>" % ( filename , path ) ) <EOL> f = file ( path ) <EOL> try : <EOL> log . info ( u"<STR_LIT>" , f ) <EOL> blockyaml = yaml . load ( f ) <EOL> self . addYamlBlocks ( blockyaml ) <EOL> except Exception , e : <EOL> log . error ( u"<STR_LIT>" , f , e ) <EOL> raise <EOL> def addYamlBlocks ( self , blockyaml ) : <EOL> self . yamlDatas . append ( blockyaml ) <EOL> for block in blockyaml [ '<STR_LIT>' ] : <EOL> try : <EOL> self . addYamlBlock ( block ) <EOL> except Exception , e : <EOL> log . error ( u"<STR_LIT>" , e ) <EOL> log . error ( u"<STR_LIT>" , pformat ( block ) ) <EOL> raise <EOL> def addYamlBlock ( self , kw ) : <EOL> blockID = kw [ '<STR_LIT:id>' ] <EOL> for val , data in kw . get ( '<STR_LIT:data>' , { <NUM_LIT:0> : { } } ) . items ( ) : <EOL> datakw = dict ( kw ) <EOL> datakw . update ( data ) <EOL> idStr = datakw . get ( '<STR_LIT>' , "<STR_LIT>" ) <EOL> tex = [ t * <NUM_LIT:16> for t in datakw . get ( '<STR_LIT>' , self . defaultTex ) ] <EOL> texture = [ tex ] * <NUM_LIT:6> <EOL> texDirs = { <EOL> "<STR_LIT>" : <NUM_LIT:5> , <EOL> "<STR_LIT>" : <NUM_LIT:4> , <EOL> "<STR_LIT>" : <NUM_LIT:1> , <EOL> "<STR_LIT>" : <NUM_LIT:0> , <EOL> "<STR_LIT>" : <NUM_LIT:2> , <EOL> "<STR_LIT>" : <NUM_LIT:3> , <EOL> } <EOL> for dirname , dirtex in datakw . get ( '<STR_LIT>' , { } ) . items ( ) : <EOL> if dirname == "<STR_LIT>" : <EOL> for dirname in ( "<STR_LIT>" , "<STR_LIT>" ) : <EOL> texture [ texDirs [ dirname ] ] = [ t * <NUM_LIT:16> for t in dirtex ] <EOL> if dirname in texDirs : <EOL> texture [ texDirs [ dirname ] ] = [ t * <NUM_LIT:16> for t in dirtex ] <EOL> datakw [ '<STR_LIT>' ] = texture <EOL> block = self . addBlock ( blockID , val , ** datakw ) <EOL> block . yaml = datakw <EOL> self . idStr [ blockID ] = idStr <EOL> tex_direction_data = kw . get ( '<STR_LIT>' ) <EOL> if tex_direction_data : <EOL> texture = datakw [ '<STR_LIT>' ] <EOL> texDirMap = { <EOL> "<STR_LIT>" : <NUM_LIT:0> , <EOL> "<STR_LIT>" : <NUM_LIT:1> , <EOL> "<STR_LIT>" : <NUM_LIT:2> , <EOL> "<STR_LIT>" : <NUM_LIT:3> , <EOL> } <EOL> def rot90cw ( ) : <EOL> rot = ( <NUM_LIT:5> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:1> ) <EOL> texture [ : ] = [ texture [ r ] for r in rot ] <EOL> for data , dir in tex_direction_data . items ( ) : <EOL> for _i in range ( texDirMap . get ( dir , <NUM_LIT:0> ) ) : <EOL> rot90cw ( ) <EOL> self . blockTextures [ blockID ] [ data ] = texture <EOL> def addBlock ( self , blockID , blockData = <NUM_LIT:0> , ** kw ) : <EOL> name = kw . pop ( '<STR_LIT:name>' , self . names [ blockID ] [ blockData ] ) <EOL> self . lightEmission [ blockID ] = kw . pop ( '<STR_LIT>' , self . defaultBrightness ) <EOL> self . lightAbsorption [ blockID ] = kw . pop ( '<STR_LIT>' , self . defaultOpacity ) <EOL> self . aka [ blockID ] [ blockData ] = kw . pop ( '<STR_LIT>' , "<STR_LIT>" ) <EOL> type = kw . pop ( '<STR_LIT:type>' , '<STR_LIT>' ) <EOL> color = kw . pop ( '<STR_LIT>' , self . flatColors [ blockID , blockData ] ) <EOL> self . flatColors [ blockID , ( blockData or slice ( None ) ) ] = ( tuple ( color ) + ( <NUM_LIT:255> , ) ) [ : <NUM_LIT:4> ] <EOL> texture = kw . pop ( '<STR_LIT>' , None ) <EOL> if texture : <EOL> self . blockTextures [ blockID , ( blockData or slice ( None ) ) ] = texture <EOL> if blockData is <NUM_LIT:0> : <EOL> self . names [ blockID ] = [ name ] * <NUM_LIT:16> <EOL> self . type [ blockID ] = [ type ] * <NUM_LIT:16> <EOL> else : <EOL> self . names [ blockID ] [ blockData ] = name <EOL> self . type [ blockID ] [ blockData ] = type <EOL> block = Block ( self , blockID , blockData ) <EOL> self . allBlocks . append ( block ) <EOL> self . blocksByType [ type ] . append ( block ) <EOL> if ( blockID , <NUM_LIT:0> ) in self . blocksByID : <EOL> self . blocksByID [ blockID , <NUM_LIT:0> ] . hasVariants = True <EOL> block . hasVariants = True <EOL> self . blocksByID [ blockID , blockData ] = block <EOL> return block <EOL> alphaMaterials = MCMaterials ( defaultName = "<STR_LIT>" ) <EOL> alphaMaterials . name = "<STR_LIT>" <EOL> alphaMaterials . addYamlBlocksFromFile ( "<STR_LIT>" ) <EOL> HugeMushroomTypes = { <EOL> "<STR_LIT>" : <NUM_LIT:1> , <EOL> "<STR_LIT>" : <NUM_LIT:2> , <EOL> "<STR_LIT>" : <NUM_LIT:3> , <EOL> "<STR_LIT>" : <NUM_LIT:6> , <EOL> "<STR_LIT>" : <NUM_LIT:9> , <EOL> "<STR_LIT>" : <NUM_LIT:8> , <EOL> "<STR_LIT>" : <NUM_LIT:7> , <EOL> "<STR_LIT>" : <NUM_LIT:4> , <EOL> "<STR_LIT>" : <NUM_LIT:10> , <EOL> "<STR_LIT>" : <NUM_LIT:5> , <EOL> } <EOL> from faces import FaceXDecreasing , FaceXIncreasing , FaceYIncreasing , FaceZDecreasing , FaceZIncreasing <EOL> Red = ( <NUM_LIT> , <NUM_LIT> ) <EOL> Brown = ( <NUM_LIT> , <NUM_LIT> ) <EOL> Pore = ( <NUM_LIT> , <NUM_LIT> ) <EOL> Stem = ( <NUM_LIT> , <NUM_LIT> ) <EOL> def defineShroomFaces ( Shroom , id , name ) : <EOL> for way , data in sorted ( HugeMushroomTypes . items ( ) , key = lambda a : a [ <NUM_LIT:1> ] ) : <EOL> loway = way . lower ( ) <EOL> if way is "<STR_LIT>" : <EOL> tex = [ Stem , Stem , Pore , Pore , Stem , Stem ] <EOL> elif way is "<STR_LIT>" : <EOL> tex = Pore <EOL> else : <EOL> tex = [ Pore ] * <NUM_LIT:6> <EOL> tex [ FaceYIncreasing ] = Shroom <EOL> if "<STR_LIT>" in loway : <EOL> tex [ FaceZDecreasing ] = Shroom <EOL> if "<STR_LIT>" in loway : <EOL> tex [ FaceZIncreasing ] = Shroom <EOL> if "<STR_LIT>" in loway : <EOL> tex [ FaceXDecreasing ] = Shroom <EOL> if "<STR_LIT>" in loway : <EOL> tex [ FaceXIncreasing ] = Shroom <EOL> alphaMaterials . addBlock ( id , blockData = data , <EOL> name = "<STR_LIT>" + name + "<STR_LIT>" + way + "<STR_LIT:)>" , <EOL> texture = tex , <EOL> ) <EOL> defineShroomFaces ( Brown , <NUM_LIT> , "<STR_LIT>" ) <EOL> defineShroomFaces ( Red , <NUM_LIT:100> , "<STR_LIT>" ) <EOL> classicMaterials = MCMaterials ( defaultName = "<STR_LIT>" ) <EOL> classicMaterials . name = "<STR_LIT>" <EOL> classicMaterials . addYamlBlocksFromFile ( "<STR_LIT>" ) <EOL> indevMaterials = MCMaterials ( defaultName = "<STR_LIT>" ) <EOL> indevMaterials . name = "<STR_LIT>" <EOL> indevMaterials . addYamlBlocksFromFile ( "<STR_LIT>" ) <EOL> pocketMaterials = MCMaterials ( ) <EOL> pocketMaterials . name = "<STR_LIT>" <EOL> pocketMaterials . addYamlBlocksFromFile ( "<STR_LIT>" ) <EOL> alphaMaterials . Stone = alphaMaterials [ <NUM_LIT:1> , <NUM_LIT:0> ] <EOL> alphaMaterials . Grass = alphaMaterials [ <NUM_LIT:2> , <NUM_LIT:0> ] <EOL> alphaMaterials . Dirt = alphaMaterials [ <NUM_LIT:3> , <NUM_LIT:0> ] <EOL> alphaMaterials . Cobblestone = alphaMaterials [ <NUM_LIT:4> , <NUM_LIT:0> ] <EOL> alphaMaterials . WoodPlanks = alphaMaterials [ <NUM_LIT:5> , <NUM_LIT:0> ] <EOL> alphaMaterials . Sapling = alphaMaterials [ <NUM_LIT:6> , <NUM_LIT:0> ] <EOL> alphaMaterials . SpruceSapling = alphaMaterials [ <NUM_LIT:6> , <NUM_LIT:1> ] <EOL> alphaMaterials . BirchSapling = alphaMaterials [ <NUM_LIT:6> , <NUM_LIT:2> ] <EOL> alphaMaterials . Bedrock = alphaMaterials [ <NUM_LIT:7> , <NUM_LIT:0> ] <EOL> alphaMaterials . WaterActive = alphaMaterials [ <NUM_LIT:8> , <NUM_LIT:0> ] <EOL> alphaMaterials . Water = alphaMaterials [ <NUM_LIT:9> , <NUM_LIT:0> ] <EOL> alphaMaterials . LavaActive = alphaMaterials [ <NUM_LIT:10> , <NUM_LIT:0> ] <EOL> alphaMaterials . Lava = alphaMaterials [ <NUM_LIT:11> , <NUM_LIT:0> ] <EOL> alphaMaterials . Sand = alphaMaterials [ <NUM_LIT:12> , <NUM_LIT:0> ] <EOL> alphaMaterials . Gravel = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . GoldOre = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . IronOre = alphaMaterials [ <NUM_LIT:15> , <NUM_LIT:0> ] <EOL> alphaMaterials . CoalOre = alphaMaterials [ <NUM_LIT:16> , <NUM_LIT:0> ] <EOL> alphaMaterials . Wood = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Ironwood = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . BirchWood = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . Leaves = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . PineLeaves = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . BirchLeaves = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . JungleLeaves = alphaMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> alphaMaterials . LeavesPermanent = alphaMaterials [ <NUM_LIT> , <NUM_LIT:4> ] <EOL> alphaMaterials . PineLeavesPermanent = alphaMaterials [ <NUM_LIT> , <NUM_LIT:5> ] <EOL> alphaMaterials . BirchLeavesPermanent = alphaMaterials [ <NUM_LIT> , <NUM_LIT:6> ] <EOL> alphaMaterials . JungleLeavesPermanent = alphaMaterials [ <NUM_LIT> , <NUM_LIT:7> ] <EOL> alphaMaterials . LeavesDecaying = alphaMaterials [ <NUM_LIT> , <NUM_LIT:8> ] <EOL> alphaMaterials . PineLeavesDecaying = alphaMaterials [ <NUM_LIT> , <NUM_LIT:9> ] <EOL> alphaMaterials . BirchLeavesDecaying = alphaMaterials [ <NUM_LIT> , <NUM_LIT:10> ] <EOL> alphaMaterials . JungleLeavesDecaying = alphaMaterials [ <NUM_LIT> , <NUM_LIT:11> ] <EOL> alphaMaterials . Sponge = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Glass = alphaMaterials [ <NUM_LIT:20> , <NUM_LIT:0> ] <EOL> alphaMaterials . LapisLazuliOre = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . LapisLazuliBlock = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Dispenser = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Sandstone = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . NoteBlock = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Bed = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . PoweredRail = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . DetectorRail = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . StickyPiston = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Web = alphaMaterials [ <NUM_LIT:30> , <NUM_LIT:0> ] <EOL> alphaMaterials . UnusedShrub = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . TallGrass = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . Shrub = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . DesertShrub2 = alphaMaterials [ <NUM_LIT:32> , <NUM_LIT:0> ] <EOL> alphaMaterials . Piston = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . PistonHead = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . WhiteWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . OrangeWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . MagentaWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . LightBlueWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> alphaMaterials . YellowWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:4> ] <EOL> alphaMaterials . LightGreenWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:5> ] <EOL> alphaMaterials . PinkWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:6> ] <EOL> alphaMaterials . GrayWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:7> ] <EOL> alphaMaterials . LightGrayWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:8> ] <EOL> alphaMaterials . CyanWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:9> ] <EOL> alphaMaterials . PurpleWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:10> ] <EOL> alphaMaterials . BlueWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:11> ] <EOL> alphaMaterials . BrownWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:12> ] <EOL> alphaMaterials . DarkGreenWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT> ] <EOL> alphaMaterials . RedWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT> ] <EOL> alphaMaterials . BlackWool = alphaMaterials [ <NUM_LIT> , <NUM_LIT:15> ] <EOL> alphaMaterials . Block36 = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Flower = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Rose = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BrownMushroom = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedMushroom = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BlockofGold = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BlockofIron = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . DoubleStoneSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . DoubleSandstoneSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . DoubleWoodenSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . DoubleCobblestoneSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> alphaMaterials . DoubleBrickSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:4> ] <EOL> alphaMaterials . DoubleStoneBrickSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:5> ] <EOL> alphaMaterials . StoneSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . SandstoneSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . WoodenSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . CobblestoneSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> alphaMaterials . BrickSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:4> ] <EOL> alphaMaterials . StoneBrickSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:5> ] <EOL> alphaMaterials . Brick = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . TNT = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Bookshelf = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . MossStone = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Obsidian = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Torch = alphaMaterials [ <NUM_LIT:50> , <NUM_LIT:0> ] <EOL> alphaMaterials . Fire = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . MonsterSpawner = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . WoodenStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Chest = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneWire = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . DiamondOre = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BlockofDiamond = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . CraftingTable = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Crops = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Farmland = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Furnace = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . LitFurnace = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Sign = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . WoodenDoor = alphaMaterials [ <NUM_LIT:64> , <NUM_LIT:0> ] <EOL> alphaMaterials . Ladder = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Rail = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . StoneStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . WallSign = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Lever = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . StoneFloorPlate = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . IronDoor = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . WoodFloorPlate = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneOre = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneOreGlowing = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneTorchOff = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneTorchOn = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Button = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . SnowLayer = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Ice = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Snow = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Cactus = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Clay = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . SugarCane = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Jukebox = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Fence = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Pumpkin = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Netherrack = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . SoulSand = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Glowstone = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . NetherPortal = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . JackOLantern = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Cake = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneRepeaterOff = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneRepeaterOn = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . AprilFoolsChest = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Trapdoor = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . HiddenSilverfishStone = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . HiddenSilverfishCobblestone = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . HiddenSilverfishStoneBrick = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . StoneBricks = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . MossyStoneBricks = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . CrackedStoneBricks = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . HugeBrownMushroom = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . HugeRedMushroom = alphaMaterials [ <NUM_LIT:100> , <NUM_LIT:0> ] <EOL> alphaMaterials . IronBars = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . GlassPane = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Watermelon = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . PumpkinStem = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . MelonStem = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Vines = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . FenceGate = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BrickStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . StoneBrickStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Mycelium = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Lilypad = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . NetherBrick = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . NetherBrickFence = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . NetherBrickStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . NetherWart = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . EnchantmentTable = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BrewingStand = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Cauldron = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . EnderPortal = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . PortalFrame = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . EndStone = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . DragonEgg = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneLampoff = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneLampon = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . OakWoodDoubleSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . SpruceWoodDoubleSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . BirchWoodDoubleSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . JungleWoodDoubleSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> alphaMaterials . OakWoodSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . SpruceWoodSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . BirchWoodSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> alphaMaterials . JungleWoodSlab = alphaMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> alphaMaterials . CocoaPlant = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . SandstoneStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . EmeraldOre = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . EnderChest = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . TripwireHook = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Tripwire = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BlockofEmerald = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . SpruceWoodStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BirchWoodStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . JungleWoodStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . CommandBlock = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BeaconBlock = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . CobblestoneWall = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . MossyCobblestoneWall = alphaMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> alphaMaterials . FlowerPot = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Carrots = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Potatoes = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . WoodenButton = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . MobHead = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Anvil = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . TrappedChest = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . WeightedPressurePlateLight = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . WeightedPressurePlateHeavy = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneComparatorInactive = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . RedstoneComparatorActive = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . DaylightSensor = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BlockofRedstone = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . NetherQuartzOre = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Hopper = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . BlockofQuartz = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . QuartzStairs = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . ActivatorRail = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> alphaMaterials . Dropper = alphaMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> classicMaterials . Stone = classicMaterials [ <NUM_LIT:1> ] <EOL> classicMaterials . Grass = classicMaterials [ <NUM_LIT:2> ] <EOL> classicMaterials . Dirt = classicMaterials [ <NUM_LIT:3> ] <EOL> classicMaterials . Cobblestone = classicMaterials [ <NUM_LIT:4> ] <EOL> classicMaterials . WoodPlanks = classicMaterials [ <NUM_LIT:5> ] <EOL> classicMaterials . Sapling = classicMaterials [ <NUM_LIT:6> ] <EOL> classicMaterials . Bedrock = classicMaterials [ <NUM_LIT:7> ] <EOL> classicMaterials . WaterActive = classicMaterials [ <NUM_LIT:8> ] <EOL> classicMaterials . Water = classicMaterials [ <NUM_LIT:9> ] <EOL> classicMaterials . LavaActive = classicMaterials [ <NUM_LIT:10> ] <EOL> classicMaterials . Lava = classicMaterials [ <NUM_LIT:11> ] <EOL> classicMaterials . Sand = classicMaterials [ <NUM_LIT:12> ] <EOL> classicMaterials . Gravel = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . GoldOre = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . IronOre = classicMaterials [ <NUM_LIT:15> ] <EOL> classicMaterials . CoalOre = classicMaterials [ <NUM_LIT:16> ] <EOL> classicMaterials . Wood = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . Leaves = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . Sponge = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . Glass = classicMaterials [ <NUM_LIT:20> ] <EOL> classicMaterials . RedWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . OrangeWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . YellowWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . LimeWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . GreenWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . AquaWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . CyanWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . BlueWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . PurpleWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . IndigoWool = classicMaterials [ <NUM_LIT:30> ] <EOL> classicMaterials . VioletWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . MagentaWool = classicMaterials [ <NUM_LIT:32> ] <EOL> classicMaterials . PinkWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . BlackWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . GrayWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . WhiteWool = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . Flower = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . Rose = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . BrownMushroom = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . RedMushroom = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . BlockofGold = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . BlockofIron = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . DoubleStoneSlab = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . StoneSlab = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . Brick = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . TNT = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . Bookshelf = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . MossStone = classicMaterials [ <NUM_LIT> ] <EOL> classicMaterials . Obsidian = classicMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Stone = indevMaterials [ <NUM_LIT:1> ] <EOL> indevMaterials . Grass = indevMaterials [ <NUM_LIT:2> ] <EOL> indevMaterials . Dirt = indevMaterials [ <NUM_LIT:3> ] <EOL> indevMaterials . Cobblestone = indevMaterials [ <NUM_LIT:4> ] <EOL> indevMaterials . WoodPlanks = indevMaterials [ <NUM_LIT:5> ] <EOL> indevMaterials . Sapling = indevMaterials [ <NUM_LIT:6> ] <EOL> indevMaterials . Bedrock = indevMaterials [ <NUM_LIT:7> ] <EOL> indevMaterials . WaterActive = indevMaterials [ <NUM_LIT:8> ] <EOL> indevMaterials . Water = indevMaterials [ <NUM_LIT:9> ] <EOL> indevMaterials . LavaActive = indevMaterials [ <NUM_LIT:10> ] <EOL> indevMaterials . Lava = indevMaterials [ <NUM_LIT:11> ] <EOL> indevMaterials . Sand = indevMaterials [ <NUM_LIT:12> ] <EOL> indevMaterials . Gravel = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . GoldOre = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . IronOre = indevMaterials [ <NUM_LIT:15> ] <EOL> indevMaterials . CoalOre = indevMaterials [ <NUM_LIT:16> ] <EOL> indevMaterials . Wood = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Leaves = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Sponge = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Glass = indevMaterials [ <NUM_LIT:20> ] <EOL> indevMaterials . RedWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . OrangeWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . YellowWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . LimeWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . GreenWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . AquaWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . CyanWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . BlueWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . PurpleWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . IndigoWool = indevMaterials [ <NUM_LIT:30> ] <EOL> indevMaterials . VioletWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . MagentaWool = indevMaterials [ <NUM_LIT:32> ] <EOL> indevMaterials . PinkWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . BlackWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . GrayWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . WhiteWool = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Flower = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Rose = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . BrownMushroom = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . RedMushroom = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . BlockofGold = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . BlockofIron = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . DoubleStoneSlab = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . StoneSlab = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Brick = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . TNT = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Bookshelf = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . MossStone = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Obsidian = indevMaterials [ <NUM_LIT> ] <EOL> indevMaterials . Torch = indevMaterials [ <NUM_LIT:50> , <NUM_LIT:0> ] <EOL> indevMaterials . Fire = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . InfiniteWater = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . InfiniteLava = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . Chest = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . Cog = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . DiamondOre = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . BlockofDiamond = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . CraftingTable = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . Crops = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . Farmland = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . Furnace = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> indevMaterials . LitFurnace = indevMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Air = pocketMaterials [ <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> pocketMaterials . Stone = pocketMaterials [ <NUM_LIT:1> , <NUM_LIT:0> ] <EOL> pocketMaterials . Grass = pocketMaterials [ <NUM_LIT:2> , <NUM_LIT:0> ] <EOL> pocketMaterials . Dirt = pocketMaterials [ <NUM_LIT:3> , <NUM_LIT:0> ] <EOL> pocketMaterials . Cobblestone = pocketMaterials [ <NUM_LIT:4> , <NUM_LIT:0> ] <EOL> pocketMaterials . WoodPlanks = pocketMaterials [ <NUM_LIT:5> , <NUM_LIT:0> ] <EOL> pocketMaterials . Sapling = pocketMaterials [ <NUM_LIT:6> , <NUM_LIT:0> ] <EOL> pocketMaterials . SpruceSapling = pocketMaterials [ <NUM_LIT:6> , <NUM_LIT:1> ] <EOL> pocketMaterials . BirchSapling = pocketMaterials [ <NUM_LIT:6> , <NUM_LIT:2> ] <EOL> pocketMaterials . Bedrock = pocketMaterials [ <NUM_LIT:7> , <NUM_LIT:0> ] <EOL> pocketMaterials . Wateractive = pocketMaterials [ <NUM_LIT:8> , <NUM_LIT:0> ] <EOL> pocketMaterials . Water = pocketMaterials [ <NUM_LIT:9> , <NUM_LIT:0> ] <EOL> pocketMaterials . Lavaactive = pocketMaterials [ <NUM_LIT:10> , <NUM_LIT:0> ] <EOL> pocketMaterials . Lava = pocketMaterials [ <NUM_LIT:11> , <NUM_LIT:0> ] <EOL> pocketMaterials . Sand = pocketMaterials [ <NUM_LIT:12> , <NUM_LIT:0> ] <EOL> pocketMaterials . Gravel = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . GoldOre = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . IronOre = pocketMaterials [ <NUM_LIT:15> , <NUM_LIT:0> ] <EOL> pocketMaterials . CoalOre = pocketMaterials [ <NUM_LIT:16> , <NUM_LIT:0> ] <EOL> pocketMaterials . Wood = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . PineWood = pocketMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> pocketMaterials . BirchWood = pocketMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> pocketMaterials . Leaves = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Glass = pocketMaterials [ <NUM_LIT:20> , <NUM_LIT:0> ] <EOL> pocketMaterials . LapisLazuliOre = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . LapisLazuliBlock = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Sandstone = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Bed = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Web = pocketMaterials [ <NUM_LIT:30> , <NUM_LIT:0> ] <EOL> pocketMaterials . UnusedShrub = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . TallGrass = pocketMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> pocketMaterials . Shrub = pocketMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> pocketMaterials . WhiteWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . OrangeWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> pocketMaterials . MagentaWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> pocketMaterials . LightBlueWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> pocketMaterials . YellowWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:4> ] <EOL> pocketMaterials . LightGreenWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:5> ] <EOL> pocketMaterials . PinkWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:6> ] <EOL> pocketMaterials . GrayWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:7> ] <EOL> pocketMaterials . LightGrayWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:8> ] <EOL> pocketMaterials . CyanWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:9> ] <EOL> pocketMaterials . PurpleWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:10> ] <EOL> pocketMaterials . BlueWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:11> ] <EOL> pocketMaterials . BrownWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:12> ] <EOL> pocketMaterials . DarkGreenWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT> ] <EOL> pocketMaterials . RedWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT> ] <EOL> pocketMaterials . BlackWool = pocketMaterials [ <NUM_LIT> , <NUM_LIT:15> ] <EOL> pocketMaterials . Flower = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Rose = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . BrownMushroom = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . RedMushroom = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . BlockofGold = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . BlockofIron = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . DoubleStoneSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . DoubleSandstoneSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> pocketMaterials . DoubleWoodenSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> pocketMaterials . DoubleCobblestoneSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> pocketMaterials . DoubleBrickSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:4> ] <EOL> pocketMaterials . StoneSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . SandstoneSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> pocketMaterials . WoodenSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:2> ] <EOL> pocketMaterials . CobblestoneSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:3> ] <EOL> pocketMaterials . BrickSlab = pocketMaterials [ <NUM_LIT> , <NUM_LIT:4> ] <EOL> pocketMaterials . Brick = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . TNT = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Bookshelf = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . MossStone = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Obsidian = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Torch = pocketMaterials [ <NUM_LIT:50> , <NUM_LIT:0> ] <EOL> pocketMaterials . Fire = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . WoodenStairs = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Chest = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . DiamondOre = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . BlockofDiamond = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . CraftingTable = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Crops = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Farmland = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Furnace = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . LitFurnace = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . WoodenDoor = pocketMaterials [ <NUM_LIT:64> , <NUM_LIT:0> ] <EOL> pocketMaterials . Ladder = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . StoneStairs = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . IronDoor = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . RedstoneOre = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . RedstoneOreGlowing = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . SnowLayer = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Ice = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Snow = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Cactus = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Clay = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . SugarCane = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Fence = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Glowstone = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . InvisibleBedrock = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Trapdoor = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . StoneBricks = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . GlassPane = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . Watermelon = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . MelonStem = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . FenceGate = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . BrickStairs = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . GlowingObsidian = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . NetherReactor = pocketMaterials [ <NUM_LIT> , <NUM_LIT:0> ] <EOL> pocketMaterials . NetherReactorUsed = pocketMaterials [ <NUM_LIT> , <NUM_LIT:1> ] <EOL> def printStaticDefs ( name ) : <EOL> mats = eval ( name ) <EOL> for b in sorted ( mats . allBlocks ) : <EOL> print "<STR_LIT>" . format ( <EOL> b . name . replace ( "<STR_LIT:U+0020>" , "<STR_LIT>" ) . replace ( "<STR_LIT:(>" , "<STR_LIT>" ) . replace ( "<STR_LIT:)>" , "<STR_LIT>" ) , <EOL> b . ID , b . blockData , <EOL> name = name , <EOL> ) <EOL> _indices = rollaxis ( indices ( ( id_limit , <NUM_LIT:16> ) ) , <NUM_LIT:0> , <NUM_LIT:3> ) <EOL> def _filterTable ( filters , unavailable , default = ( <NUM_LIT:0> , <NUM_LIT:0> ) ) : <EOL> table = zeros ( ( id_limit , <NUM_LIT:16> , <NUM_LIT:2> ) , dtype = '<STR_LIT>' ) <EOL> table [ : ] = _indices <EOL> for u in unavailable : <EOL> try : <EOL> if u [ <NUM_LIT:1> ] == <NUM_LIT:0> : <EOL> u = u [ <NUM_LIT:0> ] <EOL> except TypeError : <EOL> pass <EOL> table [ u ] = default <EOL> for f , t in filters : <EOL> try : <EOL> if f [ <NUM_LIT:1> ] == <NUM_LIT:0> : <EOL> f = f [ <NUM_LIT:0> ] <EOL> except TypeError : <EOL> pass <EOL> table [ f ] = t <EOL> return table <EOL> nullConversion = lambda b , d : ( b , d ) <EOL> def filterConversion ( table ) : <EOL> def convert ( blocks , data ) : <EOL> if data is None : <EOL> data = <NUM_LIT:0> <EOL> t = table [ blocks , data ] <EOL> return t [ ... , <NUM_LIT:0> ] , t [ ... , <NUM_LIT:1> ] <EOL> return convert <EOL> def guessFilterTable ( matsFrom , matsTo ) : <EOL> """<STR_LIT>""" <EOL> filters = [ ] <EOL> unavailable = [ ] <EOL> toByName = dict ( ( ( b . name , b ) for b in sorted ( matsTo . allBlocks , reverse = True ) ) ) <EOL> for fromBlock in matsFrom . allBlocks : <EOL> block = toByName . get ( fromBlock . name ) <EOL> if block is None : <EOL> for b in matsTo . allBlocks : <EOL> if b . name . startswith ( fromBlock . name ) : <EOL> block = b <EOL> break <EOL> if block is None : <EOL> for b in matsTo . allBlocks : <EOL> if fromBlock . name in b . name : <EOL> block = b <EOL> break <EOL> if block is None : <EOL> for b in matsTo . allBlocks : <EOL> if fromBlock . name in b . aka : <EOL> block = b <EOL> break <EOL> if block is None : <EOL> if "<STR_LIT>" == fromBlock . name : <EOL> block = toByName . get ( "<STR_LIT>" ) <EOL> elif "<STR_LIT>" == fromBlock . name : <EOL> block = toByName . get ( "<STR_LIT>" ) <EOL> if block : <EOL> if block != fromBlock : <EOL> filters . append ( ( ( fromBlock . ID , fromBlock . blockData ) , ( block . ID , block . blockData ) ) ) <EOL> else : <EOL> unavailable . append ( ( fromBlock . ID , fromBlock . blockData ) ) <EOL> return filters , unavailable <EOL> allMaterials = ( alphaMaterials , classicMaterials , pocketMaterials , indevMaterials ) <EOL> _conversionFuncs = { } <EOL> def conversionFunc ( destMats , sourceMats ) : <EOL> if destMats is sourceMats : <EOL> return nullConversion <EOL> func = _conversionFuncs . get ( ( destMats , sourceMats ) ) <EOL> if func : <EOL> return func <EOL> filters , unavailable = guessFilterTable ( sourceMats , destMats ) <EOL> log . debug ( "<STR_LIT>" ) <EOL> log . debug ( "<STR_LIT>" , sourceMats . name , "<STR_LIT>" , destMats . name ) <EOL> for a , b in [ ( sourceMats . blockWithID ( * a ) , destMats . blockWithID ( * b ) ) for a , b in filters ] : <EOL> log . debug ( "<STR_LIT>" . format ( '<STR_LIT:">' + a . name + '<STR_LIT:">' , b . name ) ) <EOL> log . debug ( "<STR_LIT>" ) <EOL> log . debug ( "<STR_LIT>" , [ sourceMats . blockWithID ( * a ) . name for a in unavailable ] ) <EOL> table = _filterTable ( filters , unavailable , ( <NUM_LIT> , <NUM_LIT:0> ) ) <EOL> func = filterConversion ( table ) <EOL> _conversionFuncs [ ( destMats , sourceMats ) ] = func <EOL> return func <EOL> def convertBlocks ( destMats , sourceMats , blocks , blockData ) : <EOL> if sourceMats == destMats : <EOL> return blocks , blockData <EOL> return conversionFunc ( destMats , sourceMats ) ( blocks , blockData ) <EOL> namedMaterials = dict ( ( i . name , i ) for i in allMaterials ) <EOL> __all__ = "<STR_LIT>" . split ( "<STR_LIT:U+002CU+0020>" ) </s>
