Tile -> Block && Map -> World
100
assets/locales/en/blocks.json
Normal file
@@ -0,0 +1,100 @@
|
||||
{
|
||||
"BLOCK_STONE": "Stone",
|
||||
"BLOCK_STONE_PLURAL": "Stones",
|
||||
"BLOCK_DIRT": "Dirt",
|
||||
"BLOCK_DIRT_PLURAL": "Dirts",
|
||||
"BLOCK_GRASS": "Grass",
|
||||
"BLOCK_GRAS_PLURALS": "Grasses",
|
||||
"BLOCK_PLANK_NORMAL": "Wooden planks",
|
||||
"BLOCK_PLANK_NORMAL_PLURAL": "Wooden planks",
|
||||
"BLOCK_PLANK_EBONY": "Ebony planks",
|
||||
"BLOCK_PLANK_EBONY_PLURAL": "Ebony planks",
|
||||
"BLOCK_PLANK_BIRCH": "Birch planks",
|
||||
"BLOCK_PLANK_BIRCH_PLURAL": "Birch planks",
|
||||
"BLOCK_PLANK_BLOODROSE": "Rosewood planks",
|
||||
"BLOCK_PLANK_BLOODROSE_PLURAL": "Rosewood planks",
|
||||
"BLOCK_TRUNK_NORMAL": "Oak log",
|
||||
"BLOCK_TRUNK_NORMAL_PLURAL": "Oak logs",
|
||||
"BLOCK_TRUNK_EBONY": "Ebony log",
|
||||
"BLOCK_TRUNK_EBONY_PLURAL": "Ebony logs",
|
||||
"BLOCK_TRUNK_BIRCH": "Birch log",
|
||||
"BLOCK_TRUNK_BIRCH_PLURAL": "Birch logs",
|
||||
"BLOCK_TRUNK_BLOODROSE": "Rosewood log",
|
||||
"BLOCK_TRUNK_BLOODROSE_PLURAL": "Rosewood logs",
|
||||
"BLOCK_STONE_QUARRIED": "Quarried stone",
|
||||
"BLOCK_STONE_QUARRIED_PLURAL": "Quarried stones",
|
||||
"BLOCK_SAND": "Sand",
|
||||
"BLOCK_SAND_PLURAL": "Sands",
|
||||
"BLOCK_SAND_WHITE": "White sand",
|
||||
"BLOCK_SAND_WHITE_PLURAL": "White sands",
|
||||
"BLOCK_SAND_RED": "Red sand",
|
||||
"BLOCK_SAND_RED_PLURAL": "Red sands",
|
||||
"BLOCK_SAND_DESERT": "Sand",
|
||||
"BLOCK_SAND_DESERT_PLURAL": "Sands",
|
||||
"BLOCK_SAND_BLACK": "Black sand",
|
||||
"BLOCK_SAND_BLACK_PLURAL": "Black sands",
|
||||
"BLOCK_SAND_GREEN": "Green sand",
|
||||
"BLOCK_SAND_GREEN_PLURAL": "Green sands",
|
||||
"BLOCK_GRAVEL": "Gravel",
|
||||
"BLOCK_GRAVEL_PLURAL": "Gravels",
|
||||
"BLOCK_ORE_MALACHITE": "Malachite",
|
||||
"BLOCK_ORE_MALACHITES": "Malachites",
|
||||
"BLOCK_ORE_HEMATITE": "Hematite",
|
||||
"BLOCK_ORE_HEMATITE_PLURAL": "Hematites",
|
||||
"BLOCK_ORE_NATURAL_GOLD": "Natural gold",
|
||||
"BLOCK_ORE_NATERAL_GOLD_PLURAL": "Natural golds",
|
||||
"BLOCK_ORE_NATURAL_SILVER": "Natural silver",
|
||||
"BLOCK_ORE_NATURAL_SILVER_PLURAL": "Natural silvers",
|
||||
"BLOCK_ORE_RUTILE": "Rutile",
|
||||
"BLOCK_ORE_RUTILE_PLURAL": "Rutiles",
|
||||
"BLOCK_ORE_AURICHALCUMITE": "Aurichalcumite",
|
||||
"BLOCK_ORE_AURICHALCUMITE_PLURAL": "Aurichalcumites",
|
||||
"BLOCK_GEM_RUBY": "Raw ruby",
|
||||
"BLOCK_GEM_RUBY_PLURAL": "Raw rubies",
|
||||
"BLOCK_GEM_EMERALD": "Raw emerald",
|
||||
"BLOCK_GEM_EMERALD_PLURAL": "Raw emeralds",
|
||||
"BLOCK_GEM_SAPPHIRE": "Raw sapphire",
|
||||
"BLOCK_GEM_SAPPHIRE_PLURAL": "Raw sapphires",
|
||||
"BLOCK_GEM_TOPAZ": "Raw topaz",
|
||||
"BLOCK_GEM_TOPAZ_PLURAL": "Raw topazes",
|
||||
"BLOCK_GEM_DIAMOND": "Raw diamond",
|
||||
"BLOCK_GEM_DIAMOND_PLURAL": "Raw diamonds",
|
||||
"BLOCK_GEM_AMETHYST": "Raw amethyst",
|
||||
"BLOCK_GEM_AMETHYST_PLURAL": "Raw amethysts",
|
||||
"BLOCK_SNOW": "Snow",
|
||||
"BLOCK_SNOW_PLURAL": "Snows",
|
||||
"BLOCK_ICE_FRAGILE": "Thin ice",
|
||||
"BLOCK_ICE_FRAGILE_PLURAL": "Thin ices",
|
||||
"BLOCK_ICE_NATURAL": "Ice",
|
||||
"BLOCK_ICE_NATURAL_PLURAL": "Ices",
|
||||
"BLOCK_ICE_CLEAR_MAGICAL": "Clear ice",
|
||||
"BLOCK_ICE_CLEAR_MAGICAL_PLURAL": "Clear ices",
|
||||
"BLOCK_PLATFORM_STONE": "Stone platform",
|
||||
"BLOCK_PLATFORM_STONE_PLURAL": "Stone platforms",
|
||||
"BLOCK_PLATFORM_WOODEN": "Wooden platform",
|
||||
"BLOCK_PLATFORM_WOODEN_PLURAL": "Wooden platforms",
|
||||
"BLOCK_PLATFORM_EBONY": "Ebony platform",
|
||||
"BLOCK_PLATFORM_EBONY_PLURAL": "Ebony platforms",
|
||||
"BLOCK_PLATFORM_BIRCH": "Birch platform",
|
||||
"BLOCK_PLATFORM_BIRCH_PLURAL": "Birch platforms",
|
||||
"BLOCK_PLATFORM_BLOODROSE": "Rosewood platform",
|
||||
"BLOCK_PLATFORM_BLOODROSE_PLURAL": "Rosewood platforms",
|
||||
"BLOCK_TORCH": "Torch",
|
||||
"BLOCK_TORCH_PLURAL": "Torches",
|
||||
"BLOCK_SANDSTONE": "Sandstone",
|
||||
"BLOCK_SANDSTONE_PLURAL": "Sandstones",
|
||||
"BLOCK_SANDSTONE_WHITE": "White sandstone",
|
||||
"BLOCK_SANDSTONE_WHITE_PLURAL": "White sandstones",
|
||||
"BLOCK_SANDSTONE_RED": "Red sandstone",
|
||||
"BLOCK_SANDSTONE_RED_PLURAL": "Red sandstones",
|
||||
"BLOCK_SANDSTONE_DESERT": "Sandstone",
|
||||
"BLOCK_SANDSTONE_DESERT_PLURAL": "Sandstones",
|
||||
"BLOCK_SANDSTONE_BLACK": "Black sandstone",
|
||||
"BLOCK_SANDSTONE_BLACK_PLURAL": "Black sandstones",
|
||||
"BLOCK_SANDSTONE_GREEN": "Green sandstone",
|
||||
"BLOCK_SANDSTONE_GREEN_PLURAL": "Green sandstones",
|
||||
"BLOCK_WATER": "Water",
|
||||
"BLOCK_WATER_PLURAL": "Waters",
|
||||
"BLOCK_LAVA": "Lava",
|
||||
"BLOCK_LAVA_PLURAL": "Lavas"
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
{
|
||||
"TILE_STONE": "Stone",
|
||||
"TILE_STONE_PLURAL": "Stones",
|
||||
"TILE_DIRT": "Dirt",
|
||||
"TILE_DIRT_PLURAL": "Dirts",
|
||||
"TILE_GRASS": "Grass",
|
||||
"TILE_GRAS_PLURALS": "Grasses",
|
||||
"TILE_PLANK_NORMAL": "Wooden planks",
|
||||
"TILE_PLANK_NORMAL_PLURAL": "Wooden planks",
|
||||
"TILE_PLANK_EBONY": "Ebony planks",
|
||||
"TILE_PLANK_EBONY_PLURAL": "Ebony planks",
|
||||
"TILE_PLANK_BIRCH": "Birch planks",
|
||||
"TILE_PLANK_BIRCH_PLURAL": "Birch planks",
|
||||
"TILE_PLANK_BLOODROSE": "Rosewood planks",
|
||||
"TILE_PLANK_BLOODROSE_PLURAL": "Rosewood planks",
|
||||
"TILE_TRUNK_NORMAL": "Oak log",
|
||||
"TILE_TRUNK_NORMAL_PLURAL": "Oak logs",
|
||||
"TILE_TRUNK_EBONY": "Ebony log",
|
||||
"TILE_TRUNK_EBONY_PLURAL": "Ebony logs",
|
||||
"TILE_TRUNK_BIRCH": "Birch log",
|
||||
"TILE_TRUNK_BIRCH_PLURAL": "Birch logs",
|
||||
"TILE_TRUNK_BLOODROSE": "Rosewood log",
|
||||
"TILE_TRUNK_BLOODROSE_PLURAL": "Rosewood logs",
|
||||
"TILE_STONE_QUARRIED": "Quarried stone",
|
||||
"TILE_STONE_QUARRIED_PLURAL": "Quarried stones",
|
||||
"TILE_SAND": "Sand",
|
||||
"TILE_SAND_PLURAL": "Sands",
|
||||
"TILE_SAND_WHITE": "White sand",
|
||||
"TILE_SAND_WHITE_PLURAL": "White sands",
|
||||
"TILE_SAND_RED": "Red sand",
|
||||
"TILE_SAND_RED_PLURAL": "Red sands",
|
||||
"TILE_SAND_DESERT": "Sand",
|
||||
"TILE_SAND_DESERT_PLURAL": "Sands",
|
||||
"TILE_SAND_BLACK": "Black sand",
|
||||
"TILE_SAND_BLACK_PLURAL": "Black sands",
|
||||
"TILE_SAND_GREEN": "Green sand",
|
||||
"TILE_SAND_GREEN_PLURAL": "Green sands",
|
||||
"TILE_GRAVEL": "Gravel",
|
||||
"TILE_GRAVEL_PLURAL": "Gravels",
|
||||
"TILE_ORE_MALACHITE": "Malachite",
|
||||
"TILE_ORE_MALACHITES": "Malachites",
|
||||
"TILE_ORE_HEMATITE": "Hematite",
|
||||
"TILE_ORE_HEMATITE_PLURAL": "Hematites",
|
||||
"TILE_ORE_NATURAL_GOLD": "Natural gold",
|
||||
"TILE_ORE_NATERAL_GOLD_PLURAL": "Natural golds",
|
||||
"TILE_ORE_NATURAL_SILVER": "Natural silver",
|
||||
"TILE_ORE_NATURAL_SILVER_PLURAL": "Natural silvers",
|
||||
"TILE_ORE_RUTILE": "Rutile",
|
||||
"TILE_ORE_RUTILE_PLURAL": "Rutiles",
|
||||
"TILE_ORE_AURICHALCUMITE": "Aurichalcumite",
|
||||
"TILE_ORE_AURICHALCUMITE_PLURAL": "Aurichalcumites",
|
||||
"TILE_GEM_RUBY": "Raw ruby",
|
||||
"TILE_GEM_RUBY_PLURAL": "Raw rubies",
|
||||
"TILE_GEM_EMERALD": "Raw emerald",
|
||||
"TILE_GEM_EMERALD_PLURAL": "Raw emeralds",
|
||||
"TILE_GEM_SAPPHIRE": "Raw sapphire",
|
||||
"TILE_GEM_SAPPHIRE_PLURAL": "Raw sapphires",
|
||||
"TILE_GEM_TOPAZ": "Raw topaz",
|
||||
"TILE_GEM_TOPAZ_PLURAL": "Raw topazes",
|
||||
"TILE_GEM_DIAMOND": "Raw diamond",
|
||||
"TILE_GEM_DIAMOND_PLURAL": "Raw diamonds",
|
||||
"TILE_GEM_AMETHYST": "Raw amethyst",
|
||||
"TILE_GEM_AMETHYST_PLURAL": "Raw amethysts",
|
||||
"TILE_SNOW": "Snow",
|
||||
"TILE_SNOW_PLURAL": "Snows",
|
||||
"TILE_ICE_FRAGILE": "Thin ice",
|
||||
"TILE_ICE_FRAGILE_PLURAL": "Thin ices",
|
||||
"TILE_ICE_NATURAL": "Ice",
|
||||
"TILE_ICE_NATURAL_PLURAL": "Ices",
|
||||
"TILE_ICE_CLEAR_MAGICAL": "Clear ice",
|
||||
"TILE_ICE_CLEAR_MAGICAL_PLURAL": "Clear ices",
|
||||
"TILE_PLATFORM_STONE": "Stone platform",
|
||||
"TILE_PLATFORM_STONE_PLURAL": "Stone platforms",
|
||||
"TILE_PLATFORM_WOODEN": "Wooden platform",
|
||||
"TILE_PLATFORM_WOODEN_PLURAL": "Wooden platforms",
|
||||
"TILE_PLATFORM_EBONY": "Ebony platform",
|
||||
"TILE_PLATFORM_EBONY_PLURAL": "Ebony platforms",
|
||||
"TILE_PLATFORM_BIRCH": "Birch platform",
|
||||
"TILE_PLATFORM_BIRCH_PLURAL": "Birch platforms",
|
||||
"TILE_PLATFORM_BLOODROSE": "Rosewood platform",
|
||||
"TILE_PLATFORM_BLOODROSE_PLURAL": "Rosewood platforms",
|
||||
"TILE_TORCH": "Torch",
|
||||
"TILE_TORCH_PLURAL": "Torches",
|
||||
"TILE_SANDSTONE": "Sandstone",
|
||||
"TILE_SANDSTONE_PLURAL": "Sandstones",
|
||||
"TILE_SANDSTONE_WHITE": "White sandstone",
|
||||
"TILE_SANDSTONE_WHITE_PLURAL": "White sandstones",
|
||||
"TILE_SANDSTONE_RED": "Red sandstone",
|
||||
"TILE_SANDSTONE_RED_PLURAL": "Red sandstones",
|
||||
"TILE_SANDSTONE_DESERT": "Sandstone",
|
||||
"TILE_SANDSTONE_DESERT_PLURAL": "Sandstones",
|
||||
"TILE_SANDSTONE_BLACK": "Black sandstone",
|
||||
"TILE_SANDSTONE_BLACK_PLURAL": "Black sandstones",
|
||||
"TILE_SANDSTONE_GREEN": "Green sandstone",
|
||||
"TILE_SANDSTONE_GREEN_PLURAL": "Green sandstones",
|
||||
"TILE_WATER": "Water",
|
||||
"TILE_WATER_PLURAL": "Waters",
|
||||
"TILE_LAVA": "Lava",
|
||||
"TILE_LAVA_PLURAL": "Lavas"
|
||||
}
|
||||
78
assets/locales/koKR/blocks.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"BLOCK_STONE": "돌",
|
||||
"BLOCK_STONE_PLURAL": "돌",
|
||||
"BLOCK_DIRT": "흙",
|
||||
"BLOCK_DIRT_PLURAL": "흙",
|
||||
"BLOCK_GRASS": "잔디",
|
||||
"BLOCK_GRAS_PLURALS": "잔디",
|
||||
"BLOCK_PLANK_NORMAL": "나무판자",
|
||||
"BLOCK_PLANK_NORMAL_PLURAL": "나무판자",
|
||||
"BLOCK_PLANK_EBONY": "검정 나무판자",
|
||||
"BLOCK_PLANK_EBONY_PLURAL": "검정 나무판자",
|
||||
"BLOCK_PLANK_BIRCH": "하양 나무판자",
|
||||
"BLOCK_PLANK_BIRCH_PLURAL": "하양 나무판자",
|
||||
"BLOCK_PLANK_BLOODROSE": "빨강 나무판자",
|
||||
"BLOCK_PLANK_BLOODROSE_PLURAL": "빨강 나무판자",
|
||||
"BLOCK_TRUNK_NORMAL": "통나무",
|
||||
"BLOCK_TRUNK_NORMAL_PLURAL": "통나무",
|
||||
"BLOCK_TRUNK_EBONY": "흑단나무",
|
||||
"BLOCK_TRUNK_EBONY_PLURAL": "흑단나무",
|
||||
"BLOCK_TRUNK_BIRCH": "자작나무",
|
||||
"BLOCK_TRUNK_BIRCH_PLURAL": "자작나무",
|
||||
"BLOCK_TRUNK_BLOODROSE": "자단나무",
|
||||
"BLOCK_TRUNK_BLOODROSE_PLURAL": "자단나무",
|
||||
"BLOCK_STONE_QUARRIED": "석재",
|
||||
"BLOCK_STONE_QUARRIED_PLURAL": "석재",
|
||||
"BLOCK_SAND": "모래",
|
||||
"BLOCK_SAND_PLURAL": "모래",
|
||||
"BLOCK_GRAVEL": "자갈",
|
||||
"BLOCK_GRAVEL_PLURAL": "자갈",
|
||||
"BLOCK_ORE_MALACHITE": "공작석",
|
||||
"BLOCK_ORE_MALACHITES": "공작석",
|
||||
"BLOCK_ORE_HEMATITE": "적철석",
|
||||
"BLOCK_ORE_HEMATITE_PLURAL": "적철석",
|
||||
"BLOCK_ORE_NATURAL_GOLD": "자연금",
|
||||
"BLOCK_ORE_NATERAL_GOLD_PLURAL": "자연금",
|
||||
"BLOCK_ORE_NATURAL_SILVER": "자연은",
|
||||
"BLOCK_ORE_NATURAL_SILVER_PLURAL": "자연은",
|
||||
"BLOCK_ORE_RUTILE": "금홍석",
|
||||
"BLOCK_ORE_RUTILE_PLURAL": "금홍석",
|
||||
"BLOCK_ORE_AURICHALCUMITE": "진금석",
|
||||
"BLOCK_ORE_AURICHALCUMITE_PLURAL": "진금석",
|
||||
"BLOCK_GEM_RUBY": "홍옥석",
|
||||
"BLOCK_GEM_RUBY_PLURAL": "홍옥석",
|
||||
"BLOCK_GEM_EMERALD": "취옥석",
|
||||
"BLOCK_GEM_EMERALD_PLURAL": "취옥석",
|
||||
"BLOCK_GEM_SAPPHIRE": "청옥석",
|
||||
"BLOCK_GEM_SAPPHIRE_PLURAL": "청옥석",
|
||||
"BLOCK_GEM_TOPAZ": "황옥석",
|
||||
"BLOCK_GEM_TOPAZ_PLURAL": "황옥석",
|
||||
"BLOCK_GEM_DIAMOND": "금강석",
|
||||
"BLOCK_GEM_DIAMOND_PLURAL": "금강석",
|
||||
"BLOCK_GEM_AMETHYST": "자수정석",
|
||||
"BLOCK_GEM_AMETHYST_PLURAL": "자수정석",
|
||||
"BLOCK_SNOW": "눈",
|
||||
"BLOCK_SNOW_PLURAL": "눈",
|
||||
"BLOCK_ICE_FRAGILE": "살얼음",
|
||||
"BLOCK_ICE_FRAGILE_PLURAL": "살얼음",
|
||||
"BLOCK_ICE_NATURAL": "얼음",
|
||||
"BLOCK_ICE_NATURAL_PLURAL": "얼음",
|
||||
"BLOCK_ICE_CLEAR_MAGICAL": "깨끗한 얼음",
|
||||
"BLOCK_ICE_CLEAR_MAGICAL_PLURAL": "깨끗한 얼음",
|
||||
"BLOCK_PLATFORM_STONE": "돌 발판",
|
||||
"BLOCK_PLATFORM_STONE_PLURAL": "돌 발판",
|
||||
"BLOCK_PLATFORM_WOODEN": "나무 발판",
|
||||
"BLOCK_PLATFORM_WOODEN_PLURAL": "나무 발판",
|
||||
"BLOCK_PLATFORM_EBONY": "흑단 발판",
|
||||
"BLOCK_PLATFORM_EBONY_PLURAL": "흑단 발판",
|
||||
"BLOCK_PLATFORM_BIRCH": "백단 발판",
|
||||
"BLOCK_PLATFORM_BIRCH_PLURAL": "백단 발판",
|
||||
"BLOCK_PLATFORM_BLOODROSE": "적단 발판",
|
||||
"BLOCK_PLATFORM_BLOODROSE_PLURAL": "적단 발판",
|
||||
"BLOCK_TORCH": "횃불",
|
||||
"BLOCK_TORCH_PLURAL": "횃불",
|
||||
"BLOCK_WATER": "물",
|
||||
"BLOCK_WATER_PLURAL": "물",
|
||||
"BLOCK_LAVA": "용암",
|
||||
"BLOCK_LAVA_PLURAL": "용암"
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
{
|
||||
"TILE_STONE": "돌",
|
||||
"TILE_STONE_PLURAL": "돌",
|
||||
"TILE_DIRT": "흙",
|
||||
"TILE_DIRT_PLURAL": "흙",
|
||||
"TILE_GRASS": "잔디",
|
||||
"TILE_GRAS_PLURALS": "잔디",
|
||||
"TILE_PLANK_NORMAL": "나무판자",
|
||||
"TILE_PLANK_NORMAL_PLURAL": "나무판자",
|
||||
"TILE_PLANK_EBONY": "검정 나무판자",
|
||||
"TILE_PLANK_EBONY_PLURAL": "검정 나무판자",
|
||||
"TILE_PLANK_BIRCH": "하양 나무판자",
|
||||
"TILE_PLANK_BIRCH_PLURAL": "하양 나무판자",
|
||||
"TILE_PLANK_BLOODROSE": "빨강 나무판자",
|
||||
"TILE_PLANK_BLOODROSE_PLURAL": "빨강 나무판자",
|
||||
"TILE_TRUNK_NORMAL": "통나무",
|
||||
"TILE_TRUNK_NORMAL_PLURAL": "통나무",
|
||||
"TILE_TRUNK_EBONY": "흑단나무",
|
||||
"TILE_TRUNK_EBONY_PLURAL": "흑단나무",
|
||||
"TILE_TRUNK_BIRCH": "자작나무",
|
||||
"TILE_TRUNK_BIRCH_PLURAL": "자작나무",
|
||||
"TILE_TRUNK_BLOODROSE": "자단나무",
|
||||
"TILE_TRUNK_BLOODROSE_PLURAL": "자단나무",
|
||||
"TILE_STONE_QUARRIED": "석재",
|
||||
"TILE_STONE_QUARRIED_PLURAL": "석재",
|
||||
"TILE_SAND": "모래",
|
||||
"TILE_SAND_PLURAL": "모래",
|
||||
"TILE_GRAVEL": "자갈",
|
||||
"TILE_GRAVEL_PLURAL": "자갈",
|
||||
"TILE_ORE_MALACHITE": "공작석",
|
||||
"TILE_ORE_MALACHITES": "공작석",
|
||||
"TILE_ORE_HEMATITE": "적철석",
|
||||
"TILE_ORE_HEMATITE_PLURAL": "적철석",
|
||||
"TILE_ORE_NATURAL_GOLD": "자연금",
|
||||
"TILE_ORE_NATERAL_GOLD_PLURAL": "자연금",
|
||||
"TILE_ORE_NATURAL_SILVER": "자연은",
|
||||
"TILE_ORE_NATURAL_SILVER_PLURAL": "자연은",
|
||||
"TILE_ORE_RUTILE": "금홍석",
|
||||
"TILE_ORE_RUTILE_PLURAL": "금홍석",
|
||||
"TILE_ORE_AURICHALCUMITE": "진금석",
|
||||
"TILE_ORE_AURICHALCUMITE_PLURAL": "진금석",
|
||||
"TILE_GEM_RUBY": "홍옥석",
|
||||
"TILE_GEM_RUBY_PLURAL": "홍옥석",
|
||||
"TILE_GEM_EMERALD": "취옥석",
|
||||
"TILE_GEM_EMERALD_PLURAL": "취옥석",
|
||||
"TILE_GEM_SAPPHIRE": "청옥석",
|
||||
"TILE_GEM_SAPPHIRE_PLURAL": "청옥석",
|
||||
"TILE_GEM_TOPAZ": "황옥석",
|
||||
"TILE_GEM_TOPAZ_PLURAL": "황옥석",
|
||||
"TILE_GEM_DIAMOND": "금강석",
|
||||
"TILE_GEM_DIAMOND_PLURAL": "금강석",
|
||||
"TILE_GEM_AMETHYST": "자수정석",
|
||||
"TILE_GEM_AMETHYST_PLURAL": "자수정석",
|
||||
"TILE_SNOW": "눈",
|
||||
"TILE_SNOW_PLURAL": "눈",
|
||||
"TILE_ICE_FRAGILE": "살얼음",
|
||||
"TILE_ICE_FRAGILE_PLURAL": "살얼음",
|
||||
"TILE_ICE_NATURAL": "얼음",
|
||||
"TILE_ICE_NATURAL_PLURAL": "얼음",
|
||||
"TILE_ICE_CLEAR_MAGICAL": "깨끗한 얼음",
|
||||
"TILE_ICE_CLEAR_MAGICAL_PLURAL": "깨끗한 얼음",
|
||||
"TILE_PLATFORM_STONE": "돌 발판",
|
||||
"TILE_PLATFORM_STONE_PLURAL": "돌 발판",
|
||||
"TILE_PLATFORM_WOODEN": "나무 발판",
|
||||
"TILE_PLATFORM_WOODEN_PLURAL": "나무 발판",
|
||||
"TILE_PLATFORM_EBONY": "흑단 발판",
|
||||
"TILE_PLATFORM_EBONY_PLURAL": "흑단 발판",
|
||||
"TILE_PLATFORM_BIRCH": "백단 발판",
|
||||
"TILE_PLATFORM_BIRCH_PLURAL": "백단 발판",
|
||||
"TILE_PLATFORM_BLOODROSE": "적단 발판",
|
||||
"TILE_PLATFORM_BLOODROSE_PLURAL": "적단 발판",
|
||||
"TILE_TORCH": "횃불",
|
||||
"TILE_TORCH_PLURAL": "횃불",
|
||||
"TILE_WATER": "물",
|
||||
"TILE_WATER_PLURAL": "물",
|
||||
"TILE_LAVA": "용암",
|
||||
"TILE_LAVA_PLURAL": "용암"
|
||||
}
|
||||
@@ -5,5 +5,6 @@ import net.torvald.terrarum.ModMgr
|
||||
*/
|
||||
|
||||
static void invoke(String module) {
|
||||
ModMgr.GameBlockLoader.invoke(module)
|
||||
ModMgr.GameItemLoader.invoke(module)
|
||||
}
|
||||
|
||||
171
assets/modules/basegame/blocks/blocks.csv
Normal file
@@ -0,0 +1,171 @@
|
||||
"id";"sid";"name" ; "opacity";"strength";"dsty";"mate";"fluid";"solid";"wall"; "lumcolor";"drop";"ddmg";"fall";"dlfn";"vscs";"fv";"friction"
|
||||
"0"; "0";"BLOCK_AIR" ; "8396808"; "1"; "1";"null"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "N/A"; "0";"4"
|
||||
"1"; "0";"BLOCK_STONE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "1";"BLOCK_STONE_QUARRIED" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "2";"BLOCK_STONE_TILE_WHITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "3";"BLOCK_STONE_BRICKS" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "0";"BLOCK_DIRT" ; "33587232"; "24";"1400";"dirt"; "0"; "1"; "1"; "0"; "2"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "1";"BLOCK_GRASS" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "2";"BLOCK_FOLIAGE_GREEN" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "3";"BLOCK_FOLIAGE_LIME" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "4";"BLOCK_FOLIAGE_GOLD" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "5";"BLOCK_FOLIAGE_RED" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "6";"BLOCK_FOLIAGE_ICEBLUE" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "7";"BLOCK_FOLIAGE_PURPLE" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "0";"BLOCK_PLANK_NORMAL" ; "33587232"; "16"; "740";"wood"; "0"; "1"; "1"; "0"; "3"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "1";"BLOCK_PLANK_EBONY" ; "33587232"; "19";"1200";"wood"; "0"; "1"; "1"; "0"; "3"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "2";"BLOCK_PLANK_BIRCH" ; "33587232"; "15"; "670";"wood"; "0"; "1"; "1"; "0"; "3"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "3";"BLOCK_PLANK_BLOODROSE" ; "33587232"; "17"; "900";"wood"; "0"; "1"; "1"; "0"; "3"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "0";"BLOCK_TRUNK_NORMAL" ; "33587232"; "16"; "740";"wood"; "0"; "1"; "0"; "0"; "3"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "1";"BLOCK_TRUNK_EBONY" ; "33587232"; "19";"1200";"wood"; "0"; "1"; "0"; "0"; "3"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "2";"BLOCK_TRUNK_BIRCH" ; "33587232"; "15"; "670";"wood"; "0"; "1"; "0"; "0"; "3"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "3";"BLOCK_TRUNK_BLOODROSE" ; "33587232"; "17"; "900";"wood"; "0"; "1"; "0"; "0"; "3"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"5"; "0";"BLOCK_SAND" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "0"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "1";"BLOCK_SAND_WHITE" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "1"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "2";"BLOCK_SAND_RED" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "2"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "3";"BLOCK_SAND_DESERT" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "3"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "4";"BLOCK_SAND_BLACK" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "4"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "5";"BLOCK_SAND_GREEN" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "5"; "1"; "0"; "N/A"; "0";"16"
|
||||
"6"; "0";"BLOCK_GRAVEL" ; "33587232"; "24";"2400";"grvl"; "0"; "1"; "0"; "0"; "6"; "0"; "1"; "0"; "N/A"; "0";"16"
|
||||
"6"; "1";"BLOCK_GRAVEL_GREY" ; "33587232"; "24";"2400";"grvl"; "0"; "1"; "0"; "0"; "6"; "1"; "1"; "0"; "N/A"; "0";"16"
|
||||
"7"; "0";"BLOCK_ORE_MALACHITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "1";"BLOCK_ORE_HEMATITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "2";"BLOCK_ORE_NATURAL_GOLD" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "3";"BLOCK_ORE_NATURAL_SILVER" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "4";"BLOCK_ORE_RUTILE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "5";"BLOCK_ORE_AURICHALCUMITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "0";"BLOCK_GEM_RUBY" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "1";"BLOCK_GEM_EMERALD" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "2";"BLOCK_GEM_SAPPHIRE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "3";"BLOCK_GEM_TOPAZ" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "4";"BLOCK_GEM_DIAMOND" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "5";"BLOCK_GEM_AMETHYST" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "0";"BLOCK_SNOW" ; "33587232"; "24"; "500";"snow"; "0"; "1"; "1"; "0"; "9"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "1";"BLOCK_ICE_FRAGILE" ; "13644813"; "5"; "930";"icei"; "0"; "1"; "0"; "0"; "9"; "1"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "2";"BLOCK_ICE_NATURAL" ; "27289626"; "35"; "930";"icei"; "0"; "1"; "1"; "0"; "9"; "2"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "3";"BLOCK_ICE_CLEAR_MAGICAL" ; "33587232"; "48";"3720";"icex"; "0"; "1"; "1"; "19955770"; "9"; "3"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "4";"BLOCK_GLASS_CRUDE" ; "3146755"; "5";"2500";"glas"; "0"; "1"; "1"; "0"; "9"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "5";"BLOCK_GLASS_CLEAN" ; "1049601"; "5";"2203";"glas"; "0"; "1"; "1"; "0"; "9"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "0";"BLOCK_PLATFORM_STONE" ; "8396808"; "5"; "N/A";"rock"; "0"; "0"; "0"; "0"; "10"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "1";"BLOCK_PLATFORM_WOODEN" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "2";"BLOCK_PLATFORM_EBONY" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "3";"BLOCK_PLATFORM_BIRCH" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "4";"BLOCK_PLATFORM_BLOODROSE" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"11"; "0";"BLOCK_TORCH" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "267553792"; "11"; "0"; "0"; "1"; "N/A"; "0";"16"
|
||||
"11"; "1";"BLOCK_TORCH_FROST" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "81916159"; "11"; "1"; "0"; "1"; "N/A"; "0";"16"
|
||||
"12"; "0";"BLOCK_TORCH" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "0"; "11"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"12"; "1";"BLOCK_TORCH_FROST" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "0"; "11"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "0";"BLOCK_ILLUMINATOR_WHITE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "239319274"; "13"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "1";"BLOCK_ILLUMINATOR_YELLOW" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "267607040"; "13"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "2";"BLOCK_ILLUMINATOR_ORANGE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "267546624"; "13"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "3";"BLOCK_ILLUMINATOR_RED" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "246415360"; "13"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "4";"BLOCK_ILLUMINATOR_FUCHSIA" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "246415543"; "13"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "5";"BLOCK_ILLUMINATOR_PURPLE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "191889643"; "13"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "6";"BLOCK_ILLUMINATOR_BLUE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "52479"; "13"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "7";"BLOCK_ILLUMINATOR_CYAN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "219391"; "13"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "8";"BLOCK_ILLUMINATOR_GREEN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "56884224"; "13"; "8"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "9";"BLOCK_ILLUMINATOR_GREEN_DARK";"8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "33660928"; "13"; "9"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "10";"BLOCK_ILLUMINATOR_BROWN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "89161728"; "13"; "10"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "11";"BLOCK_ILLUMINATOR_TAN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "157392948"; "13"; "11"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "12";"BLOCK_ILLUMINATOR_GREY_LIGHT";"8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "198374589"; "13"; "12"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "13";"BLOCK_ILLUMINATOR_GREY_MED"; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "122803317"; "13"; "13"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "14";"BLOCK_ILLUMINATOR_GREY_DARK"; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "68224065"; "13"; "14"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "15";"BLOCK_ILLUMINATOR_BLACK" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "116392191"; "13"; "15"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "0";"BLOCK_ILLUMINATOR_WHITE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "1";"BLOCK_ILLUMINATOR_YELLOW" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "2";"BLOCK_ILLUMINATOR_ORANGE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "3";"BLOCK_ILLUMINATOR_RED" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "4";"BLOCK_ILLUMINATOR_FUCHSIA" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "5";"BLOCK_ILLUMINATOR_PURPLE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "6";"BLOCK_ILLUMINATOR_BLUE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "7";"BLOCK_ILLUMINATOR_CYAN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "8";"BLOCK_ILLUMINATOR_GREEN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "8"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "9";"BLOCK_ILLUMINATOR_GREEN_DARK";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "9"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "10";"BLOCK_ILLUMINATOR_BROWN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "10"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "11";"BLOCK_ILLUMINATOR_TAN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "11"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "12";"BLOCK_ILLUMINATOR_GREY_LIGHT";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "12"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "13";"BLOCK_ILLUMINATOR_GREY_MED"; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "13"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "14";"BLOCK_ILLUMINATOR_GREY_DARK";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "14"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "15";"BLOCK_ILLUMINATOR_BLACK" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "15"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "0";"BLOCK_SANDSTONE" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "1";"BLOCK_SANDSTONE_WHITE" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "2";"BLOCK_SANDSTONE_RED" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "3";"BLOCK_SANDSTONE_DESERT" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "4";"BLOCK_SANDSTONE_BLACK" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "5";"BLOCK_SANDSTONE_GREEN" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"16"; "0";"BLOCK_LANTERN_IRON_REGULAR"; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "267553792"; "16"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"16"; "1";"BLOCK_SUNSTONE" ; "33587232"; "1"; "N/A";"rock"; "0"; "1"; "0"; "0"; "16"; "1"; "0"; "2"; "N/A"; "0";"16"
|
||||
"16"; "2";"BLOCK_DAYLIGHT_CAPACITOR" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "0"; "0"; "16"; "2"; "0"; "3"; "N/A"; "0";"16"
|
||||
"254"; "0";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "1";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "2";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "3";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "4";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "5";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "6";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "7";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "8";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "9";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "10";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "11";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "12";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "13";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "14";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "15";"BLOCK_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"255"; "0";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "1";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "2";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "3";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "4";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "5";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "6";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "7";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "8";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "9";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "10";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "11";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "12";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "13";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "14";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "15";"BLOCK_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"0"; "-1";"BLOCK_NULL" ;"1073741823"; "-1";"2600";"null"; "0"; "0"; "1"; "0"; "N/A"; "N/A"; "0"; "0"; "N/A"; "0";"16"
|
||||
|
||||
## Notes ##
|
||||
|
||||
# Friction: 0: frictionless, <16: slippery, 16: regular, >16: sticky
|
||||
|
||||
# Opacity/Lumcolor: 30-bit RGB. Only the light diffusers have a opacity value of ZERO.
|
||||
|
||||
# Solid: whether the tile has full collision
|
||||
|
||||
# vscs: viscosity, (velocity) / (1 + (n/16)), 16 halves movement speed, can be used to non-fluid tiles (sticky hazard, tarmac road in Terraria)
|
||||
|
||||
# dsty: density. As we are putting water an 1000, it is identical to specific gravity. [g/l]
|
||||
|
||||
# dlfn: dynamic luminosity function.
|
||||
# 0-static, 1-torch flicker, 2-current global light (sun, star, moon), 3-daylight at noon,
|
||||
# 4-slow breath, 5-pulsate
|
||||
|
||||
# mate: material, four-letter code
|
||||
|
||||
# fv: vertical friction (boolean)
|
||||
|
||||
|
||||
## Illuminators ##
|
||||
|
||||
# Illuminator white: RGB(228,238,234), simulation of a halophosphate FL lamp (If you want high CRI lamp, collect a daylight!)
|
||||
# Defalut torch : Y 64 x 0.55183 y 0.40966 (Planckian ~1 770 K); real candlelight colour taken from Spyder5 colorimeter (for I couldn't afford i1DisplayPro/Colormunki)
|
||||
# Sunstone: Artificial sunlight, change colour over time in sync with sunlight. The light is set by game's code.
|
||||
# Sunlight capacitor: daylight at noon. Set by game's code.
|
||||
|
||||
|
||||
## Tiles ##
|
||||
|
||||
# 16 colour palette : games's 16-colour palette
|
||||
# Magical ice: theoretical __metallic__ ice that might form under super-high pressure (> 5 TPa). Its density is a wild guess.
|
||||
|
||||
|
||||
## References ##
|
||||
|
||||
# * Density of various woods : http://www.engineeringtoolbox.com/wood-density-d_40.html
|
||||
# * Density of various phases of ice : http://www1.lsbu.ac.uk/water/ice_phases.html
|
||||
|
Can't render this file because it contains an unexpected character in line 1 and column 18.
|
@@ -8,10 +8,12 @@ import net.torvald.point.Point2d
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.AVKey
|
||||
import net.torvald.terrarum.gameactors.ActorWithPhysics
|
||||
import net.torvald.terrarum.itemproperties.Calculate
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem
|
||||
import net.torvald.terrarum.itemproperties.Material
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
// following two are NOT UNUSED!
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem.EquipPosition
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem.Category
|
||||
import org.jetbrains.annotations.NotNull
|
||||
import org.newdawn.slick.GameContainer
|
||||
|
||||
@@ -32,8 +34,8 @@ class TestPick extends InventoryItem {
|
||||
boolean stackable = true
|
||||
int maxDurability = 147
|
||||
float durability = maxDurability
|
||||
int equipPosition = 9 //EquipPosition.HAND_GRIP
|
||||
String inventoryCategory = "tool" //Category.TOOL
|
||||
int equipPosition = EquipPosition.HAND_GRIP
|
||||
String inventoryCategory = Category.TOOL
|
||||
|
||||
// !! TEST MATERIAL !!
|
||||
Material material = new Material(0,0,0,0,0,0,0,0,1,0.0)
|
||||
@@ -72,7 +74,7 @@ class TestPick extends InventoryItem {
|
||||
})
|
||||
|
||||
// return false if here's no tile
|
||||
if (Tile.AIR == Terrarum.ingame.world.getTileFromTerrain(mouseTileX, mouseTileY))
|
||||
if (Block.AIR == Terrarum.ingame.world.getTileFromTerrain(mouseTileX, mouseTileY))
|
||||
return false
|
||||
|
||||
// filter passed, do the job
|
||||
|
||||
@@ -1,171 +0,0 @@
|
||||
"id";"sid";"name" ; "opacity";"strength";"dsty";"mate";"fluid";"solid";"wall"; "lumcolor";"drop";"ddmg";"fall";"dlfn";"vscs";"fv";"friction"
|
||||
"0"; "0";"TILE_AIR" ; "8396808"; "1"; "1";"null"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "N/A"; "0";"4"
|
||||
"1"; "0";"TILE_STONE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "1";"TILE_STONE_QUARRIED" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "2";"TILE_STONE_TILE_WHITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "3";"TILE_STONE_BRICKS" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "0";"TILE_DIRT" ; "33587232"; "24";"1400";"dirt"; "0"; "1"; "1"; "0"; "2"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "1";"TILE_GRASS" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "2";"TILE_FOLIAGE_GREEN" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "3";"TILE_FOLIAGE_LIME" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "4";"TILE_FOLIAGE_GOLD" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "5";"TILE_FOLIAGE_RED" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "6";"TILE_FOLIAGE_ICEBLUE" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "7";"TILE_FOLIAGE_PURPLE" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "0";"TILE_PLANK_NORMAL" ; "33587232"; "16"; "740";"wood"; "0"; "1"; "1"; "0"; "3"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "1";"TILE_PLANK_EBONY" ; "33587232"; "19";"1200";"wood"; "0"; "1"; "1"; "0"; "3"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "2";"TILE_PLANK_BIRCH" ; "33587232"; "15"; "670";"wood"; "0"; "1"; "1"; "0"; "3"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "3";"TILE_PLANK_BLOODROSE" ; "33587232"; "17"; "900";"wood"; "0"; "1"; "1"; "0"; "3"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "0";"TILE_TRUNK_NORMAL" ; "33587232"; "16"; "740";"wood"; "0"; "1"; "0"; "0"; "3"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "1";"TILE_TRUNK_EBONY" ; "33587232"; "19";"1200";"wood"; "0"; "1"; "0"; "0"; "3"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "2";"TILE_TRUNK_BIRCH" ; "33587232"; "15"; "670";"wood"; "0"; "1"; "0"; "0"; "3"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "3";"TILE_TRUNK_BLOODROSE" ; "33587232"; "17"; "900";"wood"; "0"; "1"; "0"; "0"; "3"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"5"; "0";"TILE_SAND" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "0"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "1";"TILE_SAND_WHITE" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "1"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "2";"TILE_SAND_RED" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "2"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "3";"TILE_SAND_DESERT" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "3"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "4";"TILE_SAND_BLACK" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "4"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "5";"TILE_SAND_GREEN" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "5"; "1"; "0"; "N/A"; "0";"16"
|
||||
"6"; "0";"TILE_GRAVEL" ; "33587232"; "24";"2400";"grvl"; "0"; "1"; "0"; "0"; "6"; "0"; "1"; "0"; "N/A"; "0";"16"
|
||||
"6"; "1";"TILE_GRAVEL_GREY" ; "33587232"; "24";"2400";"grvl"; "0"; "1"; "0"; "0"; "6"; "1"; "1"; "0"; "N/A"; "0";"16"
|
||||
"7"; "0";"TILE_ORE_MALACHITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "1";"TILE_ORE_HEMATITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "2";"TILE_ORE_NATURAL_GOLD" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "3";"TILE_ORE_NATURAL_SILVER" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "4";"TILE_ORE_RUTILE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "5";"TILE_ORE_AURICHALCUMITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "0";"TILE_GEM_RUBY" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "1";"TILE_GEM_EMERALD" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "2";"TILE_GEM_SAPPHIRE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "3";"TILE_GEM_TOPAZ" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "4";"TILE_GEM_DIAMOND" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "5";"TILE_GEM_AMETHYST" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "0";"TILE_SNOW" ; "33587232"; "24"; "500";"snow"; "0"; "1"; "1"; "0"; "9"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "1";"TILE_ICE_FRAGILE" ; "13644813"; "5"; "930";"icei"; "0"; "1"; "0"; "0"; "9"; "1"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "2";"TILE_ICE_NATURAL" ; "27289626"; "35"; "930";"icei"; "0"; "1"; "1"; "0"; "9"; "2"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "3";"TILE_ICE_CLEAR_MAGICAL" ; "33587232"; "48";"3720";"icex"; "0"; "1"; "1"; "19955770"; "9"; "3"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "4";"TILE_GLASS_CRUDE" ; "3146755"; "5";"2500";"glas"; "0"; "1"; "1"; "0"; "9"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "5";"TILE_GLASS_CLEAN" ; "1049601"; "5";"2203";"glas"; "0"; "1"; "1"; "0"; "9"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "0";"TILE_PLATFORM_STONE" ; "8396808"; "5"; "N/A";"rock"; "0"; "0"; "0"; "0"; "10"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "1";"TILE_PLATFORM_WOODEN" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "2";"TILE_PLATFORM_EBONY" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "3";"TILE_PLATFORM_BIRCH" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "4";"TILE_PLATFORM_BLOODROSE" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"11"; "0";"TILE_TORCH" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "267553792"; "11"; "0"; "0"; "1"; "N/A"; "0";"16"
|
||||
"11"; "1";"TILE_TORCH_FROST" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "81916159"; "11"; "1"; "0"; "1"; "N/A"; "0";"16"
|
||||
"12"; "0";"TILE_TORCH" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "0"; "11"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"12"; "1";"TILE_TORCH_FROST" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "0"; "11"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "0";"TILE_ILLUMINATOR_WHITE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "239319274"; "13"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "1";"TILE_ILLUMINATOR_YELLOW" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "267607040"; "13"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "2";"TILE_ILLUMINATOR_ORANGE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "267546624"; "13"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "3";"TILE_ILLUMINATOR_RED" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "246415360"; "13"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "4";"TILE_ILLUMINATOR_FUCHSIA" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "246415543"; "13"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "5";"TILE_ILLUMINATOR_PURPLE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "191889643"; "13"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "6";"TILE_ILLUMINATOR_BLUE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "52479"; "13"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "7";"TILE_ILLUMINATOR_CYAN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "219391"; "13"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "8";"TILE_ILLUMINATOR_GREEN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "56884224"; "13"; "8"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "9";"TILE_ILLUMINATOR_GREEN_DARK";"8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "33660928"; "13"; "9"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "10";"TILE_ILLUMINATOR_BROWN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "89161728"; "13"; "10"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "11";"TILE_ILLUMINATOR_TAN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "157392948"; "13"; "11"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "12";"TILE_ILLUMINATOR_GREY_LIGHT";"8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "198374589"; "13"; "12"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "13";"TILE_ILLUMINATOR_GREY_MED"; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "122803317"; "13"; "13"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "14";"TILE_ILLUMINATOR_GREY_DARK"; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "68224065"; "13"; "14"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "15";"TILE_ILLUMINATOR_BLACK" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "116392191"; "13"; "15"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "0";"TILE_ILLUMINATOR_WHITE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "1";"TILE_ILLUMINATOR_YELLOW" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "2";"TILE_ILLUMINATOR_ORANGE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "3";"TILE_ILLUMINATOR_RED" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "4";"TILE_ILLUMINATOR_FUCHSIA" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "5";"TILE_ILLUMINATOR_PURPLE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "6";"TILE_ILLUMINATOR_BLUE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "7";"TILE_ILLUMINATOR_CYAN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "8";"TILE_ILLUMINATOR_GREEN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "8"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "9";"TILE_ILLUMINATOR_GREEN_DARK";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "9"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "10";"TILE_ILLUMINATOR_BROWN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "10"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "11";"TILE_ILLUMINATOR_TAN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "11"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "12";"TILE_ILLUMINATOR_GREY_LIGHT";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "12"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "13";"TILE_ILLUMINATOR_GREY_MED"; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "13"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "14";"TILE_ILLUMINATOR_GREY_DARK";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "14"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "15";"TILE_ILLUMINATOR_BLACK" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "15"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "0";"TILE_SANDSTONE" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "1";"TILE_SANDSTONE_WHITE" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "2";"TILE_SANDSTONE_RED" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "3";"TILE_SANDSTONE_DESERT" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "4";"TILE_SANDSTONE_BLACK" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "5";"TILE_SANDSTONE_GREEN" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"16"; "0";"TILE_LANTERN_IRON_REGULAR"; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "267553792"; "16"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"16"; "1";"TILE_SUNSTONE" ; "33587232"; "1"; "N/A";"rock"; "0"; "1"; "0"; "0"; "16"; "1"; "0"; "2"; "N/A"; "0";"16"
|
||||
"16"; "2";"TILE_DAYLIGHT_CAPACITOR" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "0"; "0"; "16"; "2"; "0"; "3"; "N/A"; "0";"16"
|
||||
"254"; "0";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "1";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "2";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "3";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "4";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "5";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "6";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "7";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "8";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "9";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "10";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "11";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "12";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "13";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "14";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "15";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"255"; "0";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "1";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "2";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "3";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "4";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "5";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "6";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "7";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "8";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "9";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "10";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "11";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "12";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "13";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "14";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "15";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"0"; "-1";"TILE_NULL" ;"1073741823"; "-1";"2600";"null"; "0"; "0"; "1"; "0"; "N/A"; "N/A"; "0"; "0"; "N/A"; "0";"16"
|
||||
|
||||
## Notes ##
|
||||
|
||||
# Friction: 0: frictionless, <16: slippery, 16: regular, >16: sticky
|
||||
|
||||
# Opacity/Lumcolor: 30-bit RGB. Only the light diffusers have a opacity value of ZERO.
|
||||
|
||||
# Solid: whether the tile has full collision
|
||||
|
||||
# vscs: viscosity, (velocity) / (1 + (n/16)), 16 halves movement speed, can be used to non-fluid tiles (sticky hazard, tarmac road in Terraria)
|
||||
|
||||
# dsty: density. As we are putting water an 1000, it is identical to specific gravity. [g/l]
|
||||
|
||||
# dlfn: dynamic luminosity function.
|
||||
# 0-static, 1-torch flicker, 2-current global light (sun, star, moon), 3-daylight at noon,
|
||||
# 4-slow breath, 5-pulsate
|
||||
|
||||
# mate: material, four-letter code
|
||||
|
||||
# fv: vertical friction (boolean)
|
||||
|
||||
|
||||
## Illuminators ##
|
||||
|
||||
# Illuminator white: RGB(228,238,234), simulation of a halophosphate FL lamp (If you want high CRI lamp, collect a daylight!)
|
||||
# Defalut torch : Y 64 x 0.55183 y 0.40966 (Planckian ~1 770 K); real candlelight colour taken from Spyder5 colorimeter (for I couldn't afford i1DisplayPro/Colormunki)
|
||||
# Sunstone: Artificial sunlight, change colour over time in sync with sunlight. The light is set by game's code.
|
||||
# Sunlight capacitor: daylight at noon. Set by game's code.
|
||||
|
||||
|
||||
## Tiles ##
|
||||
|
||||
# 16 colour palette : games's 16-colour palette
|
||||
# Magical ice: theoretical __metallic__ ice that might form under super-high pressure (> 5 TPa). Its density is a wild guess.
|
||||
|
||||
|
||||
## References ##
|
||||
|
||||
# * Density of various woods : http://www.engineeringtoolbox.com/wood-density-d_40.html
|
||||
# * Density of various phases of ice : http://www1.lsbu.ac.uk/water/ice_phases.html
|
||||
|
Can't render this file because it contains an unexpected character in line 1 and column 18.
|
@@ -21,7 +21,7 @@ object CSVFetcher {
|
||||
csvString = StringBuffer() // reset buffer every time it called
|
||||
readCSVasString(csvFilePath)
|
||||
|
||||
println("Reading CSV $csvFilePath")
|
||||
println("[CSVFetcher] Reading CSV $csvFilePath")
|
||||
|
||||
val csvParser = CSVParser.parse(
|
||||
csvString!!.toString(),
|
||||
|
||||
@@ -22,7 +22,7 @@ object JsonFetcher {
|
||||
jsonString = StringBuffer() // reset buffer every time it called
|
||||
readJsonFileAsString(jsonFilePath)
|
||||
|
||||
println("Reading JSON $jsonFilePath")
|
||||
println("[JsonFetcher] Reading JSON $jsonFilePath")
|
||||
|
||||
val jsonParser = JsonParser()
|
||||
val jsonObj = jsonParser.parse(jsonString!!.toString()).asJsonObject
|
||||
@@ -35,7 +35,7 @@ object JsonFetcher {
|
||||
jsonString = StringBuffer() // reset buffer every time it called
|
||||
readJsonFileAsString(jsonFile.canonicalPath)
|
||||
|
||||
println("Reading JSON ${jsonFile.path}")
|
||||
println("[JsonFetcher] Reading JSON ${jsonFile.path}")
|
||||
|
||||
val jsonParser = JsonParser()
|
||||
val jsonObj = jsonParser.parse(jsonString!!.toString()).asJsonObject
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
package net.torvald.serialise
|
||||
|
||||
import net.torvald.CSVFetcher
|
||||
import net.torvald.terrarum.itemproperties.ItemCodex
|
||||
import net.torvald.terrarum.itemproperties.MaterialCodex
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import java.io.IOException
|
||||
import java.nio.file.Files
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.Paths
|
||||
import java.nio.file.StandardCopyOption
|
||||
|
||||
@@ -20,7 +15,7 @@ object WriteCSV {
|
||||
val META_FILENAME_MAT = "worldinfo4"
|
||||
|
||||
fun write(saveDirectoryName: String): Boolean {
|
||||
//val tileCSV = CSVFetcher.readCSVasString(TileCodex.CSV_PATH)
|
||||
//val tileCSV = CSVFetcher.readCSVasString(BlockCodex.CSV_PATH)
|
||||
//val itemCSV = CSVFetcher.readCSVasString(ItemCodex.CSV_PATH)
|
||||
//val matCSV = CSVFetcher.readCSVasString(MaterialCodex.CSV_PATH)
|
||||
|
||||
|
||||
@@ -1,18 +1,8 @@
|
||||
package net.torvald.serialise
|
||||
|
||||
import net.torvald.terrarum.mapgenerator.WorldGenerator
|
||||
import net.torvald.terrarum.mapgenerator.RoguelikeRandomiser
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.itemproperties.ItemCodex
|
||||
import net.torvald.terrarum.itemproperties.MaterialCodex
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import org.apache.commons.codec.digest.DigestUtils
|
||||
import java.io.FileInputStream
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import net.torvald.terrarum.worldgenerator.WorldGenerator
|
||||
import net.torvald.terrarum.worldgenerator.RoguelikeRandomiser
|
||||
import java.nio.charset.Charset
|
||||
import java.nio.file.*
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-03-15.
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.torvald.terrarum
|
||||
import net.torvald.CSVFetcher
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem
|
||||
import net.torvald.terrarum.itemproperties.ItemCodex
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import org.apache.commons.csv.CSVFormat
|
||||
import org.apache.commons.csv.CSVParser
|
||||
import java.io.File
|
||||
@@ -26,6 +27,10 @@ import javax.script.Invocable
|
||||
*/
|
||||
object ModMgr {
|
||||
|
||||
val groovyEngine = ScriptEngineManager().getEngineByExtension("groovy")!!
|
||||
val groovyInvocable = groovyEngine as Invocable
|
||||
|
||||
|
||||
data class ModuleMetadata(
|
||||
val order: Int,
|
||||
val isDir: Boolean,
|
||||
@@ -80,6 +85,7 @@ object ModMgr {
|
||||
}
|
||||
|
||||
|
||||
// lists available engines
|
||||
/*val manager = ScriptEngineManager()
|
||||
val factories = manager.engineFactories
|
||||
for (f in factories) {
|
||||
@@ -131,24 +137,27 @@ object ModMgr {
|
||||
|
||||
|
||||
|
||||
object GameItemLoader {
|
||||
object GameBlockLoader {
|
||||
val blockPath = "blocks/"
|
||||
|
||||
@JvmStatic operator fun invoke(module: String) {
|
||||
BlockCodex(module, blockPath + "blocks.csv")
|
||||
}
|
||||
}
|
||||
|
||||
object GameItemLoader {
|
||||
val itemPath = "items/"
|
||||
|
||||
@JvmStatic operator fun invoke(module: String) {
|
||||
val engine = ScriptEngineManager().getEngineByExtension("groovy")!!
|
||||
val invocable = engine as Invocable
|
||||
|
||||
val csv = CSVFetcher.readFromModule(module, itemPath + "itemid.csv")
|
||||
csv.forEach {
|
||||
val filename = it["filename"].toString()
|
||||
val script = getFile(module, itemPath + filename).readText()
|
||||
val itemID = it["id"].toInt()
|
||||
|
||||
engine.eval(script)
|
||||
ItemCodex[itemID] = invocable.invokeFunction("invoke", itemID) as InventoryItem
|
||||
groovyEngine.eval(script)
|
||||
ItemCodex[itemID] = groovyInvocable.invokeFunction("invoke", itemID) as InventoryItem
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,6 @@ import net.torvald.dataclass.CircularArray
|
||||
import net.torvald.imagefont.GameFontBase
|
||||
import net.torvald.random.HQRNG
|
||||
import net.torvald.terrarum.Terrarum.delta
|
||||
import net.torvald.terrarum.audio.AudioResourceLibrary
|
||||
import net.torvald.terrarum.concurrent.ThreadParallel
|
||||
import net.torvald.terrarum.console.*
|
||||
import net.torvald.terrarum.gameactors.ActorHumanoid
|
||||
@@ -13,36 +12,27 @@ import net.torvald.terrarum.gameactors.physicssolver.CollisionSolver
|
||||
import net.torvald.terrarum.gamecontroller.GameController
|
||||
import net.torvald.terrarum.gamecontroller.Key
|
||||
import net.torvald.terrarum.gamecontroller.KeyToggler
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem
|
||||
import net.torvald.terrarum.gameworld.GameWorld
|
||||
import net.torvald.terrarum.gameworld.WorldSimulator
|
||||
import net.torvald.terrarum.gameworld.WorldTime
|
||||
import net.torvald.terrarum.mapdrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.mapdrawer.LightmapRenderer.constructRGBFromInt
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer.TILE_SIZE
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera
|
||||
import net.torvald.terrarum.mapgenerator.WorldGenerator
|
||||
import net.torvald.terrarum.mapgenerator.RoguelikeRandomiser
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.tileproperties.TilePropUtil
|
||||
import net.torvald.terrarum.tilestats.TileStats
|
||||
import net.torvald.terrarum.worlddrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.worlddrawer.LightmapRenderer.constructRGBFromInt
|
||||
import net.torvald.terrarum.worlddrawer.BlocksDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer.TILE_SIZE
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera
|
||||
import net.torvald.terrarum.worldgenerator.WorldGenerator
|
||||
import net.torvald.terrarum.worldgenerator.RoguelikeRandomiser
|
||||
import net.torvald.terrarum.blockproperties.BlockPropUtil
|
||||
import net.torvald.terrarum.blockstats.BlockStats
|
||||
import net.torvald.terrarum.ui.*
|
||||
import net.torvald.terrarum.weather.WeatherMixer
|
||||
import org.lwjgl.opengl.GL11
|
||||
import org.newdawn.slick.*
|
||||
import org.newdawn.slick.fills.GradientFill
|
||||
import org.newdawn.slick.geom.Rectangle
|
||||
import org.newdawn.slick.state.BasicGameState
|
||||
import org.newdawn.slick.state.StateBasedGame
|
||||
import shader.Shader
|
||||
import java.lang.management.ManagementFactory
|
||||
import java.util.*
|
||||
import java.util.concurrent.locks.Lock
|
||||
import java.util.concurrent.locks.ReentrantLock
|
||||
import javax.swing.JOptionPane
|
||||
import kotlin.collections.HashMap
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 15-12-30.
|
||||
@@ -256,11 +246,11 @@ class StateInGame : BasicGameState() {
|
||||
///////////////////////////
|
||||
// world-related updates //
|
||||
///////////////////////////
|
||||
TilePropUtil.dynamicLumFuncTickClock()
|
||||
BlockPropUtil.dynamicLumFuncTickClock()
|
||||
world.updateWorldTime(delta)
|
||||
//WorldSimulator(player, delta)
|
||||
WeatherMixer.update(gc, delta)
|
||||
TileStats.update()
|
||||
BlockStats.update()
|
||||
if (!(CommandDict["setgl"] as SetGlobalLightOverride).lightOverride)
|
||||
world.globalLight = constructRGBFromInt(
|
||||
WeatherMixer.globalLightNow.redByte,
|
||||
@@ -279,8 +269,8 @@ class StateInGame : BasicGameState() {
|
||||
// camera-related updates //
|
||||
////////////////////////////
|
||||
FeaturesDrawer.update(gc, delta)
|
||||
MapCamera.update()
|
||||
TilesDrawer.update()
|
||||
WorldCamera.update()
|
||||
BlocksDrawer.update()
|
||||
|
||||
|
||||
///////////////////////////
|
||||
@@ -380,7 +370,7 @@ class StateInGame : BasicGameState() {
|
||||
|
||||
|
||||
// make camara work
|
||||
worldG.translate(-MapCamera.x.toFloat(), -MapCamera.y.toFloat())
|
||||
worldG.translate(-WorldCamera.x.toFloat(), -WorldCamera.y.toFloat())
|
||||
|
||||
|
||||
blendNormal()
|
||||
@@ -388,12 +378,12 @@ class StateInGame : BasicGameState() {
|
||||
/////////////////////////////
|
||||
// draw map related stuffs //
|
||||
/////////////////////////////
|
||||
TilesDrawer.renderWall(worldG)
|
||||
BlocksDrawer.renderWall(worldG)
|
||||
actorsRenderBehind.forEach { it.drawBody(worldG) }
|
||||
actorsRenderBehind.forEach { it.drawGlow(worldG) }
|
||||
particlesContainer.forEach { it.drawBody(worldG) }
|
||||
particlesContainer.forEach { it.drawGlow(worldG) }
|
||||
TilesDrawer.renderTerrain(worldG)
|
||||
BlocksDrawer.renderTerrain(worldG)
|
||||
|
||||
/////////////////
|
||||
// draw actors //
|
||||
@@ -410,8 +400,8 @@ class StateInGame : BasicGameState() {
|
||||
/////////////////////////////
|
||||
LightmapRenderer.renderLightMap()
|
||||
|
||||
TilesDrawer.renderFront(worldG, false)
|
||||
// --> blendNormal() <-- by TilesDrawer.renderFront
|
||||
BlocksDrawer.renderFront(worldG, false)
|
||||
// --> blendNormal() <-- by BlocksDrawer.renderFront
|
||||
FeaturesDrawer.render(gc, worldG)
|
||||
|
||||
|
||||
@@ -648,12 +638,12 @@ class StateInGame : BasicGameState() {
|
||||
)
|
||||
private fun distToCameraSqr(a: ActorVisible) =
|
||||
min(
|
||||
(a.hitbox.posX - MapCamera.x).sqr() +
|
||||
(a.hitbox.posY - MapCamera.y).sqr(),
|
||||
(a.hitbox.posX - MapCamera.x + world.width * TILE_SIZE).sqr() +
|
||||
(a.hitbox.posY - MapCamera.y).sqr(),
|
||||
(a.hitbox.posX - MapCamera.x - world.width * TILE_SIZE).sqr() +
|
||||
(a.hitbox.posY - MapCamera.y).sqr()
|
||||
(a.hitbox.posX - WorldCamera.x).sqr() +
|
||||
(a.hitbox.posY - WorldCamera.y).sqr(),
|
||||
(a.hitbox.posX - WorldCamera.x + world.width * TILE_SIZE).sqr() +
|
||||
(a.hitbox.posY - WorldCamera.y).sqr(),
|
||||
(a.hitbox.posX - WorldCamera.x - world.width * TILE_SIZE).sqr() +
|
||||
(a.hitbox.posY - WorldCamera.y).sqr()
|
||||
)
|
||||
|
||||
/** whether the actor is within screen */
|
||||
|
||||
@@ -5,7 +5,7 @@ import net.torvald.terrarum.itemproperties.IVKey
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem
|
||||
import net.torvald.terrarum.itemproperties.ItemCodex
|
||||
import net.torvald.terrarum.itemproperties.Material
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.ui.*
|
||||
import org.newdawn.slick.*
|
||||
import org.newdawn.slick.state.BasicGameState
|
||||
@@ -42,7 +42,7 @@ class StateUITest : BasicGameState() {
|
||||
// these are the test codes.
|
||||
// Item properties must be pre-composed using CSV/JSON, and read and made into the item instance
|
||||
// using factory/builder pattern. @see ItemCodex
|
||||
actor.actorValue[AVKey.__PLAYER_QSPREFIX + "3"] = Tile.STONE
|
||||
actor.actorValue[AVKey.__PLAYER_QSPREFIX + "3"] = Block.STONE
|
||||
|
||||
actor.inventory.add(object : InventoryItem() {
|
||||
init {
|
||||
@@ -81,7 +81,7 @@ class StateUITest : BasicGameState() {
|
||||
|
||||
actor.inventory.add(ItemCodex[16], 543)
|
||||
|
||||
actor.inventory.getByDynamicID(Tile.STONE)!!.item equipTo actor
|
||||
actor.inventory.getByDynamicID(Block.STONE)!!.item equipTo actor
|
||||
}
|
||||
|
||||
override fun init(container: GameContainer?, game: StateBasedGame?) {
|
||||
|
||||
152
src/net/torvald/terrarum/blockproperties/Block.kt
Normal file
@@ -0,0 +1,152 @@
|
||||
package net.torvald.terrarum.blockproperties
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-02-21.
|
||||
*/
|
||||
object Block {
|
||||
|
||||
val AIR = 0 // hard coded; this is the standard
|
||||
|
||||
val STONE = BlockCodex.idDamageToIndex(1, 0)
|
||||
val STONE_QUARRIED = BlockCodex.idDamageToIndex(1, 1)
|
||||
val STONE_TILE_WHITE = BlockCodex.idDamageToIndex(1, 2)
|
||||
val STONE_BRICKS = BlockCodex.idDamageToIndex(1, 3)
|
||||
|
||||
val DIRT = BlockCodex.idDamageToIndex(2, 0)
|
||||
val GRASS = BlockCodex.idDamageToIndex(2, 1)
|
||||
|
||||
val PLANK_NORMAL = BlockCodex.idDamageToIndex(3, 0)
|
||||
val PLANK_EBONY = BlockCodex.idDamageToIndex(3, 1)
|
||||
val PLANK_BIRCH = BlockCodex.idDamageToIndex(3, 2)
|
||||
val PLANK_BLOODROSE = BlockCodex.idDamageToIndex(3, 3)
|
||||
|
||||
val TRUNK_NORMAL = BlockCodex.idDamageToIndex(4, 0)
|
||||
val TRUNK_EBONY = BlockCodex.idDamageToIndex(4, 1)
|
||||
val TRUNK_BIRCH = BlockCodex.idDamageToIndex(4, 2)
|
||||
val TRUNK_BLOODROSE = BlockCodex.idDamageToIndex(4, 3)
|
||||
|
||||
val SAND = BlockCodex.idDamageToIndex(5, 0)
|
||||
val SAND_WHITE = BlockCodex.idDamageToIndex(5, 1)
|
||||
val SAND_RED = BlockCodex.idDamageToIndex(5, 2)
|
||||
val SAND_DESERT = BlockCodex.idDamageToIndex(5, 3)
|
||||
val SAND_BLACK = BlockCodex.idDamageToIndex(5, 4)
|
||||
val SAND_GREEN = BlockCodex.idDamageToIndex(5, 5)
|
||||
|
||||
val GRAVEL = BlockCodex.idDamageToIndex(6, 0)
|
||||
val GRAVEL_GREY = BlockCodex.idDamageToIndex(6, 1)
|
||||
|
||||
val ORE_COPPER = BlockCodex.idDamageToIndex(7, 0)
|
||||
val ORE_IRON = BlockCodex.idDamageToIndex(7, 1)
|
||||
val ORE_GOLD = BlockCodex.idDamageToIndex(7, 2)
|
||||
val ORE_SILVER = BlockCodex.idDamageToIndex(7, 3)
|
||||
val ORE_ILMENITE = BlockCodex.idDamageToIndex(7, 4)
|
||||
val ORE_AURICHALCUM = BlockCodex.idDamageToIndex(7, 5)
|
||||
|
||||
val RAW_RUBY = BlockCodex.idDamageToIndex(8, 0)
|
||||
val RAW_EMERALD = BlockCodex.idDamageToIndex(8, 1)
|
||||
val RAW_SAPPHIRE = BlockCodex.idDamageToIndex(8, 2)
|
||||
val RAW_TOPAZ = BlockCodex.idDamageToIndex(8, 3)
|
||||
val RAW_DIAMOND = BlockCodex.idDamageToIndex(8, 4)
|
||||
val RAW_AMETHYST = BlockCodex.idDamageToIndex(8, 5)
|
||||
|
||||
val SNOW = BlockCodex.idDamageToIndex(9, 0)
|
||||
val ICE_FRAGILE = BlockCodex.idDamageToIndex(9, 1)
|
||||
val ICE_NATURAL = BlockCodex.idDamageToIndex(9, 2)
|
||||
val ICE_MAGICAL = BlockCodex.idDamageToIndex(9, 3)
|
||||
|
||||
val GLASS_CRUDE = BlockCodex.idDamageToIndex(9, 4)
|
||||
val GLASS_CLEAN = BlockCodex.idDamageToIndex(9, 5)
|
||||
|
||||
val PLATFORM_STONE = BlockCodex.idDamageToIndex(10, 0)
|
||||
val PLATFORM_WOODEN = BlockCodex.idDamageToIndex(10, 1)
|
||||
val PLATFORM_EBONY = BlockCodex.idDamageToIndex(10, 2)
|
||||
val PLATFORM_BIRCH = BlockCodex.idDamageToIndex(10, 3)
|
||||
val PLATFORM_BLOODROSE = BlockCodex.idDamageToIndex(10, 4)
|
||||
|
||||
val TORCH = BlockCodex.idDamageToIndex(11, 0)
|
||||
val TORCH_FROST = BlockCodex.idDamageToIndex(11, 1)
|
||||
|
||||
val TORCH_OFF = BlockCodex.idDamageToIndex(12, 0)
|
||||
val TORCH_FROST_OFF = BlockCodex.idDamageToIndex(12, 1)
|
||||
|
||||
val ILLUMINATOR_WHITE = BlockCodex.idDamageToIndex(13, 0)
|
||||
val ILLUMINATOR_YELLOW = BlockCodex.idDamageToIndex(13, 1)
|
||||
val ILLUMINATOR_ORANGE = BlockCodex.idDamageToIndex(13, 2)
|
||||
val ILLUMINATOR_RED = BlockCodex.idDamageToIndex(13, 3)
|
||||
val ILLUMINATOR_FUCHSIA = BlockCodex.idDamageToIndex(13, 4)
|
||||
val ILLUMINATOR_PURPLE = BlockCodex.idDamageToIndex(13, 5)
|
||||
val ILLUMINATOR_BLUE = BlockCodex.idDamageToIndex(13, 6)
|
||||
val ILLUMINATOR_CYAN = BlockCodex.idDamageToIndex(13, 7)
|
||||
val ILLUMINATOR_GREEN = BlockCodex.idDamageToIndex(13, 8)
|
||||
val ILLUMINATOR_GREEN_DARK = BlockCodex.idDamageToIndex(13, 9)
|
||||
val ILLUMINATOR_BROWN = BlockCodex.idDamageToIndex(13, 10)
|
||||
val ILLUMINATOR_TAN = BlockCodex.idDamageToIndex(13, 11)
|
||||
val ILLUMINATOR_GREY_LIGHT = BlockCodex.idDamageToIndex(13, 12)
|
||||
val ILLUMINATOR_GREY_MED = BlockCodex.idDamageToIndex(13, 13)
|
||||
val ILLUMINATOR_GREY_DARK = BlockCodex.idDamageToIndex(13, 14)
|
||||
val ILLUMINATOR_BLACK = BlockCodex.idDamageToIndex(13, 15)
|
||||
|
||||
val ILLUMINATOR_WHITE_OFF = BlockCodex.idDamageToIndex(14, 0)
|
||||
val ILLUMINATOR_YELLOW_OFF = BlockCodex.idDamageToIndex(14, 1)
|
||||
val ILLUMINATOR_ORANGE_OFF = BlockCodex.idDamageToIndex(14, 2)
|
||||
val ILLUMINATOR_RED_OFF = BlockCodex.idDamageToIndex(14, 3)
|
||||
val ILLUMINATOR_FUCHSIA_OFF = BlockCodex.idDamageToIndex(14, 4)
|
||||
val ILLUMINATOR_PURPLE_OFF = BlockCodex.idDamageToIndex(14, 5)
|
||||
val ILLUMINATOR_BLUE_OFF = BlockCodex.idDamageToIndex(14, 6)
|
||||
val ILLUMINATOR_CYAN_OFF = BlockCodex.idDamageToIndex(14, 7)
|
||||
val ILLUMINATOR_GREEN_OFF = BlockCodex.idDamageToIndex(14, 8)
|
||||
val ILLUMINATOR_GREEN_DARK_OFF = BlockCodex.idDamageToIndex(14, 9)
|
||||
val ILLUMINATOR_BROWN_OFF = BlockCodex.idDamageToIndex(14, 10)
|
||||
val ILLUMINATOR_TAN_OFF = BlockCodex.idDamageToIndex(14, 11)
|
||||
val ILLUMINATOR_GREY_LIGHT_OFF = BlockCodex.idDamageToIndex(14, 12)
|
||||
val ILLUMINATOR_GREY_MED_OFF = BlockCodex.idDamageToIndex(14, 13)
|
||||
val ILLUMINATOR_GREY_DARK_OFF = BlockCodex.idDamageToIndex(14, 14)
|
||||
val ILLUMINATOR_BLACK_OFF = BlockCodex.idDamageToIndex(14, 15)
|
||||
|
||||
val SANDSTONE = BlockCodex.idDamageToIndex(15, 0)
|
||||
val SANDSTONE_WHITE = BlockCodex.idDamageToIndex(15, 1)
|
||||
val SANDSTONE_RED = BlockCodex.idDamageToIndex(15, 2)
|
||||
val SANDSTONE_DESERT = BlockCodex.idDamageToIndex(15, 3)
|
||||
val SANDSTONE_BLACK = BlockCodex.idDamageToIndex(15, 4)
|
||||
val SANDSTONE_GREEN = BlockCodex.idDamageToIndex(15, 5)
|
||||
|
||||
val LANTERN = BlockCodex.idDamageToIndex(16, 0)
|
||||
val SUNSTONE = BlockCodex.idDamageToIndex(16, 1)
|
||||
val DAYLIGHT_CAPACITOR = BlockCodex.idDamageToIndex(16, 2)
|
||||
|
||||
val WATER_1 = BlockCodex.idDamageToIndex(255, 0)
|
||||
val WATER_2 = BlockCodex.idDamageToIndex(255, 1)
|
||||
val WATER_3 = BlockCodex.idDamageToIndex(255, 2)
|
||||
val WATER_4 = BlockCodex.idDamageToIndex(255, 3)
|
||||
val WATER_5 = BlockCodex.idDamageToIndex(255, 4)
|
||||
val WATER_6 = BlockCodex.idDamageToIndex(255, 5)
|
||||
val WATER_7 = BlockCodex.idDamageToIndex(255, 6)
|
||||
val WATER_8 = BlockCodex.idDamageToIndex(255, 7)
|
||||
val WATER_9 = BlockCodex.idDamageToIndex(255, 8)
|
||||
val WATER_10 = BlockCodex.idDamageToIndex(255, 9)
|
||||
val WATER_11 = BlockCodex.idDamageToIndex(255, 10)
|
||||
val WATER_12 = BlockCodex.idDamageToIndex(255, 11)
|
||||
val WATER_13 = BlockCodex.idDamageToIndex(255, 12)
|
||||
val WATER_14 = BlockCodex.idDamageToIndex(255, 13)
|
||||
val WATER_15 = BlockCodex.idDamageToIndex(255, 14)
|
||||
val WATER = BlockCodex.idDamageToIndex(255, 15)
|
||||
|
||||
val LAVA_1 = BlockCodex.idDamageToIndex(254, 0)
|
||||
val LAVA_2 = BlockCodex.idDamageToIndex(254, 1)
|
||||
val LAVA_3 = BlockCodex.idDamageToIndex(254, 2)
|
||||
val LAVA_4 = BlockCodex.idDamageToIndex(254, 3)
|
||||
val LAVA_5 = BlockCodex.idDamageToIndex(254, 4)
|
||||
val LAVA_6 = BlockCodex.idDamageToIndex(254, 5)
|
||||
val LAVA_7 = BlockCodex.idDamageToIndex(254, 6)
|
||||
val LAVA_8 = BlockCodex.idDamageToIndex(254, 7)
|
||||
val LAVA_9 = BlockCodex.idDamageToIndex(254, 8)
|
||||
val LAVA_10 = BlockCodex.idDamageToIndex(254, 9)
|
||||
val LAVA_11 = BlockCodex.idDamageToIndex(254, 10)
|
||||
val LAVA_12 = BlockCodex.idDamageToIndex(254, 11)
|
||||
val LAVA_13 = BlockCodex.idDamageToIndex(254, 12)
|
||||
val LAVA_14 = BlockCodex.idDamageToIndex(254, 13)
|
||||
val LAVA_15 = BlockCodex.idDamageToIndex(254, 14)
|
||||
val LAVA = BlockCodex.idDamageToIndex(254, 15)
|
||||
|
||||
val NULL = -1
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package net.torvald.terrarum.tileproperties
|
||||
package net.torvald.terrarum.blockproperties
|
||||
|
||||
import net.torvald.CSVFetcher
|
||||
import net.torvald.terrarum.ModMgr
|
||||
import net.torvald.terrarum.gameworld.MapLayer
|
||||
import net.torvald.terrarum.gameworld.PairedMapLayer
|
||||
import org.apache.commons.csv.CSVRecord
|
||||
@@ -11,26 +10,23 @@ import java.io.IOException
|
||||
/**
|
||||
* Created by minjaesong on 16-02-16.
|
||||
*/
|
||||
object TileCodex {
|
||||
object BlockCodex {
|
||||
|
||||
private var tileProps: Array<TileProp>
|
||||
private var blockProps: Array<BlockProp>
|
||||
|
||||
const val TILE_UNIQUE_MAX = MapLayer.RANGE * PairedMapLayer.RANGE
|
||||
|
||||
private val nullProp = TileProp()
|
||||
private val nullProp = BlockProp()
|
||||
|
||||
init {
|
||||
tileProps = Array<TileProp>(TILE_UNIQUE_MAX * 2, { TileProp() })
|
||||
|
||||
for (i in tileProps.indices) {
|
||||
tileProps[i] = TileProp()
|
||||
}
|
||||
blockProps = Array<BlockProp>(TILE_UNIQUE_MAX * 2, { BlockProp() })
|
||||
}
|
||||
|
||||
operator fun invoke(module: String, path: String) {
|
||||
try {
|
||||
// todo verify CSV using pre-calculated SHA256 hash
|
||||
val records = CSVFetcher.readFromModule("basegame", "tiles/tileprop.csv")
|
||||
val records = CSVFetcher.readFromModule(module, path)
|
||||
|
||||
println("[TileCodex] Building tile properties table")
|
||||
println("[BlockCodex] Building block properties table")
|
||||
|
||||
records.forEach {
|
||||
if (intVal(it, "sid") == -1) {
|
||||
@@ -38,7 +34,7 @@ object TileCodex {
|
||||
}
|
||||
else {
|
||||
setProp(
|
||||
tileProps[idDamageToIndex(intVal(it, "id"), intVal(it, "sid"))], it
|
||||
blockProps[idDamageToIndex(intVal(it, "id"), intVal(it, "sid"))], it
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -46,34 +42,33 @@ object TileCodex {
|
||||
catch (e: IOException) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun get(index: Int, subID: Int): TileProp {
|
||||
fun get(index: Int, subID: Int): BlockProp {
|
||||
try {
|
||||
tileProps[idDamageToIndex(index, subID)].id
|
||||
blockProps[idDamageToIndex(index, subID)].id
|
||||
}
|
||||
catch (e: NullPointerException) {
|
||||
throw NullPointerException("Tile prop with id $index and subID $subID does not exist.")
|
||||
throw NullPointerException("Blockprop with id $index and subID $subID does not exist.")
|
||||
}
|
||||
|
||||
return tileProps[idDamageToIndex(index, subID)]
|
||||
return blockProps[idDamageToIndex(index, subID)]
|
||||
}
|
||||
|
||||
operator fun get(rawIndex: Int?): TileProp {
|
||||
if (rawIndex == null || rawIndex == Tile.NULL) {
|
||||
operator fun get(rawIndex: Int?): BlockProp {
|
||||
if (rawIndex == null || rawIndex == Block.NULL) {
|
||||
return nullProp
|
||||
}
|
||||
|
||||
try {
|
||||
return tileProps[rawIndex]
|
||||
return blockProps[rawIndex]
|
||||
}
|
||||
catch (e: NullPointerException) {
|
||||
throw NullPointerException("Tile prop with raw id $rawIndex does not exist.")
|
||||
throw NullPointerException("Blockprop with raw id $rawIndex does not exist.")
|
||||
}
|
||||
}
|
||||
|
||||
private fun setProp(prop: TileProp, record: CSVRecord) {
|
||||
private fun setProp(prop: BlockProp, record: CSVRecord) {
|
||||
prop.nameKey = record.get("name")
|
||||
|
||||
prop.id = idDamageToIndex(intVal(record, "id"), intVal(record, "sid"))
|
||||
@@ -1,12 +1,9 @@
|
||||
package net.torvald.terrarum.tileproperties
|
||||
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameworld.WorldTime
|
||||
package net.torvald.terrarum.blockproperties
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-02-16.
|
||||
*/
|
||||
class TileProp {
|
||||
class BlockProp {
|
||||
|
||||
var id: Int = 0
|
||||
|
||||
@@ -33,7 +30,7 @@ class TileProp {
|
||||
set(value) {
|
||||
field = value
|
||||
}
|
||||
get() = TilePropUtil.getDynamicLumFunc(field, dynamicLuminosityFunction)
|
||||
get() = BlockPropUtil.getDynamicLumFunc(field, dynamicLuminosityFunction)
|
||||
|
||||
var drop: Int = 0
|
||||
var dropDamage: Int = 0
|
||||
@@ -1,19 +1,18 @@
|
||||
package net.torvald.terrarum.tileproperties
|
||||
package net.torvald.terrarum.blockproperties
|
||||
|
||||
import com.jme3.math.FastMath
|
||||
import net.torvald.random.HQRNG
|
||||
import net.torvald.terrarum.Millisec
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameworld.WorldTime
|
||||
import net.torvald.terrarum.mapdrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.worlddrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.toInt
|
||||
import net.torvald.terrarum.weather.WeatherMixer
|
||||
import org.newdawn.slick.Color
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-06-16.
|
||||
*/
|
||||
object TilePropUtil {
|
||||
object BlockPropUtil {
|
||||
var flickerFuncX: Millisec = 0 // in milliseconds; saves current status (time) of func
|
||||
val flickerFuncDomain: Millisec = 100 // time between two noise sample, in milliseconds
|
||||
val flickerFuncRange = 0.012f // intensity [0, 1]
|
||||
@@ -1,10 +1,9 @@
|
||||
package net.torvald.terrarum.tilestats
|
||||
package net.torvald.terrarum.blockstats
|
||||
|
||||
import net.torvald.terrarum.gameactors.Player
|
||||
import net.torvald.terrarum.gameworld.GameWorld
|
||||
import net.torvald.terrarum.gameworld.MapLayer
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.worlddrawer.BlocksDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import com.jme3.math.FastMath
|
||||
|
||||
@@ -13,7 +12,7 @@ import java.util.Arrays
|
||||
/**
|
||||
* Created by minjaesong on 16-02-01.
|
||||
*/
|
||||
object TileStats {
|
||||
object BlockStats {
|
||||
|
||||
private val tilestat = ShortArray(GameWorld.TILES_SUPPORTED)
|
||||
|
||||
@@ -40,8 +39,8 @@ object TileStats {
|
||||
|
||||
val for_x_start = noZoomCameraX / TSIZE
|
||||
val for_y_start = noZoomCameraY / TSIZE
|
||||
val for_y_end = TilesDrawer.clampHTile(for_y_start + (renderHeight / TSIZE) + 2)
|
||||
val for_x_end = TilesDrawer.clampWTile(for_x_start + (renderWidth / TSIZE) + 2)
|
||||
val for_y_end = BlocksDrawer.clampHTile(for_y_start + (renderHeight / TSIZE) + 2)
|
||||
val for_x_end = BlocksDrawer.clampWTile(for_x_start + (renderWidth / TSIZE) + 2)
|
||||
|
||||
for (y in for_y_start..for_y_end - 1) {
|
||||
for (x in for_x_start..for_x_end - 1) {
|
||||
@@ -3,7 +3,7 @@ package net.torvald.terrarum.console
|
||||
import net.torvald.colourutil.Col4096
|
||||
import net.torvald.RasterWriter
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
|
||||
import java.io.*
|
||||
import java.util.HashMap
|
||||
@@ -19,42 +19,42 @@ internal object ExportMap : ConsoleCommand {
|
||||
private val colorTable = HashMap<Int, Col4096>()
|
||||
|
||||
init {
|
||||
colorTable.put(Tile.AIR, Col4096(0xCEF))
|
||||
colorTable.put(Tile.STONE, Col4096(0x888))
|
||||
colorTable.put(Tile.DIRT, Col4096(0x753))
|
||||
colorTable.put(Tile.GRASS, Col4096(0x472))
|
||||
colorTable.put(Block.AIR, Col4096(0xCEF))
|
||||
colorTable.put(Block.STONE, Col4096(0x888))
|
||||
colorTable.put(Block.DIRT, Col4096(0x753))
|
||||
colorTable.put(Block.GRASS, Col4096(0x472))
|
||||
|
||||
colorTable.put(Tile.ORE_COPPER, Col4096(0x6A8))
|
||||
colorTable.put(Tile.ORE_IRON, Col4096(0xC75))
|
||||
colorTable.put(Tile.ORE_GOLD, Col4096(0xA87))
|
||||
colorTable.put(Tile.ORE_ILMENITE, Col4096(0x8AB))
|
||||
colorTable.put(Tile.ORE_AURICHALCUM, Col4096(0xD92))
|
||||
colorTable.put(Tile.ORE_SILVER, Col4096(0xDDD))
|
||||
colorTable.put(Block.ORE_COPPER, Col4096(0x6A8))
|
||||
colorTable.put(Block.ORE_IRON, Col4096(0xC75))
|
||||
colorTable.put(Block.ORE_GOLD, Col4096(0xA87))
|
||||
colorTable.put(Block.ORE_ILMENITE, Col4096(0x8AB))
|
||||
colorTable.put(Block.ORE_AURICHALCUM, Col4096(0xD92))
|
||||
colorTable.put(Block.ORE_SILVER, Col4096(0xDDD))
|
||||
|
||||
colorTable.put(Tile.RAW_DIAMOND, Col4096(0x2BF))
|
||||
colorTable.put(Tile.RAW_RUBY, Col4096(0xB10))
|
||||
colorTable.put(Tile.RAW_EMERALD, Col4096(0x0B1))
|
||||
colorTable.put(Tile.RAW_SAPPHIRE, Col4096(0x01B))
|
||||
colorTable.put(Tile.RAW_TOPAZ, Col4096(0xC70))
|
||||
colorTable.put(Tile.RAW_AMETHYST, Col4096(0x70C))
|
||||
colorTable.put(Block.RAW_DIAMOND, Col4096(0x2BF))
|
||||
colorTable.put(Block.RAW_RUBY, Col4096(0xB10))
|
||||
colorTable.put(Block.RAW_EMERALD, Col4096(0x0B1))
|
||||
colorTable.put(Block.RAW_SAPPHIRE, Col4096(0x01B))
|
||||
colorTable.put(Block.RAW_TOPAZ, Col4096(0xC70))
|
||||
colorTable.put(Block.RAW_AMETHYST, Col4096(0x70C))
|
||||
|
||||
colorTable.put(Tile.WATER, Col4096(0x038))
|
||||
colorTable.put(Tile.LAVA, Col4096(0xF50))
|
||||
colorTable.put(Block.WATER, Col4096(0x038))
|
||||
colorTable.put(Block.LAVA, Col4096(0xF50))
|
||||
|
||||
colorTable.put(Tile.SAND, Col4096(0xDDB))
|
||||
colorTable.put(Tile.SAND_WHITE, Col4096(0xFFD))
|
||||
colorTable.put(Tile.SAND_RED, Col4096(0xA32))
|
||||
colorTable.put(Tile.SAND_DESERT, Col4096(0xEDB))
|
||||
colorTable.put(Tile.SAND_BLACK, Col4096(0x444))
|
||||
colorTable.put(Tile.SAND_GREEN, Col4096(0x9A6))
|
||||
colorTable.put(Block.SAND, Col4096(0xDDB))
|
||||
colorTable.put(Block.SAND_WHITE, Col4096(0xFFD))
|
||||
colorTable.put(Block.SAND_RED, Col4096(0xA32))
|
||||
colorTable.put(Block.SAND_DESERT, Col4096(0xEDB))
|
||||
colorTable.put(Block.SAND_BLACK, Col4096(0x444))
|
||||
colorTable.put(Block.SAND_GREEN, Col4096(0x9A6))
|
||||
|
||||
colorTable.put(Tile.GRAVEL, Col4096(0x664))
|
||||
colorTable.put(Tile.GRAVEL_GREY, Col4096(0x999))
|
||||
colorTable.put(Block.GRAVEL, Col4096(0x664))
|
||||
colorTable.put(Block.GRAVEL_GREY, Col4096(0x999))
|
||||
|
||||
colorTable.put(Tile.ICE_NATURAL, Col4096(0x9AB))
|
||||
colorTable.put(Tile.ICE_MAGICAL, Col4096(0x7AC))
|
||||
colorTable.put(Tile.ICE_FRAGILE, Col4096(0x6AF))
|
||||
colorTable.put(Tile.SNOW, Col4096(0xCDE))
|
||||
colorTable.put(Block.ICE_NATURAL, Col4096(0x9AB))
|
||||
colorTable.put(Block.ICE_MAGICAL, Col4096(0x7AC))
|
||||
colorTable.put(Block.ICE_FRAGILE, Col4096(0x6AF))
|
||||
colorTable.put(Block.SNOW, Col4096(0xCDE))
|
||||
}
|
||||
|
||||
override fun execute(args: Array<String>) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package net.torvald.terrarum.console
|
||||
|
||||
import net.torvald.terrarum.mapdrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.worlddrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.Terrarum
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
package net.torvald.terrarum.console
|
||||
|
||||
import net.torvald.terrarum.gameactors.Actor
|
||||
import net.torvald.terrarum.gameactors.ActorWithPhysics
|
||||
import net.torvald.terrarum.gameactors.PhysTestBall
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera
|
||||
import org.dyn4j.geometry.Vector2
|
||||
|
||||
/**
|
||||
@@ -25,8 +22,8 @@ internal object SpawnPhysTestBall : ConsoleCommand {
|
||||
|
||||
val ball = PhysTestBall()
|
||||
ball.setPosition(
|
||||
(mouseX + MapCamera.x).toDouble(),
|
||||
(mouseY + MapCamera.y).toDouble()
|
||||
(mouseX + WorldCamera.x).toDouble(),
|
||||
(mouseY + WorldCamera.y).toDouble()
|
||||
)
|
||||
ball.elasticity = elasticity
|
||||
ball.applyForce(Vector2(xvel, yvel))
|
||||
@@ -38,8 +35,8 @@ internal object SpawnPhysTestBall : ConsoleCommand {
|
||||
|
||||
val ball = PhysTestBall()
|
||||
ball.setPosition(
|
||||
(mouseX + MapCamera.x).toDouble(),
|
||||
(mouseY + MapCamera.y).toDouble()
|
||||
(mouseX + WorldCamera.x).toDouble(),
|
||||
(mouseY + WorldCamera.y).toDouble()
|
||||
)
|
||||
ball.elasticity = elasticity
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package net.torvald.terrarum.console
|
||||
|
||||
import net.torvald.terrarum.StateInGame
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.ActorWithPhysics
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package net.torvald.terrarum.console
|
||||
|
||||
import net.torvald.terrarum.mapdrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.worlddrawer.LightmapRenderer
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-09-07.
|
||||
|
||||
@@ -6,12 +6,11 @@ import net.torvald.terrarum.console.Echo
|
||||
import net.torvald.terrarum.console.SetAV
|
||||
import net.torvald.terrarum.gameactors.Actor
|
||||
import net.torvald.terrarum.gameactors.ActorWithPhysics
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import java.awt.BorderLayout
|
||||
import java.awt.GridLayout
|
||||
import java.awt.event.MouseAdapter
|
||||
import java.awt.event.MouseEvent
|
||||
import java.awt.event.MouseListener
|
||||
import javax.swing.*
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import com.jme3.math.FastMath
|
||||
import net.torvald.terrarum.Millisec
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.faction.Faction
|
||||
import net.torvald.terrarum.gamecontroller.EnumKeyFunc
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem
|
||||
import net.torvald.terrarum.itemproperties.Material
|
||||
import net.torvald.terrarum.realestate.LandUtil
|
||||
@@ -38,11 +36,11 @@ open class ActorHumanoid(birth: GameDate, death: GameDate? = null)
|
||||
override var houseDesignation: ArrayList<Long>? = ArrayList()
|
||||
|
||||
override fun addHouseTile(x: Int, y: Int) {
|
||||
if (houseDesignation != null) houseDesignation!!.add(LandUtil.getTileAddr(x, y))
|
||||
if (houseDesignation != null) houseDesignation!!.add(LandUtil.getBlockAddr(x, y))
|
||||
}
|
||||
|
||||
override fun removeHouseTile(x: Int, y: Int) {
|
||||
if (houseDesignation != null) houseDesignation!!.remove(LandUtil.getTileAddr(x, y))
|
||||
if (houseDesignation != null) houseDesignation!!.remove(LandUtil.getBlockAddr(x, y))
|
||||
}
|
||||
|
||||
override fun clearHouseDesignation() {
|
||||
|
||||
@@ -4,12 +4,12 @@ import com.jme3.math.FastMath
|
||||
import net.torvald.point.Point2d
|
||||
import net.torvald.terrarum.*
|
||||
import net.torvald.terrarum.gameworld.GameWorld
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import net.torvald.spriteanimation.SpriteAnimation
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileProp
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.blockproperties.BlockProp
|
||||
import org.dyn4j.geometry.Vector2
|
||||
import org.newdawn.slick.GameContainer
|
||||
import org.newdawn.slick.Graphics
|
||||
@@ -763,7 +763,7 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
for (y in tyStart..tyEnd) {
|
||||
for (x in txStart..txEnd) {
|
||||
val tile = world.getTileFromTerrain(x, y)
|
||||
if (TileCodex[tile].isSolid)
|
||||
if (BlockCodex[tile].isSolid)
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -805,7 +805,7 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
}
|
||||
|
||||
// evaluate
|
||||
if (TileCodex[world.getTileFromTerrain(tileX, tileY)].isFluid) {
|
||||
if (BlockCodex[world.getTileFromTerrain(tileX, tileY)].isFluid) {
|
||||
contactAreaCounter += 1
|
||||
}
|
||||
}
|
||||
@@ -814,17 +814,17 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
}
|
||||
|
||||
private fun getTileFriction(tile: Int) =
|
||||
if (immobileBody && tile == Tile.AIR)
|
||||
TileCodex[Tile.AIR].friction.frictionToMult().div(1000)
|
||||
if (immobileBody && tile == Block.AIR)
|
||||
BlockCodex[Block.AIR].friction.frictionToMult().div(1000)
|
||||
.times(if (!grounded) elasticity else 1.0)
|
||||
else
|
||||
TileCodex[tile].friction.frictionToMult()
|
||||
BlockCodex[tile].friction.frictionToMult()
|
||||
|
||||
/** about stopping
|
||||
* for about get moving, see updateMovementControl */
|
||||
private fun setHorizontalFriction() {
|
||||
val friction = if (isPlayerNoClip)
|
||||
BASE_FRICTION * TileCodex[Tile.STONE].friction.frictionToMult()
|
||||
BASE_FRICTION * BlockCodex[Block.STONE].friction.frictionToMult()
|
||||
else {
|
||||
// TODO status quo if !submerged else linearBlend(feetFriction, bodyFriction, submergedRatio)
|
||||
BASE_FRICTION * if (grounded) feetFriction else bodyFriction
|
||||
@@ -853,7 +853,7 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
|
||||
private fun setVerticalFriction() {
|
||||
val friction = if (isPlayerNoClip)
|
||||
BASE_FRICTION * TileCodex[Tile.STONE].friction.frictionToMult()
|
||||
BASE_FRICTION * BlockCodex[Block.STONE].friction.frictionToMult()
|
||||
else
|
||||
BASE_FRICTION * bodyFriction
|
||||
|
||||
@@ -913,8 +913,8 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
var friction = 0.0
|
||||
forEachOccupyingTileNum {
|
||||
// get max friction
|
||||
if (getTileFriction(it ?: Tile.AIR) > friction)
|
||||
friction = getTileFriction(it ?: Tile.AIR)
|
||||
if (getTileFriction(it ?: Block.AIR) > friction)
|
||||
friction = getTileFriction(it ?: Block.AIR)
|
||||
}
|
||||
|
||||
return friction
|
||||
@@ -924,8 +924,8 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
var friction = 0.0
|
||||
forEachFeetTileNum {
|
||||
// get max friction
|
||||
if (getTileFriction(it ?: Tile.AIR) > friction)
|
||||
friction = getTileFriction(it ?: Tile.AIR)
|
||||
if (getTileFriction(it ?: Block.AIR) > friction)
|
||||
friction = getTileFriction(it ?: Block.AIR)
|
||||
}
|
||||
|
||||
return friction
|
||||
@@ -1056,7 +1056,7 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
|
||||
val offsetY = spriteGlow!!.cellHeight * scale - hitbox.height - hitboxTranslateY * scale - 2
|
||||
|
||||
if (MapCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
||||
if (WorldCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
||||
// camera center neg, actor center pos
|
||||
spriteGlow!!.render(g,
|
||||
(hitbox.posX - offsetX).toFloat() + world.width * TILE_SIZE,
|
||||
@@ -1064,7 +1064,7 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
(scale).toFloat()
|
||||
)
|
||||
}
|
||||
else if (MapCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
||||
else if (WorldCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
||||
// camera center pos, actor center neg
|
||||
spriteGlow!!.render(g,
|
||||
(hitbox.posX - offsetX).toFloat() - world.width * TILE_SIZE,
|
||||
@@ -1082,8 +1082,8 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
}
|
||||
}
|
||||
|
||||
val leftsidePadding = world.width.times(TILE_SIZE) - MapCamera.width.ushr(1)
|
||||
val rightsidePadding = MapCamera.width.ushr(1)
|
||||
val leftsidePadding = world.width.times(TILE_SIZE) - WorldCamera.width.ushr(1)
|
||||
val rightsidePadding = WorldCamera.width.ushr(1)
|
||||
|
||||
override fun drawBody(g: Graphics) {
|
||||
if (isVisible && sprite != null) {
|
||||
@@ -1097,7 +1097,7 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
|
||||
val offsetY = sprite!!.cellHeight * scale - hitbox.height - hitboxTranslateY * scale - 2
|
||||
|
||||
if (MapCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
||||
if (WorldCamera.xCentre > leftsidePadding && centrePosPoint.x <= rightsidePadding) {
|
||||
// camera center neg, actor center pos
|
||||
sprite!!.render(g,
|
||||
(hitbox.posX - offsetX).toFloat() + world.width * TILE_SIZE,
|
||||
@@ -1105,7 +1105,7 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
(scale).toFloat()
|
||||
)
|
||||
}
|
||||
else if (MapCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
||||
else if (WorldCamera.xCentre < rightsidePadding && centrePosPoint.x >= leftsidePadding) {
|
||||
// camera center pos, actor center neg
|
||||
sprite!!.render(g,
|
||||
(hitbox.posX - offsetX).toFloat() - world.width * TILE_SIZE,
|
||||
@@ -1188,11 +1188,11 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
return tiles.forEach(consumer)
|
||||
}
|
||||
|
||||
private fun forEachOccupyingTile(consumer: (TileProp?) -> Unit) {
|
||||
val tileProps = ArrayList<TileProp?>()
|
||||
private fun forEachOccupyingTile(consumer: (BlockProp?) -> Unit) {
|
||||
val tileProps = ArrayList<BlockProp?>()
|
||||
for (y in tilewiseHitbox.posY.toInt()..tilewiseHitbox.endPointY.toInt()) {
|
||||
for (x in tilewiseHitbox.posX.toInt()..tilewiseHitbox.endPointX.toInt()) {
|
||||
tileProps.add(TileCodex[world.getTileFromTerrain(x, y)])
|
||||
tileProps.add(BlockCodex[world.getTileFromTerrain(x, y)])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1212,14 +1212,14 @@ open class ActorWithPhysics(renderOrder: RenderOrder, val immobileBody: Boolean
|
||||
return tiles.forEach(consumer)
|
||||
}
|
||||
|
||||
private fun forEachFeetTile(consumer: (TileProp?) -> Unit) {
|
||||
val tileProps = ArrayList<TileProp?>()
|
||||
private fun forEachFeetTile(consumer: (BlockProp?) -> Unit) {
|
||||
val tileProps = ArrayList<BlockProp?>()
|
||||
|
||||
// offset 1 pixel to the down so that friction would work
|
||||
val y = nextHitbox.endPointY.plus(1.0).div(TILE_SIZE).floorInt()
|
||||
|
||||
for (x in tilewiseHitbox.posX.toInt()..tilewiseHitbox.endPointX.toInt()) {
|
||||
tileProps.add(TileCodex[world.getTileFromTerrain(x, y)])
|
||||
tileProps.add(BlockCodex[world.getTileFromTerrain(x, y)])
|
||||
}
|
||||
|
||||
return tileProps.forEach(consumer)
|
||||
|
||||
@@ -2,7 +2,7 @@ package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem
|
||||
import net.torvald.terrarum.itemproperties.ItemCodex
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import org.newdawn.slick.GameContainer
|
||||
import org.newdawn.slick.Graphics
|
||||
|
||||
@@ -17,8 +17,8 @@ class DroppedItem(private val item: InventoryItem) : ActorWithPhysics(Actor.Rend
|
||||
|
||||
isVisible = true
|
||||
|
||||
avBaseMass = if (item.dynamicID < TileCodex.TILE_UNIQUE_MAX)
|
||||
TileCodex[item.dynamicID].density / 1000.0
|
||||
avBaseMass = if (item.dynamicID < BlockCodex.TILE_UNIQUE_MAX)
|
||||
BlockCodex[item.dynamicID].density / 1000.0
|
||||
else
|
||||
ItemCodex[item.dynamicID].mass
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.spriteanimation.SpriteAnimation
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
@@ -11,7 +10,7 @@ import java.util.*
|
||||
class FixtureTikiTorch : FixtureBase(), Luminous {
|
||||
|
||||
override var luminosity: Int
|
||||
get() = TileCodex[Tile.TORCH].luminosity
|
||||
get() = BlockCodex[Block.TORCH].luminosity
|
||||
set(value) {
|
||||
throw UnsupportedOperationException()
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.terrarum.mapgenerator.RoguelikeRandomiser
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,9 +2,9 @@ package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.ActorWithPhysics.Companion.SI_TO_GAME_ACC
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer.TILE_SIZE
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer.TILE_SIZE
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import org.dyn4j.geometry.Vector2
|
||||
import org.newdawn.slick.GameContainer
|
||||
import org.newdawn.slick.Graphics
|
||||
@@ -43,10 +43,10 @@ open class ParticleBase(renderOrder: Actor.RenderOrder, maxLifeTime: Int? = null
|
||||
lifetimeCounter += delta
|
||||
if (velocity.isZero || lifetimeCounter >= lifetimeMax ||
|
||||
// simple stuck check
|
||||
TileCodex[Terrarum.ingame!!.world.getTileFromTerrain(
|
||||
BlockCodex[Terrarum.ingame!!.world.getTileFromTerrain(
|
||||
hitbox.pointedX.div(TILE_SIZE).floorInt(),
|
||||
hitbox.pointedY.div(TILE_SIZE).floorInt()
|
||||
) ?: Tile.STONE].isSolid) {
|
||||
) ?: Block.STONE].isSolid) {
|
||||
flagDespawn = true
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer.TILE_SIZE
|
||||
import net.torvald.terrarum.mapgenerator.RoguelikeRandomiser
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer.TILE_SIZE
|
||||
import net.torvald.terrarum.worldgenerator.RoguelikeRandomiser
|
||||
import org.newdawn.slick.Color
|
||||
import org.newdawn.slick.GameContainer
|
||||
import org.newdawn.slick.Graphics
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.spriteanimation.SpriteAnimation
|
||||
import net.torvald.terrarum.ModMgr
|
||||
import net.torvald.terrarum.gameactors.ActorHumanoid
|
||||
import net.torvald.terrarum.gameactors.ai.LuaAIWrapper
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-03-25.
|
||||
|
||||
@@ -1,21 +1,13 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.JsonFetcher
|
||||
import net.torvald.terrarum.gameactors.faction.Faction
|
||||
import net.torvald.spriteanimation.SpriteAnimation
|
||||
import com.google.gson.JsonObject
|
||||
import net.torvald.terrarum.ActorValue
|
||||
import net.torvald.terrarum.ModMgr
|
||||
import net.torvald.terrarum.gameactors.ActorHumanoid
|
||||
import net.torvald.terrarum.gameactors.faction.FactionFactory
|
||||
import net.torvald.terrarum.itemproperties.ItemCodex
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.to10bit
|
||||
import net.torvald.terrarum.toInt
|
||||
import org.newdawn.slick.Color
|
||||
import org.newdawn.slick.SlickException
|
||||
import java.io.IOException
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-02-03.
|
||||
@@ -80,12 +72,12 @@ object PlayerBuilderSigrid {
|
||||
|
||||
// Test fill up inventory
|
||||
val tiles = arrayOf(
|
||||
Tile.AIR, Tile.DIRT, Tile.GLASS_CRUDE,
|
||||
Tile.GRASS, Tile.GRAVEL, Tile.ICE_MAGICAL, Tile.LANTERN,
|
||||
Tile.PLANK_BIRCH, Tile.PLANK_BLOODROSE, Tile.PLANK_EBONY, Tile.PLANK_NORMAL,
|
||||
Tile.SANDSTONE, Tile.SANDSTONE_BLACK, Tile.SANDSTONE_GREEN,
|
||||
Tile.SANDSTONE_RED, Tile.STONE, Tile.STONE_BRICKS,
|
||||
Tile.STONE_QUARRIED, Tile.STONE_TILE_WHITE, Tile.TORCH
|
||||
Block.AIR, Block.DIRT, Block.GLASS_CRUDE,
|
||||
Block.GRASS, Block.GRAVEL, Block.ICE_MAGICAL, Block.LANTERN,
|
||||
Block.PLANK_BIRCH, Block.PLANK_BLOODROSE, Block.PLANK_EBONY, Block.PLANK_NORMAL,
|
||||
Block.SANDSTONE, Block.SANDSTONE_BLACK, Block.SANDSTONE_GREEN,
|
||||
Block.SANDSTONE_RED, Block.STONE, Block.STONE_BRICKS,
|
||||
Block.STONE_QUARRIED, Block.STONE_TILE_WHITE, Block.TORCH
|
||||
)
|
||||
tiles.forEach { p.addItem(it, 999) }
|
||||
p.inventory.add(ItemCodex.ITEM_STATIC.first)
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.terrarum.ModMgr
|
||||
import net.torvald.terrarum.gameactors.ai.LuaAIWrapper
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
|
||||
/**
|
||||
* Created by SKYHi14 on 2017-02-10.
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package net.torvald.terrarum.gameactors
|
||||
|
||||
import net.torvald.colourutil.CIELabUtil.darkerLab
|
||||
import net.torvald.point.Point2d
|
||||
import net.torvald.spriteanimation.SpriteAnimation
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import org.dyn4j.geometry.Vector2
|
||||
import org.newdawn.slick.Color
|
||||
import org.newdawn.slick.GameContainer
|
||||
@@ -75,7 +73,7 @@ open class ProjectileSimple(
|
||||
lifetimeCounter += delta
|
||||
if (ccdCollided || grounded || lifetimeCounter >= lifetimeMax ||
|
||||
// stuck check
|
||||
TileCodex[Terrarum.ingame!!.world.getTileFromTerrain(feetPosTile[0], feetPosTile[1]) ?: Tile.STONE].isSolid
|
||||
BlockCodex[Terrarum.ingame!!.world.getTileFromTerrain(feetPosTile[0], feetPosTile[1]) ?: Block.STONE].isSolid
|
||||
) {
|
||||
flagDespawn()
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@ import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.AIControlled
|
||||
import net.torvald.terrarum.gameactors.AVKey
|
||||
import net.torvald.terrarum.gameactors.ActorWithPhysics
|
||||
import net.torvald.terrarum.mapdrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.worlddrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import org.luaj.vm2.*
|
||||
import org.luaj.vm2.lib.OneArgFunction
|
||||
import org.luaj.vm2.lib.ZeroArgFunction
|
||||
@@ -239,7 +239,7 @@ internal class AILuaAPI(g: Globals, actor: ActorWithPhysics) {
|
||||
luatable[y - feetTilePos[1]] = LuaTable()
|
||||
|
||||
for (x in feetTilePos[0] - radius..feetTilePos[0] + radius) {
|
||||
val tile = TileCodex[Terrarum.ingame!!.world.getTileFromTerrain(x, y) ?: Tile.NULL]
|
||||
val tile = BlockCodex[Terrarum.ingame!!.world.getTileFromTerrain(x, y) ?: Block.NULL]
|
||||
val solidity = tile.isSolid.toInt()
|
||||
val liquidity = tile.isFluid.toInt()
|
||||
val gravity = tile.isFallable.toInt()
|
||||
@@ -283,8 +283,8 @@ internal class AILuaAPI(g: Globals, actor: ActorWithPhysics) {
|
||||
// search down
|
||||
var searchDownCounter = 0
|
||||
while (true) {
|
||||
val tile = Terrarum.ingame!!.world.getTileFromTerrain(x, feetTilePos[1] + searchDownCounter) ?: Tile.STONE
|
||||
if (TileCodex[tile].isSolid || searchDownCounter >= searchDownLimit) {
|
||||
val tile = Terrarum.ingame!!.world.getTileFromTerrain(x, feetTilePos[1] + searchDownCounter) ?: Block.STONE
|
||||
if (BlockCodex[tile].isSolid || searchDownCounter >= searchDownLimit) {
|
||||
luatable[x - feetTilePos[0]] = searchDownCounter
|
||||
break
|
||||
}
|
||||
@@ -326,8 +326,8 @@ internal class AILuaAPI(g: Globals, actor: ActorWithPhysics) {
|
||||
// search up
|
||||
var searchUpCounter = 0
|
||||
while (true) {
|
||||
val tile = Terrarum.ingame!!.world.getTileFromTerrain(x, feetTilePos[1] - searchUpCounter) ?: Tile.STONE
|
||||
if (TileCodex[tile].isSolid || searchUpCounter >= searchUpLimit) {
|
||||
val tile = Terrarum.ingame!!.world.getTileFromTerrain(x, feetTilePos[1] - searchUpCounter) ?: Block.STONE
|
||||
if (BlockCodex[tile].isSolid || searchUpCounter >= searchUpLimit) {
|
||||
luatable[x - feetTilePos[0]] = searchUpCounter
|
||||
break
|
||||
}
|
||||
@@ -368,8 +368,8 @@ internal class AILuaAPI(g: Globals, actor: ActorWithPhysics) {
|
||||
// search up
|
||||
var searchUpCounter = 0
|
||||
while (true) {
|
||||
val tile = Terrarum.ingame!!.world.getTileFromTerrain(x, feetTilePos[1] - searchUpCounter) ?: Tile.STONE
|
||||
if (!TileCodex[tile].isSolid || searchUpCounter >= searchUpLimit) {
|
||||
val tile = Terrarum.ingame!!.world.getTileFromTerrain(x, feetTilePos[1] - searchUpCounter) ?: Block.STONE
|
||||
if (!BlockCodex[tile].isSolid || searchUpCounter >= searchUpLimit) {
|
||||
luatable[x - feetTilePos[0]] = searchUpCounter
|
||||
break
|
||||
}
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
package net.torvald.terrarum.gamecontroller
|
||||
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.*
|
||||
import net.torvald.terrarum.itemproperties.InventoryItem
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.ui.UIHandler
|
||||
import org.dyn4j.geometry.Vector2
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera
|
||||
import org.newdawn.slick.GameContainer
|
||||
import org.newdawn.slick.Input
|
||||
|
||||
@@ -25,10 +20,10 @@ object GameController {
|
||||
|
||||
/** position of the mouse (pixelwise) relative to the world (also, currently pointing world-wise coordinate, if the world coordinate is pixel-wise) */
|
||||
val mouseX: Float
|
||||
get() = (MapCamera.x + Terrarum.appgc.input.mouseX / (ingame.screenZoom ?: 1f))
|
||||
get() = (WorldCamera.x + Terrarum.appgc.input.mouseX / (ingame.screenZoom ?: 1f))
|
||||
/** position of the mouse (pixelwise) relative to the world (also, currently pointing world-wise coordinate, if the world coordinate is pixel-wise)*/
|
||||
val mouseY: Float
|
||||
get() = (MapCamera.y + Terrarum.appgc.input.mouseY / (ingame.screenZoom ?: 1f))
|
||||
get() = (WorldCamera.y + Terrarum.appgc.input.mouseY / (ingame.screenZoom ?: 1f))
|
||||
/** currently pointing tile coordinate */
|
||||
val mouseTileX: Int
|
||||
get() = (mouseX / FeaturesDrawer.TILE_SIZE).floorInt()
|
||||
|
||||
@@ -2,12 +2,11 @@
|
||||
package net.torvald.terrarum.gameworld
|
||||
|
||||
import net.torvald.terrarum.realestate.LandUtil
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import org.dyn4j.geometry.Vector2
|
||||
import org.newdawn.slick.SlickException
|
||||
|
||||
typealias TileAddress = Long
|
||||
typealias TileDamage = Float
|
||||
typealias BlockAddress = Long
|
||||
typealias BlockDamage = Float
|
||||
|
||||
class GameWorld(val width: Int, val height: Int) {
|
||||
|
||||
@@ -25,8 +24,8 @@ class GameWorld(val width: Int, val height: Int) {
|
||||
val spawnX: Int
|
||||
val spawnY: Int
|
||||
|
||||
val wallDamages = HashMap<TileAddress, TileDamage>()
|
||||
val terrainDamages = HashMap<TileAddress, TileDamage>()
|
||||
val wallDamages = HashMap<BlockAddress, BlockDamage>()
|
||||
val terrainDamages = HashMap<BlockAddress, BlockDamage>()
|
||||
|
||||
//public World physWorld = new World( new Vec2(0, -TerrarumMain.game.gravitationalAccel) );
|
||||
//physics
|
||||
@@ -155,13 +154,13 @@ class GameWorld(val width: Int, val height: Int) {
|
||||
fun setTileWall(x: Int, y: Int, tile: Byte, damage: Int) {
|
||||
layerWall.setTile(x fmod width, y, tile)
|
||||
layerWallLowBits.setData(x fmod width, y, damage)
|
||||
wallDamages.remove(LandUtil.getTileAddr(x, y))
|
||||
wallDamages.remove(LandUtil.getBlockAddr(x, y))
|
||||
}
|
||||
|
||||
fun setTileTerrain(x: Int, y: Int, tile: Byte, damage: Int) {
|
||||
layerTerrain.setTile(x fmod width, y, tile)
|
||||
layerTerrainLowBits.setData(x fmod width, y, damage)
|
||||
terrainDamages.remove(LandUtil.getTileAddr(x, y))
|
||||
terrainDamages.remove(LandUtil.getBlockAddr(x, y))
|
||||
}
|
||||
|
||||
fun setTileWire(x: Int, y: Int, tile: Byte) {
|
||||
@@ -232,7 +231,7 @@ class GameWorld(val width: Int, val height: Int) {
|
||||
*/
|
||||
fun inflictTerrainDamage(x: Int, y: Int, damage: Double): Boolean {
|
||||
val damage = damage.toFloat()
|
||||
val addr = LandUtil.getTileAddr(x, y)
|
||||
val addr = LandUtil.getBlockAddr(x, y)
|
||||
|
||||
//println("[GameWorld] ($x, $y) Damage: $damage")
|
||||
|
||||
@@ -249,7 +248,7 @@ class GameWorld(val width: Int, val height: Int) {
|
||||
//println("[GameWorld] accumulated damage: ${terrainDamages[addr]}")
|
||||
|
||||
// remove tile from the world
|
||||
if (terrainDamages[addr] ?: 0f >= TileCodex[getTileFromTerrain(x, y)].strength) {
|
||||
if (terrainDamages[addr] ?: 0f >= BlockCodex[getTileFromTerrain(x, y)].strength) {
|
||||
setTileTerrain(x, y, 0)
|
||||
return true
|
||||
}
|
||||
@@ -257,14 +256,14 @@ class GameWorld(val width: Int, val height: Int) {
|
||||
return false
|
||||
}
|
||||
fun getTerrainDamage(x: Int, y: Int): Float =
|
||||
terrainDamages[LandUtil.getTileAddr(x, y)] ?: 0f
|
||||
terrainDamages[LandUtil.getBlockAddr(x, y)] ?: 0f
|
||||
|
||||
/**
|
||||
* @return true if block is broken
|
||||
*/
|
||||
fun inflictWallDamage(x: Int, y: Int, damage: Double): Boolean {
|
||||
val damage = damage.toFloat()
|
||||
val addr = LandUtil.getTileAddr(x, y)
|
||||
val addr = LandUtil.getBlockAddr(x, y)
|
||||
|
||||
if (wallDamages[addr] == null) { // add new
|
||||
wallDamages[addr] = damage
|
||||
@@ -277,7 +276,7 @@ class GameWorld(val width: Int, val height: Int) {
|
||||
}
|
||||
|
||||
// remove tile from the world
|
||||
if (wallDamages[addr]!! >= TileCodex[getTileFromWall(x, y)].strength) {
|
||||
if (wallDamages[addr]!! >= BlockCodex[getTileFromWall(x, y)].strength) {
|
||||
setTileWall(x, y, 0)
|
||||
return true
|
||||
}
|
||||
@@ -285,7 +284,7 @@ class GameWorld(val width: Int, val height: Int) {
|
||||
return false
|
||||
}
|
||||
fun getWallDamage(x: Int, y: Int): Float =
|
||||
wallDamages[LandUtil.getTileAddr(x, y)] ?: 0f
|
||||
wallDamages[LandUtil.getBlockAddr(x, y)] ?: 0f
|
||||
|
||||
companion object {
|
||||
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
package net.torvald.terrarum.gameworld
|
||||
|
||||
import net.torvald.random.HQRNG
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.AnyPlayer
|
||||
import net.torvald.terrarum.gameactors.HistoricalFigure
|
||||
import net.torvald.terrarum.gameactors.Player
|
||||
import net.torvald.terrarum.gameactors.roundInt
|
||||
import net.torvald.terrarum.gameworld.WorldSimulator.isSolid
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.worlddrawer.BlocksDrawer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import org.newdawn.slick.Color
|
||||
import org.newdawn.slick.Graphics
|
||||
|
||||
@@ -74,10 +70,10 @@ object WorldSimulator {
|
||||
/////////////////////////////////////////////////////////////
|
||||
for (y in updateYFrom..updateYTo) {
|
||||
for (x in updateXFrom..updateXTo) {
|
||||
val tile = world.getTileFromTerrain(x, y) ?: Tile.STONE
|
||||
val tileBottom = world.getTileFromTerrain(x, y + 1) ?: Tile.STONE
|
||||
val tileLeft = world.getTileFromTerrain(x - 1, y) ?: Tile.STONE
|
||||
val tileRight = world.getTileFromTerrain(x + 1, y) ?: Tile.STONE
|
||||
val tile = world.getTileFromTerrain(x, y) ?: Block.STONE
|
||||
val tileBottom = world.getTileFromTerrain(x, y + 1) ?: Block.STONE
|
||||
val tileLeft = world.getTileFromTerrain(x - 1, y) ?: Block.STONE
|
||||
val tileRight = world.getTileFromTerrain(x + 1, y) ?: Block.STONE
|
||||
if (tile.isFluid()) {
|
||||
|
||||
// move down if not obstructed
|
||||
@@ -137,21 +133,21 @@ object WorldSimulator {
|
||||
fun displaceFallables(delta: Int) {
|
||||
for (y in updateYFrom..updateYTo) {
|
||||
for (x in updateXFrom..updateXTo) {
|
||||
val tile = world.getTileFromTerrain(x, y) ?: Tile.STONE
|
||||
val tileBelow = world.getTileFromTerrain(x, y + 1) ?: Tile.STONE
|
||||
val tile = world.getTileFromTerrain(x, y) ?: Block.STONE
|
||||
val tileBelow = world.getTileFromTerrain(x, y + 1) ?: Block.STONE
|
||||
|
||||
if (tile.isFallable()) {
|
||||
// displace fluid. This statement must precede isSolid()
|
||||
if (tileBelow.isFluid()) {
|
||||
// remove tileThis to create air pocket
|
||||
world.setTileTerrain(x, y, Tile.AIR)
|
||||
world.setTileTerrain(x, y, Block.AIR)
|
||||
|
||||
pour(x, y, drain(x, y, tileBelow.fluidLevel().toInt()))
|
||||
// place our tile
|
||||
world.setTileTerrain(x, y + 1, tile)
|
||||
}
|
||||
else if (!tileBelow.isSolid()) {
|
||||
world.setTileTerrain(x, y, Tile.AIR)
|
||||
world.setTileTerrain(x, y, Block.AIR)
|
||||
world.setTileTerrain(x, y + 1, tile)
|
||||
}
|
||||
}
|
||||
@@ -166,7 +162,7 @@ object WorldSimulator {
|
||||
for (y in 0..fluidMap.size - 1) {
|
||||
for (x in 0..fluidMap[0].size - 1) {
|
||||
val data = fluidMap[y][x]
|
||||
if (TilesDrawer.tileInCamera(x + updateXFrom, y + updateYFrom)) {
|
||||
if (BlocksDrawer.tileInCamera(x + updateXFrom, y + updateYFrom)) {
|
||||
if (data == 0.toByte())
|
||||
g.color = colourNone
|
||||
else
|
||||
@@ -197,7 +193,7 @@ object WorldSimulator {
|
||||
private fun worldToFluidMap(world: GameWorld) {
|
||||
for (y in updateYFrom..updateYTo) {
|
||||
for (x in updateXFrom..updateXTo) {
|
||||
val tile = world.getTileFromTerrain(x, y) ?: Tile.STONE
|
||||
val tile = world.getTileFromTerrain(x, y) ?: Block.STONE
|
||||
if (tile.isFluid()) {
|
||||
fluidMap[y - updateYFrom][x - updateXFrom] = tile.fluidLevel().toByte()
|
||||
fluidTypeMap[y - updateYFrom][x - updateXFrom] = tile.fluidType().toByte()
|
||||
@@ -217,13 +213,13 @@ object WorldSimulator {
|
||||
}
|
||||
}
|
||||
|
||||
fun Int.isFluid() = TileCodex[this].isFluid
|
||||
fun Int.isSolid() = this.fluidLevel() == FLUID_MAX || TileCodex[this].isSolid
|
||||
//fun Int.viscosity() = TileCodex[this].
|
||||
fun Int.isFluid() = BlockCodex[this].isFluid
|
||||
fun Int.isSolid() = this.fluidLevel() == FLUID_MAX || BlockCodex[this].isSolid
|
||||
//fun Int.viscosity() = BlockCodex[this].
|
||||
fun Int.fluidLevel() = if (!this.isFluid()) 0 else (this % FLUID_MAX).plus(1)
|
||||
fun Int.fluidType() = (this / 16) // 0 - 255, 255 being water, 254 being lava
|
||||
fun Int.isEven() = (this and 0x01) == 0
|
||||
fun Int.isFallable() = TileCodex[this].isFallable
|
||||
fun Int.isFallable() = BlockCodex[this].isFallable
|
||||
|
||||
private fun placeFluid(world: GameWorld, x: Int, y: Int, fluidType: Byte, amount: Int) {
|
||||
if (world.layerTerrain.isInBound(x, y)) {
|
||||
@@ -231,7 +227,7 @@ object WorldSimulator {
|
||||
world.setTileTerrain(x, y, fluidType, amount - 1)
|
||||
}
|
||||
else if (amount == 0 && world.getTileFromTerrain(x, y)!!.isFluid()) {
|
||||
world.setTileTerrain(x, y, Tile.AIR)
|
||||
world.setTileTerrain(x, y, Block.AIR)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,42 +202,42 @@ abstract class InventoryItem : Comparable<InventoryItem>, Cloneable {
|
||||
}
|
||||
|
||||
object EquipPosition {
|
||||
const val NULL = -1
|
||||
@JvmStatic val NULL = -1
|
||||
|
||||
const val ARMOUR = 0
|
||||
@JvmStatic val ARMOUR = 0
|
||||
// you can add alias to address something like LEGGINGS, BREASTPLATE, RINGS, NECKLACES, etc.
|
||||
const val BODY_BACK = 1 // wings, jetpacks, etc.
|
||||
const val BODY_BUFF2 = 2
|
||||
const val BODY_BUFF3 = 3
|
||||
const val BODY_BUFF4 = 4
|
||||
const val BODY_BUFF5 = 5
|
||||
const val BODY_BUFF6 = 6
|
||||
const val BODY_BUFF7 = 7
|
||||
const val BODY_BUFF8 = 8
|
||||
@JvmStatic val BODY_BACK = 1 // wings, jetpacks, etc.
|
||||
@JvmStatic val BODY_BUFF2 = 2
|
||||
@JvmStatic val BODY_BUFF3 = 3
|
||||
@JvmStatic val BODY_BUFF4 = 4
|
||||
@JvmStatic val BODY_BUFF5 = 5
|
||||
@JvmStatic val BODY_BUFF6 = 6
|
||||
@JvmStatic val BODY_BUFF7 = 7
|
||||
@JvmStatic val BODY_BUFF8 = 8
|
||||
|
||||
const val HAND_GRIP = 9
|
||||
const val HAND_GAUNTLET = 10
|
||||
const val HAND_BUFF2 = 11
|
||||
const val HAND_BUFF3 = 12
|
||||
const val HAND_BUFF4 = 13
|
||||
@JvmStatic val HAND_GRIP = 9
|
||||
@JvmStatic val HAND_GAUNTLET = 10
|
||||
@JvmStatic val HAND_BUFF2 = 11
|
||||
@JvmStatic val HAND_BUFF3 = 12
|
||||
@JvmStatic val HAND_BUFF4 = 13
|
||||
|
||||
const val FOOTWEAR = 14
|
||||
@JvmStatic val FOOTWEAR = 14
|
||||
|
||||
const val HEADGEAR = 15
|
||||
@JvmStatic val HEADGEAR = 15
|
||||
|
||||
const val INDEX_MAX = 15
|
||||
@JvmStatic val INDEX_MAX = 15
|
||||
}
|
||||
|
||||
object Category {
|
||||
const val WEAPON = "weapon"
|
||||
const val TOOL = "tool"
|
||||
const val ARMOUR = "armour"
|
||||
const val GENERIC = "generic"
|
||||
const val POTION = "potion"
|
||||
const val MAGIC = "magic"
|
||||
const val BLOCK = "block"
|
||||
const val WALL = "wall"
|
||||
const val MISC = "misc"
|
||||
@JvmStatic val WEAPON = "weapon"
|
||||
@JvmStatic val TOOL = "tool"
|
||||
@JvmStatic val ARMOUR = "armour"
|
||||
@JvmStatic val GENERIC = "generic"
|
||||
@JvmStatic val POTION = "potion"
|
||||
@JvmStatic val MAGIC = "magic"
|
||||
@JvmStatic val BLOCK = "block"
|
||||
@JvmStatic val WALL = "wall"
|
||||
@JvmStatic val MISC = "misc"
|
||||
}
|
||||
|
||||
override public fun clone(): InventoryItem {
|
||||
|
||||
@@ -4,15 +4,13 @@ import net.torvald.point.Point2d
|
||||
import net.torvald.terrarum.KVHashMap
|
||||
import net.torvald.terrarum.gameactors.CanBeAnItem
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.AVKey
|
||||
import net.torvald.terrarum.gameactors.ActorWithPhysics
|
||||
import net.torvald.terrarum.gamecontroller.mouseTileX
|
||||
import net.torvald.terrarum.gamecontroller.mouseTileY
|
||||
import net.torvald.terrarum.gameworld.GameWorld
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer.wallOverlayColour
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.worlddrawer.BlocksDrawer
|
||||
import net.torvald.terrarum.worlddrawer.BlocksDrawer.wallOverlayColour
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import org.newdawn.slick.GameContainer
|
||||
import org.newdawn.slick.Image
|
||||
import java.util.*
|
||||
@@ -41,16 +39,17 @@ object ItemCodex {
|
||||
|
||||
|
||||
init {
|
||||
// tile items (blocks and walls are the same thing basically)
|
||||
// blocks.csvs are loaded by ModMgr beforehand
|
||||
// block items (blocks and walls are the same thing basically)
|
||||
for (i in ITEM_TILES + ITEM_WALLS) {
|
||||
itemCodex[i] = object : InventoryItem() {
|
||||
override val originalID = i
|
||||
override var dynamicID = i
|
||||
override val isUnique: Boolean = false
|
||||
override var baseMass: Double = TileCodex[i].density / 1000.0
|
||||
override var baseMass: Double = BlockCodex[i].density / 1000.0
|
||||
override var baseToolSize: Double? = null
|
||||
override var equipPosition = EquipPosition.HAND_GRIP
|
||||
override val originalName = TileCodex[i % ITEM_WALLS.first].nameKey
|
||||
override val originalName = BlockCodex[i % ITEM_WALLS.first].nameKey
|
||||
override var stackable = true
|
||||
override var inventoryCategory = Category.BLOCK
|
||||
override var isDynamic = false
|
||||
@@ -138,7 +137,7 @@ object ItemCodex {
|
||||
}
|
||||
|
||||
// return false if there's no tile
|
||||
if (Tile.AIR == Terrarum.ingame!!.world.getTileFromTerrain(gc.mouseTileX, gc.mouseTileY))
|
||||
if (Block.AIR == Terrarum.ingame!!.world.getTileFromTerrain(gc.mouseTileX, gc.mouseTileY))
|
||||
return false
|
||||
|
||||
|
||||
@@ -192,17 +191,17 @@ object ItemCodex {
|
||||
fun getItemImage(item: InventoryItem): Image {
|
||||
// terrain
|
||||
if (item.originalID in ITEM_TILES) {
|
||||
return TilesDrawer.tilesTerrain.getSubImage((item.dynamicID % 16) * 16, item.originalID / 16)
|
||||
return BlocksDrawer.tilesTerrain.getSubImage((item.dynamicID % 16) * 16, item.originalID / 16)
|
||||
}
|
||||
// wall
|
||||
else if (item.originalID in ITEM_WALLS) {
|
||||
val img = TilesDrawer.tilesTerrain.getSubImage((item.originalID % 16) * 16, item.originalID / 16)
|
||||
val img = BlocksDrawer.tilesTerrain.getSubImage((item.originalID % 16) * 16, item.originalID / 16)
|
||||
img.setImageColor(wallOverlayColour.r, wallOverlayColour.g, wallOverlayColour.b)
|
||||
return img
|
||||
}
|
||||
// wire
|
||||
else if (item.originalID in ITEM_WIRES) {
|
||||
return TilesDrawer.tilesWire.getSubImage((item.originalID % 16) * 16, item.originalID / 16)
|
||||
return BlocksDrawer.tilesWire.getSubImage((item.originalID % 16) * 16, item.originalID / 16)
|
||||
}
|
||||
else
|
||||
return itemImagePlaceholder
|
||||
|
||||
@@ -2,16 +2,16 @@ package net.torvald.terrarum.realestate
|
||||
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.faction.FactionCodex
|
||||
import net.torvald.terrarum.gameworld.TileAddress
|
||||
import net.torvald.terrarum.gameworld.BlockAddress
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-03-27.
|
||||
*/
|
||||
object LandUtil {
|
||||
fun getTileAddr(x: Int, y: Int): TileAddress =
|
||||
fun getBlockAddr(x: Int, y: Int): BlockAddress =
|
||||
(Terrarum.ingame!!.world.width * y).toLong() + x
|
||||
|
||||
fun resolveAbsoluteTileNumber(t: TileAddress): Pair<Int, Int> =
|
||||
fun resolveAbsoluteBlockNumber(t: BlockAddress): Pair<Int, Int> =
|
||||
Pair((t % Terrarum.ingame!!.world.width).toInt(), (t / Terrarum.ingame!!.world.width).toInt())
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package net.torvald.terrarum.realestate
|
||||
|
||||
import java.io.Serializable
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
@@ -8,20 +7,20 @@ import java.util.*
|
||||
*/
|
||||
object RealEstateCodex {
|
||||
/**
|
||||
* HashMap<Absolute tile number, Actor/Faction ID>
|
||||
* HashMap<Absolute block number, Actor/Faction ID>
|
||||
*
|
||||
* Note that a tile can have only ONE owner (as an Actor or Faction ID)
|
||||
* Note that a block can have only ONE owner (as an Actor or Faction ID)
|
||||
*/
|
||||
private var ownershipRegistry: HashMap<Long, Int> = HashMap()
|
||||
|
||||
fun setOwner(tileX: Int, tileY: Int, refID: Int) {
|
||||
ownershipRegistry[LandUtil.getTileAddr(tileX, tileY)] = refID
|
||||
ownershipRegistry[LandUtil.getBlockAddr(tileX, tileY)] = refID
|
||||
}
|
||||
|
||||
fun removeOwner(tileX: Int, tileY: Int) {
|
||||
ownershipRegistry.remove(LandUtil.getTileAddr(tileX, tileY))
|
||||
ownershipRegistry.remove(LandUtil.getBlockAddr(tileX, tileY))
|
||||
}
|
||||
|
||||
fun getOwner(tileX: Int, tileY: Int): Int? =
|
||||
ownershipRegistry[LandUtil.getTileAddr(tileX, tileY)]
|
||||
ownershipRegistry[LandUtil.getBlockAddr(tileX, tileY)]
|
||||
}
|
||||
@@ -1,154 +0,0 @@
|
||||
package net.torvald.terrarum.tileproperties
|
||||
|
||||
import net.torvald.terrarum.Terrarum
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-02-21.
|
||||
*/
|
||||
object Tile {
|
||||
|
||||
val AIR = 0 // hard coded; this is the standard
|
||||
|
||||
val STONE = TileCodex.idDamageToIndex(1, 0)
|
||||
val STONE_QUARRIED = TileCodex.idDamageToIndex(1, 1)
|
||||
val STONE_TILE_WHITE = TileCodex.idDamageToIndex(1, 2)
|
||||
val STONE_BRICKS = TileCodex.idDamageToIndex(1, 3)
|
||||
|
||||
val DIRT = TileCodex.idDamageToIndex(2, 0)
|
||||
val GRASS = TileCodex.idDamageToIndex(2, 1)
|
||||
|
||||
val PLANK_NORMAL = TileCodex.idDamageToIndex(3, 0)
|
||||
val PLANK_EBONY = TileCodex.idDamageToIndex(3, 1)
|
||||
val PLANK_BIRCH = TileCodex.idDamageToIndex(3, 2)
|
||||
val PLANK_BLOODROSE = TileCodex.idDamageToIndex(3, 3)
|
||||
|
||||
val TRUNK_NORMAL = TileCodex.idDamageToIndex(4, 0)
|
||||
val TRUNK_EBONY = TileCodex.idDamageToIndex(4, 1)
|
||||
val TRUNK_BIRCH = TileCodex.idDamageToIndex(4, 2)
|
||||
val TRUNK_BLOODROSE = TileCodex.idDamageToIndex(4, 3)
|
||||
|
||||
val SAND = TileCodex.idDamageToIndex(5, 0)
|
||||
val SAND_WHITE = TileCodex.idDamageToIndex(5, 1)
|
||||
val SAND_RED = TileCodex.idDamageToIndex(5, 2)
|
||||
val SAND_DESERT = TileCodex.idDamageToIndex(5, 3)
|
||||
val SAND_BLACK = TileCodex.idDamageToIndex(5, 4)
|
||||
val SAND_GREEN = TileCodex.idDamageToIndex(5, 5)
|
||||
|
||||
val GRAVEL = TileCodex.idDamageToIndex(6, 0)
|
||||
val GRAVEL_GREY = TileCodex.idDamageToIndex(6, 1)
|
||||
|
||||
val ORE_COPPER = TileCodex.idDamageToIndex(7, 0)
|
||||
val ORE_IRON = TileCodex.idDamageToIndex(7, 1)
|
||||
val ORE_GOLD = TileCodex.idDamageToIndex(7, 2)
|
||||
val ORE_SILVER = TileCodex.idDamageToIndex(7, 3)
|
||||
val ORE_ILMENITE = TileCodex.idDamageToIndex(7, 4)
|
||||
val ORE_AURICHALCUM = TileCodex.idDamageToIndex(7, 5)
|
||||
|
||||
val RAW_RUBY = TileCodex.idDamageToIndex(8, 0)
|
||||
val RAW_EMERALD = TileCodex.idDamageToIndex(8, 1)
|
||||
val RAW_SAPPHIRE = TileCodex.idDamageToIndex(8, 2)
|
||||
val RAW_TOPAZ = TileCodex.idDamageToIndex(8, 3)
|
||||
val RAW_DIAMOND = TileCodex.idDamageToIndex(8, 4)
|
||||
val RAW_AMETHYST = TileCodex.idDamageToIndex(8, 5)
|
||||
|
||||
val SNOW = TileCodex.idDamageToIndex(9, 0)
|
||||
val ICE_FRAGILE = TileCodex.idDamageToIndex(9, 1)
|
||||
val ICE_NATURAL = TileCodex.idDamageToIndex(9, 2)
|
||||
val ICE_MAGICAL = TileCodex.idDamageToIndex(9, 3)
|
||||
|
||||
val GLASS_CRUDE = TileCodex.idDamageToIndex(9, 4)
|
||||
val GLASS_CLEAN = TileCodex.idDamageToIndex(9, 5)
|
||||
|
||||
val PLATFORM_STONE = TileCodex.idDamageToIndex(10, 0)
|
||||
val PLATFORM_WOODEN = TileCodex.idDamageToIndex(10, 1)
|
||||
val PLATFORM_EBONY = TileCodex.idDamageToIndex(10, 2)
|
||||
val PLATFORM_BIRCH = TileCodex.idDamageToIndex(10, 3)
|
||||
val PLATFORM_BLOODROSE = TileCodex.idDamageToIndex(10, 4)
|
||||
|
||||
val TORCH = TileCodex.idDamageToIndex(11, 0)
|
||||
val TORCH_FROST = TileCodex.idDamageToIndex(11, 1)
|
||||
|
||||
val TORCH_OFF = TileCodex.idDamageToIndex(12, 0)
|
||||
val TORCH_FROST_OFF = TileCodex.idDamageToIndex(12, 1)
|
||||
|
||||
val ILLUMINATOR_WHITE = TileCodex.idDamageToIndex(13, 0)
|
||||
val ILLUMINATOR_YELLOW = TileCodex.idDamageToIndex(13, 1)
|
||||
val ILLUMINATOR_ORANGE = TileCodex.idDamageToIndex(13, 2)
|
||||
val ILLUMINATOR_RED = TileCodex.idDamageToIndex(13, 3)
|
||||
val ILLUMINATOR_FUCHSIA = TileCodex.idDamageToIndex(13, 4)
|
||||
val ILLUMINATOR_PURPLE = TileCodex.idDamageToIndex(13, 5)
|
||||
val ILLUMINATOR_BLUE = TileCodex.idDamageToIndex(13, 6)
|
||||
val ILLUMINATOR_CYAN = TileCodex.idDamageToIndex(13, 7)
|
||||
val ILLUMINATOR_GREEN = TileCodex.idDamageToIndex(13, 8)
|
||||
val ILLUMINATOR_GREEN_DARK = TileCodex.idDamageToIndex(13, 9)
|
||||
val ILLUMINATOR_BROWN = TileCodex.idDamageToIndex(13, 10)
|
||||
val ILLUMINATOR_TAN = TileCodex.idDamageToIndex(13, 11)
|
||||
val ILLUMINATOR_GREY_LIGHT = TileCodex.idDamageToIndex(13, 12)
|
||||
val ILLUMINATOR_GREY_MED = TileCodex.idDamageToIndex(13, 13)
|
||||
val ILLUMINATOR_GREY_DARK = TileCodex.idDamageToIndex(13, 14)
|
||||
val ILLUMINATOR_BLACK = TileCodex.idDamageToIndex(13, 15)
|
||||
|
||||
val ILLUMINATOR_WHITE_OFF = TileCodex.idDamageToIndex(14, 0)
|
||||
val ILLUMINATOR_YELLOW_OFF = TileCodex.idDamageToIndex(14, 1)
|
||||
val ILLUMINATOR_ORANGE_OFF = TileCodex.idDamageToIndex(14, 2)
|
||||
val ILLUMINATOR_RED_OFF = TileCodex.idDamageToIndex(14, 3)
|
||||
val ILLUMINATOR_FUCHSIA_OFF = TileCodex.idDamageToIndex(14, 4)
|
||||
val ILLUMINATOR_PURPLE_OFF = TileCodex.idDamageToIndex(14, 5)
|
||||
val ILLUMINATOR_BLUE_OFF = TileCodex.idDamageToIndex(14, 6)
|
||||
val ILLUMINATOR_CYAN_OFF = TileCodex.idDamageToIndex(14, 7)
|
||||
val ILLUMINATOR_GREEN_OFF = TileCodex.idDamageToIndex(14, 8)
|
||||
val ILLUMINATOR_GREEN_DARK_OFF = TileCodex.idDamageToIndex(14, 9)
|
||||
val ILLUMINATOR_BROWN_OFF = TileCodex.idDamageToIndex(14, 10)
|
||||
val ILLUMINATOR_TAN_OFF = TileCodex.idDamageToIndex(14, 11)
|
||||
val ILLUMINATOR_GREY_LIGHT_OFF = TileCodex.idDamageToIndex(14, 12)
|
||||
val ILLUMINATOR_GREY_MED_OFF = TileCodex.idDamageToIndex(14, 13)
|
||||
val ILLUMINATOR_GREY_DARK_OFF = TileCodex.idDamageToIndex(14, 14)
|
||||
val ILLUMINATOR_BLACK_OFF = TileCodex.idDamageToIndex(14, 15)
|
||||
|
||||
val SANDSTONE = TileCodex.idDamageToIndex(15, 0)
|
||||
val SANDSTONE_WHITE = TileCodex.idDamageToIndex(15, 1)
|
||||
val SANDSTONE_RED = TileCodex.idDamageToIndex(15, 2)
|
||||
val SANDSTONE_DESERT = TileCodex.idDamageToIndex(15, 3)
|
||||
val SANDSTONE_BLACK = TileCodex.idDamageToIndex(15, 4)
|
||||
val SANDSTONE_GREEN = TileCodex.idDamageToIndex(15, 5)
|
||||
|
||||
val LANTERN = TileCodex.idDamageToIndex(16, 0)
|
||||
val SUNSTONE = TileCodex.idDamageToIndex(16, 1)
|
||||
val DAYLIGHT_CAPACITOR = TileCodex.idDamageToIndex(16, 2)
|
||||
|
||||
val WATER_1 = TileCodex.idDamageToIndex(255, 0)
|
||||
val WATER_2 = TileCodex.idDamageToIndex(255, 1)
|
||||
val WATER_3 = TileCodex.idDamageToIndex(255, 2)
|
||||
val WATER_4 = TileCodex.idDamageToIndex(255, 3)
|
||||
val WATER_5 = TileCodex.idDamageToIndex(255, 4)
|
||||
val WATER_6 = TileCodex.idDamageToIndex(255, 5)
|
||||
val WATER_7 = TileCodex.idDamageToIndex(255, 6)
|
||||
val WATER_8 = TileCodex.idDamageToIndex(255, 7)
|
||||
val WATER_9 = TileCodex.idDamageToIndex(255, 8)
|
||||
val WATER_10 = TileCodex.idDamageToIndex(255, 9)
|
||||
val WATER_11 = TileCodex.idDamageToIndex(255, 10)
|
||||
val WATER_12 = TileCodex.idDamageToIndex(255, 11)
|
||||
val WATER_13 = TileCodex.idDamageToIndex(255, 12)
|
||||
val WATER_14 = TileCodex.idDamageToIndex(255, 13)
|
||||
val WATER_15 = TileCodex.idDamageToIndex(255, 14)
|
||||
val WATER = TileCodex.idDamageToIndex(255, 15)
|
||||
|
||||
val LAVA_1 = TileCodex.idDamageToIndex(254, 0)
|
||||
val LAVA_2 = TileCodex.idDamageToIndex(254, 1)
|
||||
val LAVA_3 = TileCodex.idDamageToIndex(254, 2)
|
||||
val LAVA_4 = TileCodex.idDamageToIndex(254, 3)
|
||||
val LAVA_5 = TileCodex.idDamageToIndex(254, 4)
|
||||
val LAVA_6 = TileCodex.idDamageToIndex(254, 5)
|
||||
val LAVA_7 = TileCodex.idDamageToIndex(254, 6)
|
||||
val LAVA_8 = TileCodex.idDamageToIndex(254, 7)
|
||||
val LAVA_9 = TileCodex.idDamageToIndex(254, 8)
|
||||
val LAVA_10 = TileCodex.idDamageToIndex(254, 9)
|
||||
val LAVA_11 = TileCodex.idDamageToIndex(254, 10)
|
||||
val LAVA_12 = TileCodex.idDamageToIndex(254, 11)
|
||||
val LAVA_13 = TileCodex.idDamageToIndex(254, 12)
|
||||
val LAVA_14 = TileCodex.idDamageToIndex(254, 13)
|
||||
val LAVA_15 = TileCodex.idDamageToIndex(254, 14)
|
||||
val LAVA = TileCodex.idDamageToIndex(254, 15)
|
||||
|
||||
val NULL = -1
|
||||
}
|
||||
@@ -1,180 +0,0 @@
|
||||
package net.torvald.terrarum.tileproperties
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-09-11.
|
||||
*/
|
||||
object TilePropCSVFUfufufufufufffnufuuufufu {
|
||||
operator fun invoke() = """
|
||||
"id";"sid";"name" ; "opacity";"strength";"dsty";"mate";"fluid";"solid";"wall"; "lumcolor";"drop";"ddmg";"fall";"dlfn";"vscs";"fv";"friction"
|
||||
"0"; "0";"TILE_AIR" ; "8396808"; "1"; "1";"null"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "N/A"; "0";"4"
|
||||
"1"; "0";"TILE_STONE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "1";"TILE_STONE_QUARRIED" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "2";"TILE_STONE_TILE_WHITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"1"; "3";"TILE_STONE_BRICKS" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "1"; "0"; "1"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "0";"TILE_DIRT" ; "33587232"; "24";"1400";"dirt"; "0"; "1"; "1"; "0"; "2"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "1";"TILE_GRASS" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "2";"TILE_FOLIAGE_GREEN" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "3";"TILE_FOLIAGE_LIME" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "4";"TILE_FOLIAGE_GOLD" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "5";"TILE_FOLIAGE_RED" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "6";"TILE_FOLIAGE_ICEBLUE" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"2"; "7";"TILE_FOLIAGE_PURPLE" ; "33587232"; "24";"1400";"grss"; "0"; "1"; "1"; "0"; "2"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "0";"TILE_PLANK_NORMAL" ; "33587232"; "16"; "740";"wood"; "0"; "1"; "1"; "0"; "3"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "1";"TILE_PLANK_EBONY" ; "33587232"; "19";"1200";"wood"; "0"; "1"; "1"; "0"; "3"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "2";"TILE_PLANK_BIRCH" ; "33587232"; "15"; "670";"wood"; "0"; "1"; "1"; "0"; "3"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"3"; "3";"TILE_PLANK_BLOODROSE" ; "33587232"; "17"; "900";"wood"; "0"; "1"; "1"; "0"; "3"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "0";"TILE_TRUNK_NORMAL" ; "33587232"; "16"; "740";"wood"; "0"; "1"; "0"; "0"; "3"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "1";"TILE_TRUNK_EBONY" ; "33587232"; "19";"1200";"wood"; "0"; "1"; "0"; "0"; "3"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "2";"TILE_TRUNK_BIRCH" ; "33587232"; "15"; "670";"wood"; "0"; "1"; "0"; "0"; "3"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"4"; "3";"TILE_TRUNK_BLOODROSE" ; "33587232"; "17"; "900";"wood"; "0"; "1"; "0"; "0"; "3"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"5"; "0";"TILE_SAND" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "0"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "1";"TILE_SAND_WHITE" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "1"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "2";"TILE_SAND_RED" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "2"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "3";"TILE_SAND_DESERT" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "3"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "4";"TILE_SAND_BLACK" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "4"; "1"; "0"; "N/A"; "0";"16"
|
||||
"5"; "5";"TILE_SAND_GREEN" ; "33587232"; "24";"2400";"sand"; "0"; "1"; "0"; "0"; "5"; "5"; "1"; "0"; "N/A"; "0";"16"
|
||||
"6"; "0";"TILE_GRAVEL" ; "33587232"; "24";"2400";"grvl"; "0"; "1"; "0"; "0"; "6"; "0"; "1"; "0"; "N/A"; "0";"16"
|
||||
"6"; "1";"TILE_GRAVEL_GREY" ; "33587232"; "24";"2400";"grvl"; "0"; "1"; "0"; "0"; "6"; "1"; "1"; "0"; "N/A"; "0";"16"
|
||||
"7"; "0";"TILE_ORE_MALACHITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "1";"TILE_ORE_HEMATITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "2";"TILE_ORE_NATURAL_GOLD" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "3";"TILE_ORE_NATURAL_SILVER" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "4";"TILE_ORE_RUTILE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"7"; "5";"TILE_ORE_AURICHALCUMITE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "7"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "0";"TILE_GEM_RUBY" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "1";"TILE_GEM_EMERALD" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "2";"TILE_GEM_SAPPHIRE" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "3";"TILE_GEM_TOPAZ" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "4";"TILE_GEM_DIAMOND" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"8"; "5";"TILE_GEM_AMETHYST" ; "33587232"; "48";"2400";"rock"; "0"; "1"; "0"; "0"; "8"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "0";"TILE_SNOW" ; "33587232"; "24"; "500";"snow"; "0"; "1"; "1"; "0"; "9"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "1";"TILE_ICE_FRAGILE" ; "13644813"; "5"; "930";"icei"; "0"; "1"; "0"; "0"; "9"; "1"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "2";"TILE_ICE_NATURAL" ; "27289626"; "35"; "930";"icei"; "0"; "1"; "1"; "0"; "9"; "2"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "3";"TILE_ICE_CLEAR_MAGICAL" ; "33587232"; "48";"3720";"icex"; "0"; "1"; "1"; "19955770"; "9"; "3"; "0"; "0"; "N/A"; "0"; "4"
|
||||
"9"; "4";"TILE_GLASS_CRUDE" ; "3146755"; "5";"2500";"glas"; "0"; "1"; "1"; "0"; "9"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"9"; "5";"TILE_GLASS_CLEAN" ; "1049601"; "5";"2203";"glas"; "0"; "1"; "1"; "0"; "9"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "0";"TILE_PLATFORM_STONE" ; "8396808"; "5"; "N/A";"rock"; "0"; "0"; "0"; "0"; "10"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "1";"TILE_PLATFORM_WOODEN" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "2";"TILE_PLATFORM_EBONY" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "3";"TILE_PLATFORM_BIRCH" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"10"; "4";"TILE_PLATFORM_BLOODROSE" ; "8396808"; "5"; "N/A";"wood"; "0"; "0"; "0"; "0"; "10"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"11"; "0";"TILE_TORCH" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "267553792"; "11"; "0"; "0"; "1"; "N/A"; "0";"16"
|
||||
"11"; "1";"TILE_TORCH_FROST" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "81916159"; "11"; "1"; "0"; "1"; "N/A"; "0";"16"
|
||||
"12"; "0";"TILE_TORCH" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "0"; "11"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"12"; "1";"TILE_TORCH_FROST" ; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "0"; "11"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "0";"TILE_ILLUMINATOR_WHITE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "239319274"; "13"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "1";"TILE_ILLUMINATOR_YELLOW" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "267607040"; "13"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "2";"TILE_ILLUMINATOR_ORANGE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "267546624"; "13"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "3";"TILE_ILLUMINATOR_RED" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "246415360"; "13"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "4";"TILE_ILLUMINATOR_FUCHSIA" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "246415543"; "13"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "5";"TILE_ILLUMINATOR_PURPLE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "191889643"; "13"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "6";"TILE_ILLUMINATOR_BLUE" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "52479"; "13"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "7";"TILE_ILLUMINATOR_CYAN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "219391"; "13"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "8";"TILE_ILLUMINATOR_GREEN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "56884224"; "13"; "8"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "9";"TILE_ILLUMINATOR_GREEN_DARK";"8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "33660928"; "13"; "9"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "10";"TILE_ILLUMINATOR_BROWN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "89161728"; "13"; "10"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "11";"TILE_ILLUMINATOR_TAN" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "157392948"; "13"; "11"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "12";"TILE_ILLUMINATOR_GREY_LIGHT";"8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "198374589"; "13"; "12"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "13";"TILE_ILLUMINATOR_GREY_MED"; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "122803317"; "13"; "13"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "14";"TILE_ILLUMINATOR_GREY_DARK"; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "68224065"; "13"; "14"; "0"; "0"; "N/A"; "0";"16"
|
||||
"13"; "15";"TILE_ILLUMINATOR_BLACK" ; "8396808"; "1"; "N/A";"glas"; "0"; "1"; "1"; "116392191"; "13"; "15"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "0";"TILE_ILLUMINATOR_WHITE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "1";"TILE_ILLUMINATOR_YELLOW" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "2";"TILE_ILLUMINATOR_ORANGE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "3";"TILE_ILLUMINATOR_RED" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "4";"TILE_ILLUMINATOR_FUCHSIA" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "5";"TILE_ILLUMINATOR_PURPLE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "6";"TILE_ILLUMINATOR_BLUE" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "6"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "7";"TILE_ILLUMINATOR_CYAN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "7"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "8";"TILE_ILLUMINATOR_GREEN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "8"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "9";"TILE_ILLUMINATOR_GREEN_DARK";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "9"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "10";"TILE_ILLUMINATOR_BROWN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "10"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "11";"TILE_ILLUMINATOR_TAN" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "11"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "12";"TILE_ILLUMINATOR_GREY_LIGHT";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "12"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "13";"TILE_ILLUMINATOR_GREY_MED"; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "13"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "14";"TILE_ILLUMINATOR_GREY_DARK";"33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "14"; "0"; "0"; "N/A"; "0";"16"
|
||||
"14"; "15";"TILE_ILLUMINATOR_BLACK" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "1"; "0"; "13"; "15"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "0";"TILE_SANDSTONE" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "1";"TILE_SANDSTONE_WHITE" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "1"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "2";"TILE_SANDSTONE_RED" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "2"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "3";"TILE_SANDSTONE_DESERT" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "3"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "4";"TILE_SANDSTONE_BLACK" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "4"; "0"; "0"; "N/A"; "0";"16"
|
||||
"15"; "5";"TILE_SANDSTONE_GREEN" ; "33587232"; "48";"1900";"rock"; "0"; "1"; "1"; "0"; "15"; "5"; "0"; "0"; "N/A"; "0";"16"
|
||||
"16"; "0";"TILE_LANTERN_IRON_REGULAR"; "8396808"; "1"; "N/A";"fxtr"; "0"; "0"; "0"; "267553792"; "16"; "0"; "0"; "0"; "N/A"; "0";"16"
|
||||
"16"; "1";"TILE_SUNSTONE" ; "33587232"; "1"; "N/A";"rock"; "0"; "1"; "0"; "0"; "16"; "1"; "0"; "2"; "N/A"; "0";"16"
|
||||
"16"; "2";"TILE_DAYLIGHT_CAPACITOR" ; "33587232"; "1"; "N/A";"glas"; "0"; "1"; "0"; "0"; "16"; "2"; "0"; "3"; "N/A"; "0";"16"
|
||||
"254"; "0";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "1";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "2";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "3";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "4";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "5";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "6";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "7";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "8";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "9";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "10";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "11";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "12";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "13";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "14";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"254"; "15";"TILE_LAVA" ;"260301048"; "100";"2600";"rock"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0"; "32"; "0";"16"
|
||||
"255"; "0";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "1";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "2";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "3";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "4";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "5";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "6";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "7";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "8";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "9";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "10";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "11";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "12";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "13";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "14";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"255"; "15";"TILE_WATER" ; "27282445"; "100";"1000";"watr"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0"; "16"; "0";"16"
|
||||
"0"; "-1";"TILE_NULL" ;"1073741823"; "-1";"2600";"null"; "0"; "0"; "1"; "0"; "N/A"; "N/A"; "0"; "0"; "N/A"; "0";"16"
|
||||
|
||||
## Notes ##
|
||||
|
||||
# Friction: 0: frictionless, <16: slippery, 16: regular, >16: sticky
|
||||
|
||||
# Opacity/Lumcolor: 30-bit RGB. Only the light diffusers have a opacity value of ZERO.
|
||||
|
||||
# Solid: whether the tile has full collision
|
||||
|
||||
# vscs: viscosity, (velocity) / (1 + (n/16)), 16 halves movement speed, can be used to non-fluid tiles (sticky hazard, tarmac road in Terraria)
|
||||
|
||||
# dsty: density. As we are putting water an 1000, it is identical to specific gravity. [g/l]
|
||||
|
||||
# dlfn: dynamic luminosity function.
|
||||
# 0-static, 1-torch flicker, 2-current global light (sun, star, moon), 3-daylight at noon,
|
||||
# 4-slow breath, 5-pulsate
|
||||
|
||||
# mate: material, four-letter code
|
||||
|
||||
# fv: vertical friction (boolean)
|
||||
|
||||
|
||||
## Illuminators ##
|
||||
|
||||
# Illuminator white: RGB(228,238,234), simulation of a halophosphate FL lamp (If you want high CRI lamp, collect a daylight!)
|
||||
# Defalut torch : Y 64 x 0.55183 y 0.40966 (Planckian ~1 770 K); real candlelight colour taken from Spyder5 colorimeter (for I couldn't afford i1DisplayPro/Colormunki)
|
||||
# Sunstone: Artificial sunlight, change colour over time in sync with sunlight. The light is set by game's code.
|
||||
# Sunlight capacitor: daylight at noon. Set by game's code.
|
||||
|
||||
|
||||
## Tiles ##
|
||||
|
||||
# 16 colour palette : games's 16-colour palette
|
||||
# Magical ice: theoretical __metallic__ ice that might form under super-high pressure (> 5 TPa). Its density is a wild guess.
|
||||
|
||||
|
||||
## References ##
|
||||
|
||||
# * Density of various woods : http://www.engineeringtoolbox.com/wood-density-d_40.html
|
||||
# * Density of various phases of ice : http://www1.lsbu.ac.uk/water/ice_phases.html
|
||||
"""
|
||||
}
|
||||
@@ -1,156 +0,0 @@
|
||||
"id";"dmg";"name" ; "opacity";"strength";"dsty";"fluid";"solid";"wall"; "lumcolor";"drop";"ddmg";"fall";"dlfn";"friction"
|
||||
"0"; "0";"TILE_AIR" ; "8396808"; "0"; "1"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "0";"4"
|
||||
"1"; "0";"TILE_STONE" ; "33587232"; "25";"2400"; "0"; "1"; "1"; "0"; "1"; "0"; "0"; "0";"16"
|
||||
"1"; "1";"TILE_STONE_QUARRIED" ; "33587232"; "25";"2400"; "0"; "1"; "1"; "0"; "1"; "1"; "0"; "0";"16"
|
||||
"1"; "2";"TILE_STONE_TILE_WHITE" ; "33587232"; "25";"2400"; "0"; "1"; "1"; "0"; "1"; "2"; "0"; "0";"16"
|
||||
"1"; "3";"TILE_STONE_BRICKS" ; "33587232"; "25";"2400"; "0"; "1"; "1"; "0"; "1"; "3"; "0"; "0";"16"
|
||||
"2"; "0";"TILE_DIRT" ; "33587232"; "6";"1400"; "0"; "1"; "1"; "0"; "2"; "0"; "0"; "0";"16"
|
||||
"2"; "1";"TILE_GRASS" ; "33587232"; "6";"1400"; "0"; "1"; "1"; "0"; "2"; "1"; "0"; "0";"16"
|
||||
"3"; "0";"TILE_PLANK_NORMAL" ; "33587232"; "12"; "740"; "0"; "1"; "1"; "0"; "3"; "0"; "0"; "0";"16"
|
||||
"3"; "1";"TILE_PLANK_EBONY" ; "33587232"; "12";"1200"; "0"; "1"; "1"; "0"; "3"; "1"; "0"; "0";"16"
|
||||
"3"; "2";"TILE_PLANK_BIRCH" ; "33587232"; "12"; "670"; "0"; "1"; "1"; "0"; "3"; "2"; "0"; "0";"16"
|
||||
"3"; "3";"TILE_PLANK_BLOODROSE" ; "33587232"; "12"; "900"; "0"; "1"; "1"; "0"; "3"; "3"; "0"; "0";"16"
|
||||
"4"; "0";"TILE_TRUNK_NORMAL" ; "33587232"; "12"; "740"; "0"; "1"; "0"; "0"; "3"; "0"; "0"; "0";"16"
|
||||
"4"; "1";"TILE_TRUNK_EBONY" ; "33587232"; "12";"1200"; "0"; "1"; "0"; "0"; "3"; "1"; "0"; "0";"16"
|
||||
"4"; "2";"TILE_TRUNK_BIRCH" ; "33587232"; "12"; "670"; "0"; "1"; "0"; "0"; "3"; "2"; "0"; "0";"16"
|
||||
"4"; "3";"TILE_TRUNK_BLOODROSE" ; "33587232"; "12"; "900"; "0"; "1"; "0"; "0"; "3"; "3"; "0"; "0";"16"
|
||||
"5"; "0";"TILE_SAND" ; "33587232"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "0"; "1"; "0";"16"
|
||||
"5"; "1";"TILE_SAND_WHITE" ; "33587232"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "1"; "1"; "0";"16"
|
||||
"5"; "2";"TILE_SAND_RED" ; "33587232"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "2"; "1"; "0";"16"
|
||||
"5"; "3";"TILE_SAND_DESERT" ; "33587232"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "3"; "1"; "0";"16"
|
||||
"5"; "4";"TILE_SAND_BLACK" ; "33587232"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "4"; "1"; "0";"16"
|
||||
"5"; "5";"TILE_SAND_GREEN" ; "33587232"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "5"; "1"; "0";"16"
|
||||
"6"; "0";"TILE_GRAVEL" ; "33587232"; "6";"2400"; "0"; "1"; "0"; "0"; "6"; "0"; "1"; "0";"16"
|
||||
"6"; "1";"TILE_GRAVEL_GREY" ; "33587232"; "6";"2400"; "0"; "1"; "0"; "0"; "6"; "1"; "1"; "0";"16"
|
||||
"7"; "0";"TILE_ORE_MALACHITE" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "0"; "0"; "0";"16"
|
||||
"7"; "1";"TILE_ORE_HEMATITE" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "1"; "0"; "0";"16"
|
||||
"7"; "2";"TILE_ORE_NATURAL_GOLD" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "2"; "0"; "0";"16"
|
||||
"7"; "3";"TILE_ORE_NATURAL_SILVER" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "3"; "0"; "0";"16"
|
||||
"7"; "4";"TILE_ORE_RUTILE" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "4"; "0"; "0";"16"
|
||||
"7"; "5";"TILE_ORE_AURICHALCUMITE" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "5"; "0"; "0";"16"
|
||||
"8"; "0";"TILE_GEM_RUBY" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "0"; "0"; "0";"16"
|
||||
"8"; "1";"TILE_GEM_EMERALD" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "1"; "0"; "0";"16"
|
||||
"8"; "2";"TILE_GEM_SAPPHIRE" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "2"; "0"; "0";"16"
|
||||
"8"; "3";"TILE_GEM_TOPAZ" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "3"; "0"; "0";"16"
|
||||
"8"; "4";"TILE_GEM_DIAMOND" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "4"; "0"; "0";"16"
|
||||
"8"; "5";"TILE_GEM_AMETHYST" ; "33587232"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "5"; "0"; "0";"16"
|
||||
"9"; "0";"TILE_SNOW" ; "33587232"; "6"; "500"; "0"; "1"; "1"; "0"; "9"; "0"; "0"; "0";"16"
|
||||
"9"; "1";"TILE_ICE_FRAGILE" ; "13644813"; "1"; "930"; "0"; "1"; "0"; "0"; "9"; "1"; "0"; "0";"16"
|
||||
"9"; "2";"TILE_ICE_NATURAL" ; "27289626"; "25"; "930"; "0"; "1"; "1"; "0"; "9"; "2"; "0"; "0"; "8"
|
||||
"9"; "3";"TILE_ICE_CLEAR_MAGICAL" ; "33587232"; "25";"3720"; "0"; "1"; "1"; "19955770"; "9"; "3"; "0"; "0"; "8"
|
||||
"9"; "4";"TILE_GLASS_CRUDE" ; "3146755"; "1";"2500"; "0"; "1"; "1"; "0"; "9"; "4"; "0"; "0";"16"
|
||||
"9"; "5";"TILE_GLASS_CLEAN" ; "1049601"; "1";"2203"; "0"; "1"; "1"; "0"; "9"; "5"; "0"; "0";"16"
|
||||
"10"; "0";"TILE_PLATFORM_STONE" ; "8396808"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "0"; "0"; "0";"16"
|
||||
"10"; "1";"TILE_PLATFORM_WOODEN" ; "8396808"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "1"; "0"; "0";"16"
|
||||
"10"; "2";"TILE_PLATFORM_EBONY" ; "8396808"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "2"; "0"; "0";"16"
|
||||
"10"; "3";"TILE_PLATFORM_BIRCH" ; "8396808"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "3"; "0"; "0";"16"
|
||||
"10"; "4";"TILE_PLATFORM_BLOODROSE" ; "8396808"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "4"; "0"; "0";"16"
|
||||
"11"; "0";"TILE_TORCH" ; "8396808"; "0"; "N/A"; "0"; "0"; "0"; "266453040"; "11"; "0"; "0"; "1";"16"
|
||||
"11"; "1";"TILE_TORCH_FROST" ; "8396808"; "0"; "N/A"; "0"; "0"; "0"; "81916159"; "11"; "1"; "0"; "1";"16"
|
||||
"12"; "0";"TILE_TORCH" ; "8396808"; "0"; "N/A"; "0"; "0"; "0"; "0"; "11"; "0"; "0"; "0";"16"
|
||||
"12"; "1";"TILE_TORCH_FROST" ; "8396808"; "0"; "N/A"; "0"; "0"; "0"; "0"; "11"; "1"; "0"; "0";"16"
|
||||
"13"; "0";"TILE_ILLUMINATOR_WHITE" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "239319274"; "13"; "0"; "0"; "0";"16"
|
||||
"13"; "1";"TILE_ILLUMINATOR_YELLOW" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "267607040"; "13"; "1"; "0"; "0";"16"
|
||||
"13"; "2";"TILE_ILLUMINATOR_ORANGE" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "267546624"; "13"; "2"; "0"; "0";"16"
|
||||
"13"; "3";"TILE_ILLUMINATOR_RED" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "246415360"; "13"; "3"; "0"; "0";"16"
|
||||
"13"; "4";"TILE_ILLUMINATOR_FUCHSIA" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "246415543"; "13"; "4"; "0"; "0";"16"
|
||||
"13"; "5";"TILE_ILLUMINATOR_PURPLE" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "191889643"; "13"; "5"; "0"; "0";"16"
|
||||
"13"; "6";"TILE_ILLUMINATOR_BLUE" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "52479"; "13"; "6"; "0"; "0";"16"
|
||||
"13"; "7";"TILE_ILLUMINATOR_CYAN" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "219391"; "13"; "7"; "0"; "0";"16"
|
||||
"13"; "8";"TILE_ILLUMINATOR_GREEN" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "56884224"; "13"; "8"; "0"; "0";"16"
|
||||
"13"; "9";"TILE_ILLUMINATOR_GREEN_DARK";"8396808"; "0"; "N/A"; "0"; "1"; "1"; "33660928"; "13"; "9"; "0"; "0";"16"
|
||||
"13"; "10";"TILE_ILLUMINATOR_BROWN" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "89161728"; "13"; "10"; "0"; "0";"16"
|
||||
"13"; "11";"TILE_ILLUMINATOR_TAN" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "157392948"; "13"; "11"; "0"; "0";"16"
|
||||
"13"; "12";"TILE_ILLUMINATOR_GREY_LIGHT";"8396808"; "0"; "N/A"; "0"; "1"; "1"; "198374589"; "13"; "12"; "0"; "0";"16"
|
||||
"13"; "13";"TILE_ILLUMINATOR_GREY_MED"; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "122803317"; "13"; "13"; "0"; "0";"16"
|
||||
"13"; "14";"TILE_ILLUMINATOR_GREY_DARK"; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "68224065"; "13"; "14"; "0"; "0";"16"
|
||||
"13"; "15";"TILE_ILLUMINATOR_BLACK" ; "8396808"; "0"; "N/A"; "0"; "1"; "1"; "116392191"; "13"; "15"; "0"; "0";"16"
|
||||
"14"; "0";"TILE_ILLUMINATOR_WHITE" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "0"; "0"; "0";"16"
|
||||
"14"; "1";"TILE_ILLUMINATOR_YELLOW" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "1"; "0"; "0";"16"
|
||||
"14"; "2";"TILE_ILLUMINATOR_ORANGE" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "2"; "0"; "0";"16"
|
||||
"14"; "3";"TILE_ILLUMINATOR_RED" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "3"; "0"; "0";"16"
|
||||
"14"; "4";"TILE_ILLUMINATOR_FUCHSIA" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "4"; "0"; "0";"16"
|
||||
"14"; "5";"TILE_ILLUMINATOR_PURPLE" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "5"; "0"; "0";"16"
|
||||
"14"; "6";"TILE_ILLUMINATOR_BLUE" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "6"; "0"; "0";"16"
|
||||
"14"; "7";"TILE_ILLUMINATOR_CYAN" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "7"; "0"; "0";"16"
|
||||
"14"; "8";"TILE_ILLUMINATOR_GREEN" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "8"; "0"; "0";"16"
|
||||
"14"; "9";"TILE_ILLUMINATOR_GREEN_DARK";"33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "9"; "0"; "0";"16"
|
||||
"14"; "10";"TILE_ILLUMINATOR_BROWN" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "10"; "0"; "0";"16"
|
||||
"14"; "11";"TILE_ILLUMINATOR_TAN" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "11"; "0"; "0";"16"
|
||||
"14"; "12";"TILE_ILLUMINATOR_GREY_LIGHT";"33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "12"; "0"; "0";"16"
|
||||
"14"; "13";"TILE_ILLUMINATOR_GREY_MED"; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "13"; "0"; "0";"16"
|
||||
"14"; "14";"TILE_ILLUMINATOR_GREY_DARK";"33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "14"; "0"; "0";"16"
|
||||
"14"; "15";"TILE_ILLUMINATOR_BLACK" ; "33587232"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "15"; "0"; "0";"16"
|
||||
"15"; "0";"TILE_SANDSTONE" ; "33587232"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "0"; "0"; "0";"16"
|
||||
"15"; "1";"TILE_SANDSTONE_WHITE" ; "33587232"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "1"; "0"; "0";"16"
|
||||
"15"; "2";"TILE_SANDSTONE_RED" ; "33587232"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "2"; "0"; "0";"16"
|
||||
"15"; "3";"TILE_SANDSTONE_DESERT" ; "33587232"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "3"; "0"; "0";"16"
|
||||
"15"; "4";"TILE_SANDSTONE_BLACK" ; "33587232"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "4"; "0"; "0";"16"
|
||||
"15"; "5";"TILE_SANDSTONE_BLACK" ; "33587232"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "5"; "0"; "0";"16"
|
||||
"16"; "0";"TILE_LANTERN_IRON_REGULAR"; "8396808"; "0"; "N/A"; "0"; "0"; "0"; "266453040"; "16"; "0"; "0"; "0";"16"
|
||||
"16"; "1";"TILE_SUNSTONE" ; "33587232"; "0"; "N/A"; "0"; "1"; "0"; "0"; "16"; "1"; "0"; "2";"16"
|
||||
"16"; "2";"TILE_DAYLIGHT_CAPACITOR" ; "33587232"; "0"; "N/A"; "0"; "1"; "0"; "0"; "16"; "2"; "0"; "3";"16"
|
||||
"254"; "0";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "1";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "2";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "3";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "4";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "5";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "6";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "7";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "8";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "9";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "10";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "11";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "12";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "13";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "14";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "15";"TILE_LAVA" ;"260301048"; "100";"2600"; "1"; "0"; "0"; "205574144"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "0";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "1";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "2";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "3";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "4";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "5";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "6";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "7";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "8";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "9";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "10";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "11";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "12";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "13";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "14";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "15";"TILE_WATER" ; "27282445"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"256"; "0";"TILE_NULL" ; "0"; "-1";"2600"; "0"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
|
||||
## Notes ##
|
||||
|
||||
# Friction: 0: frictionless, <16: slippery, 16: regular, >16: sticky
|
||||
# Opacity/Lumcolor: 30-bit RGB. Only the light diffusers have a opacity value of ZERO.
|
||||
# Solid: whether the tile has full collision
|
||||
# movr: Movement resistance, (walkspeedmax) / (1 + (n/16)), 16 halves movement speed
|
||||
# dsty: density. As we are putting water an 1000, it is identical to specific gravity. [g/l]
|
||||
# dlfn: dynamic luminosity function.
|
||||
# 0-static, 1-torch flicker, 2-current global light (sun, star, moon), 3-daylight at noon,
|
||||
# 4-slow breath, 5-pulsate
|
||||
|
||||
|
||||
## Illuminators ##
|
||||
|
||||
# Illuminator white: RGB(228,238,234), simulation of a halophosphate FL lamp (If you want high CRI lamp, collect a daylight!)
|
||||
# Defalut torch : L 64 a 51 b 59; real candlelight colour taken from properly configured camera.
|
||||
# Sunstone: Artificial sunlight, change colour over time in sync with sunlight. The light is set by game's code.
|
||||
# Sunlight capacitor: daylight at noon. Set by game's code.
|
||||
|
||||
|
||||
## Tiles ##
|
||||
|
||||
# 16 colour palette : Old Apple Macintosh 16-colour palette
|
||||
# Magical ice: theoretical __metallic__ ice that might form under super-high pressure (> 5 TPa). Its density is a wild guess.
|
||||
|
||||
|
||||
## References ##
|
||||
|
||||
# * Density of various woods : http://www.engineeringtoolbox.com/wood-density-d_40.html
|
||||
# * Density of various phases of ice : http://www1.lsbu.ac.uk/water/ice_phases.html
|
||||
@@ -1,156 +0,0 @@
|
||||
"id";"dmg";"name" ; "opacity";"strength";"dsty";"fluid";"solid";"wall";"lumcolor";"drop";"ddmg";"fall";"dlfn";"friction"
|
||||
"0"; "0";"TILE_AIR" ; "526344"; "0"; "1"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "0";"4"
|
||||
"1"; "0";"TILE_STONE" ; "2105376"; "25";"2400"; "0"; "1"; "1"; "0"; "1"; "0"; "0"; "0";"16"
|
||||
"1"; "1";"TILE_STONE_QUARRIED" ; "2105376"; "25";"2400"; "0"; "1"; "1"; "0"; "1"; "1"; "0"; "0";"16"
|
||||
"1"; "2";"TILE_STONE_TILE_WHITE" ; "2105376"; "25";"2400"; "0"; "1"; "1"; "0"; "1"; "2"; "0"; "0";"16"
|
||||
"1"; "3";"TILE_STONE_BRICKS" ; "2105376"; "25";"2400"; "0"; "1"; "1"; "0"; "1"; "3"; "0"; "0";"16"
|
||||
"2"; "0";"TILE_DIRT" ; "2105376"; "6";"1400"; "0"; "1"; "1"; "0"; "2"; "0"; "0"; "0";"16"
|
||||
"2"; "1";"TILE_GRASS" ; "2105376"; "6";"1400"; "0"; "1"; "1"; "0"; "2"; "1"; "0"; "0";"16"
|
||||
"3"; "0";"TILE_PLANK_NORMAL" ; "2105376"; "12"; "740"; "0"; "1"; "1"; "0"; "3"; "0"; "0"; "0";"16"
|
||||
"3"; "1";"TILE_PLANK_EBONY" ; "2105376"; "12";"1200"; "0"; "1"; "1"; "0"; "3"; "1"; "0"; "0";"16"
|
||||
"3"; "2";"TILE_PLANK_BIRCH" ; "2105376"; "12"; "670"; "0"; "1"; "1"; "0"; "3"; "2"; "0"; "0";"16"
|
||||
"3"; "3";"TILE_PLANK_BLOODROSE" ; "2105376"; "12"; "900"; "0"; "1"; "1"; "0"; "3"; "3"; "0"; "0";"16"
|
||||
"4"; "0";"TILE_TRUNK_NORMAL" ; "2105376"; "12"; "740"; "0"; "1"; "0"; "0"; "3"; "0"; "0"; "0";"16"
|
||||
"4"; "1";"TILE_TRUNK_EBONY" ; "2105376"; "12";"1200"; "0"; "1"; "0"; "0"; "3"; "1"; "0"; "0";"16"
|
||||
"4"; "2";"TILE_TRUNK_BIRCH" ; "2105376"; "12"; "670"; "0"; "1"; "0"; "0"; "3"; "2"; "0"; "0";"16"
|
||||
"4"; "3";"TILE_TRUNK_BLOODROSE" ; "2105376"; "12"; "900"; "0"; "1"; "0"; "0"; "3"; "3"; "0"; "0";"16"
|
||||
"5"; "0";"TILE_SAND" ; "2105376"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "0"; "1"; "0";"16"
|
||||
"5"; "1";"TILE_SAND_WHITE" ; "2105376"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "1"; "1"; "0";"16"
|
||||
"5"; "2";"TILE_SAND_RED" ; "2105376"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "2"; "1"; "0";"16"
|
||||
"5"; "3";"TILE_SAND_DESERT" ; "2105376"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "3"; "1"; "0";"16"
|
||||
"5"; "4";"TILE_SAND_BLACK" ; "2105376"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "4"; "1"; "0";"16"
|
||||
"5"; "5";"TILE_SAND_GREEN" ; "2105376"; "6";"2400"; "0"; "1"; "0"; "0"; "5"; "5"; "1"; "0";"16"
|
||||
"6"; "0";"TILE_GRAVEL" ; "2105376"; "6";"2400"; "0"; "1"; "0"; "0"; "6"; "0"; "1"; "0";"16"
|
||||
"6"; "1";"TILE_GRAVEL_GREY" ; "2105376"; "6";"2400"; "0"; "1"; "0"; "0"; "6"; "1"; "1"; "0";"16"
|
||||
"7"; "0";"TILE_ORE_MALACHITE" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "0"; "0"; "0";"16"
|
||||
"7"; "1";"TILE_ORE_HEMATITE" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "1"; "0"; "0";"16"
|
||||
"7"; "2";"TILE_ORE_NATURAL_GOLD" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "2"; "0"; "0";"16"
|
||||
"7"; "3";"TILE_ORE_NATURAL_SILVER" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "3"; "0"; "0";"16"
|
||||
"7"; "4";"TILE_ORE_RUTILE" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "4"; "0"; "0";"16"
|
||||
"7"; "5";"TILE_ORE_AURICHALCUMITE" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "7"; "5"; "0"; "0";"16"
|
||||
"8"; "0";"TILE_GEM_RUBY" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "0"; "0"; "0";"16"
|
||||
"8"; "1";"TILE_GEM_EMERALD" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "1"; "0"; "0";"16"
|
||||
"8"; "2";"TILE_GEM_SAPPHIRE" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "2"; "0"; "0";"16"
|
||||
"8"; "3";"TILE_GEM_TOPAZ" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "3"; "0"; "0";"16"
|
||||
"8"; "4";"TILE_GEM_DIAMOND" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "4"; "0"; "0";"16"
|
||||
"8"; "5";"TILE_GEM_AMETHYST" ; "2105376"; "25";"2400"; "0"; "1"; "0"; "0"; "8"; "5"; "0"; "0";"16"
|
||||
"9"; "0";"TILE_SNOW" ; "2105376"; "6"; "500"; "0"; "1"; "1"; "0"; "9"; "0"; "0"; "0";"16"
|
||||
"9"; "1";"TILE_ICE_FRAGILE" ; "855309"; "1"; "930"; "0"; "1"; "0"; "0"; "9"; "1"; "0"; "0";"16"
|
||||
"9"; "2";"TILE_ICE_NATURAL" ; "1710618"; "25"; "930"; "0"; "1"; "1"; "0"; "9"; "2"; "0"; "0"; "8"
|
||||
"9"; "3";"TILE_ICE_CLEAR_MAGICAL" ; "2105376"; "25";"3720"; "0"; "1"; "1"; "1253434"; "9"; "3"; "0"; "0"; "8"
|
||||
"9"; "4";"TILE_GLASS_CRUDE" ; "196867"; "1";"2500"; "0"; "1"; "1"; "0"; "9"; "4"; "0"; "0";"16"
|
||||
"9"; "5";"TILE_GLASS_CLEAN" ; "65793"; "1";"2203"; "0"; "1"; "1"; "0"; "9"; "5"; "0"; "0";"16"
|
||||
"10"; "0";"TILE_PLATFORM_STONE" ; "526344"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "0"; "0"; "0";"16"
|
||||
"10"; "1";"TILE_PLATFORM_WOODEN" ; "526344"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "1"; "0"; "0";"16"
|
||||
"10"; "2";"TILE_PLATFORM_EBONY" ; "526344"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "2"; "0"; "0";"16"
|
||||
"10"; "3";"TILE_PLATFORM_BIRCH" ; "526344"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "3"; "0"; "0";"16"
|
||||
"10"; "4";"TILE_PLATFORM_BLOODROSE" ; "526344"; "1"; "N/A"; "0"; "0"; "0"; "0"; "10"; "4"; "0"; "0";"16"
|
||||
"11"; "0";"TILE_TORCH" ; "526344"; "0"; "N/A"; "0"; "0"; "0";"16674864"; "11"; "0"; "0"; "1";"16"
|
||||
"11"; "1";"TILE_TORCH_FROST" ; "526344"; "0"; "N/A"; "0"; "0"; "0"; "5143807"; "11"; "1"; "0"; "1";"16"
|
||||
"12"; "0";"TILE_TORCH" ; "526344"; "0"; "N/A"; "0"; "0"; "0"; "0"; "11"; "0"; "0"; "0";"16"
|
||||
"12"; "1";"TILE_TORCH_FROST" ; "526344"; "0"; "N/A"; "0"; "0"; "0"; "0"; "11"; "1"; "0"; "0";"16"
|
||||
"13"; "0";"TILE_ILLUMINATOR_WHITE" ; "526344"; "0"; "N/A"; "0"; "1"; "1";"15003370"; "13"; "0"; "0"; "0";"16"
|
||||
"13"; "1";"TILE_ILLUMINATOR_YELLOW" ; "526344"; "0"; "N/A"; "0"; "1"; "1";"16766720"; "13"; "1"; "0"; "0";"16"
|
||||
"13"; "2";"TILE_ILLUMINATOR_ORANGE" ; "526344"; "0"; "N/A"; "0"; "1"; "1";"16751616"; "13"; "2"; "0"; "0";"16"
|
||||
"13"; "3";"TILE_ILLUMINATOR_RED" ; "526344"; "0"; "N/A"; "0"; "1"; "1";"15400960"; "13"; "3"; "0"; "0";"16"
|
||||
"13"; "4";"TILE_ILLUMINATOR_FUCHSIA" ; "526344"; "0"; "N/A"; "0"; "1"; "1";"15401143"; "13"; "4"; "0"; "0";"16"
|
||||
"13"; "5";"TILE_ILLUMINATOR_PURPLE" ; "526344"; "0"; "N/A"; "0"; "1"; "1";"11993323"; "13"; "5"; "0"; "0";"16"
|
||||
"13"; "6";"TILE_ILLUMINATOR_BLUE" ; "526344"; "0"; "N/A"; "0"; "1"; "1"; "13311"; "13"; "6"; "0"; "0";"16"
|
||||
"13"; "7";"TILE_ILLUMINATOR_CYAN" ; "526344"; "0"; "N/A"; "0"; "1"; "1"; "55039"; "13"; "7"; "0"; "0";"16"
|
||||
"13"; "8";"TILE_ILLUMINATOR_GREEN" ; "526344"; "0"; "N/A"; "0"; "1"; "1"; "3604224"; "13"; "8"; "0"; "0";"16"
|
||||
"13"; "9";"TILE_ILLUMINATOR_GREEN_DARK"; "526344"; "0"; "N/A"; "0"; "1"; "1"; "2123776"; "13"; "9"; "0"; "0";"16"
|
||||
"13"; "10";"TILE_ILLUMINATOR_BROWN" ; "526344"; "0"; "N/A"; "0"; "1"; "1"; "5578752"; "13"; "10"; "0"; "0";"16"
|
||||
"13"; "11";"TILE_ILLUMINATOR_TAN" ; "526344"; "0"; "N/A"; "0"; "1"; "1"; "9857076"; "13"; "11"; "0"; "0";"16"
|
||||
"13"; "12";"TILE_ILLUMINATOR_GREY_LIGHT"; "526344"; "0"; "N/A"; "0"; "1"; "1";"12434877"; "13"; "12"; "0"; "0";"16"
|
||||
"13"; "13";"TILE_ILLUMINATOR_GREY_MED" ; "526344"; "0"; "N/A"; "0"; "1"; "1"; "7697781"; "13"; "13"; "0"; "0";"16"
|
||||
"13"; "14";"TILE_ILLUMINATOR_GREY_DARK" ; "526344"; "0"; "N/A"; "0"; "1"; "1"; "4276545"; "13"; "14"; "0"; "0";"16"
|
||||
"13"; "15";"TILE_ILLUMINATOR_BLACK" ; "526344"; "0"; "N/A"; "0"; "1"; "1"; "7274751"; "13"; "15"; "0"; "0";"16"
|
||||
"14"; "0";"TILE_ILLUMINATOR_WHITE" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "0"; "0"; "0";"16"
|
||||
"14"; "1";"TILE_ILLUMINATOR_YELLOW" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "1"; "0"; "0";"16"
|
||||
"14"; "2";"TILE_ILLUMINATOR_ORANGE" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "2"; "0"; "0";"16"
|
||||
"14"; "3";"TILE_ILLUMINATOR_RED" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "3"; "0"; "0";"16"
|
||||
"14"; "4";"TILE_ILLUMINATOR_FUCHSIA" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "4"; "0"; "0";"16"
|
||||
"14"; "5";"TILE_ILLUMINATOR_PURPLE" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "5"; "0"; "0";"16"
|
||||
"14"; "6";"TILE_ILLUMINATOR_BLUE" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "6"; "0"; "0";"16"
|
||||
"14"; "7";"TILE_ILLUMINATOR_CYAN" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "7"; "0"; "0";"16"
|
||||
"14"; "8";"TILE_ILLUMINATOR_GREEN" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "8"; "0"; "0";"16"
|
||||
"14"; "9";"TILE_ILLUMINATOR_GREEN_DARK"; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "9"; "0"; "0";"16"
|
||||
"14"; "10";"TILE_ILLUMINATOR_BROWN" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "10"; "0"; "0";"16"
|
||||
"14"; "11";"TILE_ILLUMINATOR_TAN" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "11"; "0"; "0";"16"
|
||||
"14"; "12";"TILE_ILLUMINATOR_GREY_LIGHT"; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "12"; "0"; "0";"16"
|
||||
"14"; "13";"TILE_ILLUMINATOR_GREY_MED" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "13"; "0"; "0";"16"
|
||||
"14"; "14";"TILE_ILLUMINATOR_GREY_DARK" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "14"; "0"; "0";"16"
|
||||
"14"; "15";"TILE_ILLUMINATOR_BLACK" ; "2105376"; "0"; "N/A"; "0"; "1"; "1"; "0"; "13"; "15"; "0"; "0";"16"
|
||||
"15"; "0";"TILE_SANDSTONE" ; "2105376"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "0"; "0"; "0";"16"
|
||||
"15"; "1";"TILE_SANDSTONE_WHITE" ; "2105376"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "1"; "0"; "0";"16"
|
||||
"15"; "2";"TILE_SANDSTONE_RED" ; "2105376"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "2"; "0"; "0";"16"
|
||||
"15"; "3";"TILE_SANDSTONE_DESERT" ; "2105376"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "3"; "0"; "0";"16"
|
||||
"15"; "4";"TILE_SANDSTONE_BLACK" ; "2105376"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "4"; "0"; "0";"16"
|
||||
"15"; "5";"TILE_SANDSTONE_BLACK" ; "2105376"; "25";"1900"; "0"; "1"; "1"; "0"; "15"; "5"; "0"; "0";"16"
|
||||
"16"; "0";"TILE_LANTERN_IRON_REGULAR" ; "526344"; "0"; "N/A"; "0"; "0"; "0";"16674864"; "16"; "0"; "0"; "0";"16"
|
||||
"16"; "1";"TILE_SUNSTONE" ; "2105376"; "0"; "N/A"; "0"; "1"; "0"; "0"; "16"; "1"; "0"; "2";"16"
|
||||
"16"; "2";"TILE_DAYLIGHT_CAPACITOR" ; "2105376"; "0"; "N/A"; "0"; "1"; "0"; "0"; "16"; "2"; "0"; "3";"16"
|
||||
"254"; "0";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "1";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "2";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "3";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "4";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "5";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "6";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "7";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "8";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "9";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "10";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "11";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "12";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "13";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "14";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"254"; "15";"TILE_LAVA" ;"16316664"; "100";"2600"; "1"; "0"; "0";"12858368"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "0";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "1";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "2";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "3";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "4";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "5";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "6";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "7";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "8";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "9";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "10";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "11";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "12";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "13";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "14";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"255"; "15";"TILE_WATER" ; "1708813"; "100";"1000"; "1"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
"256"; "0";"TILE_NULL" ; "0"; "-1";"2600"; "0"; "0"; "0"; "0"; "N/A"; "N/A"; "0"; "0";"16"
|
||||
|
||||
## Notes ##
|
||||
|
||||
# Friction: 0: frictionless, <16: slippery, 16: regular, >16: sticky
|
||||
# Opacity/Lumcolor: 24-bit RGB. Only the light diffusers have a opacity value of ZERO.
|
||||
# Solid: whether the tile has full collision
|
||||
# movr: Movement resistance, (walkspeedmax) / (1 + (n/16)), 16 halves movement speed
|
||||
# dsty: density. As we are putting water an 1000, it is identical to specific gravity. [g/l]
|
||||
# dlfn: dynamic luminosity function.
|
||||
# 0-static, 1-torch flicker, 2-current global light (sun, star, moon), 3-daylight at noon,
|
||||
# 4-slow breath, 5-pulsate
|
||||
|
||||
|
||||
## Illuminators ##
|
||||
|
||||
# Illuminator white: RGB(228,238,234), simulation of a halophosphate FL lamp (If you want high CRI lamp, collect a daylight!)
|
||||
# Defalut torch : L 64 a 51 b 59; real candlelight colour taken from properly configured camera.
|
||||
# Sunstone: Artificial sunlight, change colour over time in sync with sunlight. The light is set by game's code.
|
||||
# Sunlight capacitor: daylight at noon. Set by game's code.
|
||||
|
||||
|
||||
## Tiles ##
|
||||
|
||||
# 16 colour palette : Old Apple Macintosh 16-colour palette
|
||||
# Magical ice: theoretical __metallic__ ice that might form under super-high pressure (> 5 TPa). Its density is a wild guess.
|
||||
|
||||
|
||||
## References ##
|
||||
|
||||
# * Density of various woods : http://www.engineeringtoolbox.com/wood-density-d_40.html
|
||||
# * Density of various phases of ice : http://www1.lsbu.ac.uk/water/ice_phases.html
|
||||
@@ -3,13 +3,12 @@ package net.torvald.terrarum.ui
|
||||
import com.jme3.math.FastMath
|
||||
import net.torvald.imagefont.GameFontBase
|
||||
import net.torvald.terrarum.gameworld.PairedMapLayer
|
||||
import net.torvald.terrarum.mapdrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.worlddrawer.LightmapRenderer
|
||||
import net.torvald.terrarum.worlddrawer.FeaturesDrawer
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.blendNormal
|
||||
import net.torvald.terrarum.blendScreen
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera
|
||||
import org.newdawn.slick.Color
|
||||
import org.newdawn.slick.GameContainer
|
||||
import org.newdawn.slick.Graphics
|
||||
@@ -61,8 +60,8 @@ class BasicDebugInfoWindow : UICanvas {
|
||||
|
||||
val player = Terrarum.ingame!!.player
|
||||
|
||||
val mouseTileX = ((MapCamera.x + gc.input.mouseX / Terrarum.ingame!!.screenZoom) / FeaturesDrawer.TILE_SIZE).toInt()
|
||||
val mouseTileY = ((MapCamera.y + gc.input.mouseY / Terrarum.ingame!!.screenZoom) / FeaturesDrawer.TILE_SIZE).toInt()
|
||||
val mouseTileX = ((WorldCamera.x + gc.input.mouseX / Terrarum.ingame!!.screenZoom) / FeaturesDrawer.TILE_SIZE).toInt()
|
||||
val mouseTileY = ((WorldCamera.y + gc.input.mouseY / Terrarum.ingame!!.screenZoom) / FeaturesDrawer.TILE_SIZE).toInt()
|
||||
|
||||
g.font = Terrarum.fontSmallNumbers
|
||||
g.color = GameFontBase.codeToCol["y"]
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
package net.torvald.terrarum.ui
|
||||
|
||||
import net.torvald.terrarum.mapdrawer.TilesDrawer
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import com.jme3.math.FastMath
|
||||
import net.torvald.terrarum.gamecontroller.KeyToggler
|
||||
import org.lwjgl.opengl.GL11
|
||||
import org.newdawn.slick.*
|
||||
import org.newdawn.slick.state.StateBasedGame
|
||||
|
||||
|
||||
@@ -4,9 +4,7 @@ import com.jme3.math.FastMath
|
||||
import net.torvald.colourutil.CIELabUtil.darkerLab
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.gameactors.ActorHumanoid
|
||||
import net.torvald.terrarum.gameactors.floorInt
|
||||
import net.torvald.terrarum.gameactors.roundInt
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera
|
||||
import org.newdawn.slick.Color
|
||||
import org.newdawn.slick.GameContainer
|
||||
import org.newdawn.slick.Graphics
|
||||
@@ -71,8 +69,8 @@ class UIVitalMetre(
|
||||
override fun render(gc: GameContainer, g: Graphics) {
|
||||
if (vitalGetterVal() != null && vitalGetterMax() != null && player != null) {
|
||||
g.translate(
|
||||
Terrarum.ingame!!.screenZoom * (player!!.centrePosPoint.x.toFloat() - (MapCamera.x)),
|
||||
Terrarum.ingame!!.screenZoom * (player!!.centrePosPoint.y.toFloat() - (MapCamera.y))
|
||||
Terrarum.ingame!!.screenZoom * (player!!.centrePosPoint.x.toFloat() - (WorldCamera.x)),
|
||||
Terrarum.ingame!!.screenZoom * (player!!.centrePosPoint.y.toFloat() - (WorldCamera.y))
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
package net.torvald.terrarum.mapdrawer
|
||||
package net.torvald.terrarum.worlddrawer
|
||||
|
||||
import net.torvald.terrarum.gameworld.GameWorld
|
||||
import net.torvald.terrarum.gameworld.PairedMapLayer
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import com.jme3.math.FastMath
|
||||
import net.torvald.terrarum.*
|
||||
import net.torvald.terrarum.concurrent.ThreadParallel
|
||||
import net.torvald.terrarum.gameactors.roundInt
|
||||
import net.torvald.terrarum.gameworld.toUint
|
||||
import net.torvald.terrarum.mapdrawer.FeaturesDrawer.TILE_SIZE
|
||||
import net.torvald.terrarum.mapdrawer.LightmapRenderer.normaliseToColour
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera.x
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera.y
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera.height
|
||||
import net.torvald.terrarum.mapdrawer.MapCamera.width
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera.x
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera.y
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera.height
|
||||
import net.torvald.terrarum.worlddrawer.WorldCamera.width
|
||||
import org.lwjgl.opengl.GL11
|
||||
import org.newdawn.slick.*
|
||||
|
||||
@@ -22,16 +18,17 @@ import org.newdawn.slick.*
|
||||
/**
|
||||
* Created by minjaesong on 16-01-19.
|
||||
*/
|
||||
object TilesDrawer {
|
||||
object BlocksDrawer {
|
||||
private val world: GameWorld = Terrarum.ingame!!.world
|
||||
private val TILE_SIZE = FeaturesDrawer.TILE_SIZE
|
||||
private val TILE_SIZEF = FeaturesDrawer.TILE_SIZE.toFloat()
|
||||
|
||||
val tilesTerrain = SpriteSheet(ModMgr.getPath("basegame", "tiles/terrain.tga.gz"), TILE_SIZE, TILE_SIZE)
|
||||
// TODO modular
|
||||
val tilesTerrain = SpriteSheet(ModMgr.getPath("basegame", "blocks/terrain.tga.gz"), TILE_SIZE, TILE_SIZE)
|
||||
// Slick has some weird quirks with PNG's transparency. I'm using 32-bit targa here.
|
||||
// -> PNG transparency issue seems to be fixed (look at my customised ImageDataFactory), but
|
||||
// tga.gz is smaller than png, so I'd rather keep it
|
||||
val tilesWire = SpriteSheet(ModMgr.getPath("basegame", "tiles/wire.tga.gz"), TILE_SIZE, TILE_SIZE)
|
||||
val tilesWire = SpriteSheet(ModMgr.getPath("basegame", "blocks/wire.tga.gz"), TILE_SIZE, TILE_SIZE)
|
||||
|
||||
|
||||
val breakAnimSteps = 10
|
||||
@@ -56,48 +53,48 @@ object TilesDrawer {
|
||||
* These are the tiles that only connects to itself, will not connect to colour variants
|
||||
*/
|
||||
val TILES_CONNECT_SELF = arrayListOf(
|
||||
Tile.ICE_MAGICAL,
|
||||
Tile.GLASS_CRUDE,
|
||||
Tile.GLASS_CLEAN,
|
||||
Tile.ILLUMINATOR_BLACK,
|
||||
Tile.ILLUMINATOR_BLUE,
|
||||
Tile.ILLUMINATOR_BROWN,
|
||||
Tile.ILLUMINATOR_CYAN,
|
||||
Tile.ILLUMINATOR_FUCHSIA,
|
||||
Tile.ILLUMINATOR_GREEN,
|
||||
Tile.ILLUMINATOR_GREEN_DARK,
|
||||
Tile.ILLUMINATOR_GREY_DARK,
|
||||
Tile.ILLUMINATOR_GREY_LIGHT,
|
||||
Tile.ILLUMINATOR_GREY_MED,
|
||||
Tile.ILLUMINATOR_ORANGE,
|
||||
Tile.ILLUMINATOR_PURPLE,
|
||||
Tile.ILLUMINATOR_RED,
|
||||
Tile.ILLUMINATOR_TAN,
|
||||
Tile.ILLUMINATOR_WHITE,
|
||||
Tile.ILLUMINATOR_YELLOW,
|
||||
Tile.ILLUMINATOR_BLACK_OFF,
|
||||
Tile.ILLUMINATOR_BLUE_OFF,
|
||||
Tile.ILLUMINATOR_BROWN_OFF,
|
||||
Tile.ILLUMINATOR_CYAN_OFF,
|
||||
Tile.ILLUMINATOR_FUCHSIA_OFF,
|
||||
Tile.ILLUMINATOR_GREEN_OFF,
|
||||
Tile.ILLUMINATOR_GREEN_DARK_OFF,
|
||||
Tile.ILLUMINATOR_GREY_DARK_OFF,
|
||||
Tile.ILLUMINATOR_GREY_LIGHT_OFF,
|
||||
Tile.ILLUMINATOR_GREY_MED_OFF,
|
||||
Tile.ILLUMINATOR_ORANGE_OFF,
|
||||
Tile.ILLUMINATOR_PURPLE_OFF,
|
||||
Tile.ILLUMINATOR_RED_OFF,
|
||||
Tile.ILLUMINATOR_TAN_OFF,
|
||||
Tile.ILLUMINATOR_WHITE_OFF,
|
||||
Tile.ILLUMINATOR_YELLOW,
|
||||
Tile.SANDSTONE,
|
||||
Tile.SANDSTONE_BLACK,
|
||||
Tile.SANDSTONE_DESERT,
|
||||
Tile.SANDSTONE_RED,
|
||||
Tile.SANDSTONE_WHITE,
|
||||
Tile.SANDSTONE_GREEN,
|
||||
Tile.DAYLIGHT_CAPACITOR
|
||||
Block.ICE_MAGICAL,
|
||||
Block.GLASS_CRUDE,
|
||||
Block.GLASS_CLEAN,
|
||||
Block.ILLUMINATOR_BLACK,
|
||||
Block.ILLUMINATOR_BLUE,
|
||||
Block.ILLUMINATOR_BROWN,
|
||||
Block.ILLUMINATOR_CYAN,
|
||||
Block.ILLUMINATOR_FUCHSIA,
|
||||
Block.ILLUMINATOR_GREEN,
|
||||
Block.ILLUMINATOR_GREEN_DARK,
|
||||
Block.ILLUMINATOR_GREY_DARK,
|
||||
Block.ILLUMINATOR_GREY_LIGHT,
|
||||
Block.ILLUMINATOR_GREY_MED,
|
||||
Block.ILLUMINATOR_ORANGE,
|
||||
Block.ILLUMINATOR_PURPLE,
|
||||
Block.ILLUMINATOR_RED,
|
||||
Block.ILLUMINATOR_TAN,
|
||||
Block.ILLUMINATOR_WHITE,
|
||||
Block.ILLUMINATOR_YELLOW,
|
||||
Block.ILLUMINATOR_BLACK_OFF,
|
||||
Block.ILLUMINATOR_BLUE_OFF,
|
||||
Block.ILLUMINATOR_BROWN_OFF,
|
||||
Block.ILLUMINATOR_CYAN_OFF,
|
||||
Block.ILLUMINATOR_FUCHSIA_OFF,
|
||||
Block.ILLUMINATOR_GREEN_OFF,
|
||||
Block.ILLUMINATOR_GREEN_DARK_OFF,
|
||||
Block.ILLUMINATOR_GREY_DARK_OFF,
|
||||
Block.ILLUMINATOR_GREY_LIGHT_OFF,
|
||||
Block.ILLUMINATOR_GREY_MED_OFF,
|
||||
Block.ILLUMINATOR_ORANGE_OFF,
|
||||
Block.ILLUMINATOR_PURPLE_OFF,
|
||||
Block.ILLUMINATOR_RED_OFF,
|
||||
Block.ILLUMINATOR_TAN_OFF,
|
||||
Block.ILLUMINATOR_WHITE_OFF,
|
||||
Block.ILLUMINATOR_YELLOW,
|
||||
Block.SANDSTONE,
|
||||
Block.SANDSTONE_BLACK,
|
||||
Block.SANDSTONE_DESERT,
|
||||
Block.SANDSTONE_RED,
|
||||
Block.SANDSTONE_WHITE,
|
||||
Block.SANDSTONE_GREEN,
|
||||
Block.DAYLIGHT_CAPACITOR
|
||||
)
|
||||
|
||||
/**
|
||||
@@ -105,86 +102,86 @@ object TilesDrawer {
|
||||
* It holds different shading rule to discriminate with group 01, index 0 is middle tile.
|
||||
*/
|
||||
val TILES_CONNECT_MUTUAL = arrayListOf(
|
||||
Tile.STONE,
|
||||
Tile.STONE_QUARRIED,
|
||||
Tile.STONE_TILE_WHITE,
|
||||
Tile.STONE_BRICKS,
|
||||
Tile.DIRT,
|
||||
Tile.GRASS,
|
||||
Tile.PLANK_BIRCH,
|
||||
Tile.PLANK_BLOODROSE,
|
||||
Tile.PLANK_EBONY,
|
||||
Tile.PLANK_NORMAL,
|
||||
Tile.SAND,
|
||||
Tile.SAND_WHITE,
|
||||
Tile.SAND_RED,
|
||||
Tile.SAND_DESERT,
|
||||
Tile.SAND_BLACK,
|
||||
Tile.SAND_GREEN,
|
||||
Tile.GRAVEL,
|
||||
Tile.GRAVEL_GREY,
|
||||
Tile.SNOW,
|
||||
Tile.ICE_NATURAL,
|
||||
Tile.ORE_COPPER,
|
||||
Tile.ORE_IRON,
|
||||
Tile.ORE_GOLD,
|
||||
Tile.ORE_SILVER,
|
||||
Tile.ORE_ILMENITE,
|
||||
Tile.ORE_AURICHALCUM,
|
||||
Block.STONE,
|
||||
Block.STONE_QUARRIED,
|
||||
Block.STONE_TILE_WHITE,
|
||||
Block.STONE_BRICKS,
|
||||
Block.DIRT,
|
||||
Block.GRASS,
|
||||
Block.PLANK_BIRCH,
|
||||
Block.PLANK_BLOODROSE,
|
||||
Block.PLANK_EBONY,
|
||||
Block.PLANK_NORMAL,
|
||||
Block.SAND,
|
||||
Block.SAND_WHITE,
|
||||
Block.SAND_RED,
|
||||
Block.SAND_DESERT,
|
||||
Block.SAND_BLACK,
|
||||
Block.SAND_GREEN,
|
||||
Block.GRAVEL,
|
||||
Block.GRAVEL_GREY,
|
||||
Block.SNOW,
|
||||
Block.ICE_NATURAL,
|
||||
Block.ORE_COPPER,
|
||||
Block.ORE_IRON,
|
||||
Block.ORE_GOLD,
|
||||
Block.ORE_SILVER,
|
||||
Block.ORE_ILMENITE,
|
||||
Block.ORE_AURICHALCUM,
|
||||
|
||||
Tile.WATER,
|
||||
Tile.WATER_1,
|
||||
Tile.WATER_2,
|
||||
Tile.WATER_3,
|
||||
Tile.WATER_4,
|
||||
Tile.WATER_5,
|
||||
Tile.WATER_6,
|
||||
Tile.WATER_7,
|
||||
Tile.WATER_8,
|
||||
Tile.WATER_9,
|
||||
Tile.WATER_10,
|
||||
Tile.WATER_11,
|
||||
Tile.WATER_12,
|
||||
Tile.WATER_13,
|
||||
Tile.WATER_14,
|
||||
Tile.WATER_15,
|
||||
Tile.LAVA,
|
||||
Tile.LAVA_1,
|
||||
Tile.LAVA_2,
|
||||
Tile.LAVA_3,
|
||||
Tile.LAVA_4,
|
||||
Tile.LAVA_5,
|
||||
Tile.LAVA_6,
|
||||
Tile.LAVA_7,
|
||||
Tile.LAVA_8,
|
||||
Tile.LAVA_9,
|
||||
Tile.LAVA_10,
|
||||
Tile.LAVA_11,
|
||||
Tile.LAVA_12,
|
||||
Tile.LAVA_13,
|
||||
Tile.LAVA_14,
|
||||
Tile.LAVA_15
|
||||
Block.WATER,
|
||||
Block.WATER_1,
|
||||
Block.WATER_2,
|
||||
Block.WATER_3,
|
||||
Block.WATER_4,
|
||||
Block.WATER_5,
|
||||
Block.WATER_6,
|
||||
Block.WATER_7,
|
||||
Block.WATER_8,
|
||||
Block.WATER_9,
|
||||
Block.WATER_10,
|
||||
Block.WATER_11,
|
||||
Block.WATER_12,
|
||||
Block.WATER_13,
|
||||
Block.WATER_14,
|
||||
Block.WATER_15,
|
||||
Block.LAVA,
|
||||
Block.LAVA_1,
|
||||
Block.LAVA_2,
|
||||
Block.LAVA_3,
|
||||
Block.LAVA_4,
|
||||
Block.LAVA_5,
|
||||
Block.LAVA_6,
|
||||
Block.LAVA_7,
|
||||
Block.LAVA_8,
|
||||
Block.LAVA_9,
|
||||
Block.LAVA_10,
|
||||
Block.LAVA_11,
|
||||
Block.LAVA_12,
|
||||
Block.LAVA_13,
|
||||
Block.LAVA_14,
|
||||
Block.LAVA_15
|
||||
)
|
||||
|
||||
/**
|
||||
* Torches, levers, switches, ...
|
||||
*/
|
||||
val TILES_WALL_STICKER = arrayListOf(
|
||||
Tile.TORCH,
|
||||
Tile.TORCH_FROST,
|
||||
Tile.TORCH_OFF,
|
||||
Tile.TORCH_FROST_OFF
|
||||
Block.TORCH,
|
||||
Block.TORCH_FROST,
|
||||
Block.TORCH_OFF,
|
||||
Block.TORCH_FROST_OFF
|
||||
)
|
||||
|
||||
/**
|
||||
* platforms, ...
|
||||
*/
|
||||
val TILES_WALL_STICKER_CONNECT_SELF = arrayListOf(
|
||||
Tile.PLATFORM_BIRCH,
|
||||
Tile.PLATFORM_BLOODROSE,
|
||||
Tile.PLATFORM_EBONY,
|
||||
Tile.PLATFORM_STONE,
|
||||
Tile.PLATFORM_WOODEN
|
||||
Block.PLATFORM_BIRCH,
|
||||
Block.PLATFORM_BLOODROSE,
|
||||
Block.PLATFORM_EBONY,
|
||||
Block.PLATFORM_STONE,
|
||||
Block.PLATFORM_WOODEN
|
||||
)
|
||||
|
||||
/**
|
||||
@@ -193,38 +190,38 @@ object TilesDrawer {
|
||||
* i.e. red hues get lost if you dive into the water
|
||||
*/
|
||||
val TILES_BLEND_MUL = arrayListOf(
|
||||
Tile.WATER,
|
||||
Tile.WATER_1,
|
||||
Tile.WATER_2,
|
||||
Tile.WATER_3,
|
||||
Tile.WATER_4,
|
||||
Tile.WATER_5,
|
||||
Tile.WATER_6,
|
||||
Tile.WATER_7,
|
||||
Tile.WATER_8,
|
||||
Tile.WATER_9,
|
||||
Tile.WATER_10,
|
||||
Tile.WATER_11,
|
||||
Tile.WATER_12,
|
||||
Tile.WATER_13,
|
||||
Tile.WATER_14,
|
||||
Tile.WATER_15,
|
||||
Tile.LAVA,
|
||||
Tile.LAVA_1,
|
||||
Tile.LAVA_2,
|
||||
Tile.LAVA_3,
|
||||
Tile.LAVA_4,
|
||||
Tile.LAVA_5,
|
||||
Tile.LAVA_6,
|
||||
Tile.LAVA_7,
|
||||
Tile.LAVA_8,
|
||||
Tile.LAVA_9,
|
||||
Tile.LAVA_10,
|
||||
Tile.LAVA_11,
|
||||
Tile.LAVA_12,
|
||||
Tile.LAVA_13,
|
||||
Tile.LAVA_14,
|
||||
Tile.LAVA_15
|
||||
Block.WATER,
|
||||
Block.WATER_1,
|
||||
Block.WATER_2,
|
||||
Block.WATER_3,
|
||||
Block.WATER_4,
|
||||
Block.WATER_5,
|
||||
Block.WATER_6,
|
||||
Block.WATER_7,
|
||||
Block.WATER_8,
|
||||
Block.WATER_9,
|
||||
Block.WATER_10,
|
||||
Block.WATER_11,
|
||||
Block.WATER_12,
|
||||
Block.WATER_13,
|
||||
Block.WATER_14,
|
||||
Block.WATER_15,
|
||||
Block.LAVA,
|
||||
Block.LAVA_1,
|
||||
Block.LAVA_2,
|
||||
Block.LAVA_3,
|
||||
Block.LAVA_4,
|
||||
Block.LAVA_5,
|
||||
Block.LAVA_6,
|
||||
Block.LAVA_7,
|
||||
Block.LAVA_8,
|
||||
Block.LAVA_9,
|
||||
Block.LAVA_10,
|
||||
Block.LAVA_11,
|
||||
Block.LAVA_12,
|
||||
Block.LAVA_13,
|
||||
Block.LAVA_14,
|
||||
Block.LAVA_15
|
||||
)
|
||||
|
||||
fun update() {
|
||||
@@ -246,8 +243,8 @@ object TilesDrawer {
|
||||
blendMul()
|
||||
|
||||
g.color = wallOverlayColour
|
||||
g.fillRect(MapCamera.x.toFloat(), MapCamera.y.toFloat(),
|
||||
MapCamera.width.toFloat() + 1, MapCamera.height.toFloat() + 1
|
||||
g.fillRect(WorldCamera.x.toFloat(), WorldCamera.y.toFloat(),
|
||||
WorldCamera.width.toFloat() + 1, WorldCamera.height.toFloat() + 1
|
||||
)
|
||||
|
||||
blendNormal()
|
||||
@@ -287,7 +284,7 @@ object TilesDrawer {
|
||||
|
||||
private fun drawTiles(g: Graphics, mode: Int, drawModeTilesBlendMul: Boolean) {
|
||||
val for_y_start = y / TILE_SIZE
|
||||
val for_y_end = TilesDrawer.clampHTile(for_y_start + (height / TILE_SIZE) + 2)
|
||||
val for_y_end = BlocksDrawer.clampHTile(for_y_start + (height / TILE_SIZE) + 2)
|
||||
|
||||
val for_x_start = x / TILE_SIZE - 1
|
||||
val for_x_end = for_x_start + (width / TILE_SIZE) + 3
|
||||
@@ -313,7 +310,7 @@ object TilesDrawer {
|
||||
// draw a tile, but only when illuminated
|
||||
try {
|
||||
if ((mode == WALL || mode == TERRAIN) && // not an air tile
|
||||
(thisTile ?: 0) != Tile.AIR) {
|
||||
(thisTile ?: 0) != Block.AIR) {
|
||||
// check if light level of nearby or this tile is illuminated
|
||||
if ( LightmapRenderer.getHighestRGB(x, y) ?: 0 >= tileDrawLightThreshold ||
|
||||
LightmapRenderer.getHighestRGB(x - 1, y) ?: 0 >= tileDrawLightThreshold ||
|
||||
@@ -360,7 +357,7 @@ object TilesDrawer {
|
||||
|
||||
// draw a tile
|
||||
if (drawModeTilesBlendMul) {
|
||||
if (TilesDrawer.isBlendMul(thisTile)) {
|
||||
if (BlocksDrawer.isBlendMul(thisTile)) {
|
||||
drawTile(mode, x, y, thisTileX, thisTileY)
|
||||
}
|
||||
}
|
||||
@@ -373,7 +370,7 @@ object TilesDrawer {
|
||||
// draw a breakage
|
||||
if (mode == TERRAIN || mode == WALL) {
|
||||
val breakage = if (mode == TERRAIN) world.getTerrainDamage(x, y) else world.getWallDamage(x, y)
|
||||
val maxHealth = TileCodex[world.getTileFromTerrain(x, y)].strength
|
||||
val maxHealth = BlockCodex[world.getTileFromTerrain(x, y)].strength
|
||||
val stage = (breakage / maxHealth).times(breakAnimSteps).roundInt()
|
||||
// actual drawing
|
||||
if (stage > 0) {
|
||||
@@ -420,10 +417,10 @@ object TilesDrawer {
|
||||
*/
|
||||
fun getNearbyTilesInfo(x: Int, y: Int, mode: Int, mark: Int?): Int {
|
||||
val nearbyTiles = IntArray(4)
|
||||
nearbyTiles[NEARBY_TILE_KEY_LEFT] = world.getTileFrom(mode, x - 1, y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_RIGHT] = world.getTileFrom(mode, x + 1, y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_LEFT] = world.getTileFrom(mode, x - 1, y) ?: Block.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_RIGHT] = world.getTileFrom(mode, x + 1, y) ?: Block.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_UP] = world.getTileFrom(mode, x , y - 1) ?: 4906
|
||||
nearbyTiles[NEARBY_TILE_KEY_DOWN] = world.getTileFrom(mode, x , y + 1) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_DOWN] = world.getTileFrom(mode, x , y + 1) ?: Block.NULL
|
||||
|
||||
// try for
|
||||
var ret = 0
|
||||
@@ -438,17 +435,17 @@ object TilesDrawer {
|
||||
|
||||
fun getNearbyTilesInfoNonSolid(x: Int, y: Int, mode: Int): Int {
|
||||
val nearbyTiles = IntArray(4)
|
||||
nearbyTiles[NEARBY_TILE_KEY_LEFT] = world.getTileFrom(mode, x - 1, y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_RIGHT] = world.getTileFrom(mode, x + 1, y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_LEFT] = world.getTileFrom(mode, x - 1, y) ?: Block.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_RIGHT] = world.getTileFrom(mode, x + 1, y) ?: Block.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_UP] = world.getTileFrom(mode, x , y - 1) ?: 4906
|
||||
nearbyTiles[NEARBY_TILE_KEY_DOWN] = world.getTileFrom(mode, x , y + 1) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_DOWN] = world.getTileFrom(mode, x , y + 1) ?: Block.NULL
|
||||
|
||||
// try for
|
||||
var ret = 0
|
||||
for (i in 0..3) {
|
||||
try {
|
||||
if (!TileCodex[nearbyTiles[i]].isSolid &&
|
||||
!TileCodex[nearbyTiles[i]].isFluid) {
|
||||
if (!BlockCodex[nearbyTiles[i]].isSolid &&
|
||||
!BlockCodex[nearbyTiles[i]].isFluid) {
|
||||
ret += (1 shl i) // add 1, 2, 4, 8 for i = 0, 1, 2, 3
|
||||
}
|
||||
} catch (e: ArrayIndexOutOfBoundsException) {
|
||||
@@ -462,32 +459,32 @@ object TilesDrawer {
|
||||
fun getNearbyTilesInfoWallSticker(x: Int, y: Int): Int {
|
||||
val nearbyTiles = IntArray(4)
|
||||
val NEARBY_TILE_KEY_BACK = NEARBY_TILE_KEY_UP
|
||||
nearbyTiles[NEARBY_TILE_KEY_LEFT] = world.getTileFrom(TERRAIN, x - 1, y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_RIGHT] = world.getTileFrom(TERRAIN, x + 1, y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_DOWN] = world.getTileFrom(TERRAIN, x , y + 1) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_BACK] = world.getTileFrom(WALL, x , y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_LEFT] = world.getTileFrom(TERRAIN, x - 1, y) ?: Block.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_RIGHT] = world.getTileFrom(TERRAIN, x + 1, y) ?: Block.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_DOWN] = world.getTileFrom(TERRAIN, x , y + 1) ?: Block.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_BACK] = world.getTileFrom(WALL, x , y) ?: Block.NULL
|
||||
|
||||
try {
|
||||
if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_DOWN]].isSolid)
|
||||
if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_DOWN]].isSolid)
|
||||
// has tile on the bottom
|
||||
return 3
|
||||
else if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid
|
||||
&& TileCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid)
|
||||
else if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid
|
||||
&& BlockCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid)
|
||||
// has tile on both sides
|
||||
return 0
|
||||
else if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid)
|
||||
else if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid)
|
||||
// has tile on the right
|
||||
return 2
|
||||
else if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid)
|
||||
else if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid)
|
||||
// has tile on the left
|
||||
return 1
|
||||
else if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_BACK]].isSolid)
|
||||
else if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_BACK]].isSolid)
|
||||
// has tile on the back
|
||||
return 0
|
||||
else
|
||||
return 3
|
||||
} catch (e: ArrayIndexOutOfBoundsException) {
|
||||
return if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_DOWN]].isSolid)
|
||||
return if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_DOWN]].isSolid)
|
||||
// has tile on the bottom
|
||||
3 else 0
|
||||
}
|
||||
@@ -495,38 +492,38 @@ object TilesDrawer {
|
||||
|
||||
fun getNearbyTilesInfoPlatform(x: Int, y: Int): Int {
|
||||
val nearbyTiles = IntArray(4)
|
||||
nearbyTiles[NEARBY_TILE_KEY_LEFT] = world.getTileFrom(TERRAIN, x - 1, y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_RIGHT] = world.getTileFrom(TERRAIN, x + 1, y) ?: Tile.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_LEFT] = world.getTileFrom(TERRAIN, x - 1, y) ?: Block.NULL
|
||||
nearbyTiles[NEARBY_TILE_KEY_RIGHT] = world.getTileFrom(TERRAIN, x + 1, y) ?: Block.NULL
|
||||
|
||||
if ((TileCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
TileCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid) ||
|
||||
if ((BlockCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
BlockCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid) ||
|
||||
isPlatform(nearbyTiles[NEARBY_TILE_KEY_LEFT]) &&
|
||||
isPlatform(nearbyTiles[NEARBY_TILE_KEY_RIGHT])) // LR solid || LR platform
|
||||
return 0
|
||||
else if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
else if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
!isPlatform(nearbyTiles[NEARBY_TILE_KEY_LEFT]) &&
|
||||
!TileCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid &&
|
||||
!BlockCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid &&
|
||||
!isPlatform(nearbyTiles[NEARBY_TILE_KEY_RIGHT])) // L solid and not platform && R not solid and not platform
|
||||
return 4
|
||||
else if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid &&
|
||||
else if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid &&
|
||||
!isPlatform(nearbyTiles[NEARBY_TILE_KEY_RIGHT]) &&
|
||||
!TileCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
!BlockCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
!isPlatform(nearbyTiles[NEARBY_TILE_KEY_LEFT])) // R solid and not platform && L not solid and nto platform
|
||||
return 6
|
||||
else if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
else if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
!isPlatform(nearbyTiles[NEARBY_TILE_KEY_LEFT])) // L solid && L not platform
|
||||
return 3
|
||||
else if (TileCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid &&
|
||||
else if (BlockCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid &&
|
||||
!isPlatform(nearbyTiles[NEARBY_TILE_KEY_RIGHT])) // R solid && R not platform
|
||||
return 5
|
||||
else if ((TileCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid ||
|
||||
else if ((BlockCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid ||
|
||||
isPlatform(nearbyTiles[NEARBY_TILE_KEY_LEFT])) &&
|
||||
!TileCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid &&
|
||||
!BlockCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid &&
|
||||
!isPlatform(nearbyTiles[NEARBY_TILE_KEY_RIGHT])) // L solid or platform && R not solid and not platform
|
||||
return 1
|
||||
else if ((TileCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid ||
|
||||
else if ((BlockCodex[nearbyTiles[NEARBY_TILE_KEY_RIGHT]].isSolid ||
|
||||
isPlatform(nearbyTiles[NEARBY_TILE_KEY_RIGHT])) &&
|
||||
!TileCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
!BlockCodex[nearbyTiles[NEARBY_TILE_KEY_LEFT]].isSolid &&
|
||||
!isPlatform(nearbyTiles[NEARBY_TILE_KEY_LEFT])) // R solid or platform && L not solid and not platform
|
||||
return 2
|
||||
else
|
||||
@@ -593,6 +590,6 @@ object TilesDrawer {
|
||||
fun isBlendMul(b: Int?): Boolean = TILES_BLEND_MUL.contains(b)
|
||||
|
||||
fun tileInCamera(x: Int, y: Int) =
|
||||
x >= MapCamera.x.div(TILE_SIZE) && y >= MapCamera.y.div(TILE_SIZE) &&
|
||||
x <= MapCamera.x.plus(width).div(TILE_SIZE) && y <= MapCamera.y.plus(width).div(TILE_SIZE)
|
||||
x >= WorldCamera.x.div(TILE_SIZE) && y >= WorldCamera.y.div(TILE_SIZE) &&
|
||||
x <= WorldCamera.x.plus(width).div(TILE_SIZE) && y <= WorldCamera.y.plus(width).div(TILE_SIZE)
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
package net.torvald.terrarum.mapdrawer
|
||||
package net.torvald.terrarum.worlddrawer
|
||||
|
||||
import net.torvald.terrarum.gameworld.GameWorld
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tilestats.TileStats
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import net.torvald.terrarum.blockstats.BlockStats
|
||||
import com.jme3.math.FastMath
|
||||
import net.torvald.colourutil.ColourTemp
|
||||
import net.torvald.terrarum.blendMul
|
||||
@@ -24,14 +23,14 @@ object FeaturesDrawer {
|
||||
private set
|
||||
|
||||
private val TILES_COLD = intArrayOf(
|
||||
Tile.ICE_MAGICAL
|
||||
, Tile.ICE_FRAGILE
|
||||
, Tile.ICE_NATURAL
|
||||
, Tile.SNOW)
|
||||
Block.ICE_MAGICAL
|
||||
, Block.ICE_FRAGILE
|
||||
, Block.ICE_NATURAL
|
||||
, Block.SNOW)
|
||||
|
||||
private val TILES_WARM = intArrayOf(
|
||||
Tile.SAND_DESERT
|
||||
, Tile.SAND_RED)
|
||||
Block.SAND_DESERT
|
||||
, Block.SAND_RED)
|
||||
|
||||
fun update(gc: GameContainer, delta_t: Int) {
|
||||
}
|
||||
@@ -46,8 +45,8 @@ object FeaturesDrawer {
|
||||
fun drawEnvOverlay(g: Graphics) {
|
||||
val onscreen_tiles_max = FastMath.ceil(Terrarum.HEIGHT * Terrarum.WIDTH / FastMath.sqr(TILE_SIZE.toFloat())) * 2
|
||||
val onscreen_tiles_cap = onscreen_tiles_max / 4f
|
||||
val onscreen_cold_tiles = TileStats.getCount(*TILES_COLD).toFloat()
|
||||
val onscreen_warm_tiles = TileStats.getCount(*TILES_WARM).toFloat()
|
||||
val onscreen_cold_tiles = BlockStats.getCount(*TILES_COLD).toFloat()
|
||||
val onscreen_warm_tiles = BlockStats.getCount(*TILES_WARM).toFloat()
|
||||
|
||||
val colTemp_cold = colTempLinearFunc(onscreen_cold_tiles / onscreen_tiles_cap)
|
||||
val colTemp_warm = colTempLinearFunc(-(onscreen_warm_tiles / onscreen_tiles_cap))
|
||||
@@ -58,8 +57,8 @@ object FeaturesDrawer {
|
||||
|
||||
g.color = ColourTemp(colTemp)
|
||||
g.fillRect(
|
||||
MapCamera.x * zoom,
|
||||
MapCamera.y * zoom,
|
||||
WorldCamera.x * zoom,
|
||||
WorldCamera.y * zoom,
|
||||
Terrarum.WIDTH * if (zoom < 1) 1f / zoom else zoom,
|
||||
Terrarum.HEIGHT * if (zoom < 1) 1f / zoom else zoom
|
||||
)
|
||||
@@ -1,22 +1,15 @@
|
||||
package net.torvald.terrarum.mapdrawer
|
||||
package net.torvald.terrarum.worlddrawer
|
||||
|
||||
import net.torvald.terrarum.gameactors.Luminous
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.tileproperties.TileCodex
|
||||
import net.torvald.terrarum.blockproperties.BlockCodex
|
||||
import com.jme3.math.FastMath
|
||||
import net.torvald.colourutil.RGB
|
||||
import net.torvald.colourutil.CIELuvUtil.additiveLuv
|
||||
import net.torvald.terrarum.concurrent.ThreadParallel
|
||||
import net.torvald.terrarum.gameactors.ActorWithPhysics
|
||||
import net.torvald.terrarum.gameactors.abs
|
||||
import net.torvald.terrarum.gameactors.roundInt
|
||||
import net.torvald.terrarum.gameworld.GameWorld
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.tileproperties.TilePropUtil
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import org.newdawn.slick.Color
|
||||
import org.newdawn.slick.Graphics
|
||||
import java.util.*
|
||||
import java.util.concurrent.locks.ReentrantLock
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-01-25.
|
||||
@@ -25,8 +18,8 @@ import java.util.concurrent.locks.ReentrantLock
|
||||
object LightmapRenderer {
|
||||
private val world: GameWorld = Terrarum.ingame!!.world
|
||||
|
||||
val overscan_open: Int = Math.min(32, 256f.div(TileCodex[Tile.AIR].opacity and 0xFF).ceil())
|
||||
val overscan_opaque: Int = Math.min(8, 256f.div(TileCodex[Tile.STONE].opacity and 0xFF).ceil())
|
||||
val overscan_open: Int = Math.min(32, 256f.div(BlockCodex[Block.AIR].opacity and 0xFF).ceil())
|
||||
val overscan_opaque: Int = Math.min(8, 256f.div(BlockCodex[Block.STONE].opacity and 0xFF).ceil())
|
||||
|
||||
private val LIGHTMAP_WIDTH = Terrarum.ingame!!.ZOOM_MIN.inv().times(Terrarum.WIDTH)
|
||||
.div(FeaturesDrawer.TILE_SIZE).ceil() + overscan_open * 2 + 3
|
||||
@@ -39,7 +32,7 @@ object LightmapRenderer {
|
||||
private val lightmap: Array<IntArray> = Array(LIGHTMAP_HEIGHT) { IntArray(LIGHTMAP_WIDTH) }
|
||||
private val lanternMap = ArrayList<Lantern>(Terrarum.ingame!!.ACTORCONTAINER_INITIAL_SIZE * 4)
|
||||
|
||||
private val AIR = Tile.AIR
|
||||
private val AIR = Block.AIR
|
||||
|
||||
private val OFFSET_R = 2
|
||||
private val OFFSET_G = 1
|
||||
@@ -87,11 +80,11 @@ object LightmapRenderer {
|
||||
}
|
||||
|
||||
fun renderLightMap() {
|
||||
for_x_start = MapCamera.x / TILE_SIZE - 1 // fix for premature lightmap rendering
|
||||
for_y_start = MapCamera.y / TILE_SIZE - 1 // on topmost/leftmost side
|
||||
for_x_start = WorldCamera.x / TILE_SIZE - 1 // fix for premature lightmap rendering
|
||||
for_y_start = WorldCamera.y / TILE_SIZE - 1 // on topmost/leftmost side
|
||||
|
||||
for_x_end = for_x_start + MapCamera.width / TILE_SIZE + 3
|
||||
for_y_end = for_y_start + MapCamera.height / TILE_SIZE + 2 // same fix as above
|
||||
for_x_end = for_x_start + WorldCamera.width / TILE_SIZE + 3
|
||||
for_y_end = for_y_start + WorldCamera.height / TILE_SIZE + 2 // same fix as above
|
||||
|
||||
/**
|
||||
* * true: overscanning is limited to 8 tiles in width (overscan_opaque)
|
||||
@@ -159,8 +152,8 @@ object LightmapRenderer {
|
||||
// build noop map
|
||||
for (i in 0..rect_size) {
|
||||
val point = edgeToMaskNum(i)
|
||||
val tile = Terrarum.ingame!!.world.getTileFromTerrain(point.first, point.second) ?: Tile.NULL
|
||||
val isSolid = TileCodex[tile].isSolid
|
||||
val tile = Terrarum.ingame!!.world.getTileFromTerrain(point.first, point.second) ?: Block.NULL
|
||||
val isSolid = BlockCodex[tile].isSolid
|
||||
|
||||
noop_mask.set(i, isSolid)
|
||||
}
|
||||
@@ -248,8 +241,8 @@ object LightmapRenderer {
|
||||
var lightLevelThis: Int = 0
|
||||
val thisTerrain = Terrarum.ingame!!.world.getTileFromTerrain(x, y)
|
||||
val thisWall = Terrarum.ingame!!.world.getTileFromWall(x, y)
|
||||
val thisTileLuminosity = TileCodex[thisTerrain].luminosity
|
||||
val thisTileOpacity = TileCodex[thisTerrain].opacity
|
||||
val thisTileLuminosity = BlockCodex[thisTerrain].luminosity
|
||||
val thisTileOpacity = BlockCodex[thisTerrain].opacity
|
||||
val sunLight = Terrarum.ingame!!.world.globalLight
|
||||
|
||||
// MIX TILE
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapdrawer
|
||||
package net.torvald.terrarum.worlddrawer
|
||||
|
||||
import com.jme3.math.FastMath
|
||||
import net.torvald.terrarum.Terrarum
|
||||
@@ -7,7 +7,7 @@ import net.torvald.terrarum.gameworld.GameWorld
|
||||
/**
|
||||
* Created by minjaesong on 2016-12-30.
|
||||
*/
|
||||
object MapCamera {
|
||||
object WorldCamera {
|
||||
private val world: GameWorld? = Terrarum.ingame?.world
|
||||
private val TILE_SIZE = FeaturesDrawer.TILE_SIZE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
import net.torvald.random.HQRNG
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
internal object FloatingIslePreset01 {
|
||||
var w = 100
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
internal object FloatingIslePreset02 {
|
||||
var w = 80
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
internal object FloatingIslePreset03 {
|
||||
var w = 66
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
internal object FloatingIslePreset04 {
|
||||
var w = 88
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
internal object FloatingIslePreset05 {
|
||||
var w = 74
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-03-31.
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
import com.jme3.math.FastMath
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
import com.jme3.math.FastMath
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
import com.jme3.math.FastMath
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
import com.jme3.math.FastMath
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-03-31.
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
import net.torvald.dataclass.IntArrayStack
|
||||
import net.torvald.colourutil.Col4096
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
import net.torvald.random.HQRNG
|
||||
import com.jme3.math.FastMath
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
/*
|
||||
* A speed-improved simplex noise algorithm for 2D, 3D and 4D in Java.
|
||||
@@ -1,4 +1,4 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
/**
|
||||
* Created by minjaesong on 16-06-13.
|
||||
@@ -1,14 +1,13 @@
|
||||
package net.torvald.terrarum.mapgenerator
|
||||
package net.torvald.terrarum.worldgenerator
|
||||
|
||||
import net.torvald.random.HQRNG
|
||||
import net.torvald.terrarum.gameworld.GameWorld
|
||||
import net.torvald.terrarum.tileproperties.Tile
|
||||
import net.torvald.terrarum.blockproperties.Block
|
||||
import com.jme3.math.FastMath
|
||||
import com.sudoplay.joise.Joise
|
||||
import com.sudoplay.joise.module.*
|
||||
import net.torvald.terrarum.Terrarum
|
||||
import net.torvald.terrarum.concurrent.ThreadParallel
|
||||
import net.torvald.terrarum.gameactors.ThreadActorUpdate
|
||||
import net.torvald.terrarum.gameactors.roundInt
|
||||
import java.util.*
|
||||
|
||||
@@ -117,32 +116,32 @@ object WorldGenerator {
|
||||
*/
|
||||
val noiseArray = arrayOf(
|
||||
// TODO cave one featured in http://accidentalnoise.sourceforge.net/minecraftworlds.html
|
||||
TaggedJoise("Carving caves", noiseCave(), 1.0, TILE_MACRO_ALL, TILE_MACRO_ALL, Tile.AIR, NoiseFilterSqrt, CAVEGEN_THRE_START, CAVEGEN_THRE_END)
|
||||
// , TaggedJoise("Collapsing caves", noiseBlobs(0.5), 0.3, Tile.AIR, Tile.STONE, Tile.STONE, NoiseFilterUniform)
|
||||
TaggedJoise("Carving caves", noiseCave(), 1.0, TILE_MACRO_ALL, TILE_MACRO_ALL, Block.AIR, NoiseFilterSqrt, CAVEGEN_THRE_START, CAVEGEN_THRE_END)
|
||||
// , TaggedJoise("Collapsing caves", noiseBlobs(0.5), 0.3, Block.AIR, Block.STONE, Block.STONE, NoiseFilterUniform)
|
||||
//
|
||||
//, TaggedJoise("Putting stone patches on the ground", noiseBlobs(0.8), 1.02f, intArrayOf(Tile.DIRT, Tile.GRASS), Tile.DIRT, Tile.STONE, NoiseFilterQuadratic, NOISE_GRAD_END, NOISE_GRAD_START)
|
||||
//, TaggedJoise("Placing dirt spots in the cave", noiseBlobs(0.5), 0.98f, Tile.STONE, Tile.STONE, Tile.DIRT, NoiseFilterQuadratic, NOISE_GRAD_END, NOISE_GRAD_START)
|
||||
//, TaggedJoise("Quarrying some stone into gravels", noiseBlobs(0.5), 0.98f, Tile.STONE, Tile.STONE, Tile.GRAVEL, NoiseFilterQuadratic, NOISE_GRAD_END, NOISE_GRAD_START)
|
||||
//, TaggedJoise("Putting stone patches on the ground", noiseBlobs(0.8), 1.02f, intArrayOf(Block.DIRT, Block.GRASS), Block.DIRT, Block.STONE, NoiseFilterQuadratic, NOISE_GRAD_END, NOISE_GRAD_START)
|
||||
//, TaggedJoise("Placing dirt spots in the cave", noiseBlobs(0.5), 0.98f, Block.STONE, Block.STONE, Block.DIRT, NoiseFilterQuadratic, NOISE_GRAD_END, NOISE_GRAD_START)
|
||||
//, TaggedJoise("Quarrying some stone into gravels", noiseBlobs(0.5), 0.98f, Block.STONE, Block.STONE, Block.GRAVEL, NoiseFilterQuadratic, NOISE_GRAD_END, NOISE_GRAD_START)
|
||||
//
|
||||
//, TaggedJoise("Growing copper veins", noiseRidged(1.7f, 1.7f), 1.68f, Tile.STONE, Tile.STONE, Tile.ORE_COPPER)
|
||||
//, TaggedJoise("Cutting copper veins", noiseBlobs(0.4f, 0.4f), 0.26f, Tile.ORE_COPPER, Tile.STONE, Tile.STONE)
|
||||
//, TaggedJoise("Growing copper veins", noiseRidged(1.7f, 1.7f), 1.68f, Block.STONE, Block.STONE, Block.ORE_COPPER)
|
||||
//, TaggedJoise("Cutting copper veins", noiseBlobs(0.4f, 0.4f), 0.26f, Block.ORE_COPPER, Block.STONE, Block.STONE)
|
||||
//
|
||||
//, TaggedJoise("Growing iron veins", noiseRidged(1.7f, 1.7f), 1.68f, Tile.STONE, Tile.STONE, Tile.ORE_IRON)
|
||||
//, TaggedJoise("Cutting iron veins", noiseBlobs(0.7f, 0.7f), 0.26f, Tile.ORE_IRON, Tile.STONE, Tile.STONE)
|
||||
//, TaggedJoise("Growing iron veins", noiseRidged(1.7f, 1.7f), 1.68f, Block.STONE, Block.STONE, Block.ORE_IRON)
|
||||
//, TaggedJoise("Cutting iron veins", noiseBlobs(0.7f, 0.7f), 0.26f, Block.ORE_IRON, Block.STONE, Block.STONE)
|
||||
//
|
||||
//, TaggedJoise("Growing silver veins", noiseRidged(1.7f, 1.7f), 1.71f, Tile.STONE, Tile.STONE, Tile.ORE_SILVER)
|
||||
//, TaggedJoise("Cutting silver veins", noiseBlobs(0.7f, 0.7f), 0.26f, Tile.ORE_SILVER, Tile.STONE, Tile.STONE)
|
||||
//, TaggedJoise("Growing silver veins", noiseRidged(1.7f, 1.7f), 1.71f, Block.STONE, Block.STONE, Block.ORE_SILVER)
|
||||
//, TaggedJoise("Cutting silver veins", noiseBlobs(0.7f, 0.7f), 0.26f, Block.ORE_SILVER, Block.STONE, Block.STONE)
|
||||
//
|
||||
//, TaggedJoise("Growing gold veins", noiseRidged(1.7f, 1.7f), 1.73f, Tile.STONE, Tile.STONE, Tile.ORE_GOLD)
|
||||
//, TaggedJoise("Cutting gold veins", noiseBlobs(0.7f, 0.7f), 0.26f, Tile.ORE_GOLD, Tile.STONE, Tile.STONE)
|
||||
//, TaggedJoise("Growing gold veins", noiseRidged(1.7f, 1.7f), 1.73f, Block.STONE, Block.STONE, Block.ORE_GOLD)
|
||||
//, TaggedJoise("Cutting gold veins", noiseBlobs(0.7f, 0.7f), 0.26f, Block.ORE_GOLD, Block.STONE, Block.STONE)
|
||||
// // FIXME gem clusters are too large
|
||||
//, TaggedJoise("Growing topaz clusters", noiseBlobs(0.9f, 0.9f), 2f, Tile.STONE, Tile.STONE, Tile.RAW_TOPAZ)
|
||||
//, TaggedJoise("Growing aluminium oxide clusters", noiseBlobs(0.9f, 0.9f), 1.7f, Tile.STONE, Tile.STONE, intArrayOf(Tile.RAW_RUBY, Tile.RAW_SAPPHIRE))
|
||||
//, TaggedJoise("Growing emerald clusters", noiseBlobs(0.9f, 0.9f), 1.7f, Tile.STONE, Tile.STONE, Tile.RAW_EMERALD)
|
||||
//, TaggedJoise("Growing hearts of white", noiseBlobs(0.9f, 0.9f), 1.83f, Tile.STONE, Tile.STONE, Tile.RAW_DIAMOND)
|
||||
//, TaggedJoise("Growing hearts of violet", noiseRidged(2.5f, 2.5f), 1.75f, Tile.STONE, Tile.STONE, Tile.RAW_AMETHYST)
|
||||
//, TaggedJoise("Growing topaz clusters", noiseBlobs(0.9f, 0.9f), 2f, Block.STONE, Block.STONE, Block.RAW_TOPAZ)
|
||||
//, TaggedJoise("Growing aluminium oxide clusters", noiseBlobs(0.9f, 0.9f), 1.7f, Block.STONE, Block.STONE, intArrayOf(Block.RAW_RUBY, Block.RAW_SAPPHIRE))
|
||||
//, TaggedJoise("Growing emerald clusters", noiseBlobs(0.9f, 0.9f), 1.7f, Block.STONE, Block.STONE, Block.RAW_EMERALD)
|
||||
//, TaggedJoise("Growing hearts of white", noiseBlobs(0.9f, 0.9f), 1.83f, Block.STONE, Block.STONE, Block.RAW_DIAMOND)
|
||||
//, TaggedJoise("Growing hearts of violet", noiseRidged(2.5f, 2.5f), 1.75f, Block.STONE, Block.STONE, Block.RAW_AMETHYST)
|
||||
//
|
||||
//, TaggedJoise("Cutting over-grown hearts", noiseBlobs(0.7f, 0.7f), 0.17f, Tile.RAW_AMETHYST, Tile.STONE, Tile.STONE)
|
||||
//, TaggedJoise("Cutting over-grown hearts", noiseBlobs(0.7f, 0.7f), 0.17f, Block.RAW_AMETHYST, Block.STONE, Block.STONE)
|
||||
)
|
||||
processNoiseLayers(noiseArray)
|
||||
|
||||
@@ -564,11 +563,11 @@ object WorldGenerator {
|
||||
for (i in 0..HEIGHT - pillarOffset - 1) {
|
||||
|
||||
if (i < DIRT_LAYER_DEPTH) {
|
||||
world.setTileTerrain(x, i + pillarOffset, Tile.DIRT)
|
||||
world.setTileWall(x, i + pillarOffset, Tile.DIRT)
|
||||
world.setTileTerrain(x, i + pillarOffset, Block.DIRT)
|
||||
world.setTileWall(x, i + pillarOffset, Block.DIRT)
|
||||
} else {
|
||||
world.setTileTerrain(x, i + pillarOffset, Tile.STONE)
|
||||
world.setTileWall(x, i + pillarOffset, Tile.STONE)
|
||||
world.setTileTerrain(x, i + pillarOffset, Block.STONE)
|
||||
world.setTileWall(x, i + pillarOffset, Block.STONE)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -633,11 +632,11 @@ object WorldGenerator {
|
||||
for (x in 0..WIDTH - 1) {
|
||||
for (y in 0..HEIGHT - 1) {
|
||||
if (terrainMap[clamp(y + DIRT_LAYER_DEPTH, 0, HEIGHT - 1)].get(x)) {
|
||||
// map.setTileTerrain(x, y, Tile.DIRT)
|
||||
// map.setTileWall(x, y, Tile.DIRT)
|
||||
// map.setTileTerrain(x, y, Block.DIRT)
|
||||
// map.setTileWall(x, y, Block.DIRT)
|
||||
val tile =
|
||||
if (y < dirtStoneLine[x]) Tile.DIRT
|
||||
else Tile.STONE
|
||||
if (y < dirtStoneLine[x]) Block.DIRT
|
||||
else Block.STONE
|
||||
world.setTileTerrain(x, y, tile)
|
||||
world.setTileWall(x, y, tile)
|
||||
}
|
||||
@@ -780,7 +779,7 @@ object WorldGenerator {
|
||||
val nIslands = random.nextInt(Math.max(1, nIslandsMax - nIslandsMin)) + nIslandsMin
|
||||
val prevIndex = -1
|
||||
|
||||
val tiles = intArrayOf(Tile.AIR, Tile.STONE, Tile.DIRT, Tile.GRASS)
|
||||
val tiles = intArrayOf(Block.AIR, Block.STONE, Block.DIRT, Block.GRASS)
|
||||
|
||||
for (i in 0..nIslands - 1) {
|
||||
var currentIndex = random.nextInt(FloatingIslandsPreset.PRESETS)
|
||||
@@ -809,7 +808,7 @@ object WorldGenerator {
|
||||
for (i in HEIGHT * 14 / 15..HEIGHT - 1) {
|
||||
for (j in 0..WIDTH - 1) {
|
||||
if (world.terrainArray[i][j].toInt() == 0) {
|
||||
world.setTileTerrain(j, i, Tile.LAVA)
|
||||
world.setTileTerrain(j, i, Block.LAVA)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -837,8 +836,8 @@ object WorldGenerator {
|
||||
|
||||
if (nearbyWallTile == null) break;
|
||||
|
||||
if (i != 4 && thisTile == Tile.DIRT && nearbyWallTile == Tile.AIR) {
|
||||
world.setTileTerrain(x, y, Tile.GRASS)
|
||||
if (i != 4 && thisTile == Block.DIRT && nearbyWallTile == Block.AIR) {
|
||||
world.setTileTerrain(x, y, Block.GRASS)
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -848,7 +847,7 @@ object WorldGenerator {
|
||||
}
|
||||
|
||||
private fun isGrassOrDirt(x: Int, y: Int): Boolean {
|
||||
return world.getTileFromTerrain(x, y) == Tile.GRASS || world.getTileFromTerrain(x, y) == Tile.DIRT
|
||||
return world.getTileFromTerrain(x, y) == Block.GRASS || world.getTileFromTerrain(x, y) == Block.DIRT
|
||||
}
|
||||
|
||||
private fun replaceIfTerrain(ifTileRaw: Int, x: Int, y: Int, replaceTileRaw: Int) {
|
||||
@@ -867,19 +866,19 @@ object WorldGenerator {
|
||||
|
||||
private fun fillOcean() {
|
||||
val thisSandList = intArrayOf(
|
||||
Tile.SAND, Tile.SAND, Tile.SAND, Tile.SAND,
|
||||
Tile.SAND_WHITE, Tile.SAND_WHITE, Tile.SAND_WHITE,
|
||||
Tile.SAND_BLACK, Tile.SAND_BLACK, Tile.SAND_GREEN
|
||||
Block.SAND, Block.SAND, Block.SAND, Block.SAND,
|
||||
Block.SAND_WHITE, Block.SAND_WHITE, Block.SAND_WHITE,
|
||||
Block.SAND_BLACK, Block.SAND_BLACK, Block.SAND_GREEN
|
||||
)
|
||||
val thisRand = HQRNG(SEED xor random.nextLong())
|
||||
val thisSand = thisSandList[thisRand.nextInt(thisSandList.size)]
|
||||
// val thisSand = Tile.SAND_GREEN
|
||||
// val thisSand = Block.SAND_GREEN
|
||||
|
||||
val thisSandStr = if (thisSand == Tile.SAND_BLACK)
|
||||
val thisSandStr = if (thisSand == Block.SAND_BLACK)
|
||||
"black"
|
||||
else if (thisSand == Tile.SAND_GREEN)
|
||||
else if (thisSand == Block.SAND_GREEN)
|
||||
"green"
|
||||
else if (thisSand == Tile.SAND)
|
||||
else if (thisSand == Block.SAND)
|
||||
"yellow"
|
||||
else
|
||||
"white"
|
||||
@@ -891,11 +890,11 @@ object WorldGenerator {
|
||||
if (ix < OCEAN_WIDTH) {
|
||||
if (worldOceanPosition == TYPE_OCEAN_LEFT) {
|
||||
for (y in getTerrainHeightFromHeightMap(OCEAN_WIDTH)..getTerrainHeightFromHeightMap(ix) - 1) {
|
||||
world.setTileTerrain(ix, y, Tile.WATER)
|
||||
world.setTileTerrain(ix, y, Block.WATER)
|
||||
}
|
||||
} else if (worldOceanPosition == TYPE_OCEAN_RIGHT) {
|
||||
for (y in getTerrainHeightFromHeightMap(world.width - 1 - OCEAN_WIDTH)..getTerrainHeightFromHeightMap(world.width - 1 - ix) - 1) {
|
||||
world.setTileTerrain(world.width - 1 - ix, y, Tile.WATER)
|
||||
world.setTileTerrain(world.width - 1 - ix, y, Block.WATER)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -925,17 +924,17 @@ object WorldGenerator {
|
||||
for (y in 0..world.height - 1 - 1) {
|
||||
for (x in 0..getFrozenAreaWidth(y) - 1) {
|
||||
if (worldOceanPosition == TYPE_OCEAN_RIGHT) {
|
||||
replaceIfTerrain(Tile.DIRT, x, y, Tile.SNOW)
|
||||
replaceIfTerrain(Tile.STONE, x, y, Tile.ICE_NATURAL)
|
||||
replaceIfTerrain(Block.DIRT, x, y, Block.SNOW)
|
||||
replaceIfTerrain(Block.STONE, x, y, Block.ICE_NATURAL)
|
||||
|
||||
replaceIfWall(Tile.DIRT, x, y, Tile.SNOW)
|
||||
replaceIfWall(Tile.STONE, x, y, Tile.ICE_NATURAL)
|
||||
replaceIfWall(Block.DIRT, x, y, Block.SNOW)
|
||||
replaceIfWall(Block.STONE, x, y, Block.ICE_NATURAL)
|
||||
} else {
|
||||
replaceIfTerrain(Tile.DIRT, world.width - 1 - x, y, Tile.SNOW)
|
||||
replaceIfTerrain(Tile.STONE, world.width - 1 - x, y, Tile.ICE_NATURAL)
|
||||
replaceIfTerrain(Block.DIRT, world.width - 1 - x, y, Block.SNOW)
|
||||
replaceIfTerrain(Block.STONE, world.width - 1 - x, y, Block.ICE_NATURAL)
|
||||
|
||||
replaceIfWall(Tile.DIRT, world.width - 1 - x, y, Tile.SNOW)
|
||||
replaceIfWall(Tile.STONE, world.width - 1 - x, y, Tile.ICE_NATURAL)
|
||||
replaceIfWall(Block.DIRT, world.width - 1 - x, y, Block.SNOW)
|
||||
replaceIfWall(Block.STONE, world.width - 1 - x, y, Block.ICE_NATURAL)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |