codes to produce fluid atlas

This commit is contained in:
minjaesong
2019-03-03 00:25:42 +09:00
parent 44745bfad1
commit 58bbb73cb1
7 changed files with 292 additions and 191 deletions

View File

@@ -1,106 +1,106 @@
"id";"drop";"name";"shdr";"shdg";"shdb";"shduv";"str";"dsty";"mate";"solid";"plat";"wall";"fall";"dlfn";"fv";"fr";"lumr";"lumg";"lumb";"lumuv";"colour"
"0";"0";"BLOCK_AIR";"0.0312";"0.0312";"0.0312";"0.0312";"1";"1";"NULL";"0";"0";"1";"0";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";""
"1";"1";"BLOCK_MIASMA";"0.0312";"0.0312";"0.0312";"0.0312";"1";"1";"NULL";"0";"0";"1";"0";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";""
"16";"17";"BLOCK_STONE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"17";"17";"BLOCK_STONE_QUARRIED";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"18";"18";"BLOCK_STONE_TILE_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"19";"19";"BLOCK_STONE_BRICKS";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"32";"32";"BLOCK_DIRT";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"DIRT";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"33";"32";"BLOCK_GRASS";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"34";"34";"BLOCK_GRASSWALL";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"35";"35";"BLOCK_FOLIAGE_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"36";"36";"BLOCK_FOLIAGE_LIME";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"37";"37";"BLOCK_FOLIAGE_GOLD";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"38";"38";"BLOCK_FOLIAGE_RED";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"39";"39";"BLOCK_FOLIAGE_ICEBLUE";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"40";"40";"BLOCK_FOLIAGE_PURPLE";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"48";"48";"BLOCK_PLANK_NORMAL";"0.1252";"0.1252";"0.1252";"0.1252";"16";"740";"WOOD";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"49";"49";"BLOCK_PLANK_EBONY";"0.1252";"0.1252";"0.1252";"0.1252";"19";"1200";"WOOD";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"50";"50";"BLOCK_PLANK_BIRCH";"0.1252";"0.1252";"0.1252";"0.1252";"15";"670";"WOOD";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"51";"51";"BLOCK_PLANK_BLOODROSE";"0.1252";"0.1252";"0.1252";"0.1252";"17";"900";"WOOD";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"64";"64";"BLOCK_TRUNK_NORMAL";"0.1252";"0.1252";"0.1252";"0.1252";"16";"740";"WOOD";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"65";"65";"BLOCK_TRUNK_EBONY";"0.1252";"0.1252";"0.1252";"0.1252";"19";"1200";"WOOD";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"66";"66";"BLOCK_TRUNK_BIRCH";"0.1252";"0.1252";"0.1252";"0.1252";"15";"670";"WOOD";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"67";"67";"BLOCK_TRUNK_BLOODROSE";"0.1252";"0.1252";"0.1252";"0.1252";"17";"900";"WOOD";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"80";"80";"BLOCK_SAND";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"81";"81";"BLOCK_SAND_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"82";"82";"BLOCK_SAND_RED";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"83";"83";"BLOCK_SAND_DESERT";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"84";"84";"BLOCK_SAND_BLACK";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"85";"85";"BLOCK_SAND_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"96";"96";"BLOCK_GRAVEL";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"GRVL";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"97";"97";"BLOCK_GRAVEL_GREY";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"GRVL";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"112";"112";"BLOCK_ORE_MALACHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"113";"113";"BLOCK_ORE_HEMATITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"114";"114";"BLOCK_ORE_NATURAL_GOLD";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"115";"115";"BLOCK_ORE_NATURAL_SILVER";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"116";"116";"BLOCK_ORE_RUTILE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"117";"117";"BLOCK_ORE_AURICHALCUMITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"128";"128";"BLOCK_GEM_RUBY";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"129";"129";"BLOCK_GEM_EMERALD";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"130";"130";"BLOCK_GEM_SAPPHIRE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"131";"131";"BLOCK_GEM_TOPAZ";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"132";"132";"BLOCK_GEM_DIAMOND";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"133";"133";"BLOCK_GEM_AMETHYST";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"144";"144";"BLOCK_SNOW";"0.1252";"0.1252";"0.1252";"0.1252";"24";"500";"SNOW";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"145";"0";"BLOCK_ICE_FRAGILE";"0.0508";"0.0508";"0.0508";"0.0508";"5";"930";"ICEI";"1";"0";"0";"0";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";""
"146";"146";"BLOCK_ICE_NATURAL";"0.1016";"0.1016";"0.1016";"0.1016";"35";"930";"ICEI";"1";"0";"1";"0";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";""
"147";"147";"BLOCK_ICE_CLEAR_MAGICAL";"0.1252";"0.1252";"0.1252";"0.1252";"48";"3720";"ICEX";"1";"0";"1";"0";"0";"0";"4";"0.0744";"0.1252";"0.2268";"0.0000";""
"148";"148";"BLOCK_GLASS_CRUDE";"0.0876";"0.0424";"0.0876";"0.1252";"5";"2500";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"149";"149";"BLOCK_GLASS_CLEAN";"0.0424";"0.0424";"0.0424";"0.0636";"5";"2203";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"160";"160";"BLOCK_PLATFORM_STONE";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"ROCK";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"161";"161";"BLOCK_PLATFORM_WOODEN";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"WOOD";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"162";"162";"BLOCK_PLATFORM_EBONY";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"WOOD";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"163";"163";"BLOCK_PLATFORM_BIRCH";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"WOOD";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"164";"164";"BLOCK_PLATFORM_BLOODROSE";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"WOOD";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"176";"176";"BLOCK_TORCH";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"1";"0";"16";"1.0000";"0.6372";"0.0000";"0.0000";""
"177";"177";"BLOCK_TORCH_FROST";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"1";"0";"16";"0.3048";"0.4848";"1.0000";"0.0000";""
"192";"176";"BLOCK_TORCH";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"193";"177";"BLOCK_TORCH_FROST";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"208";"208";"BLOCK_ILLUMINATOR_WHITE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.9270";"0.9414";"0.8519";"0.0000";""
"209";"209";"BLOCK_ILLUMINATOR_YELLOW";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"1.0000";"0.8408";"0.0000";"0.0000";""
"210";"210";"BLOCK_ILLUMINATOR_ORANGE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"1.0000";"0.5294";"0.0000";"0.0000";""
"211";"211";"BLOCK_ILLUMINATOR_RED";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.9188";"0.0000";"0.0000";"0.0000";""
"212";"212";"BLOCK_ILLUMINATOR_FUCHSIA";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.9188";"0.0000";"0.7156";"0.0000";""
"213";"213";"BLOCK_ILLUMINATOR_PURPLE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.7156";"0.0000";"0.9188";"0.0000";""
"214";"214";"BLOCK_ILLUMINATOR_BLUE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.1996";"0.9188";"0.0000";""
"215";"215";"BLOCK_ILLUMINATOR_CYAN";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.4621";"1.4188";"1.2368";"0.0000";""
"216";"216";"BLOCK_ILLUMINATOR_GREEN";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.2112";"1.0000";"0.0000";"0.0000";""
"217";"217";"BLOCK_ILLUMINATOR_GREEN_DARK";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.1252";"0.4068";"0.0000";"0.0000";""
"218";"218";"BLOCK_ILLUMINATOR_BROWN";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.3324";"0.1252";"0.0000";"0.0000";""
"219";"219";"BLOCK_ILLUMINATOR_TAN";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.5864";"0.4068";"0.2032";"0.0000";""
"220";"220";"BLOCK_ILLUMINATOR_GREY_LIGHT";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.7392";"0.7392";"0.7392";"0.0000";""
"221";"221";"BLOCK_ILLUMINATOR_GREY_MED";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.4576";"0.4576";"0.4576";"0.0000";""
"222";"222";"BLOCK_ILLUMINATOR_GREY_DARK";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.2540";"0.2540";"0.2540";"0.0000";""
"223";"223";"BLOCK_ILLUMINATOR_BLACK";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.2140";"0.0000";"0.4932";"3.7499";""
"224";"208";"BLOCK_ILLUMINATOR_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"225";"209";"BLOCK_ILLUMINATOR_YELLOW";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"226";"210";"BLOCK_ILLUMINATOR_ORANGE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"227";"211";"BLOCK_ILLUMINATOR_RED";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"228";"212";"BLOCK_ILLUMINATOR_FUCHSIA";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"229";"213";"BLOCK_ILLUMINATOR_PURPLE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"230";"214";"BLOCK_ILLUMINATOR_BLUE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"231";"215";"BLOCK_ILLUMINATOR_CYAN";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"232";"216";"BLOCK_ILLUMINATOR_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"233";"217";"BLOCK_ILLUMINATOR_GREEN_DARK";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"234";"218";"BLOCK_ILLUMINATOR_BROWN";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"235";"219";"BLOCK_ILLUMINATOR_TAN";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"236";"220";"BLOCK_ILLUMINATOR_GREY_LIGHT";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"237";"221";"BLOCK_ILLUMINATOR_GREY_MED";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"238";"222";"BLOCK_ILLUMINATOR_GREY_DARK";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"239";"223";"BLOCK_ILLUMINATOR_BLACK";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"240";"240";"BLOCK_SANDSTONE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"241";"241";"BLOCK_SANDSTONE_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"242";"242";"BLOCK_SANDSTONE_RED";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"243";"243";"BLOCK_SANDSTONE_DESERT";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"244";"244";"BLOCK_SANDSTONE_BLACK";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"245";"245";"BLOCK_SANDSTONE_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"256";"256";"BLOCK_LANTERN_IRON_REGULAR";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"0";"0";"16";"1.0000";"0.6372";"0.0000";"0.0000";""
"257";"257";"BLOCK_SUNSTONE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"ROCK";"1";"0";"0";"0";"2";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"258";"258";"BLOCK_DAYLIGHT_CAPACITOR";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"0";"0";"3";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"4096";"0";"BLOCK_WATER";"0.1016";"0.0744";"0.0508";"0.0826";"100";"1000";"WATR";"0";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"005599A6"
"4097";"0";"BLOCK_LAVA";"0.9696";"0.9696";"0.9696";"0.9696";"100";"2600";"ROCK";"0";"0";"0";"0";"0";"0";"16";"0.7664";"0.2032";"0.0000";"0.0000";"FF4600E6"
"-1";"0";"BLOCK_NULL";"4.0000";"4.0000";"4.0000";"4.0000";"-1";"2600";"NULL";"0";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";""
"id";"drop";"name";"shdr";"shdg";"shdb";"shduv";"str";"dsty";"mate";"solid";"plat";"wall";"fall";"dlfn";"fv";"fr";"lumr";"lumg";"lumb";"lumuv";"colour";"vscs"
"0";"0";"BLOCK_AIR";"0.0312";"0.0312";"0.0312";"0.0312";"1";"1";"NULL";"0";"0";"1";"0";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"1";"1";"BLOCK_MIASMA";"0.0312";"0.0312";"0.0312";"0.0312";"1";"1";"NULL";"0";"0";"1";"0";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"16";"17";"BLOCK_STONE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"17";"17";"BLOCK_STONE_QUARRIED";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"18";"18";"BLOCK_STONE_TILE_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"19";"19";"BLOCK_STONE_BRICKS";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"32";"32";"BLOCK_DIRT";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"DIRT";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"33";"32";"BLOCK_GRASS";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"34";"34";"BLOCK_GRASSWALL";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"35";"35";"BLOCK_FOLIAGE_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"36";"36";"BLOCK_FOLIAGE_LIME";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"37";"37";"BLOCK_FOLIAGE_GOLD";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"38";"38";"BLOCK_FOLIAGE_RED";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"39";"39";"BLOCK_FOLIAGE_ICEBLUE";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"40";"40";"BLOCK_FOLIAGE_PURPLE";"0.1252";"0.1252";"0.1252";"0.1252";"24";"1400";"GRSS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"48";"48";"BLOCK_PLANK_NORMAL";"0.1252";"0.1252";"0.1252";"0.1252";"16";"740";"WOOD";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"49";"49";"BLOCK_PLANK_EBONY";"0.1252";"0.1252";"0.1252";"0.1252";"19";"1200";"WOOD";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"50";"50";"BLOCK_PLANK_BIRCH";"0.1252";"0.1252";"0.1252";"0.1252";"15";"670";"WOOD";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"51";"51";"BLOCK_PLANK_BLOODROSE";"0.1252";"0.1252";"0.1252";"0.1252";"17";"900";"WOOD";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"64";"64";"BLOCK_TRUNK_NORMAL";"0.1252";"0.1252";"0.1252";"0.1252";"16";"740";"WOOD";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"65";"65";"BLOCK_TRUNK_EBONY";"0.1252";"0.1252";"0.1252";"0.1252";"19";"1200";"WOOD";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"66";"66";"BLOCK_TRUNK_BIRCH";"0.1252";"0.1252";"0.1252";"0.1252";"15";"670";"WOOD";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"67";"67";"BLOCK_TRUNK_BLOODROSE";"0.1252";"0.1252";"0.1252";"0.1252";"17";"900";"WOOD";"1";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"80";"80";"BLOCK_SAND";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"81";"81";"BLOCK_SAND_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"82";"82";"BLOCK_SAND_RED";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"83";"83";"BLOCK_SAND_DESERT";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"84";"84";"BLOCK_SAND_BLACK";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"85";"85";"BLOCK_SAND_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"SAND";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"96";"96";"BLOCK_GRAVEL";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"GRVL";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"97";"97";"BLOCK_GRAVEL_GREY";"0.1252";"0.1252";"0.1252";"0.1252";"24";"2400";"GRVL";"1";"0";"0";"1";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"112";"112";"BLOCK_ORE_MALACHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"113";"113";"BLOCK_ORE_HEMATITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"114";"114";"BLOCK_ORE_NATURAL_GOLD";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"115";"115";"BLOCK_ORE_NATURAL_SILVER";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"116";"116";"BLOCK_ORE_RUTILE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"117";"117";"BLOCK_ORE_AURICHALCUMITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"128";"128";"BLOCK_GEM_RUBY";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"129";"129";"BLOCK_GEM_EMERALD";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"130";"130";"BLOCK_GEM_SAPPHIRE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"131";"131";"BLOCK_GEM_TOPAZ";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"132";"132";"BLOCK_GEM_DIAMOND";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"133";"133";"BLOCK_GEM_AMETHYST";"0.1252";"0.1252";"0.1252";"0.1252";"48";"2400";"ROCK";"1";"0";"0";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"144";"144";"BLOCK_SNOW";"0.1252";"0.1252";"0.1252";"0.1252";"24";"500";"SNOW";"1";"0";"1";"0";"0";"4";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"145";"0";"BLOCK_ICE_FRAGILE";"0.0508";"0.0508";"0.0508";"0.0508";"5";"930";"ICEI";"1";"0";"0";"0";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"146";"146";"BLOCK_ICE_NATURAL";"0.1016";"0.1016";"0.1016";"0.1016";"35";"930";"ICEI";"1";"0";"1";"0";"0";"0";"4";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"147";"147";"BLOCK_ICE_CLEAR_MAGICAL";"0.1252";"0.1252";"0.1252";"0.1252";"48";"3720";"ICEX";"1";"0";"1";"0";"0";"0";"4";"0.0744";"0.1252";"0.2268";"0.0000";"N/A";"N/A"
"148";"148";"BLOCK_GLASS_CRUDE";"0.0876";"0.0424";"0.0876";"0.1252";"5";"2500";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"149";"149";"BLOCK_GLASS_CLEAN";"0.0424";"0.0424";"0.0424";"0.0636";"5";"2203";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"160";"160";"BLOCK_PLATFORM_STONE";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"ROCK";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"161";"161";"BLOCK_PLATFORM_WOODEN";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"WOOD";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"162";"162";"BLOCK_PLATFORM_EBONY";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"WOOD";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"163";"163";"BLOCK_PLATFORM_BIRCH";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"WOOD";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"164";"164";"BLOCK_PLATFORM_BLOODROSE";"0.0312";"0.0312";"0.0312";"0.0312";"5";"N/A";"WOOD";"0";"1";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"176";"176";"BLOCK_TORCH";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"1";"0";"16";"1.0000";"0.6372";"0.0000";"0.0000";"N/A";"N/A"
"177";"177";"BLOCK_TORCH_FROST";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"1";"0";"16";"0.3048";"0.4848";"1.0000";"0.0000";"N/A";"N/A"
"192";"176";"BLOCK_TORCH";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"193";"177";"BLOCK_TORCH_FROST";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"208";"208";"BLOCK_ILLUMINATOR_WHITE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.9270";"0.9414";"0.8519";"0.0000";"N/A";"N/A"
"209";"209";"BLOCK_ILLUMINATOR_YELLOW";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"1.0000";"0.8408";"0.0000";"0.0000";"N/A";"N/A"
"210";"210";"BLOCK_ILLUMINATOR_ORANGE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"1.0000";"0.5294";"0.0000";"0.0000";"N/A";"N/A"
"211";"211";"BLOCK_ILLUMINATOR_RED";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.9188";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"212";"212";"BLOCK_ILLUMINATOR_FUCHSIA";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.9188";"0.0000";"0.7156";"0.0000";"N/A";"N/A"
"213";"213";"BLOCK_ILLUMINATOR_PURPLE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.7156";"0.0000";"0.9188";"0.0000";"N/A";"N/A"
"214";"214";"BLOCK_ILLUMINATOR_BLUE";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.1996";"0.9188";"0.0000";"N/A";"N/A"
"215";"215";"BLOCK_ILLUMINATOR_CYAN";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.4621";"1.4188";"1.2368";"0.0000";"N/A";"N/A"
"216";"216";"BLOCK_ILLUMINATOR_GREEN";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.2112";"1.0000";"0.0000";"0.0000";"N/A";"N/A"
"217";"217";"BLOCK_ILLUMINATOR_GREEN_DARK";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.1252";"0.4068";"0.0000";"0.0000";"N/A";"N/A"
"218";"218";"BLOCK_ILLUMINATOR_BROWN";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.3324";"0.1252";"0.0000";"0.0000";"N/A";"N/A"
"219";"219";"BLOCK_ILLUMINATOR_TAN";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.5864";"0.4068";"0.2032";"0.0000";"N/A";"N/A"
"220";"220";"BLOCK_ILLUMINATOR_GREY_LIGHT";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.7392";"0.7392";"0.7392";"0.0000";"N/A";"N/A"
"221";"221";"BLOCK_ILLUMINATOR_GREY_MED";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.4576";"0.4576";"0.4576";"0.0000";"N/A";"N/A"
"222";"222";"BLOCK_ILLUMINATOR_GREY_DARK";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.2540";"0.2540";"0.2540";"0.0000";"N/A";"N/A"
"223";"223";"BLOCK_ILLUMINATOR_BLACK";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.2140";"0.0000";"0.4932";"3.7499";"N/A";"N/A"
"224";"208";"BLOCK_ILLUMINATOR_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"225";"209";"BLOCK_ILLUMINATOR_YELLOW";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"226";"210";"BLOCK_ILLUMINATOR_ORANGE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"227";"211";"BLOCK_ILLUMINATOR_RED";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"228";"212";"BLOCK_ILLUMINATOR_FUCHSIA";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"229";"213";"BLOCK_ILLUMINATOR_PURPLE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"230";"214";"BLOCK_ILLUMINATOR_BLUE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"231";"215";"BLOCK_ILLUMINATOR_CYAN";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"232";"216";"BLOCK_ILLUMINATOR_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"233";"217";"BLOCK_ILLUMINATOR_GREEN_DARK";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"234";"218";"BLOCK_ILLUMINATOR_BROWN";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"235";"219";"BLOCK_ILLUMINATOR_TAN";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"236";"220";"BLOCK_ILLUMINATOR_GREY_LIGHT";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"237";"221";"BLOCK_ILLUMINATOR_GREY_MED";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"238";"222";"BLOCK_ILLUMINATOR_GREY_DARK";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"239";"223";"BLOCK_ILLUMINATOR_BLACK";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"240";"240";"BLOCK_SANDSTONE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"241";"241";"BLOCK_SANDSTONE_WHITE";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"242";"242";"BLOCK_SANDSTONE_RED";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"243";"243";"BLOCK_SANDSTONE_DESERT";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"244";"244";"BLOCK_SANDSTONE_BLACK";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"245";"245";"BLOCK_SANDSTONE_GREEN";"0.1252";"0.1252";"0.1252";"0.1252";"48";"1900";"ROCK";"1";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"256";"256";"BLOCK_LANTERN_IRON_REGULAR";"0.0312";"0.0312";"0.0312";"0.0312";"1";"N/A";"FXTR";"0";"0";"0";"0";"0";"0";"16";"1.0000";"0.6372";"0.0000";"0.0000";"N/A";"N/A"
"257";"257";"BLOCK_SUNSTONE";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"ROCK";"1";"0";"0";"0";"2";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"258";"258";"BLOCK_DAYLIGHT_CAPACITOR";"0.1252";"0.1252";"0.1252";"0.1252";"1";"N/A";"GLAS";"1";"0";"0";"0";"3";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
"4096";"0";"BLOCK_WATER";"0.1016";"0.0744";"0.0508";"0.0826";"100";"1000";"WATR";"0";"0";"0";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"005599A6";"16"
"4097";"0";"BLOCK_LAVA";"0.9696";"0.9696";"0.9696";"0.9696";"100";"2600";"ROCK";"0";"0";"0";"0";"0";"0";"16";"0.7664";"0.2032";"0.0000";"0.0000";"FF4600E6";"32"
"-1";"0";"BLOCK_NULL";"4.0000";"4.0000";"4.0000";"4.0000";"-1";"2600";"NULL";"0";"0";"1";"0";"0";"0";"16";"0.0000";"0.0000";"0.0000";"0.0000";"N/A";"N/A"
## Notes ##
1 id drop name shdr shdg shdb shduv str dsty mate solid plat wall fall dlfn fv fr lumr lumg lumb lumuv colour vscs
2 0 0 BLOCK_AIR 0.0312 0.0312 0.0312 0.0312 1 1 NULL 0 0 1 0 0 0 4 0.0000 0.0000 0.0000 0.0000 N/A N/A
3 1 1 BLOCK_MIASMA 0.0312 0.0312 0.0312 0.0312 1 1 NULL 0 0 1 0 0 0 4 0.0000 0.0000 0.0000 0.0000 N/A N/A
4 16 17 BLOCK_STONE 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 1 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
5 17 17 BLOCK_STONE_QUARRIED 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 1 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
6 18 18 BLOCK_STONE_TILE_WHITE 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 1 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
7 19 19 BLOCK_STONE_BRICKS 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 1 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
8 32 32 BLOCK_DIRT 0.1252 0.1252 0.1252 0.1252 24 1400 DIRT 1 0 1 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
9 33 32 BLOCK_GRASS 0.1252 0.1252 0.1252 0.1252 24 1400 GRSS 1 0 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
10 34 34 BLOCK_GRASSWALL 0.1252 0.1252 0.1252 0.1252 24 1400 GRSS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
11 35 35 BLOCK_FOLIAGE_GREEN 0.1252 0.1252 0.1252 0.1252 24 1400 GRSS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
12 36 36 BLOCK_FOLIAGE_LIME 0.1252 0.1252 0.1252 0.1252 24 1400 GRSS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
13 37 37 BLOCK_FOLIAGE_GOLD 0.1252 0.1252 0.1252 0.1252 24 1400 GRSS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
14 38 38 BLOCK_FOLIAGE_RED 0.1252 0.1252 0.1252 0.1252 24 1400 GRSS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
15 39 39 BLOCK_FOLIAGE_ICEBLUE 0.1252 0.1252 0.1252 0.1252 24 1400 GRSS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
16 40 40 BLOCK_FOLIAGE_PURPLE 0.1252 0.1252 0.1252 0.1252 24 1400 GRSS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
17 48 48 BLOCK_PLANK_NORMAL 0.1252 0.1252 0.1252 0.1252 16 740 WOOD 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
18 49 49 BLOCK_PLANK_EBONY 0.1252 0.1252 0.1252 0.1252 19 1200 WOOD 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
19 50 50 BLOCK_PLANK_BIRCH 0.1252 0.1252 0.1252 0.1252 15 670 WOOD 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
20 51 51 BLOCK_PLANK_BLOODROSE 0.1252 0.1252 0.1252 0.1252 17 900 WOOD 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
21 64 64 BLOCK_TRUNK_NORMAL 0.1252 0.1252 0.1252 0.1252 16 740 WOOD 1 0 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
22 65 65 BLOCK_TRUNK_EBONY 0.1252 0.1252 0.1252 0.1252 19 1200 WOOD 1 0 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
23 66 66 BLOCK_TRUNK_BIRCH 0.1252 0.1252 0.1252 0.1252 15 670 WOOD 1 0 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
24 67 67 BLOCK_TRUNK_BLOODROSE 0.1252 0.1252 0.1252 0.1252 17 900 WOOD 1 0 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
25 80 80 BLOCK_SAND 0.1252 0.1252 0.1252 0.1252 24 2400 SAND 1 0 0 1 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
26 81 81 BLOCK_SAND_WHITE 0.1252 0.1252 0.1252 0.1252 24 2400 SAND 1 0 0 1 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
27 82 82 BLOCK_SAND_RED 0.1252 0.1252 0.1252 0.1252 24 2400 SAND 1 0 0 1 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
28 83 83 BLOCK_SAND_DESERT 0.1252 0.1252 0.1252 0.1252 24 2400 SAND 1 0 0 1 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
29 84 84 BLOCK_SAND_BLACK 0.1252 0.1252 0.1252 0.1252 24 2400 SAND 1 0 0 1 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
30 85 85 BLOCK_SAND_GREEN 0.1252 0.1252 0.1252 0.1252 24 2400 SAND 1 0 0 1 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
31 96 96 BLOCK_GRAVEL 0.1252 0.1252 0.1252 0.1252 24 2400 GRVL 1 0 0 1 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
32 97 97 BLOCK_GRAVEL_GREY 0.1252 0.1252 0.1252 0.1252 24 2400 GRVL 1 0 0 1 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
33 112 112 BLOCK_ORE_MALACHITE 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
34 113 113 BLOCK_ORE_HEMATITE 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
35 114 114 BLOCK_ORE_NATURAL_GOLD 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
36 115 115 BLOCK_ORE_NATURAL_SILVER 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
37 116 116 BLOCK_ORE_RUTILE 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
38 117 117 BLOCK_ORE_AURICHALCUMITE 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
39 128 128 BLOCK_GEM_RUBY 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
40 129 129 BLOCK_GEM_EMERALD 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
41 130 130 BLOCK_GEM_SAPPHIRE 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
42 131 131 BLOCK_GEM_TOPAZ 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
43 132 132 BLOCK_GEM_DIAMOND 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
44 133 133 BLOCK_GEM_AMETHYST 0.1252 0.1252 0.1252 0.1252 48 2400 ROCK 1 0 0 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
45 144 144 BLOCK_SNOW 0.1252 0.1252 0.1252 0.1252 24 500 SNOW 1 0 1 0 0 4 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
46 145 0 BLOCK_ICE_FRAGILE 0.0508 0.0508 0.0508 0.0508 5 930 ICEI 1 0 0 0 0 0 4 0.0000 0.0000 0.0000 0.0000 N/A N/A
47 146 146 BLOCK_ICE_NATURAL 0.1016 0.1016 0.1016 0.1016 35 930 ICEI 1 0 1 0 0 0 4 0.0000 0.0000 0.0000 0.0000 N/A N/A
48 147 147 BLOCK_ICE_CLEAR_MAGICAL 0.1252 0.1252 0.1252 0.1252 48 3720 ICEX 1 0 1 0 0 0 4 0.0744 0.1252 0.2268 0.0000 N/A N/A
49 148 148 BLOCK_GLASS_CRUDE 0.0876 0.0424 0.0876 0.1252 5 2500 GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
50 149 149 BLOCK_GLASS_CLEAN 0.0424 0.0424 0.0424 0.0636 5 2203 GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
51 160 160 BLOCK_PLATFORM_STONE 0.0312 0.0312 0.0312 0.0312 5 N/A ROCK 0 1 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
52 161 161 BLOCK_PLATFORM_WOODEN 0.0312 0.0312 0.0312 0.0312 5 N/A WOOD 0 1 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
53 162 162 BLOCK_PLATFORM_EBONY 0.0312 0.0312 0.0312 0.0312 5 N/A WOOD 0 1 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
54 163 163 BLOCK_PLATFORM_BIRCH 0.0312 0.0312 0.0312 0.0312 5 N/A WOOD 0 1 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
55 164 164 BLOCK_PLATFORM_BLOODROSE 0.0312 0.0312 0.0312 0.0312 5 N/A WOOD 0 1 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
56 176 176 BLOCK_TORCH 0.0312 0.0312 0.0312 0.0312 1 N/A FXTR 0 0 0 0 1 0 16 1.0000 0.6372 0.0000 0.0000 N/A N/A
57 177 177 BLOCK_TORCH_FROST 0.0312 0.0312 0.0312 0.0312 1 N/A FXTR 0 0 0 0 1 0 16 0.3048 0.4848 1.0000 0.0000 N/A N/A
58 192 176 BLOCK_TORCH 0.0312 0.0312 0.0312 0.0312 1 N/A FXTR 0 0 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
59 193 177 BLOCK_TORCH_FROST 0.0312 0.0312 0.0312 0.0312 1 N/A FXTR 0 0 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
60 208 208 BLOCK_ILLUMINATOR_WHITE 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.9270 0.9414 0.8519 0.0000 N/A N/A
61 209 209 BLOCK_ILLUMINATOR_YELLOW 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 1.0000 0.8408 0.0000 0.0000 N/A N/A
62 210 210 BLOCK_ILLUMINATOR_ORANGE 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 1.0000 0.5294 0.0000 0.0000 N/A N/A
63 211 211 BLOCK_ILLUMINATOR_RED 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.9188 0.0000 0.0000 0.0000 N/A N/A
64 212 212 BLOCK_ILLUMINATOR_FUCHSIA 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.9188 0.0000 0.7156 0.0000 N/A N/A
65 213 213 BLOCK_ILLUMINATOR_PURPLE 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.7156 0.0000 0.9188 0.0000 N/A N/A
66 214 214 BLOCK_ILLUMINATOR_BLUE 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.1996 0.9188 0.0000 N/A N/A
67 215 215 BLOCK_ILLUMINATOR_CYAN 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.4621 1.4188 1.2368 0.0000 N/A N/A
68 216 216 BLOCK_ILLUMINATOR_GREEN 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.2112 1.0000 0.0000 0.0000 N/A N/A
69 217 217 BLOCK_ILLUMINATOR_GREEN_DARK 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.1252 0.4068 0.0000 0.0000 N/A N/A
70 218 218 BLOCK_ILLUMINATOR_BROWN 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.3324 0.1252 0.0000 0.0000 N/A N/A
71 219 219 BLOCK_ILLUMINATOR_TAN 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.5864 0.4068 0.2032 0.0000 N/A N/A
72 220 220 BLOCK_ILLUMINATOR_GREY_LIGHT 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.7392 0.7392 0.7392 0.0000 N/A N/A
73 221 221 BLOCK_ILLUMINATOR_GREY_MED 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.4576 0.4576 0.4576 0.0000 N/A N/A
74 222 222 BLOCK_ILLUMINATOR_GREY_DARK 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.2540 0.2540 0.2540 0.0000 N/A N/A
75 223 223 BLOCK_ILLUMINATOR_BLACK 0.0312 0.0312 0.0312 0.0312 1 N/A GLAS 1 0 1 0 0 0 16 0.2140 0.0000 0.4932 3.7499 N/A N/A
76 224 208 BLOCK_ILLUMINATOR_WHITE 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
77 225 209 BLOCK_ILLUMINATOR_YELLOW 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
78 226 210 BLOCK_ILLUMINATOR_ORANGE 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
79 227 211 BLOCK_ILLUMINATOR_RED 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
80 228 212 BLOCK_ILLUMINATOR_FUCHSIA 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
81 229 213 BLOCK_ILLUMINATOR_PURPLE 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
82 230 214 BLOCK_ILLUMINATOR_BLUE 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
83 231 215 BLOCK_ILLUMINATOR_CYAN 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
84 232 216 BLOCK_ILLUMINATOR_GREEN 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
85 233 217 BLOCK_ILLUMINATOR_GREEN_DARK 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
86 234 218 BLOCK_ILLUMINATOR_BROWN 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
87 235 219 BLOCK_ILLUMINATOR_TAN 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
88 236 220 BLOCK_ILLUMINATOR_GREY_LIGHT 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
89 237 221 BLOCK_ILLUMINATOR_GREY_MED 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
90 238 222 BLOCK_ILLUMINATOR_GREY_DARK 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
91 239 223 BLOCK_ILLUMINATOR_BLACK 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
92 240 240 BLOCK_SANDSTONE 0.1252 0.1252 0.1252 0.1252 48 1900 ROCK 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
93 241 241 BLOCK_SANDSTONE_WHITE 0.1252 0.1252 0.1252 0.1252 48 1900 ROCK 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
94 242 242 BLOCK_SANDSTONE_RED 0.1252 0.1252 0.1252 0.1252 48 1900 ROCK 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
95 243 243 BLOCK_SANDSTONE_DESERT 0.1252 0.1252 0.1252 0.1252 48 1900 ROCK 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
96 244 244 BLOCK_SANDSTONE_BLACK 0.1252 0.1252 0.1252 0.1252 48 1900 ROCK 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
97 245 245 BLOCK_SANDSTONE_GREEN 0.1252 0.1252 0.1252 0.1252 48 1900 ROCK 1 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
98 256 256 BLOCK_LANTERN_IRON_REGULAR 0.0312 0.0312 0.0312 0.0312 1 N/A FXTR 0 0 0 0 0 0 16 1.0000 0.6372 0.0000 0.0000 N/A N/A
99 257 257 BLOCK_SUNSTONE 0.1252 0.1252 0.1252 0.1252 1 N/A ROCK 1 0 0 0 2 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
100 258 258 BLOCK_DAYLIGHT_CAPACITOR 0.1252 0.1252 0.1252 0.1252 1 N/A GLAS 1 0 0 0 3 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
101 4096 0 BLOCK_WATER 0.1016 0.0744 0.0508 0.0826 100 1000 WATR 0 0 0 0 0 0 16 0.0000 0.0000 0.0000 0.0000 005599A6 16
102 4097 0 BLOCK_LAVA 0.9696 0.9696 0.9696 0.9696 100 2600 ROCK 0 0 0 0 0 0 16 0.7664 0.2032 0.0000 0.0000 FF4600E6 32
103 -1 0 BLOCK_NULL 4.0000 4.0000 4.0000 4.0000 -1 2600 NULL 0 0 1 0 0 0 16 0.0000 0.0000 0.0000 0.0000 N/A N/A
104 ## Notes ##
105 #
106 # Lava/Water props are left for future references, do not delete them until FluidCodex is built #

View File

@@ -16,15 +16,15 @@ import java.io.IOException
*/
object BlockCodex {
private var blockProps: Array<BlockProp>
private var blockProps = HashMap<Int, BlockProp>()
/** 4096 */
const val MAX_TERRAIN_TILES = MapLayer.RANGE * PairedMapLayer.RANGE
private val nullProp = BlockProp()
init {
blockProps = Array<BlockProp>(MAX_TERRAIN_TILES * 2, { BlockProp() })
}
var highestNumber = -1
private set
/**
* Later entry (possible from other modules) will replace older ones
@@ -36,12 +36,18 @@ object BlockCodex {
AppLoader.printdbg(this, "Building block properties table")
records.forEach {
if (intVal(it, "id") == -1) {
/*if (intVal(it, "id") == -1) {
setProp(nullProp, it)
}
else {
setProp(blockProps[intVal(it, "id")], it)
}
}*/
val id = intVal(it, "id")
setProp(id, it)
if (id > highestNumber)
highestNumber = id
}
}
catch (e: IOException) {
@@ -68,7 +74,7 @@ object BlockCodex {
}
try {
return blockProps[rawIndex]
return blockProps[rawIndex]!!
}
catch (e: NullPointerException) {
throw NullPointerException("Blockprop with raw id $rawIndex does not exist.")
@@ -77,11 +83,11 @@ object BlockCodex {
operator fun get(fluidType: FluidType?): BlockProp {
if (fluidType == null || fluidType.value == 0) {
return blockProps[Block.AIR]
return blockProps[Block.AIR]!!
}
try {
return blockProps[fluidType.abs() + GameWorld.TILES_SUPPORTED - 1]
return blockProps[fluidType.abs() + GameWorld.TILES_SUPPORTED - 1]!!
}
catch (e: NullPointerException) {
throw NullPointerException("Blockprop with raw id $fluidType does not exist.")
@@ -89,22 +95,14 @@ object BlockCodex {
}
fun getOrNull(rawIndex: Int?): BlockProp? {
if (rawIndex == null || rawIndex == Block.NULL) {
return null
}
try {
return blockProps[rawIndex]
}
catch (e: NullPointerException) {
throw NullPointerException("Blockprop with raw id $rawIndex does not exist.")
}
return blockProps[rawIndex]
}
private fun setProp(prop: BlockProp, record: CSVRecord) {
private fun setProp(key: Int, record: CSVRecord) {
val prop = BlockProp()
prop.nameKey = record.get("name")
prop.id = intVal(record, "id")
prop.id = if (key == -1) 0 else intVal(record, "id")
prop.drop = intVal(record, "drop")
prop.shadeColR = floatVal(record, "shdr") / LightmapRenderer.MUL_FLOAT
@@ -124,6 +122,7 @@ object BlockCodex {
prop.friction = intVal(record, "fr")
prop.viscosity = intVal(record, "vscs")
prop.colour = str16ToInt(record, "colour")
//prop.isFluid = boolVal(record, "fluid")
prop.isSolid = boolVal(record, "solid")
@@ -135,10 +134,25 @@ object BlockCodex {
prop.dynamicLuminosityFunction = intVal(record, "dlfn")
blockProps[key] = prop
print("${intVal(record, "id")}")
println("\t" + prop.nameKey)
}
private fun str16ToInt(rec: CSVRecord, s: String): Int {
var ret = 0
try {
ret = rec.get(s).toLong(16).toInt()
}
catch (e: NumberFormatException) {
}
catch (e1: IllegalStateException) {
}
return ret
}
private fun intVal(rec: CSVRecord, s: String): Int {
var ret = -1
try {

View File

@@ -22,6 +22,7 @@ class BlockProp {
var strength: Int = 0
var density: Int = 0
var viscosity: Int = 0
var colour: Int = 0
var isSolid: Boolean = false
//var isClear: Boolean = false

View File

@@ -28,12 +28,12 @@ import java.util.Properties;
public class CSVEditor extends JFrame {
/** Default columns. When you open existing csv, it should overwrite this. */
private String[] columns = new String[]{"id", "drop", "name", "shdr", "shdg", "shdb", "shduv", "str", "dsty", "mate", "solid", "plat", "wall", "fall", "dlfn", "fv", "fr", "lumr", "lumg", "lumb", "lumuv", "colour"};
private String[] columns = new String[]{"id", "drop", "name", "shdr", "shdg", "shdb", "shduv", "str", "dsty", "mate", "solid", "plat", "wall", "fall", "dlfn", "fv", "fr", "lumr", "lumg", "lumb", "lumuv", "colour", "vscs"};
private final int FOUR_DIGIT = 42;
private final int SIX_DIGIT = 50;
private final int TWO_DIGIT = 30;
private final int ARBITRARY = 240;
private int[] colWidth = new int[]{FOUR_DIGIT, FOUR_DIGIT, ARBITRARY, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, TWO_DIGIT, FOUR_DIGIT, FOUR_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, FOUR_DIGIT * 2};
private int[] colWidth = new int[]{FOUR_DIGIT, FOUR_DIGIT, ARBITRARY, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, TWO_DIGIT, FOUR_DIGIT, FOUR_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, FOUR_DIGIT * 2, TWO_DIGIT};
private final int UNDO_BUFFER_SIZE = 10;
@@ -500,7 +500,8 @@ public class CSVEditor extends JFrame {
"dlfn=Dynamic Light Function. 0=Static. Please see <strong>notes</strong>\n" +
"fv=Vertical friction when player slide on the cliff. 0 means not slide-able\n" +
"fr=Horizontal friction. &lt;16:slippery 16:regular &gt;16:sticky\n" +
"colour=Colour of the block in hexadecimal RGBA. Only makes sense for fluids (id >= 4096)\n";
"colour=[Fluids] Colour of the block in hexadecimal RGBA.\n" +
"vscs=[Fluids] Viscocity of the block. 16 for water.\n";
/**
* ¤ is used as a \n marker

View File

@@ -36,66 +36,70 @@ class EntryPoint : ModuleEntryPoint() {
// blocks.csvs are loaded by ModMgr beforehand
// block items (blocks and walls are the same thing basically)
for (i in ItemCodex.ITEM_TILES + ItemCodex.ITEM_WALLS) {
ItemCodex.itemCodex[i] = object : GameItem() {
override val originalID = i
override var dynamicID = i
override val isUnique: Boolean = false
override var baseMass: Double = BlockCodex[i].density / 1000.0
override var baseToolSize: Double? = null
override val originalName = BlockCodex[i % ItemCodex.ITEM_WALLS.first].nameKey
override var stackable = true
override var inventoryCategory = if (i in ItemCodex.ITEM_TILES) Category.BLOCK else Category.WALL
override var isDynamic = false
override val material = Material(0,0,0,0,0,0,0,0,0,0.0)
val blockProp = BlockCodex.getOrNull(i % ItemCodex.ITEM_WALLS.first)
init {
equipPosition = EquipPosition.HAND_GRIP
if (blockProp != null) {
ItemCodex.itemCodex[i] = object : GameItem() {
override val originalID = i
override var dynamicID = i
override val isUnique: Boolean = false
override var baseMass: Double = blockProp.density / 1000.0
override var baseToolSize: Double? = null
override val originalName = blockProp.nameKey
override var stackable = true
override var inventoryCategory = if (i in ItemCodex.ITEM_TILES) Category.BLOCK else Category.WALL
override var isDynamic = false
override val material = Material(0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0)
if (IS_DEVELOPMENT_BUILD)
print("$originalID ")
}
init {
equipPosition = EquipPosition.HAND_GRIP
override fun startPrimaryUse(delta: Float): Boolean {
val ingame = Terrarum.ingame!! as Ingame
if (IS_DEVELOPMENT_BUILD)
print("$originalID ")
}
val mousePoint = Point2d(Terrarum.mouseTileX.toDouble(), Terrarum.mouseTileY.toDouble())
override fun startPrimaryUse(delta: Float): Boolean {
val ingame = Terrarum.ingame!! as Ingame
// check for collision with actors (BLOCK only)
if (this.inventoryCategory == Category.BLOCK) {
ingame.actorContainerActive.forEach {
if (it is ActorWBMovable && it.hIntTilewiseHitbox.intersects(mousePoint))
return false
val mousePoint = Point2d(Terrarum.mouseTileX.toDouble(), Terrarum.mouseTileY.toDouble())
// check for collision with actors (BLOCK only)
if (this.inventoryCategory == Category.BLOCK) {
ingame.actorContainerActive.forEach {
if (it is ActorWBMovable && it.hIntTilewiseHitbox.intersects(mousePoint))
return false
}
}
}
// return false if the tile is already there
if (this.inventoryCategory == Category.BLOCK &&
this.dynamicID == ingame.world.getTileFromTerrain(Terrarum.mouseTileX, Terrarum.mouseTileY) ||
this.inventoryCategory == Category.WALL &&
this.dynamicID - ItemCodex.ITEM_WALLS.start == ingame.world.getTileFromWall(Terrarum.mouseTileX, Terrarum.mouseTileY) ||
this.inventoryCategory == Category.WIRE &&
this.dynamicID - ItemCodex.ITEM_WIRES.start == ingame.world.getTileFromWire(Terrarum.mouseTileX, Terrarum.mouseTileY)
)
return false
// filter passed, do the job
// FIXME this is only useful for Player
if (i in ItemCodex.ITEM_TILES) {
ingame.world.setTileTerrain(
Terrarum.mouseTileX,
Terrarum.mouseTileY,
i
// return false if the tile is already there
if (this.inventoryCategory == Category.BLOCK &&
this.dynamicID == ingame.world.getTileFromTerrain(Terrarum.mouseTileX, Terrarum.mouseTileY) ||
this.inventoryCategory == Category.WALL &&
this.dynamicID - ItemCodex.ITEM_WALLS.start == ingame.world.getTileFromWall(Terrarum.mouseTileX, Terrarum.mouseTileY) ||
this.inventoryCategory == Category.WIRE &&
this.dynamicID - ItemCodex.ITEM_WIRES.start == ingame.world.getTileFromWire(Terrarum.mouseTileX, Terrarum.mouseTileY)
)
}
else {
ingame.world.setTileWall(
Terrarum.mouseTileX,
Terrarum.mouseTileY,
i
)
}
return false
return true
// filter passed, do the job
// FIXME this is only useful for Player
if (i in ItemCodex.ITEM_TILES) {
ingame.world.setTileTerrain(
Terrarum.mouseTileX,
Terrarum.mouseTileY,
i
)
}
else {
ingame.world.setTileWall(
Terrarum.mouseTileX,
Terrarum.mouseTileY,
i
)
}
return true
}
}
}
}

View File

@@ -107,6 +107,8 @@ internal object BlocksDrawer {
//PixmapIO2.writeTGA(Gdx.files.absolute("${AppLoader.defaultDir}/atlasWinter.tga"), CreateTileAtlas.atlasWinter, false)
//printdbg(this, "Writing pixmap as tga: atlasSpring.tga")
//PixmapIO2.writeTGA(Gdx.files.absolute("${AppLoader.defaultDir}/atlasSpring.tga"), CreateTileAtlas.atlasSpring, false)
//printdbg(this, "Writing pixmap as tga: atlasFluid.tga")
//PixmapIO2.writeTGA(Gdx.files.absolute("${AppLoader.defaultDir}/atlasFluid.tga"), CreateTileAtlas.atlasFluid, false)
@@ -139,7 +141,7 @@ internal object BlocksDrawer {
val itemWallPixmap = Pixmap(16 * TILE_SIZE, TILES_IN_X * TILE_SIZE, Pixmap.Format.RGBA8888)
CreateTileAtlas.tags.toMap().forEach { t, u ->
val tilePosFromAtlas = u.atlasStartingPosition + maskTypetoTileIDForItemImage(u.maskType)
val tilePosFromAtlas = u.tileNumber + maskTypetoTileIDForItemImage(u.maskType)
val srcX = (tilePosFromAtlas % TILES_IN_X) * TILE_SIZE
val srcY = (tilePosFromAtlas / TILES_IN_X) * TILE_SIZE
val destX = (t % 16) * TILE_SIZE
@@ -347,7 +349,7 @@ internal object BlocksDrawer {
}
val renderTag = CreateTileAtlas.getRenderTag(thisTile)
val tileNumberBase = renderTag.atlasStartingPosition
val tileNumberBase = renderTag.tileNumber
val tileNumber = tileNumberBase + when (renderTag.maskType) {
CreateTileAtlas.RenderTag.MASK_NA -> 0
CreateTileAtlas.RenderTag.MASK_16 -> connectLut16[nearbyTilesInfo]

View File

@@ -2,12 +2,16 @@ package net.torvald.terrarum.worlddrawer
import com.badlogic.gdx.Gdx
import com.badlogic.gdx.files.FileHandle
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Pixmap
import com.badlogic.gdx.utils.GdxRuntimeException
import net.torvald.terrarum.AppLoader.printdbg
import net.torvald.terrarum.ModMgr
import net.torvald.terrarum.blockproperties.BlockCodex
import net.torvald.terrarum.blockproperties.Fluid
import net.torvald.terrarum.gameworld.GameWorld
import net.torvald.terrarum.toInt
import net.torvald.terrarum.worlddrawer.FeaturesDrawer.TILE_SIZE
import kotlin.math.roundToInt
/**
* This class implements work_files/dynamic_shape_2_0.psd
@@ -22,6 +26,7 @@ object CreateTileAtlas {
lateinit var atlasAutumn: Pixmap
lateinit var atlasWinter: Pixmap
lateinit var atlasSpring: Pixmap
lateinit var atlasFluid: Pixmap
internal lateinit var tags: HashMap<Int, RenderTag>
private set
private val defaultRenderTag = RenderTag(3, RenderTag.CONNECT_SELF, RenderTag.MASK_NA) // 'update' block
@@ -31,6 +36,7 @@ object CreateTileAtlas {
/** 0000.tga, 1.tga.gz, 3242423.tga, 000033.tga.gz */
// for right now, TGA file only, no gzip
private val validTerrainTilesFilename = Regex("""[0-9]+\.tga""")//Regex("""[0-9]+\.tga(.gz)?""")
private val validFluidTilesFilename = Regex("""fluid_[0-9]+\.tga""")
// 16 tiles are reserved for internal use: solid black, solid white, breakage stages.
// 0th tile is complete transparent tile and is also a BlockID of zero: air.
@@ -38,7 +44,7 @@ object CreateTileAtlas {
private val atlasInit = "./assets/graphics/blocks/init.tga"
/**
* Must be called AFTER mods' loading
* Must be called AFTER mods' loading so that all the block props are loaded
*/
operator fun invoke(updateExisting: Boolean = false) { if (updateExisting || !initialised) {
@@ -49,6 +55,7 @@ object CreateTileAtlas {
atlasAutumn = Pixmap(TILES_IN_X * TILE_SIZE, TILES_IN_X * TILE_SIZE, Pixmap.Format.RGBA8888)
atlasWinter = Pixmap(TILES_IN_X * TILE_SIZE, TILES_IN_X * TILE_SIZE, Pixmap.Format.RGBA8888)
atlasSpring = Pixmap(TILES_IN_X * TILE_SIZE, TILES_IN_X * TILE_SIZE, Pixmap.Format.RGBA8888)
atlasFluid = Pixmap(TILES_IN_X * TILE_SIZE, TILES_IN_X * TILE_SIZE, Pixmap.Format.RGBA8888)
val initMap = Pixmap(Gdx.files.internal(atlasInit))
@@ -57,21 +64,20 @@ object CreateTileAtlas {
// get all the files applicable
// first, get all the '/blocks' directory
// first, get all the '/blocks' directory, and add all the files, regardless of their extension, to the list
val tgaList = ArrayList<FileHandle>()
ModMgr.getGdxFilesFromEveryMod("blocks").forEach {
if (!it.isDirectory) {
throw Error("Path '${it.path()}' is not a directory")
}
// then, filter the file such that its name matches the regex
it.list { _, name -> name.matches(validTerrainTilesFilename) }.forEach { tgaFile ->
tgaList.add(tgaFile)
it.list().forEach { tgaFile ->
if (!tgaFile.isDirectory) tgaList.add(tgaFile)
}
}
// Sift through the file list, but TGA format first
tgaList.filter { it.extension().toUpperCase() == "TGA" }.forEach {
// Sift through the file list for blocks, but TGA format first
tgaList.filter { it.name().matches(validTerrainTilesFilename) && it.extension().toUpperCase() == "TGA" }.forEach {
try {
fileToAtlantes(it)
}
@@ -91,6 +97,72 @@ object CreateTileAtlas {
}*/
// Sift through the file list for fluids, but TGA format first
val fluidMasterPixmap = Pixmap(TILE_SIZE * 47, TILE_SIZE * 8, Pixmap.Format.RGBA8888)
tgaList.filter { it.name().matches(validFluidTilesFilename) && it.extension().toUpperCase() == "TGA" }.forEachIndexed { fluidLevel, it ->
val pixmap = Pixmap(it)
// dirty manual copy
repeat(5) {
fluidMasterPixmap.drawPixmap(pixmap,
it * TILE_SIZE * 7, fluidLevel * TILE_SIZE,
0, TILE_SIZE * it,
TILE_SIZE * 7, TILE_SIZE
)
}
repeat(2) {
fluidMasterPixmap.drawPixmap(pixmap,
(35 + it * 6) * TILE_SIZE, fluidLevel * TILE_SIZE,
0, TILE_SIZE * (5 + it),
TILE_SIZE * 6, TILE_SIZE
)
}
pixmap.dispose()
}
// test print
//PixmapIO2.writeTGA(Gdx.files.absolute("${AppLoader.defaultDir}/fluidpixmapmaster.tga"), fluidMasterPixmap, false)
// occupy the fluid pixmap with software rendering
for (i in BlockCodex.MAX_TERRAIN_TILES..BlockCodex.highestNumber) {
val fluid = Color(BlockCodex[i].colour)
// pixmap <- (color SCREEN fluidMasterPixmap)
// then occupy the atlasFluid
val pixmap = Pixmap(fluidMasterPixmap.width, fluidMasterPixmap.height, Pixmap.Format.RGBA8888)
for (y in 0 until pixmap.height) {
for (x in 0 until pixmap.width) {
val inColour = Color(fluidMasterPixmap.getPixel(x, y))
// SCREEN for RGB, MUL for A.
inColour.r = 1f - (1f - fluid.r) * (1f - inColour.r)
inColour.g = 1f - (1f - fluid.g) * (1f - inColour.g)
inColour.b = 1f - (1f - fluid.b) * (1f - inColour.b)
inColour.a = fluid.a * inColour.a
pixmap.drawPixel(x, y, inColour.toRGBA())
}
}
// test print
//PixmapIO2.writeTGA(Gdx.files.absolute("${AppLoader.defaultDir}/$i.tga"), pixmap, false)
// using the test print, I figured out that the output is alpha premultiplied.
// to the atlas
val atlasTargetPos = 1 + 47 * 8 * (i - BlockCodex.MAX_TERRAIN_TILES)
for (k in 0 until 47 * 8) {
val srcX = (k % 47) * TILE_SIZE
val srcY = (k / 47) * TILE_SIZE
val destX = ((atlasTargetPos + k) % TILES_IN_X) * TILE_SIZE
val destY = ((atlasTargetPos + k) / TILES_IN_X) * TILE_SIZE
atlasFluid.drawPixmap(pixmap, srcX, srcY, TILE_SIZE, TILE_SIZE, destX, destY, TILE_SIZE, TILE_SIZE)
}
pixmap.dispose()
}
fluidMasterPixmap.dispose()
initialised = true
} }
@@ -98,6 +170,12 @@ object CreateTileAtlas {
return tags.getOrDefault(blockID, defaultRenderTag)
}
fun fluidToTileNumber(fluid: GameWorld.FluidInfo): Int {
val fluidLevel = fluid.amount.coerceIn(0f, 1f).times(9).roundToInt()
return if (fluid.type == Fluid.NULL || fluidLevel == 0) 0 else
47 * 8 * (fluid.type.abs() - 1) + 47 * (fluidLevel - 1)
}
private fun fileToAtlantes(it: FileHandle) {
val tilesPixmap = Pixmap(it)
val blockID = it.nameWithoutExtension().toInt()
@@ -160,7 +238,7 @@ object CreateTileAtlas {
val txOfPixmap = pixmap.width / TILE_SIZE
val tyOfPixmap = pixmap.height / TILE_SIZE
for (i in 0 until tilesCount) {
printdbg(this, "Rendering to atlas, tile# $atlasCursor")
//printdbg(this, "Rendering to atlas, tile# $atlasCursor")
// different texture for different seasons (224x224)
if (seasonal) {
@@ -200,11 +278,12 @@ object CreateTileAtlas {
2 -> atlasAutumn.drawPixmap(pixmap, sourceX, sourceY, TILE_SIZE, TILE_SIZE, atlasX, atlasY, TILE_SIZE, TILE_SIZE)
3 -> atlasWinter.drawPixmap(pixmap, sourceX, sourceY, TILE_SIZE, TILE_SIZE, atlasX, atlasY, TILE_SIZE, TILE_SIZE)
4 -> atlasSpring.drawPixmap(pixmap, sourceX, sourceY, TILE_SIZE, TILE_SIZE, atlasX, atlasY, TILE_SIZE, TILE_SIZE)
5 -> atlasFluid.drawPixmap(pixmap, sourceX, sourceY, TILE_SIZE, TILE_SIZE, atlasX, atlasY, TILE_SIZE, TILE_SIZE)
}
}
}
data class RenderTag(val atlasStartingPosition: Int, val connectionType: Int, val maskType: Int) {
data class RenderTag(val tileNumber: Int, val connectionType: Int, val maskType: Int) {
companion object {
const val CONNECT_MUTUAL = 0
const val CONNECT_SELF = 1
@@ -233,6 +312,6 @@ object CreateTileAtlas {
atlasAutumn.dispose()
atlasWinter.dispose()
atlasSpring.dispose()
atlasFluid.dispose()
}
}