Fix trapdoor side textures and orientations
authorParamat <paramat@users.noreply.github.com>
Fri, 3 May 2019 22:49:07 +0000 (23:49 +0100)
committerGitHub <noreply@github.com>
Fri, 3 May 2019 22:49:07 +0000 (23:49 +0100)
Previously, opening a trapdoor caused the side textures to flip.

Fix the incorrect textures.
Also add a texture transform to a tile of the open trapdoor, such
that the closed trapdoor sides use the lower part of the texture
and the open trapdoor sides use the higher part.

Clean up some codestyle issues.

game_api.txt
mods/doors/README.txt
mods/doors/init.lua
mods/doors/textures/doors_trapdoor_side.png
mods/doors/textures/doors_trapdoor_steel_side.png

index 61be13f5c4a7814a75293cde88e5c6dd6fe17dbe..841c6e20a9adc1f831b05a47de58bf31f54b2a33 100644 (file)
@@ -214,6 +214,8 @@ The doors mod allows modders to register custom doors and trapdoors.
        inventory_image = "mod_door_inv.png",
        groups = {choppy = 2},
        tiles = {"mod_door.png"}, -- UV map.
+       -- The front and back of the door must be identical in appearence as they swap on
+       -- open/close.
        recipe = craftrecipe,
        sounds = default.node_sound_wood_defaults(), -- optional
        sound_open = sound play for open door, -- optional
@@ -228,7 +230,12 @@ The doors mod allows modders to register custom doors and trapdoors.
        inventory_image = "mod_trapdoor_inv.png",
        groups = {choppy = 2},
        tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor
-       tile_side = "doors_trapdoor_side.png", -- the tiles of the four side parts of the trapdoor
+       tile_side = "doors_trapdoor_side.png",
+       -- The texture for the four sides of the trapdoor.
+       -- The texture should have the trapdoor side drawn twice, in the lowest and highest
+       -- 1/8ths of the texture, both upright. The area between is not used.
+       -- The lower 1/8th will be used for the closed trapdoor, the higher 1/8th will be used
+       -- for the open trapdoor.
        sounds = default.node_sound_wood_defaults(), -- optional
        sound_open = sound play for open door, -- optional
        sound_close = sound play for close door, -- optional
index 9c114b0c7cda3d187a7cc7a2656e29dd7bc87d60..f9caaffcbf7ad85eb38902ec1726f6c839c00593 100644 (file)
@@ -40,8 +40,10 @@ Following textures created by PenguinDad (CC BY-SA 4.0):
 
 Following textures created by sofar (CC-BY-SA-3.0):
   doors_trapdoor_steel.png
-  doors_trapdoor_steel_side.png
+
+Following textures created by paramat (CC-BY-SA-3.0):
   door_trapdoor_side.png
+  doors_trapdoor_steel_side.png
 
 Obsidian door textures by red-001 based on textures by Pilzadam and BlockMen (CC BY-SA 3.0):
   door_obsidian_glass.png
index 20ce026d6a05f55193d89c058dca70baf0245a31..dff65c7f15e813c8678b1b28726b09617a04f050 100644 (file)
@@ -642,10 +642,14 @@ function doors.register_trapdoor(name, def)
                type = "fixed",
                fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5}
        }
-       def_closed.tiles = {def.tile_front,
-                       def.tile_front .. '^[transformFY',
-                       def.tile_side, def.tile_side,
-                       def.tile_side, def.tile_side}
+       def_closed.tiles = {
+               def.tile_front,
+               def.tile_front .. '^[transformFY',
+               def.tile_side,
+               def.tile_side,
+               def.tile_side,
+               def.tile_side
+       }
 
        def_opened.node_box = {
                type = "fixed",
@@ -655,11 +659,14 @@ function doors.register_trapdoor(name, def)
                type = "fixed",
                fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5}
        }
-       def_opened.tiles = {def.tile_side, def.tile_side,
-                       def.tile_side .. '^[transform3',
-                       def.tile_side .. '^[transform1',
-                       def.tile_front .. '^[transform46',
-                       def.tile_front .. '^[transform6'}
+       def_opened.tiles = {
+               def.tile_side,
+               def.tile_side .. '^[transform2',
+               def.tile_side .. '^[transform3',
+               def.tile_side .. '^[transform1',
+               def.tile_front .. '^[transform46',
+               def.tile_front .. '^[transform6'
+       }
 
        def_opened.drop = name_closed
        def_opened.groups.not_in_creative_inventory = 1
index 4a8b99f2836e47737f494f2c1959486337994e6e..55981ea32cb49b8227fe85beafafb2ee599653c7 100644 (file)
Binary files a/mods/doors/textures/doors_trapdoor_side.png and b/mods/doors/textures/doors_trapdoor_side.png differ
index 44c4344b2b4f4ba16d9ea1427d94ad5abcff8ef3..e29c59e014db2e8b1aee99b652af4138e85a3f76 100644 (file)
Binary files a/mods/doors/textures/doors_trapdoor_steel_side.png and b/mods/doors/textures/doors_trapdoor_steel_side.png differ