From b4b2c0d85ba9c3e63680cf8516b6a26c5137e265 Mon Sep 17 00:00:00 2001 From: Song Minjae Date: Thu, 27 Apr 2017 01:57:45 +0900 Subject: [PATCH] Tile -> Block && Map -> World --- assets/locales/en/blocks.json | 100 +++++ assets/locales/en/tiles.json | 100 ----- assets/locales/koKR/blocks.json | 78 ++++ assets/locales/koKR/tiles.json | 78 ---- assets/modules/basegame/basegame.groovy | 1 + assets/modules/basegame/blocks/blocks.csv | 171 ++++++++ .../basegame/{tiles => blocks}/terrain.tga.gz | 0 .../basegame/{tiles => blocks}/wire.tga.gz | 0 assets/modules/basegame/items/testpick.groovy | 12 +- assets/modules/basegame/tiles/tileprop.csv | 171 -------- src/net/torvald/CSVFetcher.kt | 2 +- src/net/torvald/JsonFetcher.kt | 4 +- src/net/torvald/serialise/WriteCSV.kt | 7 +- src/net/torvald/serialise/WriteMeta.kt | 14 +- src/net/torvald/terrarum/ModMgr.kt | 23 +- src/net/torvald/terrarum/StateInGame.kt | 60 ++- src/net/torvald/terrarum/StateUITest.kt | 6 +- .../torvald/terrarum/blockproperties/Block.kt | 152 +++++++ .../BlockCodex.kt} | 43 +- .../BlockProp.kt} | 9 +- .../BlockPropUtil.kt} | 7 +- .../TileStats.kt => blockstats/BlockStats.kt} | 13 +- src/net/torvald/terrarum/console/ExportMap.kt | 62 +-- .../console/SetGlobalLightOverride.kt | 2 +- .../terrarum/console/SpawnPhysTestBall.kt | 13 +- src/net/torvald/terrarum/console/Teleport.kt | 3 +- .../torvald/terrarum/console/TestGetLight.kt | 2 +- .../terrarum/debuggerapp/ActorValueTracker.kt | 3 +- .../terrarum/gameactors/ActorHumanoid.kt | 6 +- .../terrarum/gameactors/ActorWithPhysics.kt | 56 +-- .../terrarum/gameactors/DroppedItem.kt | 6 +- .../terrarum/gameactors/FixtureTikiTorch.kt | 7 +- .../gameactors/MDLInterpreterState.kt | 1 - .../terrarum/gameactors/ParticleBase.kt | 10 +- .../terrarum/gameactors/PhysTestBall.kt | 5 +- .../gameactors/PlayerBuilderCynthia.kt | 4 +- .../gameactors/PlayerBuilderSigrid.kt | 24 +- .../gameactors/PlayerBuilderTestSubject1.kt | 3 +- .../terrarum/gameactors/ProjectileSimple.kt | 8 +- .../terrarum/gameactors/ai/AILuaAPI.kt | 20 +- .../terrarum/gamecontroller/GameController.kt | 13 +- .../torvald/terrarum/gameworld/GameWorld.kt | 27 +- .../terrarum/gameworld/WorldSimulator.kt | 42 +- .../terrarum/itemproperties/InventoryItem.kt | 54 +-- .../terrarum/itemproperties/ItemCodex.kt | 23 +- .../torvald/terrarum/realestate/LandUtil.kt | 6 +- .../terrarum/realestate/RealEstateCodex.kt | 11 +- .../torvald/terrarum/tileproperties/Tile.kt | 154 ------- .../terrarum/tileproperties/TilePropCSV.kt | 180 -------- .../tileproperties/tileprop.csv.deprecated | 156 ------- .../tileprop_8bcol.csv.deprecated | 156 ------- .../terrarum/ui/BasicDebugInfoWindow.kt | 11 +- src/net/torvald/terrarum/ui/UIHandler.kt | 3 - src/net/torvald/terrarum/ui/UIVitalMetre.kt | 8 +- .../BlocksDrawer.kt} | 389 +++++++++--------- .../FeaturesDrawer.kt | 27 +- .../LightmapRenderer.kt | 35 +- .../WorldCamera.kt} | 4 +- .../FloatingIslandsPreset.kt | 2 +- .../FloatingIslePreset01.kt | 2 +- .../FloatingIslePreset02.kt | 2 +- .../FloatingIslePreset03.kt | 2 +- .../FloatingIslePreset04.kt | 2 +- .../FloatingIslePreset05.kt | 2 +- .../NoiseFilter.kt | 2 +- .../NoiseFilterCubic.kt | 2 +- .../NoiseFilterMinusQuadratic.kt | 2 +- .../NoiseFilterQuadratic.kt | 2 +- .../NoiseFilterSqrt.kt | 2 +- .../NoiseFilterUniform.kt | 2 +- .../RoguelikeRandomiser.kt | 2 +- .../SimplexNoise.kt | 2 +- .../SimplexNoise_octave.kt | 2 +- .../ThreadProcessNoiseLayers.kt | 2 +- .../WorldGenerator.kt | 103 +++-- .../floatingIslePreset01.png | Bin .../floatingIslePreset02.png | Bin .../floatingIslePreset03.png | Bin .../floatingIslePreset04.png | Bin .../floatingIslePreset05.png | Bin 80 files changed, 1075 insertions(+), 1645 deletions(-) create mode 100644 assets/locales/en/blocks.json delete mode 100644 assets/locales/en/tiles.json create mode 100644 assets/locales/koKR/blocks.json delete mode 100644 assets/locales/koKR/tiles.json create mode 100644 assets/modules/basegame/blocks/blocks.csv rename assets/modules/basegame/{tiles => blocks}/terrain.tga.gz (100%) rename assets/modules/basegame/{tiles => blocks}/wire.tga.gz (100%) delete mode 100644 assets/modules/basegame/tiles/tileprop.csv create mode 100644 src/net/torvald/terrarum/blockproperties/Block.kt rename src/net/torvald/terrarum/{tileproperties/TileCodex.kt => blockproperties/BlockCodex.kt} (69%) rename src/net/torvald/terrarum/{tileproperties/TileProp.kt => blockproperties/BlockProp.kt} (77%) rename src/net/torvald/terrarum/{tileproperties/TilePropUtil.kt => blockproperties/BlockPropUtil.kt} (95%) rename src/net/torvald/terrarum/{tilestats/TileStats.kt => blockstats/BlockStats.kt} (85%) delete mode 100644 src/net/torvald/terrarum/tileproperties/Tile.kt delete mode 100644 src/net/torvald/terrarum/tileproperties/TilePropCSV.kt delete mode 100644 src/net/torvald/terrarum/tileproperties/tileprop.csv.deprecated delete mode 100644 src/net/torvald/terrarum/tileproperties/tileprop_8bcol.csv.deprecated rename src/net/torvald/terrarum/{mapdrawer/TilesDrawer.kt => worlddrawer/BlocksDrawer.kt} (66%) rename src/net/torvald/terrarum/{mapdrawer => worlddrawer}/FeaturesDrawer.kt (77%) rename src/net/torvald/terrarum/{mapdrawer => worlddrawer}/LightmapRenderer.kt (95%) rename src/net/torvald/terrarum/{mapdrawer/MapCamera.kt => worlddrawer/WorldCamera.kt} (95%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/FloatingIslandsPreset.kt (97%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/FloatingIslePreset01.kt (99%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/FloatingIslePreset02.kt (99%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/FloatingIslePreset03.kt (99%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/FloatingIslePreset04.kt (99%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/FloatingIslePreset05.kt (99%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/NoiseFilter.kt (76%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/NoiseFilterCubic.kt (96%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/NoiseFilterMinusQuadratic.kt (96%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/NoiseFilterQuadratic.kt (96%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/NoiseFilterSqrt.kt (93%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/NoiseFilterUniform.kt (81%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/RoguelikeRandomiser.kt (97%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/SimplexNoise.kt (97%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/SimplexNoise_octave.kt (99%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/ThreadProcessNoiseLayers.kt (98%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/WorldGenerator.kt (90%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/floatingIslePreset01.png (100%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/floatingIslePreset02.png (100%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/floatingIslePreset03.png (100%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/floatingIslePreset04.png (100%) rename src/net/torvald/terrarum/{mapgenerator => worldgenerator}/floatingIslePreset05.png (100%) diff --git a/assets/locales/en/blocks.json b/assets/locales/en/blocks.json new file mode 100644 index 000000000..a7de000bc --- /dev/null +++ b/assets/locales/en/blocks.json @@ -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" +} \ No newline at end of file diff --git a/assets/locales/en/tiles.json b/assets/locales/en/tiles.json deleted file mode 100644 index e603fd9a1..000000000 --- a/assets/locales/en/tiles.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/assets/locales/koKR/blocks.json b/assets/locales/koKR/blocks.json new file mode 100644 index 000000000..4f6dfc604 --- /dev/null +++ b/assets/locales/koKR/blocks.json @@ -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": "용암" +} \ No newline at end of file diff --git a/assets/locales/koKR/tiles.json b/assets/locales/koKR/tiles.json deleted file mode 100644 index 9cd5c0dfb..000000000 --- a/assets/locales/koKR/tiles.json +++ /dev/null @@ -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": "용암" -} \ No newline at end of file diff --git a/assets/modules/basegame/basegame.groovy b/assets/modules/basegame/basegame.groovy index 8988ef10f..0db3a3b74 100644 --- a/assets/modules/basegame/basegame.groovy +++ b/assets/modules/basegame/basegame.groovy @@ -5,5 +5,6 @@ import net.torvald.terrarum.ModMgr */ static void invoke(String module) { + ModMgr.GameBlockLoader.invoke(module) ModMgr.GameItemLoader.invoke(module) } diff --git a/assets/modules/basegame/blocks/blocks.csv b/assets/modules/basegame/blocks/blocks.csv new file mode 100644 index 000000000..6c9e5a557 --- /dev/null +++ b/assets/modules/basegame/blocks/blocks.csv @@ -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 diff --git a/assets/modules/basegame/tiles/terrain.tga.gz b/assets/modules/basegame/blocks/terrain.tga.gz similarity index 100% rename from assets/modules/basegame/tiles/terrain.tga.gz rename to assets/modules/basegame/blocks/terrain.tga.gz diff --git a/assets/modules/basegame/tiles/wire.tga.gz b/assets/modules/basegame/blocks/wire.tga.gz similarity index 100% rename from assets/modules/basegame/tiles/wire.tga.gz rename to assets/modules/basegame/blocks/wire.tga.gz diff --git a/assets/modules/basegame/items/testpick.groovy b/assets/modules/basegame/items/testpick.groovy index 6bf6a0fdb..4b2cf2d3b 100644 --- a/assets/modules/basegame/items/testpick.groovy +++ b/assets/modules/basegame/items/testpick.groovy @@ -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 diff --git a/assets/modules/basegame/tiles/tileprop.csv b/assets/modules/basegame/tiles/tileprop.csv deleted file mode 100644 index 02297c4cd..000000000 --- a/assets/modules/basegame/tiles/tileprop.csv +++ /dev/null @@ -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 diff --git a/src/net/torvald/CSVFetcher.kt b/src/net/torvald/CSVFetcher.kt index 4cb839e12..9da24802e 100644 --- a/src/net/torvald/CSVFetcher.kt +++ b/src/net/torvald/CSVFetcher.kt @@ -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(), diff --git a/src/net/torvald/JsonFetcher.kt b/src/net/torvald/JsonFetcher.kt index 43fddf9c3..abfd54774 100644 --- a/src/net/torvald/JsonFetcher.kt +++ b/src/net/torvald/JsonFetcher.kt @@ -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 diff --git a/src/net/torvald/serialise/WriteCSV.kt b/src/net/torvald/serialise/WriteCSV.kt index 15dd92532..dc4f3d677 100644 --- a/src/net/torvald/serialise/WriteCSV.kt +++ b/src/net/torvald/serialise/WriteCSV.kt @@ -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) diff --git a/src/net/torvald/serialise/WriteMeta.kt b/src/net/torvald/serialise/WriteMeta.kt index 928bdadb1..69d78a356 100644 --- a/src/net/torvald/serialise/WriteMeta.kt +++ b/src/net/torvald/serialise/WriteMeta.kt @@ -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. diff --git a/src/net/torvald/terrarum/ModMgr.kt b/src/net/torvald/terrarum/ModMgr.kt index e4112e465..4e2578e21 100644 --- a/src/net/torvald/terrarum/ModMgr.kt +++ b/src/net/torvald/terrarum/ModMgr.kt @@ -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 } } - } } \ No newline at end of file diff --git a/src/net/torvald/terrarum/StateInGame.kt b/src/net/torvald/terrarum/StateInGame.kt index c1a819b2f..75e289e72 100644 --- a/src/net/torvald/terrarum/StateInGame.kt +++ b/src/net/torvald/terrarum/StateInGame.kt @@ -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 */ diff --git a/src/net/torvald/terrarum/StateUITest.kt b/src/net/torvald/terrarum/StateUITest.kt index 73e0b2c26..2ef77c5fe 100644 --- a/src/net/torvald/terrarum/StateUITest.kt +++ b/src/net/torvald/terrarum/StateUITest.kt @@ -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?) { diff --git a/src/net/torvald/terrarum/blockproperties/Block.kt b/src/net/torvald/terrarum/blockproperties/Block.kt new file mode 100644 index 000000000..ceb827311 --- /dev/null +++ b/src/net/torvald/terrarum/blockproperties/Block.kt @@ -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 +} diff --git a/src/net/torvald/terrarum/tileproperties/TileCodex.kt b/src/net/torvald/terrarum/blockproperties/BlockCodex.kt similarity index 69% rename from src/net/torvald/terrarum/tileproperties/TileCodex.kt rename to src/net/torvald/terrarum/blockproperties/BlockCodex.kt index 811b4ebf4..0d483ec27 100644 --- a/src/net/torvald/terrarum/tileproperties/TileCodex.kt +++ b/src/net/torvald/terrarum/blockproperties/BlockCodex.kt @@ -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 + private var blockProps: Array const val TILE_UNIQUE_MAX = MapLayer.RANGE * PairedMapLayer.RANGE - private val nullProp = TileProp() + private val nullProp = BlockProp() init { - tileProps = Array(TILE_UNIQUE_MAX * 2, { TileProp() }) - - for (i in tileProps.indices) { - tileProps[i] = TileProp() - } + blockProps = Array(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")) diff --git a/src/net/torvald/terrarum/tileproperties/TileProp.kt b/src/net/torvald/terrarum/blockproperties/BlockProp.kt similarity index 77% rename from src/net/torvald/terrarum/tileproperties/TileProp.kt rename to src/net/torvald/terrarum/blockproperties/BlockProp.kt index d8c1c6b5f..852ae9289 100644 --- a/src/net/torvald/terrarum/tileproperties/TileProp.kt +++ b/src/net/torvald/terrarum/blockproperties/BlockProp.kt @@ -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 diff --git a/src/net/torvald/terrarum/tileproperties/TilePropUtil.kt b/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt similarity index 95% rename from src/net/torvald/terrarum/tileproperties/TilePropUtil.kt rename to src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt index 69ca8a19e..a2fa7b25e 100644 --- a/src/net/torvald/terrarum/tileproperties/TilePropUtil.kt +++ b/src/net/torvald/terrarum/blockproperties/BlockPropUtil.kt @@ -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] diff --git a/src/net/torvald/terrarum/tilestats/TileStats.kt b/src/net/torvald/terrarum/blockstats/BlockStats.kt similarity index 85% rename from src/net/torvald/terrarum/tilestats/TileStats.kt rename to src/net/torvald/terrarum/blockstats/BlockStats.kt index f5199c867..2c5f0b5e8 100644 --- a/src/net/torvald/terrarum/tilestats/TileStats.kt +++ b/src/net/torvald/terrarum/blockstats/BlockStats.kt @@ -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) { diff --git a/src/net/torvald/terrarum/console/ExportMap.kt b/src/net/torvald/terrarum/console/ExportMap.kt index b80f9e2c0..763d1fdc3 100644 --- a/src/net/torvald/terrarum/console/ExportMap.kt +++ b/src/net/torvald/terrarum/console/ExportMap.kt @@ -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() 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) { diff --git a/src/net/torvald/terrarum/console/SetGlobalLightOverride.kt b/src/net/torvald/terrarum/console/SetGlobalLightOverride.kt index 366947967..45b599ee0 100644 --- a/src/net/torvald/terrarum/console/SetGlobalLightOverride.kt +++ b/src/net/torvald/terrarum/console/SetGlobalLightOverride.kt @@ -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 /** diff --git a/src/net/torvald/terrarum/console/SpawnPhysTestBall.kt b/src/net/torvald/terrarum/console/SpawnPhysTestBall.kt index 80184c18f..0d47ce743 100644 --- a/src/net/torvald/terrarum/console/SpawnPhysTestBall.kt +++ b/src/net/torvald/terrarum/console/SpawnPhysTestBall.kt @@ -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 diff --git a/src/net/torvald/terrarum/console/Teleport.kt b/src/net/torvald/terrarum/console/Teleport.kt index e4253c3fb..6855f8499 100644 --- a/src/net/torvald/terrarum/console/Teleport.kt +++ b/src/net/torvald/terrarum/console/Teleport.kt @@ -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 diff --git a/src/net/torvald/terrarum/console/TestGetLight.kt b/src/net/torvald/terrarum/console/TestGetLight.kt index da65098c2..d7cec5bc3 100644 --- a/src/net/torvald/terrarum/console/TestGetLight.kt +++ b/src/net/torvald/terrarum/console/TestGetLight.kt @@ -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. diff --git a/src/net/torvald/terrarum/debuggerapp/ActorValueTracker.kt b/src/net/torvald/terrarum/debuggerapp/ActorValueTracker.kt index 194ca6fe5..c27e066a7 100644 --- a/src/net/torvald/terrarum/debuggerapp/ActorValueTracker.kt +++ b/src/net/torvald/terrarum/debuggerapp/ActorValueTracker.kt @@ -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.* /** diff --git a/src/net/torvald/terrarum/gameactors/ActorHumanoid.kt b/src/net/torvald/terrarum/gameactors/ActorHumanoid.kt index 803786765..ba7b696d5 100644 --- a/src/net/torvald/terrarum/gameactors/ActorHumanoid.kt +++ b/src/net/torvald/terrarum/gameactors/ActorHumanoid.kt @@ -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? = 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() { diff --git a/src/net/torvald/terrarum/gameactors/ActorWithPhysics.kt b/src/net/torvald/terrarum/gameactors/ActorWithPhysics.kt index 18e605af4..7a516160e 100644 --- a/src/net/torvald/terrarum/gameactors/ActorWithPhysics.kt +++ b/src/net/torvald/terrarum/gameactors/ActorWithPhysics.kt @@ -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() + private fun forEachOccupyingTile(consumer: (BlockProp?) -> Unit) { + val tileProps = ArrayList() 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() + private fun forEachFeetTile(consumer: (BlockProp?) -> Unit) { + val tileProps = ArrayList() // 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) diff --git a/src/net/torvald/terrarum/gameactors/DroppedItem.kt b/src/net/torvald/terrarum/gameactors/DroppedItem.kt index 117781446..ab9fae50b 100644 --- a/src/net/torvald/terrarum/gameactors/DroppedItem.kt +++ b/src/net/torvald/terrarum/gameactors/DroppedItem.kt @@ -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 diff --git a/src/net/torvald/terrarum/gameactors/FixtureTikiTorch.kt b/src/net/torvald/terrarum/gameactors/FixtureTikiTorch.kt index e3a170a51..8e867b14a 100644 --- a/src/net/torvald/terrarum/gameactors/FixtureTikiTorch.kt +++ b/src/net/torvald/terrarum/gameactors/FixtureTikiTorch.kt @@ -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() } diff --git a/src/net/torvald/terrarum/gameactors/MDLInterpreterState.kt b/src/net/torvald/terrarum/gameactors/MDLInterpreterState.kt index a6d22660c..8df2aedac 100644 --- a/src/net/torvald/terrarum/gameactors/MDLInterpreterState.kt +++ b/src/net/torvald/terrarum/gameactors/MDLInterpreterState.kt @@ -1,6 +1,5 @@ package net.torvald.terrarum.gameactors -import net.torvald.terrarum.mapgenerator.RoguelikeRandomiser import java.util.* /** diff --git a/src/net/torvald/terrarum/gameactors/ParticleBase.kt b/src/net/torvald/terrarum/gameactors/ParticleBase.kt index b8383095e..d6c38b026 100644 --- a/src/net/torvald/terrarum/gameactors/ParticleBase.kt +++ b/src/net/torvald/terrarum/gameactors/ParticleBase.kt @@ -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 } diff --git a/src/net/torvald/terrarum/gameactors/PhysTestBall.kt b/src/net/torvald/terrarum/gameactors/PhysTestBall.kt index 144818f38..42bc21acb 100644 --- a/src/net/torvald/terrarum/gameactors/PhysTestBall.kt +++ b/src/net/torvald/terrarum/gameactors/PhysTestBall.kt @@ -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 /** diff --git a/src/net/torvald/terrarum/gameactors/PlayerBuilderCynthia.kt b/src/net/torvald/terrarum/gameactors/PlayerBuilderCynthia.kt index 2ad9870e0..5a1cb5dfb 100644 --- a/src/net/torvald/terrarum/gameactors/PlayerBuilderCynthia.kt +++ b/src/net/torvald/terrarum/gameactors/PlayerBuilderCynthia.kt @@ -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. diff --git a/src/net/torvald/terrarum/gameactors/PlayerBuilderSigrid.kt b/src/net/torvald/terrarum/gameactors/PlayerBuilderSigrid.kt index 7acafb2e0..40cd7b764 100644 --- a/src/net/torvald/terrarum/gameactors/PlayerBuilderSigrid.kt +++ b/src/net/torvald/terrarum/gameactors/PlayerBuilderSigrid.kt @@ -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) diff --git a/src/net/torvald/terrarum/gameactors/PlayerBuilderTestSubject1.kt b/src/net/torvald/terrarum/gameactors/PlayerBuilderTestSubject1.kt index 1ab9998fb..c86b810c2 100644 --- a/src/net/torvald/terrarum/gameactors/PlayerBuilderTestSubject1.kt +++ b/src/net/torvald/terrarum/gameactors/PlayerBuilderTestSubject1.kt @@ -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. diff --git a/src/net/torvald/terrarum/gameactors/ProjectileSimple.kt b/src/net/torvald/terrarum/gameactors/ProjectileSimple.kt index df78783ec..ce9181440 100644 --- a/src/net/torvald/terrarum/gameactors/ProjectileSimple.kt +++ b/src/net/torvald/terrarum/gameactors/ProjectileSimple.kt @@ -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() } diff --git a/src/net/torvald/terrarum/gameactors/ai/AILuaAPI.kt b/src/net/torvald/terrarum/gameactors/ai/AILuaAPI.kt index 588865d40..6e2db2b38 100644 --- a/src/net/torvald/terrarum/gameactors/ai/AILuaAPI.kt +++ b/src/net/torvald/terrarum/gameactors/ai/AILuaAPI.kt @@ -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 } diff --git a/src/net/torvald/terrarum/gamecontroller/GameController.kt b/src/net/torvald/terrarum/gamecontroller/GameController.kt index 91cc6256f..a6f9b6f27 100644 --- a/src/net/torvald/terrarum/gamecontroller/GameController.kt +++ b/src/net/torvald/terrarum/gamecontroller/GameController.kt @@ -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() diff --git a/src/net/torvald/terrarum/gameworld/GameWorld.kt b/src/net/torvald/terrarum/gameworld/GameWorld.kt index 0bfc00428..2566359bb 100644 --- a/src/net/torvald/terrarum/gameworld/GameWorld.kt +++ b/src/net/torvald/terrarum/gameworld/GameWorld.kt @@ -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() - val terrainDamages = HashMap() + val wallDamages = HashMap() + val terrainDamages = HashMap() //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 { diff --git a/src/net/torvald/terrarum/gameworld/WorldSimulator.kt b/src/net/torvald/terrarum/gameworld/WorldSimulator.kt index 2140e9648..f1535d380 100644 --- a/src/net/torvald/terrarum/gameworld/WorldSimulator.kt +++ b/src/net/torvald/terrarum/gameworld/WorldSimulator.kt @@ -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) } } } diff --git a/src/net/torvald/terrarum/itemproperties/InventoryItem.kt b/src/net/torvald/terrarum/itemproperties/InventoryItem.kt index 911865d5b..f9c1b9cf3 100644 --- a/src/net/torvald/terrarum/itemproperties/InventoryItem.kt +++ b/src/net/torvald/terrarum/itemproperties/InventoryItem.kt @@ -202,42 +202,42 @@ abstract class InventoryItem : Comparable, 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 { diff --git a/src/net/torvald/terrarum/itemproperties/ItemCodex.kt b/src/net/torvald/terrarum/itemproperties/ItemCodex.kt index da768e779..d8cb7b158 100644 --- a/src/net/torvald/terrarum/itemproperties/ItemCodex.kt +++ b/src/net/torvald/terrarum/itemproperties/ItemCodex.kt @@ -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 diff --git a/src/net/torvald/terrarum/realestate/LandUtil.kt b/src/net/torvald/terrarum/realestate/LandUtil.kt index bf8b49c3f..53c3e4ef9 100644 --- a/src/net/torvald/terrarum/realestate/LandUtil.kt +++ b/src/net/torvald/terrarum/realestate/LandUtil.kt @@ -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 = + fun resolveAbsoluteBlockNumber(t: BlockAddress): Pair = Pair((t % Terrarum.ingame!!.world.width).toInt(), (t / Terrarum.ingame!!.world.width).toInt()) /** diff --git a/src/net/torvald/terrarum/realestate/RealEstateCodex.kt b/src/net/torvald/terrarum/realestate/RealEstateCodex.kt index 6b0c6ad4b..9ebf1f5f5 100644 --- a/src/net/torvald/terrarum/realestate/RealEstateCodex.kt +++ b/src/net/torvald/terrarum/realestate/RealEstateCodex.kt @@ -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 + * HashMap * - * 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 = 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)] } \ No newline at end of file diff --git a/src/net/torvald/terrarum/tileproperties/Tile.kt b/src/net/torvald/terrarum/tileproperties/Tile.kt deleted file mode 100644 index 06868e25f..000000000 --- a/src/net/torvald/terrarum/tileproperties/Tile.kt +++ /dev/null @@ -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 -} diff --git a/src/net/torvald/terrarum/tileproperties/TilePropCSV.kt b/src/net/torvald/terrarum/tileproperties/TilePropCSV.kt deleted file mode 100644 index 64213ab01..000000000 --- a/src/net/torvald/terrarum/tileproperties/TilePropCSV.kt +++ /dev/null @@ -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 -""" -} \ No newline at end of file diff --git a/src/net/torvald/terrarum/tileproperties/tileprop.csv.deprecated b/src/net/torvald/terrarum/tileproperties/tileprop.csv.deprecated deleted file mode 100644 index 3142a8c7b..000000000 --- a/src/net/torvald/terrarum/tileproperties/tileprop.csv.deprecated +++ /dev/null @@ -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 \ No newline at end of file diff --git a/src/net/torvald/terrarum/tileproperties/tileprop_8bcol.csv.deprecated b/src/net/torvald/terrarum/tileproperties/tileprop_8bcol.csv.deprecated deleted file mode 100644 index 87c7dc806..000000000 --- a/src/net/torvald/terrarum/tileproperties/tileprop_8bcol.csv.deprecated +++ /dev/null @@ -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 \ No newline at end of file diff --git a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt index 1fd60ba9c..9caa61b1f 100644 --- a/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt +++ b/src/net/torvald/terrarum/ui/BasicDebugInfoWindow.kt @@ -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"] diff --git a/src/net/torvald/terrarum/ui/UIHandler.kt b/src/net/torvald/terrarum/ui/UIHandler.kt index f6c0567c3..497b4f4be 100644 --- a/src/net/torvald/terrarum/ui/UIHandler.kt +++ b/src/net/torvald/terrarum/ui/UIHandler.kt @@ -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 diff --git a/src/net/torvald/terrarum/ui/UIVitalMetre.kt b/src/net/torvald/terrarum/ui/UIVitalMetre.kt index c629a4c91..64a53513f 100644 --- a/src/net/torvald/terrarum/ui/UIVitalMetre.kt +++ b/src/net/torvald/terrarum/ui/UIVitalMetre.kt @@ -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)) ) diff --git a/src/net/torvald/terrarum/mapdrawer/TilesDrawer.kt b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt similarity index 66% rename from src/net/torvald/terrarum/mapdrawer/TilesDrawer.kt rename to src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt index e1619a8c3..b3dc4a9f8 100644 --- a/src/net/torvald/terrarum/mapdrawer/TilesDrawer.kt +++ b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt @@ -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) } diff --git a/src/net/torvald/terrarum/mapdrawer/FeaturesDrawer.kt b/src/net/torvald/terrarum/worlddrawer/FeaturesDrawer.kt similarity index 77% rename from src/net/torvald/terrarum/mapdrawer/FeaturesDrawer.kt rename to src/net/torvald/terrarum/worlddrawer/FeaturesDrawer.kt index b748369e9..09c282c44 100644 --- a/src/net/torvald/terrarum/mapdrawer/FeaturesDrawer.kt +++ b/src/net/torvald/terrarum/worlddrawer/FeaturesDrawer.kt @@ -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 ) diff --git a/src/net/torvald/terrarum/mapdrawer/LightmapRenderer.kt b/src/net/torvald/terrarum/worlddrawer/LightmapRenderer.kt similarity index 95% rename from src/net/torvald/terrarum/mapdrawer/LightmapRenderer.kt rename to src/net/torvald/terrarum/worlddrawer/LightmapRenderer.kt index 3bd86c5bf..3ebc2bf8a 100644 --- a/src/net/torvald/terrarum/mapdrawer/LightmapRenderer.kt +++ b/src/net/torvald/terrarum/worlddrawer/LightmapRenderer.kt @@ -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 = Array(LIGHTMAP_HEIGHT) { IntArray(LIGHTMAP_WIDTH) } private val lanternMap = ArrayList(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 diff --git a/src/net/torvald/terrarum/mapdrawer/MapCamera.kt b/src/net/torvald/terrarum/worlddrawer/WorldCamera.kt similarity index 95% rename from src/net/torvald/terrarum/mapdrawer/MapCamera.kt rename to src/net/torvald/terrarum/worlddrawer/WorldCamera.kt index 4852dc342..152dbc091 100644 --- a/src/net/torvald/terrarum/mapdrawer/MapCamera.kt +++ b/src/net/torvald/terrarum/worlddrawer/WorldCamera.kt @@ -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 diff --git a/src/net/torvald/terrarum/mapgenerator/FloatingIslandsPreset.kt b/src/net/torvald/terrarum/worldgenerator/FloatingIslandsPreset.kt similarity index 97% rename from src/net/torvald/terrarum/mapgenerator/FloatingIslandsPreset.kt rename to src/net/torvald/terrarum/worldgenerator/FloatingIslandsPreset.kt index a62e052b8..f7298a3dd 100644 --- a/src/net/torvald/terrarum/mapgenerator/FloatingIslandsPreset.kt +++ b/src/net/torvald/terrarum/worldgenerator/FloatingIslandsPreset.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator import net.torvald.random.HQRNG diff --git a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset01.kt b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset01.kt similarity index 99% rename from src/net/torvald/terrarum/mapgenerator/FloatingIslePreset01.kt rename to src/net/torvald/terrarum/worldgenerator/FloatingIslePreset01.kt index dd95159c9..57384aaf4 100644 --- a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset01.kt +++ b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset01.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator internal object FloatingIslePreset01 { var w = 100 diff --git a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset02.kt b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset02.kt similarity index 99% rename from src/net/torvald/terrarum/mapgenerator/FloatingIslePreset02.kt rename to src/net/torvald/terrarum/worldgenerator/FloatingIslePreset02.kt index e067821d2..09372ebae 100644 --- a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset02.kt +++ b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset02.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator internal object FloatingIslePreset02 { var w = 80 diff --git a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset03.kt b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset03.kt similarity index 99% rename from src/net/torvald/terrarum/mapgenerator/FloatingIslePreset03.kt rename to src/net/torvald/terrarum/worldgenerator/FloatingIslePreset03.kt index cdeaf5c6f..21f09492c 100644 --- a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset03.kt +++ b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset03.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator internal object FloatingIslePreset03 { var w = 66 diff --git a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset04.kt b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset04.kt similarity index 99% rename from src/net/torvald/terrarum/mapgenerator/FloatingIslePreset04.kt rename to src/net/torvald/terrarum/worldgenerator/FloatingIslePreset04.kt index d1c7a0745..d5c379870 100644 --- a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset04.kt +++ b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset04.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator internal object FloatingIslePreset04 { var w = 88 diff --git a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset05.kt b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset05.kt similarity index 99% rename from src/net/torvald/terrarum/mapgenerator/FloatingIslePreset05.kt rename to src/net/torvald/terrarum/worldgenerator/FloatingIslePreset05.kt index f8787be18..d7d20668a 100644 --- a/src/net/torvald/terrarum/mapgenerator/FloatingIslePreset05.kt +++ b/src/net/torvald/terrarum/worldgenerator/FloatingIslePreset05.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator internal object FloatingIslePreset05 { var w = 74 diff --git a/src/net/torvald/terrarum/mapgenerator/NoiseFilter.kt b/src/net/torvald/terrarum/worldgenerator/NoiseFilter.kt similarity index 76% rename from src/net/torvald/terrarum/mapgenerator/NoiseFilter.kt rename to src/net/torvald/terrarum/worldgenerator/NoiseFilter.kt index 9d26f93df..7366c6160 100644 --- a/src/net/torvald/terrarum/mapgenerator/NoiseFilter.kt +++ b/src/net/torvald/terrarum/worldgenerator/NoiseFilter.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator /** * Created by minjaesong on 16-03-31. diff --git a/src/net/torvald/terrarum/mapgenerator/NoiseFilterCubic.kt b/src/net/torvald/terrarum/worldgenerator/NoiseFilterCubic.kt similarity index 96% rename from src/net/torvald/terrarum/mapgenerator/NoiseFilterCubic.kt rename to src/net/torvald/terrarum/worldgenerator/NoiseFilterCubic.kt index 515659446..3cc52d5cb 100644 --- a/src/net/torvald/terrarum/mapgenerator/NoiseFilterCubic.kt +++ b/src/net/torvald/terrarum/worldgenerator/NoiseFilterCubic.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator import com.jme3.math.FastMath diff --git a/src/net/torvald/terrarum/mapgenerator/NoiseFilterMinusQuadratic.kt b/src/net/torvald/terrarum/worldgenerator/NoiseFilterMinusQuadratic.kt similarity index 96% rename from src/net/torvald/terrarum/mapgenerator/NoiseFilterMinusQuadratic.kt rename to src/net/torvald/terrarum/worldgenerator/NoiseFilterMinusQuadratic.kt index cdefeaa8c..4cb041c8c 100644 --- a/src/net/torvald/terrarum/mapgenerator/NoiseFilterMinusQuadratic.kt +++ b/src/net/torvald/terrarum/worldgenerator/NoiseFilterMinusQuadratic.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator import com.jme3.math.FastMath diff --git a/src/net/torvald/terrarum/mapgenerator/NoiseFilterQuadratic.kt b/src/net/torvald/terrarum/worldgenerator/NoiseFilterQuadratic.kt similarity index 96% rename from src/net/torvald/terrarum/mapgenerator/NoiseFilterQuadratic.kt rename to src/net/torvald/terrarum/worldgenerator/NoiseFilterQuadratic.kt index a2d2223e6..1fc9881b5 100644 --- a/src/net/torvald/terrarum/mapgenerator/NoiseFilterQuadratic.kt +++ b/src/net/torvald/terrarum/worldgenerator/NoiseFilterQuadratic.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator import com.jme3.math.FastMath diff --git a/src/net/torvald/terrarum/mapgenerator/NoiseFilterSqrt.kt b/src/net/torvald/terrarum/worldgenerator/NoiseFilterSqrt.kt similarity index 93% rename from src/net/torvald/terrarum/mapgenerator/NoiseFilterSqrt.kt rename to src/net/torvald/terrarum/worldgenerator/NoiseFilterSqrt.kt index 5a85fedc7..30e658721 100644 --- a/src/net/torvald/terrarum/mapgenerator/NoiseFilterSqrt.kt +++ b/src/net/torvald/terrarum/worldgenerator/NoiseFilterSqrt.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator import com.jme3.math.FastMath diff --git a/src/net/torvald/terrarum/mapgenerator/NoiseFilterUniform.kt b/src/net/torvald/terrarum/worldgenerator/NoiseFilterUniform.kt similarity index 81% rename from src/net/torvald/terrarum/mapgenerator/NoiseFilterUniform.kt rename to src/net/torvald/terrarum/worldgenerator/NoiseFilterUniform.kt index 97b371654..63a80c28c 100644 --- a/src/net/torvald/terrarum/mapgenerator/NoiseFilterUniform.kt +++ b/src/net/torvald/terrarum/worldgenerator/NoiseFilterUniform.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator /** * Created by minjaesong on 16-03-31. diff --git a/src/net/torvald/terrarum/mapgenerator/RoguelikeRandomiser.kt b/src/net/torvald/terrarum/worldgenerator/RoguelikeRandomiser.kt similarity index 97% rename from src/net/torvald/terrarum/mapgenerator/RoguelikeRandomiser.kt rename to src/net/torvald/terrarum/worldgenerator/RoguelikeRandomiser.kt index b8fd56288..d57f04285 100644 --- a/src/net/torvald/terrarum/mapgenerator/RoguelikeRandomiser.kt +++ b/src/net/torvald/terrarum/worldgenerator/RoguelikeRandomiser.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator import net.torvald.dataclass.IntArrayStack import net.torvald.colourutil.Col4096 diff --git a/src/net/torvald/terrarum/mapgenerator/SimplexNoise.kt b/src/net/torvald/terrarum/worldgenerator/SimplexNoise.kt similarity index 97% rename from src/net/torvald/terrarum/mapgenerator/SimplexNoise.kt rename to src/net/torvald/terrarum/worldgenerator/SimplexNoise.kt index 9b169454a..2307d5170 100644 --- a/src/net/torvald/terrarum/mapgenerator/SimplexNoise.kt +++ b/src/net/torvald/terrarum/worldgenerator/SimplexNoise.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator import net.torvald.random.HQRNG import com.jme3.math.FastMath diff --git a/src/net/torvald/terrarum/mapgenerator/SimplexNoise_octave.kt b/src/net/torvald/terrarum/worldgenerator/SimplexNoise_octave.kt similarity index 99% rename from src/net/torvald/terrarum/mapgenerator/SimplexNoise_octave.kt rename to src/net/torvald/terrarum/worldgenerator/SimplexNoise_octave.kt index 535e93a02..7075193af 100644 --- a/src/net/torvald/terrarum/mapgenerator/SimplexNoise_octave.kt +++ b/src/net/torvald/terrarum/worldgenerator/SimplexNoise_octave.kt @@ -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. diff --git a/src/net/torvald/terrarum/mapgenerator/ThreadProcessNoiseLayers.kt b/src/net/torvald/terrarum/worldgenerator/ThreadProcessNoiseLayers.kt similarity index 98% rename from src/net/torvald/terrarum/mapgenerator/ThreadProcessNoiseLayers.kt rename to src/net/torvald/terrarum/worldgenerator/ThreadProcessNoiseLayers.kt index 3327930bc..393d9724c 100644 --- a/src/net/torvald/terrarum/mapgenerator/ThreadProcessNoiseLayers.kt +++ b/src/net/torvald/terrarum/worldgenerator/ThreadProcessNoiseLayers.kt @@ -1,4 +1,4 @@ -package net.torvald.terrarum.mapgenerator +package net.torvald.terrarum.worldgenerator /** * Created by minjaesong on 16-06-13. diff --git a/src/net/torvald/terrarum/mapgenerator/WorldGenerator.kt b/src/net/torvald/terrarum/worldgenerator/WorldGenerator.kt similarity index 90% rename from src/net/torvald/terrarum/mapgenerator/WorldGenerator.kt rename to src/net/torvald/terrarum/worldgenerator/WorldGenerator.kt index 293557d5a..c8a18c083 100644 --- a/src/net/torvald/terrarum/mapgenerator/WorldGenerator.kt +++ b/src/net/torvald/terrarum/worldgenerator/WorldGenerator.kt @@ -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) } } } diff --git a/src/net/torvald/terrarum/mapgenerator/floatingIslePreset01.png b/src/net/torvald/terrarum/worldgenerator/floatingIslePreset01.png similarity index 100% rename from src/net/torvald/terrarum/mapgenerator/floatingIslePreset01.png rename to src/net/torvald/terrarum/worldgenerator/floatingIslePreset01.png diff --git a/src/net/torvald/terrarum/mapgenerator/floatingIslePreset02.png b/src/net/torvald/terrarum/worldgenerator/floatingIslePreset02.png similarity index 100% rename from src/net/torvald/terrarum/mapgenerator/floatingIslePreset02.png rename to src/net/torvald/terrarum/worldgenerator/floatingIslePreset02.png diff --git a/src/net/torvald/terrarum/mapgenerator/floatingIslePreset03.png b/src/net/torvald/terrarum/worldgenerator/floatingIslePreset03.png similarity index 100% rename from src/net/torvald/terrarum/mapgenerator/floatingIslePreset03.png rename to src/net/torvald/terrarum/worldgenerator/floatingIslePreset03.png diff --git a/src/net/torvald/terrarum/mapgenerator/floatingIslePreset04.png b/src/net/torvald/terrarum/worldgenerator/floatingIslePreset04.png similarity index 100% rename from src/net/torvald/terrarum/mapgenerator/floatingIslePreset04.png rename to src/net/torvald/terrarum/worldgenerator/floatingIslePreset04.png diff --git a/src/net/torvald/terrarum/mapgenerator/floatingIslePreset05.png b/src/net/torvald/terrarum/worldgenerator/floatingIslePreset05.png similarity index 100% rename from src/net/torvald/terrarum/mapgenerator/floatingIslePreset05.png rename to src/net/torvald/terrarum/worldgenerator/floatingIslePreset05.png