From ac31642ec969d20b76bd74f5aab4cdc5b3de74de Mon Sep 17 00:00:00 2001 From: FossFanatic Date: Tue, 13 Jun 2023 15:43:52 +0000 Subject: [PATCH] Door Fixes & Improvements (#3479) This pull request fixes the issue where people had to mirror their door textures because the game used a different method to texture the doors. Speaking of mirrored, this pull request also fixes mirrored doors and improves those greatly. Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3479 Reviewed-by: ancientmarinerdev Co-authored-by: FossFanatic Co-committed-by: FossFanatic --- mods/ITEMS/mcl_bamboo/bamboo_items.lua | 19 +- mods/ITEMS/mcl_crimson/init.lua | 8 +- mods/ITEMS/mcl_doors/api_doors.lua | 608 +++++++++++------- mods/ITEMS/mcl_doors/register.lua | 28 +- mods/ITEMS/mcl_mangrove/init.lua | 4 +- textures/doors_item_steel.png | Bin 220 -> 182 bytes textures/doors_item_wood.png | Bin 205 -> 190 bytes textures/mcl_bamboo_door_bottom_alt.png | Bin 501 -> 0 bytes .../mcl_bamboo_door_bottom_bottompart.png | Bin 0 -> 209 bytes textures/mcl_bamboo_door_bottom_side.png | Bin 0 -> 258 bytes textures/mcl_bamboo_door_top_alt.png | Bin 495 -> 0 bytes textures/mcl_bamboo_door_top_side.png | Bin 0 -> 407 bytes textures/mcl_bamboo_door_top_toppart.png | Bin 0 -> 331 bytes textures/mcl_crimson_crimson_door.png | Bin 224 -> 224 bytes textures/mcl_crimson_crimson_door_bottom.png | Bin 234 -> 239 bytes ...crimson_crimson_door_bottom_bottompart.png | Bin 0 -> 141 bytes .../mcl_crimson_crimson_door_bottom_side.png | Bin 0 -> 187 bytes textures/mcl_crimson_crimson_door_top.png | Bin 234 -> 241 bytes .../mcl_crimson_crimson_door_top_side.png | Bin 0 -> 201 bytes .../mcl_crimson_crimson_door_top_toppart.png | Bin 0 -> 143 bytes textures/mcl_crimson_warped_door.png | Bin 214 -> 205 bytes textures/mcl_crimson_warped_door_bottom.png | Bin 287 -> 249 bytes ..._crimson_warped_door_bottom_bottompart.png | Bin 0 -> 156 bytes .../mcl_crimson_warped_door_bottom_side.png | Bin 0 -> 213 bytes textures/mcl_crimson_warped_door_top.png | Bin 281 -> 246 bytes textures/mcl_crimson_warped_door_top_side.png | Bin 0 -> 210 bytes .../mcl_crimson_warped_door_top_toppart.png | Bin 0 -> 151 bytes textures/mcl_crimson_warped_trapdoor.png | Bin 261 -> 261 bytes textures/mcl_doors_door_acacia.png | Bin 170 -> 185 bytes textures/mcl_doors_door_acacia_lower.png | Bin 207 -> 198 bytes ...mcl_doors_door_acacia_lower_bottompart.png | Bin 0 -> 138 bytes textures/mcl_doors_door_acacia_lower_side.png | Bin 0 -> 190 bytes textures/mcl_doors_door_acacia_side_lower.png | Bin 131 -> 0 bytes textures/mcl_doors_door_acacia_side_upper.png | Bin 134 -> 0 bytes textures/mcl_doors_door_acacia_upper.png | Bin 199 -> 202 bytes textures/mcl_doors_door_acacia_upper_side.png | Bin 0 -> 190 bytes .../mcl_doors_door_acacia_upper_toppart.png | Bin 0 -> 140 bytes textures/mcl_doors_door_birch.png | Bin 218 -> 226 bytes textures/mcl_doors_door_birch_lower.png | Bin 231 -> 232 bytes .../mcl_doors_door_birch_lower_bottompart.png | Bin 0 -> 145 bytes textures/mcl_doors_door_birch_lower_side.png | Bin 0 -> 195 bytes textures/mcl_doors_door_birch_side_lower.png | Bin 131 -> 0 bytes textures/mcl_doors_door_birch_side_upper.png | Bin 134 -> 0 bytes textures/mcl_doors_door_birch_upper.png | Bin 226 -> 227 bytes textures/mcl_doors_door_birch_upper_side.png | Bin 0 -> 172 bytes .../mcl_doors_door_birch_upper_toppart.png | Bin 0 -> 146 bytes .../mcl_doors_door_crimson_side_lower.png | Bin 156 -> 0 bytes .../mcl_doors_door_crimson_side_upper.png | Bin 158 -> 0 bytes textures/mcl_doors_door_dark_oak.png | Bin 185 -> 199 bytes textures/mcl_doors_door_dark_oak_lower.png | Bin 182 -> 214 bytes ...l_doors_door_dark_oak_lower_bottompart.png | Bin 0 -> 140 bytes .../mcl_doors_door_dark_oak_lower_side.png | Bin 0 -> 177 bytes .../mcl_doors_door_dark_oak_side_lower.png | Bin 139 -> 0 bytes .../mcl_doors_door_dark_oak_side_upper.png | Bin 134 -> 0 bytes textures/mcl_doors_door_dark_oak_upper.png | Bin 185 -> 202 bytes .../mcl_doors_door_dark_oak_upper_side.png | Bin 0 -> 191 bytes .../mcl_doors_door_dark_oak_upper_toppart.png | Bin 0 -> 137 bytes textures/mcl_doors_door_iron_lower.png | Bin 265 -> 213 bytes .../mcl_doors_door_iron_lower_bottompart.png | Bin 0 -> 117 bytes textures/mcl_doors_door_iron_lower_side.png | Bin 0 -> 222 bytes textures/mcl_doors_door_iron_side_lower.png | Bin 265 -> 0 bytes textures/mcl_doors_door_iron_side_upper.png | Bin 285 -> 0 bytes textures/mcl_doors_door_iron_upper.png | Bin 285 -> 254 bytes textures/mcl_doors_door_iron_upper_side.png | Bin 0 -> 240 bytes .../mcl_doors_door_iron_upper_toppart.png | Bin 0 -> 215 bytes textures/mcl_doors_door_jungle.png | Bin 206 -> 219 bytes textures/mcl_doors_door_jungle_lower.png | Bin 247 -> 237 bytes ...mcl_doors_door_jungle_lower_bottompart.png | Bin 0 -> 152 bytes textures/mcl_doors_door_jungle_lower_side.png | Bin 0 -> 188 bytes textures/mcl_doors_door_jungle_side_lower.png | Bin 131 -> 0 bytes textures/mcl_doors_door_jungle_side_upper.png | Bin 133 -> 0 bytes textures/mcl_doors_door_jungle_upper.png | Bin 245 -> 238 bytes textures/mcl_doors_door_jungle_upper_side.png | Bin 0 -> 177 bytes .../mcl_doors_door_jungle_upper_toppart.png | Bin 0 -> 155 bytes .../mcl_doors_door_mangrove_side_lower.png | Bin 135 -> 0 bytes .../mcl_doors_door_mangrove_side_upper.png | Bin 140 -> 0 bytes textures/mcl_doors_door_spruce.png | Bin 235 -> 217 bytes textures/mcl_doors_door_spruce_lower.png | Bin 264 -> 248 bytes ...mcl_doors_door_spruce_lower_bottompart.png | Bin 0 -> 144 bytes textures/mcl_doors_door_spruce_lower_side.png | Bin 0 -> 210 bytes textures/mcl_doors_door_spruce_side_lower.png | Bin 158 -> 0 bytes textures/mcl_doors_door_spruce_side_upper.png | Bin 160 -> 0 bytes textures/mcl_doors_door_spruce_upper.png | Bin 255 -> 242 bytes textures/mcl_doors_door_spruce_upper_side.png | Bin 0 -> 196 bytes .../mcl_doors_door_spruce_upper_toppart.png | Bin 0 -> 148 bytes textures/mcl_doors_door_warped_side_lower.png | Bin 152 -> 0 bytes .../mcl_doors_door_warped_side_lower_alt.png | Bin 152 -> 0 bytes textures/mcl_doors_door_warped_side_upper.png | Bin 151 -> 0 bytes .../mcl_doors_door_warped_side_upper_alt.png | Bin 151 -> 0 bytes textures/mcl_doors_door_wood_lower.png | Bin 199 -> 211 bytes .../mcl_doors_door_wood_lower_bottompart.png | Bin 0 -> 134 bytes textures/mcl_doors_door_wood_lower_side.png | Bin 0 -> 185 bytes textures/mcl_doors_door_wood_side_lower.png | Bin 127 -> 0 bytes textures/mcl_doors_door_wood_side_upper.png | Bin 127 -> 0 bytes textures/mcl_doors_door_wood_upper.png | Bin 217 -> 210 bytes textures/mcl_doors_door_wood_upper_side.png | Bin 0 -> 150 bytes .../mcl_doors_door_wood_upper_toppart.png | Bin 0 -> 140 bytes textures/mcl_mangrove_door_bottom.png | Bin 214 -> 214 bytes .../mcl_mangrove_door_bottom_bottompart.png | Bin 0 -> 146 bytes textures/mcl_mangrove_door_bottom_side.png | Bin 0 -> 173 bytes textures/mcl_mangrove_door_top.png | Bin 214 -> 214 bytes textures/mcl_mangrove_door_top_side.png | Bin 0 -> 184 bytes textures/mcl_mangrove_door_top_toppart.png | Bin 0 -> 146 bytes textures/mcl_mangrove_doors.png | Bin 198 -> 195 bytes 104 files changed, 401 insertions(+), 266 deletions(-) delete mode 100644 textures/mcl_bamboo_door_bottom_alt.png create mode 100644 textures/mcl_bamboo_door_bottom_bottompart.png create mode 100644 textures/mcl_bamboo_door_bottom_side.png delete mode 100644 textures/mcl_bamboo_door_top_alt.png create mode 100644 textures/mcl_bamboo_door_top_side.png create mode 100644 textures/mcl_bamboo_door_top_toppart.png create mode 100644 textures/mcl_crimson_crimson_door_bottom_bottompart.png create mode 100644 textures/mcl_crimson_crimson_door_bottom_side.png create mode 100644 textures/mcl_crimson_crimson_door_top_side.png create mode 100644 textures/mcl_crimson_crimson_door_top_toppart.png create mode 100644 textures/mcl_crimson_warped_door_bottom_bottompart.png create mode 100644 textures/mcl_crimson_warped_door_bottom_side.png create mode 100644 textures/mcl_crimson_warped_door_top_side.png create mode 100644 textures/mcl_crimson_warped_door_top_toppart.png create mode 100644 textures/mcl_doors_door_acacia_lower_bottompart.png create mode 100644 textures/mcl_doors_door_acacia_lower_side.png delete mode 100644 textures/mcl_doors_door_acacia_side_lower.png delete mode 100644 textures/mcl_doors_door_acacia_side_upper.png create mode 100644 textures/mcl_doors_door_acacia_upper_side.png create mode 100644 textures/mcl_doors_door_acacia_upper_toppart.png create mode 100644 textures/mcl_doors_door_birch_lower_bottompart.png create mode 100644 textures/mcl_doors_door_birch_lower_side.png delete mode 100644 textures/mcl_doors_door_birch_side_lower.png delete mode 100644 textures/mcl_doors_door_birch_side_upper.png create mode 100644 textures/mcl_doors_door_birch_upper_side.png create mode 100644 textures/mcl_doors_door_birch_upper_toppart.png delete mode 100644 textures/mcl_doors_door_crimson_side_lower.png delete mode 100644 textures/mcl_doors_door_crimson_side_upper.png create mode 100644 textures/mcl_doors_door_dark_oak_lower_bottompart.png create mode 100644 textures/mcl_doors_door_dark_oak_lower_side.png delete mode 100644 textures/mcl_doors_door_dark_oak_side_lower.png delete mode 100644 textures/mcl_doors_door_dark_oak_side_upper.png create mode 100644 textures/mcl_doors_door_dark_oak_upper_side.png create mode 100644 textures/mcl_doors_door_dark_oak_upper_toppart.png create mode 100644 textures/mcl_doors_door_iron_lower_bottompart.png create mode 100644 textures/mcl_doors_door_iron_lower_side.png delete mode 100644 textures/mcl_doors_door_iron_side_lower.png delete mode 100644 textures/mcl_doors_door_iron_side_upper.png create mode 100644 textures/mcl_doors_door_iron_upper_side.png create mode 100644 textures/mcl_doors_door_iron_upper_toppart.png create mode 100644 textures/mcl_doors_door_jungle_lower_bottompart.png create mode 100644 textures/mcl_doors_door_jungle_lower_side.png delete mode 100644 textures/mcl_doors_door_jungle_side_lower.png delete mode 100644 textures/mcl_doors_door_jungle_side_upper.png create mode 100644 textures/mcl_doors_door_jungle_upper_side.png create mode 100644 textures/mcl_doors_door_jungle_upper_toppart.png delete mode 100644 textures/mcl_doors_door_mangrove_side_lower.png delete mode 100644 textures/mcl_doors_door_mangrove_side_upper.png create mode 100644 textures/mcl_doors_door_spruce_lower_bottompart.png create mode 100644 textures/mcl_doors_door_spruce_lower_side.png delete mode 100644 textures/mcl_doors_door_spruce_side_lower.png delete mode 100644 textures/mcl_doors_door_spruce_side_upper.png create mode 100644 textures/mcl_doors_door_spruce_upper_side.png create mode 100644 textures/mcl_doors_door_spruce_upper_toppart.png delete mode 100644 textures/mcl_doors_door_warped_side_lower.png delete mode 100644 textures/mcl_doors_door_warped_side_lower_alt.png delete mode 100644 textures/mcl_doors_door_warped_side_upper.png delete mode 100644 textures/mcl_doors_door_warped_side_upper_alt.png create mode 100644 textures/mcl_doors_door_wood_lower_bottompart.png create mode 100644 textures/mcl_doors_door_wood_lower_side.png delete mode 100644 textures/mcl_doors_door_wood_side_lower.png delete mode 100644 textures/mcl_doors_door_wood_side_upper.png create mode 100644 textures/mcl_doors_door_wood_upper_side.png create mode 100644 textures/mcl_doors_door_wood_upper_toppart.png create mode 100644 textures/mcl_mangrove_door_bottom_bottompart.png create mode 100644 textures/mcl_mangrove_door_bottom_side.png create mode 100644 textures/mcl_mangrove_door_top_side.png create mode 100644 textures/mcl_mangrove_door_top_toppart.png diff --git a/mods/ITEMS/mcl_bamboo/bamboo_items.lua b/mods/ITEMS/mcl_bamboo/bamboo_items.lua index 63f07f896..dbc8e6946 100644 --- a/mods/ITEMS/mcl_bamboo/bamboo_items.lua +++ b/mods/ITEMS/mcl_bamboo/bamboo_items.lua @@ -4,10 +4,6 @@ --- DateTime: 12/29/22 12:38 PM -- Restructure Date --- Copyright (C) 2022 - 2023, Michieal. See License.txt --- CONSTS --- Due to door fix #2736, doors are displayed backwards. When this is fixed, set this variable to false. -local BROKEN_DOORS = true - -- FUTURE USE VARIABLE. MUST REMAIN FALSE UNTIL IT HAS BEEN FULLY IMPLEMENTED. DO NOT ENABLE. local SIDE_SCAFFOLDING = false local SIDE_SCAFFOLD_NAME = "mcl_bamboo:scaffolding_horizontal" @@ -49,17 +45,6 @@ end if minetest.get_modpath("mcl_doors") then if mcl_doors then - local top_door_tiles = {} - local bot_door_tiles = {} - - if BROKEN_DOORS then - top_door_tiles = { "mcl_bamboo_door_top_alt.png", "mcl_bamboo_door_top.png" } - bot_door_tiles = { "mcl_bamboo_door_bottom_alt.png", "mcl_bamboo_door_bottom.png" } - else - top_door_tiles = { "mcl_bamboo_door_top.png", "mcl_bamboo_door_top.png" } - bot_door_tiles = { "mcl_bamboo_door_bottom.png", "mcl_bamboo_door_bottom.png" } - end - local name = "mcl_bamboo:bamboo_door" local def = { description = S("Bamboo Door"), @@ -70,8 +55,8 @@ if minetest.get_modpath("mcl_doors") then groups = { handy = 1, axey = 1, material_wood = 1, flammable = -1 }, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = bot_door_tiles, - tiles_top = top_door_tiles, + tiles_bottom = "mcl_bamboo_door_bottom.png", + tiles_top = "mcl_bamboo_door_top.png", sounds = mcl_sounds.node_sound_wood_defaults(), } diff --git a/mods/ITEMS/mcl_crimson/init.lua b/mods/ITEMS/mcl_crimson/init.lua index 03d0a7caa..740f74a5b 100644 --- a/mods/ITEMS/mcl_crimson/init.lua +++ b/mods/ITEMS/mcl_crimson/init.lua @@ -671,8 +671,8 @@ mcl_doors:register_door("mcl_crimson:crimson_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_crimson_crimson_door_bottom.png", "mcl_doors_door_crimson_side_lower.png"}, - tiles_top = {"mcl_crimson_crimson_door_top.png", "mcl_doors_door_crimson_side_upper.png"}, + tiles_bottom = "mcl_crimson_crimson_door_bottom.png", + tiles_top = "mcl_crimson_crimson_door_top.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) @@ -709,8 +709,8 @@ mcl_doors:register_door("mcl_crimson:warped_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_crimson_warped_door_bottom.png", "mcl_doors_door_warped_side_lower.png"}, - tiles_top = {"mcl_crimson_warped_door_top.png", "mcl_doors_door_warped_side_upper.png"}, + tiles_bottom = "mcl_crimson_warped_door_bottom.png", + tiles_top = "mcl_crimson_warped_door_top.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) diff --git a/mods/ITEMS/mcl_doors/api_doors.lua b/mods/ITEMS/mcl_doors/api_doors.lua index e6eef4e0d..ac9708b4f 100644 --- a/mods/ITEMS/mcl_doors/api_doors.lua +++ b/mods/ITEMS/mcl_doors/api_doors.lua @@ -54,19 +54,11 @@ function mcl_doors:register_door(name, def) def.sound_close = "doors_door_close" end - local box = {{-8/16, -8/16, -8/16, 8/16, 8/16, -5/16}} - - if not def.node_box_bottom then - def.node_box_bottom = box + if not def.node_box then + def.node_box = {{-8/16, -8/16, -8/16, 8/16, 8/16, -5/16}} end - if not def.node_box_top then - def.node_box_top = box - end - if not def.selection_box_bottom then - def.selection_box_bottom= box - end - if not def.selection_box_top then - def.selection_box_top = box + if not def.selection_box then + def.selection_box = {{-8/16, -8/16, -8/16, 8/16, 8/16, -5/16}} end local longdesc, usagehelp, tt_help @@ -159,7 +151,7 @@ function mcl_doors:register_door(name, def) local door_dir = 1 if left_node.name:sub(1, #name) == name then mirrored = true - door_dir = 2 + door_dir = 3 p2 = left_node.param2 end @@ -202,8 +194,22 @@ function mcl_doors:register_door(name, def) end, }) - local tt = def.tiles_top - local tb = def.tiles_bottom + local top_door_texture = def.tiles_top:match("(.+)%..+$") -- This removes the filename extension from the images. + local bottom_door_texture = def.tiles_bottom:match("(.+)%..+$") -- This removes the filename extension from the images. + + local texture_top = top_door_texture .. ".png" + local texture_bottom = bottom_door_texture .. ".png" + local texture_top_toppart = top_door_texture .. "_toppart.png" -- Special texture to make the top of opened doors not look weird. + local texture_bottom_bottompart = bottom_door_texture .. "_bottompart.png" -- Special texture to make the bottom of opened doors not look weird. + local texture_top_side = top_door_texture .. "_side.png" -- Special texture to make the side of opened doors not look weird. + local texture_bottom_side = bottom_door_texture .. "_side.png" -- Special texture to make the side of opened doors not look weird. + + local texture_top_mirrored = texture_top .. "^[transformFX" + local texture_bottom_mirrored = texture_bottom .. "^[transformFX" + local texture_top_toppart_mirrored = texture_top_toppart .. "^[transformFX" + local texture_bottom_bottompart_mirrored = texture_bottom_bottompart .. "^[transformFX" + local texture_top_side_mirrored = texture_top_side .. "^[transformFX" + local texture_bottom_side_mirrored = texture_bottom_side .. "^[transformFX" local function on_open_close(pos, dir, check_name, replace, replace_dir) local meta1 = minetest_get_meta(pos) @@ -242,16 +248,29 @@ function mcl_doors:register_door(name, def) end local function on_mesecons_signal_open(pos, node) - on_open_close(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2") - end - local function on_mesecons_signal_close(pos, node) - if not mesecon.is_powered({x=pos.x,y=pos.y+1,z=pos.z}) then - on_open_close(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1") + local meta2 = minetest_get_meta(pos) + if meta2:get_int("is_mirrored") ~= 1 then + on_open_close(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2") + else + on_open_close(pos, 1, name.."_t_3", name.."_b_4", name.."_t_4") end end + + local function on_mesecons_signal_close(pos, node) + if not mesecon.is_powered({x=pos.x,y=pos.y+1,z=pos.z}) then + local meta2 = minetest_get_meta(pos) + if meta2:get_int("is_mirrored") ~= 1 then + on_open_close(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1") + else + on_open_close(pos, 1, name.."_t_4", name.."_b_3", name.."_t_3") + end + end + end + local function on_mesecons_signal_open_top(pos, node) on_mesecons_signal_open({x=pos.x, y=pos.y-1, z=pos.z}, node) end + local function on_mesecons_signal_close_top(pos, node) if not mesecon.is_powered({x=pos.x,y=pos.y-1,z=pos.z}) then on_mesecons_signal_close({x=pos.x, y=pos.y-1, z=pos.z}, node) @@ -277,8 +296,8 @@ function mcl_doors:register_door(name, def) end end - minetest.register_node(name.."_b_1", { - tiles = {"blank.png", tt[2].."^[transformFXR90", tb[2], tb[2].."^[transformFX", tb[1], tb[1].."^[transformFX"}, + local template_def = { + tiles = nil, use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, paramtype = "light", paramtype2 = "facedir", @@ -288,56 +307,65 @@ function mcl_doors:register_door(name, def) drawtype = "nodebox", node_box = { type = "fixed", - fixed = def.node_box_bottom + fixed = def.node_box }, selection_box = { type = "fixed", - fixed = def.selection_box_bottom + fixed = def.selection_box }, groups = def.groups, _mcl_hardness = def._mcl_hardness, _mcl_blast_resistance = def._mcl_blast_resistance, sounds = def.sounds, - after_destruct = function(bottom, oldnode) - local meta_bottom = minetest_get_meta(bottom) - if meta_bottom:get_int("rotation") == 1 then - meta_bottom:set_int("rotation", 0) - else - minetest.add_item(bottom, name) - local top = { x = bottom.x, y = bottom.y + 1, z = bottom.z } - if minetest.get_node(bottom).name ~= name.."_b_2" and minetest.get_node(top).name == name.."_t_1" then - minetest.remove_node(top) - end - end - end, + after_destruct = nil, - on_rightclick = on_rightclick, + on_rightclick = nil, - mesecons = { effector = { - action_on = on_mesecons_signal_open, - }}, + mesecons = nil, - on_rotate = function(bottom, node, user, mode, param2) - if mode == screwdriver.ROTATE_FACE then - local meta_bottom = minetest_get_meta(bottom) - meta_bottom:set_int("rotation", 1) - node.param2 = screwdriver.rotate.facedir(bottom, node, mode) - minetest.swap_node(bottom, node) - - local top = {x=bottom.x,y=bottom.y+1,z=bottom.z} - local meta_top = minetest_get_meta(top) - meta_top:set_int("rotation", 1) - node.name = name .."_t_1" - minetest.swap_node(top, node) - - return true - end - return false - end, + on_rotate = nil, can_dig = check_player_priv, - }) + } + + local _b_1_def = table.copy(template_def) + _b_1_def.tiles = {"blank.png", texture_bottom_bottompart .. "^[transformFY", texture_bottom_side, texture_bottom_side_mirrored, texture_bottom_mirrored, texture_bottom} + _b_1_def.after_destruct = function(bottom, oldnode) + local meta_bottom = minetest_get_meta(bottom) + if meta_bottom:get_int("rotation") == 1 then + meta_bottom:set_int("rotation", 0) + else + minetest.add_item(bottom, name) + local top = { x = bottom.x, y = bottom.y + 1, z = bottom.z } + if minetest.get_node(bottom).name ~= name.."_b_2" and minetest.get_node(top).name == name.."_t_1" then + minetest.remove_node(top) + end + end + end + _b_1_def.on_rightclick = on_rightclick + _b_1_def.mesecons = { effector = { + action_on = on_mesecons_signal_open, + }} + _b_1_def.on_rotate = function(bottom, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then + local meta_bottom = minetest_get_meta(bottom) + meta_bottom:set_int("rotation", 1) + node.param2 = screwdriver.rotate.facedir(bottom, node, mode) + minetest.swap_node(bottom, node) + + local top = {x=bottom.x,y=bottom.y+1,z=bottom.z} + local meta_top = minetest_get_meta(top) + meta_top:set_int("rotation", 1) + node.name = name .."_t_1" + minetest.swap_node(top, node) + + return true + end + return false + end + + minetest.register_node(name.."_b_1", _b_1_def) if def.only_redstone_can_open then on_rightclick = nil @@ -349,67 +377,43 @@ function mcl_doors:register_door(name, def) end end - minetest.register_node(name.."_t_1", { - tiles = {tt[2].."^[transformR90", "blank.png", tt[2], tt[2].."^[transformFX", tt[1], tt[1].."^[transformFX"}, - use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = false, - drop = "", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_top - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_top - }, - groups = def.groups, - _mcl_hardness = def._mcl_hardness, - _mcl_blast_resistance = def._mcl_blast_resistance, - sounds = def.sounds, - - after_destruct = function(top, oldnode) + local _t_1_def = table.copy(template_def) + _t_1_def.tiles = {texture_top_toppart .. "^[transformFY", "blank.png", texture_top_side, texture_top_side_mirrored, texture_top_mirrored, texture_top} + _t_1_def.after_destruct = function(top, oldnode) + local meta_top = minetest_get_meta(top) + if meta_top:get_int("rotation") == 1 then + meta_top:set_int("rotation", 0) + else + local bottom = { x = top.x, y = top.y - 1, z = top.z } + if minetest.get_node(top).name ~= name.."_t_2" and minetest.get_node(bottom).name == name.."_b_1" and oldnode.name == name.."_t_1" then + minetest.dig_node(bottom) + end + end + end + _t_1_def.on_rightclick = on_rightclick + _t_1_def.mesecons = { effector = { + action_on = on_mesecons_signal_open_top, + rules = mesecon.rules.flat, + }} + _t_1_def.on_rotate = function(top, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then local meta_top = minetest_get_meta(top) - if meta_top:get_int("rotation") == 1 then - meta_top:set_int("rotation", 0) - else - local bottom = { x = top.x, y = top.y - 1, z = top.z } - if minetest.get_node(top).name ~= name.."_t_2" and minetest.get_node(bottom).name == name.."_b_1" and oldnode.name == name.."_t_1" then - minetest.dig_node(bottom) - end - end - end, + meta_top:set_int("rotation", 1) + node.param2 = screwdriver.rotate.facedir(top, node, mode) + minetest.swap_node(top, node) - on_rightclick = on_rightclick, + local bottom = {x=top.x,y=top.y-1,z=top.z} + local meta_bottom = minetest_get_meta(bottom) + meta_bottom:set_int("rotation", 1) + node.name = name .."_b_1" + minetest.swap_node(bottom, node) - mesecons = { effector = { - action_on = on_mesecons_signal_open_top, - rules = mesecon.rules.flat, - }}, + return true + end + return false + end - on_rotate = function(top, node, user, mode, param2) - if mode == screwdriver.ROTATE_FACE then - local meta_top = minetest_get_meta(top) - meta_top:set_int("rotation", 1) - node.param2 = screwdriver.rotate.facedir(top, node, mode) - minetest.swap_node(top, node) - - local bottom = {x=top.x,y=top.y-1,z=top.z} - local meta_bottom = minetest_get_meta(bottom) - meta_bottom:set_int("rotation", 1) - node.name = name .."_b_1" - minetest.swap_node(bottom, node) - - return true - end - return false - end, - - can_dig = check_player_priv, - }) + minetest.register_node(name.."_t_1", _t_1_def) if def.only_redstone_can_open then on_rightclick = nil @@ -421,67 +425,43 @@ function mcl_doors:register_door(name, def) end end - minetest.register_node(name.."_b_2", { - tiles = {"blank.png", tt[2].."^[transformFXR90", tb[2].."^[transformI", tb[2].."^[transformFX", tb[1].."^[transformFX", tb[1]}, - use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = false, - drop = "", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_bottom - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_bottom - }, - groups = def.groups, - _mcl_hardness = def._mcl_hardness, - _mcl_blast_resistance = def._mcl_blast_resistance, - sounds = def.sounds, - - after_destruct = function(bottom, oldnode) + local _b_2_def = table.copy(template_def) + _b_2_def.tiles = {"blank.png", texture_bottom_bottompart_mirrored, texture_bottom_side, texture_bottom_side, texture_bottom, texture_bottom_mirrored} + _b_2_def.after_destruct = function(bottom, oldnode) + local meta_bottom = minetest_get_meta(bottom) + if meta_bottom:get_int("rotation") == 1 then + meta_bottom:set_int("rotation", 0) + else + local top = { x = bottom.x, y = bottom.y + 1, z = bottom.z } + minetest.add_item(bottom, name) + if minetest.get_node(bottom).name ~= name.."_b_1" and minetest.get_node(top).name == name.."_t_2" then + minetest.remove_node(top) + end + end + end + _b_2_def.on_rightclick = on_rightclick + _b_2_def.mesecons = { effector = { + action_off = on_mesecons_signal_close, + }} + _b_2_def.on_rotate = function(bottom, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then local meta_bottom = minetest_get_meta(bottom) - if meta_bottom:get_int("rotation") == 1 then - meta_bottom:set_int("rotation", 0) - else - local top = { x = bottom.x, y = bottom.y + 1, z = bottom.z } - minetest.add_item(bottom, name) - if minetest.get_node(bottom).name ~= name.."_b_1" and minetest.get_node(top).name == name.."_t_2" then - minetest.remove_node(top) - end - end - end, + meta_bottom:set_int("rotation", 1) + node.param2 = screwdriver.rotate.facedir(bottom, node, mode) + minetest.swap_node(bottom, node) - on_rightclick = on_rightclick, + local top = {x=bottom.x,y=bottom.y+1,z=bottom.z} + local meta_top = minetest_get_meta(top) + meta_top:set_int("rotation", 1) + node.name = name .."_t_2" + minetest.swap_node(top, node) - mesecons = { effector = { - action_off = on_mesecons_signal_close, - }}, + return true + end + return false + end - on_rotate = function(bottom, node, user, mode, param2) - if mode == screwdriver.ROTATE_FACE then - local meta_bottom = minetest_get_meta(bottom) - meta_bottom:set_int("rotation", 1) - node.param2 = screwdriver.rotate.facedir(bottom, node, mode) - minetest.swap_node(bottom, node) - - local top = {x=bottom.x,y=bottom.y+1,z=bottom.z} - local meta_top = minetest_get_meta(top) - meta_top:set_int("rotation", 1) - node.name = name .."_t_2" - minetest.swap_node(top, node) - - return true - end - return false - end, - - can_dig = check_player_priv, - }) + minetest.register_node(name.."_b_2", _b_2_def) if def.only_redstone_can_open then on_rightclick = nil @@ -493,74 +473,244 @@ function mcl_doors:register_door(name, def) end end - minetest.register_node(name.."_t_2", { - tiles = {tt[2].."^[transformR90", "blank.png", tt[2].."^[transformI", tt[2].."^[transformFX", tt[1].."^[transformFX", tt[1]}, - use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true, - paramtype = "light", - paramtype2 = "facedir", - sunlight_propagates = true, - is_ground_content = false, - drop = "", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = def.node_box_top - }, - selection_box = { - type = "fixed", - fixed = def.selection_box_top - }, - groups = def.groups, - _mcl_hardness = def._mcl_hardness, - _mcl_blast_resistance = def._mcl_blast_resistance, - sounds = def.sounds, - - after_destruct = function(top, oldnode) + local _t_2_def = table.copy(template_def) + _t_2_def.tiles = {texture_top_toppart_mirrored, "blank.png", texture_top_side, texture_top_side, texture_top, texture_top_mirrored} + _t_2_def.after_destruct = function(top, oldnode) + local meta_top = minetest_get_meta(top) + if meta_top:get_int("rotation") == 1 then + meta_top:set_int("rotation", 0) + else + local bottom = { x = top.x, y = top.y - 1, z = top.z } + if minetest.get_node(top).name ~= name.."_t_1" and minetest.get_node(bottom).name == name.."_b_2" and oldnode.name == name.."_t_2" then + minetest.dig_node(bottom) + end + end + end + _t_2_def.on_rightclick = on_rightclick + _t_2_def.mesecons = { effector = { + action_off = on_mesecons_signal_close_top, + rules = mesecon.rules.flat, + }} + _t_2_def.on_rotate = function(top, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then local meta_top = minetest_get_meta(top) - if meta_top:get_int("rotation") == 1 then - meta_top:set_int("rotation", 0) - else - local bottom = { x = top.x, y = top.y - 1, z = top.z } - if minetest.get_node(top).name ~= name.."_t_1" and minetest.get_node(bottom).name == name.."_b_2" and oldnode.name == name.."_t_2" then - minetest.dig_node(bottom) - end + meta_top:set_int("rotation", 1) + node.param2 = screwdriver.rotate.facedir(top, node, mode) + minetest.swap_node(top, node) + + local bottom = {x=top.x,y=top.y-1,z=top.z} + local meta_bottom = minetest_get_meta(bottom) + meta_bottom:set_int("rotation", 1) + node.name = name .."_b_2" + minetest.swap_node(bottom, node) + + return true + end + return false + end + + minetest.register_node(name.."_t_2", _t_2_def) + + if not def.only_redstone_can_open then + on_rightclick = function(pos, node, clicker) + if check_player_priv(pos, clicker) then + on_open_close(pos, 1, name.."_t_3", name.."_b_4", name.."_t_4") end - end, + end + end - on_rightclick = on_rightclick, - - mesecons = { effector = { - action_off = on_mesecons_signal_close_top, - rules = mesecon.rules.flat, - }}, - - on_rotate = function(top, node, user, mode, param2) - if mode == screwdriver.ROTATE_FACE then - local meta_top = minetest_get_meta(top) - meta_top:set_int("rotation", 1) - node.param2 = screwdriver.rotate.facedir(top, node, mode) - minetest.swap_node(top, node) - - local bottom = {x=top.x,y=top.y-1,z=top.z} - local meta_bottom = minetest_get_meta(bottom) - meta_bottom:set_int("rotation", 1) - node.name = name .."_b_2" - minetest.swap_node(bottom, node) - - return true + local _b_3_def = table.copy(template_def) + _b_3_def.tiles = {"blank.png", texture_bottom_mirrored .. "^[transformFY", texture_bottom_side, texture_bottom_side_mirrored, texture_bottom, texture_bottom_mirrored} + _b_3_def.after_destruct = function(bottom, oldnode) + local meta_bottom = minetest_get_meta(bottom) + if meta_bottom:get_int("rotation") == 1 then + meta_bottom:set_int("rotation", 0) + else + minetest.add_item(bottom, name) + local top = { x = bottom.x, y = bottom.y + 1, z = bottom.z } + if minetest.get_node(bottom).name ~= name.."_b_4" and minetest.get_node(top).name == name.."_t_3" then + minetest.remove_node(top) end - return false - end, + end + end + _b_3_def.on_rightclick = on_rightclick + _b_3_def.mesecons = { effector = { + action_on = on_mesecons_signal_open, + }} + _b_3_def.on_rotate = function(bottom, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then + local meta_bottom = minetest_get_meta(bottom) + meta_bottom:set_int("rotation", 1) + node.param2 = screwdriver.rotate.facedir(bottom, node, mode) + minetest.swap_node(bottom, node) + + local top = {x=bottom.x,y=bottom.y+1,z=bottom.z} + local meta_top = minetest_get_meta(top) + meta_top:set_int("rotation", 1) + node.name = name .."_t_3" + minetest.swap_node(top, node) + + return true + end + return false + end + + minetest.register_node(name.."_b_3", _b_3_def) + + if def.only_redstone_can_open then + on_rightclick = nil + else + on_rightclick = function(pos, node, clicker) + if check_player_priv(pos, clicker) then + on_open_close(pos, -1, name.."_b_3", name.."_t_4", name.."_b_4") + end + end + end + + local _t_3_def = table.copy(template_def) + _t_3_def.tiles = {texture_top_toppart_mirrored .. "^[transformFY", "blank.png", texture_top_side, texture_top_side_mirrored, texture_top, texture_top_mirrored} + _t_3_def.after_destruct = function(top, oldnode) + local meta_top = minetest_get_meta(top) + if meta_top:get_int("rotation") == 1 then + meta_top:set_int("rotation", 0) + else + local bottom = { x = top.x, y = top.y - 1, z = top.z } + if minetest.get_node(top).name ~= name.."_t_4" and minetest.get_node(bottom).name == name.."_b_3" and oldnode.name == name.."_t_3" then + minetest.dig_node(bottom) + end + end + end + _t_3_def.on_rightclick = on_rightclick + _t_3_def.mesecons = { effector = { + action_on = on_mesecons_signal_open_top, + rules = mesecon.rules.flat, + }} + _t_3_def.on_rotate = function(top, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then + local meta_top = minetest_get_meta(top) + meta_top:set_int("rotation", 1) + node.param2 = screwdriver.rotate.facedir(top, node, mode) + minetest.swap_node(top, node) + + local bottom = {x=top.x,y=top.y-1,z=top.z} + local meta_bottom = minetest_get_meta(bottom) + meta_bottom:set_int("rotation", 1) + node.name = name .."_b_3" + minetest.swap_node(bottom, node) + + return true + end + return false + end + + minetest.register_node(name.."_t_3", _t_3_def) + + if def.only_redstone_can_open then + on_rightclick = nil + else + on_rightclick = function(pos, node, clicker) + if check_player_priv(pos, clicker) then + on_open_close(pos, 1, name.."_t_4", name.."_b_3", name.."_t_3") + end + end + end + + local _b_4_def = table.copy(template_def) + _b_4_def.tiles = {"blank.png", texture_bottom_bottompart, texture_bottom_side_mirrored, texture_bottom_side_mirrored, texture_bottom_mirrored, texture_bottom} + _b_4_def.after_destruct = function(bottom, oldnode) + local meta_bottom = minetest_get_meta(bottom) + if meta_bottom:get_int("rotation") == 1 then + meta_bottom:set_int("rotation", 0) + else + local top = { x = bottom.x, y = bottom.y + 1, z = bottom.z } + minetest.add_item(bottom, name) + if minetest.get_node(bottom).name ~= name.."_b_3" and minetest.get_node(top).name == name.."_t_4" then + minetest.remove_node(top) + end + end + end + _b_4_def.on_rightclick = on_rightclick + _b_4_def.mesecons = { effector = { + action_off = on_mesecons_signal_close, + }} + _b_4_def.on_rotate = function(bottom, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then + local meta_bottom = minetest_get_meta(bottom) + meta_bottom:set_int("rotation", 1) + node.param2 = screwdriver.rotate.facedir(bottom, node, mode) + minetest.swap_node(bottom, node) + + local top = {x=bottom.x,y=bottom.y+1,z=bottom.z} + local meta_top = minetest_get_meta(top) + meta_top:set_int("rotation", 1) + node.name = name .."_t_4" + minetest.swap_node(top, node) + + return true + end + return false + end + + minetest.register_node(name.."_b_4", _b_4_def) + + if def.only_redstone_can_open then + on_rightclick = nil + else + on_rightclick = function(pos, node, clicker) + if check_player_priv(pos, clicker) then + on_open_close(pos, -1, name.."_b_4", name.."_t_3", name.."_b_3") + end + end + end + + local _t_4_def = table.copy(template_def) + _t_4_def.tiles = {texture_top_toppart, "blank.png", texture_top_side_mirrored, texture_top_side_mirrored, texture_top_mirrored, texture_top} + _t_4_def.after_destruct = function(top, oldnode) + local meta_top = minetest_get_meta(top) + if meta_top:get_int("rotation") == 1 then + meta_top:set_int("rotation", 0) + else + local bottom = { x = top.x, y = top.y - 1, z = top.z } + if minetest.get_node(top).name ~= name.."_t_3" and minetest.get_node(bottom).name == name.."_b_4" and oldnode.name == name.."_t_4" then + minetest.dig_node(bottom) + end + end + end + _t_4_def.on_rightclick = on_rightclick + _t_4_def.mesecons = { effector = { + action_off = on_mesecons_signal_close_top, + rules = mesecon.rules.flat, + }} + _t_4_def.on_rotate = function(top, node, user, mode, param2) + if mode == screwdriver.ROTATE_FACE then + local meta_top = minetest_get_meta(top) + meta_top:set_int("rotation", 1) + node.param2 = screwdriver.rotate.facedir(top, node, mode) + minetest.swap_node(top, node) + + local bottom = {x=top.x,y=top.y-1,z=top.z} + local meta_bottom = minetest_get_meta(bottom) + meta_bottom:set_int("rotation", 1) + node.name = name .."_b_4" + minetest.swap_node(bottom, node) + + return true + end + return false + end + + minetest.register_node(name.."_t_4", _t_4_def) - can_dig = check_player_priv, - }) -- Add entry aliases for the Help if minetest.get_modpath("doc") then doc.add_entry_alias("craftitems", name, "nodes", name.."_b_1") doc.add_entry_alias("craftitems", name, "nodes", name.."_b_2") + doc.add_entry_alias("craftitems", name, "nodes", name.."_b_3") + doc.add_entry_alias("craftitems", name, "nodes", name.."_b_4") doc.add_entry_alias("craftitems", name, "nodes", name.."_t_1") doc.add_entry_alias("craftitems", name, "nodes", name.."_t_2") + doc.add_entry_alias("craftitems", name, "nodes", name.."_t_3") + doc.add_entry_alias("craftitems", name, "nodes", name.."_t_4") end - end diff --git a/mods/ITEMS/mcl_doors/register.lua b/mods/ITEMS/mcl_doors/register.lua index c998f6538..142bfa52e 100644 --- a/mods/ITEMS/mcl_doors/register.lua +++ b/mods/ITEMS/mcl_doors/register.lua @@ -14,8 +14,8 @@ mcl_doors:register_door("mcl_doors:wooden_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_doors_door_wood_lower.png", "mcl_doors_door_wood_side_lower.png"}, - tiles_top = {"mcl_doors_door_wood_upper.png", "mcl_doors_door_wood_side_upper.png"}, + tiles_bottom = "mcl_doors_door_wood_lower.png", + tiles_top = "mcl_doors_door_wood_upper.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) @@ -37,8 +37,8 @@ mcl_doors:register_door("mcl_doors:acacia_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_doors_door_acacia_lower.png", "mcl_doors_door_acacia_side_lower.png"}, - tiles_top = {"mcl_doors_door_acacia_upper.png", "mcl_doors_door_acacia_side_upper.png"}, + tiles_bottom = "mcl_doors_door_acacia_lower.png", + tiles_top = "mcl_doors_door_acacia_upper.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) @@ -60,8 +60,8 @@ mcl_doors:register_door("mcl_doors:birch_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_doors_door_birch_lower.png", "mcl_doors_door_birch_side_lower.png"}, - tiles_top = {"mcl_doors_door_birch_upper.png", "mcl_doors_door_birch_side_upper.png"}, + tiles_bottom = "mcl_doors_door_birch_lower.png", + tiles_top = "mcl_doors_door_birch_upper.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) @@ -83,8 +83,8 @@ mcl_doors:register_door("mcl_doors:dark_oak_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_doors_door_dark_oak_lower.png", "mcl_doors_door_dark_oak_side_lower.png"}, - tiles_top = {"mcl_doors_door_dark_oak_upper.png", "mcl_doors_door_dark_oak_side_upper.png"}, + tiles_bottom = "mcl_doors_door_dark_oak_lower.png", + tiles_top = "mcl_doors_door_dark_oak_upper.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) @@ -106,8 +106,8 @@ mcl_doors:register_door("mcl_doors:jungle_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_doors_door_jungle_lower.png", "mcl_doors_door_jungle_side_lower.png"}, - tiles_top = {"mcl_doors_door_jungle_upper.png", "mcl_doors_door_jungle_side_upper.png"}, + tiles_bottom = "mcl_doors_door_jungle_lower.png", + tiles_top = "mcl_doors_door_jungle_upper.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) @@ -129,8 +129,8 @@ mcl_doors:register_door("mcl_doors:spruce_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_doors_door_spruce_lower.png", "mcl_doors_door_spruce_side_lower.png"}, - tiles_top = {"mcl_doors_door_spruce_upper.png", "mcl_doors_door_spruce_side_upper.png"}, + tiles_bottom = "mcl_doors_door_spruce_lower.png", + tiles_top = "mcl_doors_door_spruce_upper.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) @@ -183,8 +183,8 @@ mcl_doors:register_door("mcl_doors:iron_door", { groups = {pickaxey=1, mesecon_effector_on=1}, _mcl_hardness = 5, _mcl_blast_resistance = 5, - tiles_bottom = {"mcl_doors_door_iron_lower.png^[transformFX", "mcl_doors_door_iron_side_lower.png"}, - tiles_top = {"mcl_doors_door_iron_upper.png^[transformFX", "mcl_doors_door_iron_side_upper.png"}, + tiles_bottom = "mcl_doors_door_iron_lower.png", + tiles_top = "mcl_doors_door_iron_upper.png", sounds = mcl_sounds.node_sound_metal_defaults(), sound_open = "doors_steel_door_open", sound_close = "doors_steel_door_close", diff --git a/mods/ITEMS/mcl_mangrove/init.lua b/mods/ITEMS/mcl_mangrove/init.lua index dd2b653c4..3698ce54f 100644 --- a/mods/ITEMS/mcl_mangrove/init.lua +++ b/mods/ITEMS/mcl_mangrove/init.lua @@ -416,8 +416,8 @@ mcl_doors:register_door("mcl_mangrove:mangrove_door", { groups = {handy=1,axey=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, _mcl_blast_resistance = 3, - tiles_bottom = {"mcl_mangrove_door_bottom.png", "mcl_doors_door_mangrove_side_lower.png"}, - tiles_top = {"mcl_mangrove_door_top.png", "mcl_doors_door_mangrove_side_upper.png"}, + tiles_bottom = "mcl_mangrove_door_bottom.png", + tiles_top = "mcl_mangrove_door_top.png", sounds = mcl_sounds.node_sound_wood_defaults(), }) diff --git a/textures/doors_item_steel.png b/textures/doors_item_steel.png index 82a500baf86094a54b130d264bc9554495d982a8..8235deace65433f225b8fc991291e93092e67a28 100644 GIT binary patch delta 154 zcmV;L0A>H&0k#2tvqDS&msO@^xh+73};1X2S42@@(9kVoQq!vFvP07*qo IM6N<$f^VZaMgRZ+ delta 192 zcmV;x06+h>0o(zQB!4GROjJex|No7OiEn9UmXnjLsj0E9u9J|EoSB)XqoRg`f~29K zo0pfLoSb@}SV{l@00DGTPE!Ct=GbNc003i2L_t(|0b^ib5K>YSQeXfA6VntE0}#Wo zkg*WVu#lW61!hzxFeHK*CW(S6U`D9`Lk2{#q@*O6QDWf=)j4kJy0HMPxYTPGSVVKC u;7o`WB`!yyYL=da>RPb{tXK&M6c_+|gBB)^HQo6D0000g8YIRfI|Nn z!mIg4xg_;yO+7kOFJlK(U=p&PiBL9S0Z@0dyZ~J2(Vf*?|7MOOd- diff --git a/textures/mcl_bamboo_door_bottom_alt.png b/textures/mcl_bamboo_door_bottom_alt.png deleted file mode 100644 index 2583c18f9fde8d1ea127d9331585e22f35ff7984..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 501 zcmVPi`Kl1*SL1qxOdmRjo7$&*tvMx zxp~^UdD^;r+Piz*!*$-ocHqX5;m4BV$dls8l;g>j=+SlZ(}D8Tf%4RX^3;R#)Pw)% zf&b`&|LTMP>V&};?=%1a0MbcBK~xwS1;NcugFqC3(eJ{YA?0V9plKhWabe?{hdN9~zaOcOGLBn20fH#xFSxrU`NfQMhMNxSJH& zA4C-tWPwr0z$&}`SYB*7v%J05!(Jb-)!LZYVh$gLNt(7M4X3`#wkB=-&qc33bb=ig z9}Y$&sfY!{%~&_r!6@WY&WgwiBPiUeMVQp}08vE*pjxg>DjTC9(+*p$B2~p_tu1yR royHbZuZ@0ba(Np3_$*BxN8h`DdE8djIAcDv00000NkvXXu0mjfj}7`< diff --git a/textures/mcl_bamboo_door_bottom_bottompart.png b/textures/mcl_bamboo_door_bottom_bottompart.png new file mode 100644 index 0000000000000000000000000000000000000000..beeedfa5ea152fb5f094688634b66b0c23cbe5e5 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Q-Dv1D?V2UoeBivm0qZj;*JQV~9lf)$<1#8w@y@9ad#*4b)=%7JpT;rb>EF z%vr-hUf)-w{MzBnk)nx$pXBcs>(}wJ>^8gdc?-}W22WQ%mvv4F FO#otvS6To7 literal 0 HcmV?d00001 diff --git a/textures/mcl_bamboo_door_bottom_side.png b/textures/mcl_bamboo_door_bottom_side.png new file mode 100644 index 0000000000000000000000000000000000000000..9e1600a99e4f831b183fb36b03da6c119ffae7cd GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}RDe&2D?=m0vVOm1{r<})1S|)k zz;#n2H_i&)I6G;>+{%sfD)-J$**8CR--5J#3o`aC%-FHC?!eOIolEO>F0DVbEceK& zvLovXkE|;?u_5c$uF8x13NGz0x_6}P)0L*lc}WpKTNq1%{DK)Ap4~_Ta>6`a9780+ zr=CA4=3pS;a#5jU#$^wm|Nm!Sar+wf{+;#K%;IyqfAV!)Kg-}@X~f`r&4^(#-+@3~ zo&#a(Yzj|gnICk|V-(nJ#E^8A>4O!+Bety-AOG)U7mj2-I7KI^5oiO0r>mdKI;Vst E03+^ef&c&j literal 0 HcmV?d00001 diff --git a/textures/mcl_bamboo_door_top_alt.png b/textures/mcl_bamboo_door_top_alt.png deleted file mode 100644 index e21c2faa2ee43878c92df7fae923e05af5f08280..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 495 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfjR2nzS0Fv7$!}Rd5cw~g5U?DC z0#{57S~oRv{mg{*GZQz=0-~f1b1OH_3f?$7Y2&=g9ZPC=EUDYEv~DK|)$g63vUh&! zJ|J3a^t5fK-Bcxsg5HZffD` z!V9*(Rdf-){KIAy-$Kvwh4k~Yk(+&C+E6(be7E*Y8Hz$pRNE=)2A!VpRY9kf6@5=MbrOR&HrDuB(RuG2KtS$ zB*-tA!Qt7BG$1F-)5S4F;|Odo|cCVL9QZqerj>ZIc$t7iS4TRFMRW+1?QPZ z|2x*is{L2owoXZ*>~G_ZYF^Dd0m1@#CrqDw+A*_%9HfYUKKv3F~JjZkPo`NgL)?Zk!doady(id6hes)b3bPw_|DDP7tc! zJ3nRb{M3Cwv>3u$hx8v z8?r9$E4Z}3=<4q7YkRt{? z_~6*2hsP&9Ix+dti7AgyPPJm%(ExNkV@Z%-FoVOh8)-m}rKgKyh(vhuh3N?wO{YKJ z!hR_%ZPT1bJZwUDt||02vUJ-`5KA+dl(3PpsH8U}lBa=5iN~3J!aGZb04MIV6IKd8 Q0vf{L>FVdQ&MBb@0Ohip1^@s6 literal 0 HcmV?d00001 diff --git a/textures/mcl_crimson_crimson_door.png b/textures/mcl_crimson_crimson_door.png index dc325a00fe32aaf7fdec97477030dc436c8e69fa..52a123d4cbf66a998ff89cded3cfbd8275ed9ce7 100644 GIT binary patch delta 179 zcmV;k08Ibj0pJ0UHGe`TEKMjcR4OuEC^9uQHD)L>aw#%;CohC4Fy_%B$p8QV0d!JM zQvg8b*k%9#0B1==K~xCWV_;zL@$z$gqyi2>>yYv!i3c zYMd<1GkgMEOK#g3a;tis}H1L@Y*TC4(86ndwHTR%B** hrh}!tBE38V7y!=d7>LMdh6?}y002ovPDHLkV1j_7Mp6I( delta 179 zcmV;k08Ibj0pJ0UHGefVH9{sVO(-u^Dl%OtGG-_;aw#%;CohC4FxYN6y8r+H0d!JM zQvg8b*k%9#0B1==K~xA^V_;y2iHeR0U;u)e>dJ}&5JN;oMMVI_D6!72NdPg5tFv>! zYJw~yvcQa(tSBY0R7_5^6PS?`6Daw#%;CohC4FrAy(I{*LxhDk(0 zR0!84&9M=}AOHo>FHLG`Y)KW}BqM}#01b3Bsl6l<03N9&g|@;SIGq@~*FA8XCuyld zw;`b*jlD^Cv^MEWbK3AwJ6f>jQ2S~{>pwxvB%<@Lx0q=J_dZUG+cBb2`=LHG3`C(} zWMB~Csik%XeaJ@Y>jWOlH7@3lX|Xu}V4VE|g+n`vUwI;h00000NkvXXu0mjfY7|b( delta 192 zcmV;x06+il0qOyeGJiESH9{sVO(-u^Dl%OtGG-_;aw#%;CohC4Fry^GNdN! literal 0 HcmV?d00001 diff --git a/textures/mcl_crimson_crimson_door_bottom_side.png b/textures/mcl_crimson_crimson_door_bottom_side.png new file mode 100644 index 0000000000000000000000000000000000000000..934abe3c16dc10f1b6790a29fdb43c52a4c7ad1f GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnY1=5m|k~%s%z8d-=T1K%N zMy95wX&OdFnnqRX`YoCU46nMQfQlGPg8YIR9G=}s19Ch(T^vI=W+s2gNMK-^#<%Q0 zPr`@BPDZX7b`2~4^Kb~VF&doh5NPBwFfeptVVPn7F^=J7P|7c6LCXVA-Z5-j#FEIm e>}0?+CI8bg=d#Wzp$PzhIW<23 literal 0 HcmV?d00001 diff --git a/textures/mcl_crimson_crimson_door_top.png b/textures/mcl_crimson_crimson_door_top.png index c55f28ec70e5d1368a1944ce8b5b4ff461fec3ee..f6bc75687430fd6b46907ed0d12efb38c62f6b40 100644 GIT binary patch delta 199 zcmV;&0672Z0r3HlGJirQEKMjcR4OuEC^9uQHD)L>aw#%;CohC4FrAy(I{*Lxh)G02 zR0tgf!7&a2Q51&J@BPzE=Z+Ov0z1%AicTj{kc?)QF!4(5>_PXmDhtrqfv6?sl@f{T z9Id)bth-Yu2f%{B{pX+z<~bn1Gy-9v0tPY<@N`o;Y&YfcT0rZ&@E83V?Z##MiER|O z#)1ps2KLVClRe;`#d4m=6H}fx1%bVW#cYjv^#@t6EEe`_9d!Tz002ovPDHLkV1gdV BRUQBU delta 192 zcmV;x06+in0qOyeGJiESH9{sVO(-u^Dl%OtGG-_;aw#%;CohC4Fry^GNdN!~a6A+eKU@VISpD^7H%lY#%tQ8iO>N#k?9i94|v$*aog%Dw2 uUstVmhqsHaulUsD$5}&SqpmqGuxS5h^(;9%j)yz|0000ZC9 zv6$(g0lV>xiITzxdc4@m4Vsrua`a(5lHijh;Kg8kMMCLd&>CY&rGrXqE(`GRZ%CS^ s#>T&a!&|!fDAR_o86zVjEG#TLFi$l#H9$34L^obaJ!VQhXi-9M z2RPBn00001bW%=J06^y0W&i*HT1iAfR0!8y&9M=HKnO%pS}?EyXAG=>(a4O2&~Ks8xJH(p9TW=cJ1 zQ9^H(d}(I@0059lL_t&t9Rh&+<*%Z3I1Hbj!a+-O*2Ci zY1>u7jJ92{H?VxVImh#;d$?{Ehgx4T0OwS7LhzoW1TI*F09L04sMtkSAXaG^@mvR| zY-XWshQ9lE-teGbI=@{itG5a)3mu`>^pXsHVrrjUl#`nnWB07-^ccZlg4El-@O_pfl8TM!e1HMdH>=fx2dUx;Tb#$TCh~$p6n^Ic;Z4^)#U% z1`i;kX4(w~hO}#Un`^Gzn9h)UZSUoZD|e?eWK7#pbGi1)-s23RN;|gz8OInR7Vg>- zs&;o9gNER$%TZ!CwlPR9nQ^&F1SldJBowNsqxNiV8F?hQAxvXKIFc{DK)Ap4~_Ta^gK*978y+Cx4i8fPqEF zSW@W#&o#fcB7^3=lNK@^df{SliN}FwTS{9GYl542b1PHF!8=D5aEc|)I=WyQL)sEU zj%LZ8G@dZ&16g6lDNU|7mKlP`G-CurB!47OOjJb~85tuZBP=W|H7rUyFi$l#H9s>~Ks8xJH(p9TW=cJ1 zQ9^H(d}(I@0050iL_t&t*A>k%3WG2h2GH*crY&?0Sg=Pa-NYYCPM|laIwnZxCTLu( zi0v#Pxn1M-wuiE_s_txuvJa~5{Q%0ntWCt@?KKr)K$iHANK+%uOW2xYSa8Z2ah5qS zVi!&k*V*c(SRDktq)68pVj6XR_{|{x)vdM$)fP;vp9+_74>OVMtfG{wNS^NvbVlvHaGuUhfi!khl1zEaq>xN<0`F16XyPeO&q_B5e*n*Ao zdFEav-!~oFHUf1l@gwhmE^W|tVkifthT;SLWwAfEYtU;rOd%Z1cdKPMg5#^0%AqD^ z6MR2U@RtIcZ7uAdPy&@uQ$(3j#7clnnS=oVTnInRCF?X{-%fdqo_@*VTO8C%_k)Qa1 zp?gD#!48cENk5*4!Uw`alq8-duobH|tF{;lGej>H=&BA-Ne9}-;OXk;vd$@?2>_Q) BJ{SN1 literal 0 HcmV?d00001 diff --git a/textures/mcl_crimson_warped_door_top_toppart.png b/textures/mcl_crimson_warped_door_top_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..35a48ab9a0655695c42dca66361abb77471757a5 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=2b?I;J{a)&~Bjrl$7B z;SQ#eF6MDwwrPP*`LX|Jodl|2ED7=pW^j0RBMrz=_jGX#;kcg6p`WXNP9s-8l_P&{ t;GCOQdwUNaEvyQ3GoIjR-EcdI!ST14|DRvCt$|t?JYD@<);T3K0RX{BEDitw literal 0 HcmV?d00001 diff --git a/textures/mcl_crimson_warped_trapdoor.png b/textures/mcl_crimson_warped_trapdoor.png index efbae07114538a5718b7db17d8114be2e832dce3..05e3f44d6e7a18a683bfceb13f4a99c553ceb1fe 100644 GIT binary patch delta 47 zcmZo=YGsu4P3XcF&ilH_WZ>S~teZl0;^%zS!c;1&Qd CXbrsp delta 47 zcmZo=YGs8~A00001bW%=J z06^y0W&i*HQb|NXR0!8&U|=wDaZ52^00OnNv@``UBY}Yp!eGG004p|wGt$x^+D%+s zoFL|;q?v#fE2p_7Lv*>NKuk7ENpl0MF$PLOv;(CeB1%fi1{MqeIUNwMZmix92Z%)I5D`oTsV3(uz`^w$c1~Fg@wU;pot8g?5=(;>zopr0Pn6U1poj5 diff --git a/textures/mcl_doors_door_acacia_lower.png b/textures/mcl_doors_door_acacia_lower.png index 510c04728510816c00c745e60be8bcd9978e1fa9..3bf3bc676bad64bc9f171aa023691b63bfc7a9a4 100644 GIT binary patch delta 170 zcmV;b09F6b0mcE4B!3c6OjJd6LMwz!GL~CCnP*0&byBy6VUe6AQvd(}Z%IT!R0tgf z!NC=SAOJ+cH5C{_3J{?HpLh@QZ2;Z=Tgi;DeVxuqQ%K94k=GM)LXI`}_6s8R)BB8A zsO8>JEs^F8^)ep51HD!k+IaMe$9M=VNw)(rs1 YAF31^x??Vl-T(jq07*qoM6N<$f=1p+TmS$7 delta 179 zcmV;k08IbJ0nY)DB!3l9OjJdLOfs2gMgRZ+rFBxbhGCXlJ#|7WKY;;}00003bW%=J z|Nj8j$_+sP003r5L_t(|0WHk60YX6#1klA|ocyGM9ST4;$4PPeFM%1p-n~`plLpZJ{a|j!SnVALoBzqL|vNlaHX`2#Y hP>{Sp_CT&C!;=eq;c)I$ztaD0e0sytXC-VRR literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_acacia_lower_side.png b/textures/mcl_doors_door_acacia_lower_side.png new file mode 100644 index 0000000000000000000000000000000000000000..65db1e658e4a862c37c953071f960a08373e76cd GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`eI=b<%F}F`5=_J2TyF zX=%{*wnS0IKTm-Q7)yfuf*Bm1-ADs+!aZFaLpWqv4?6N5au8uXaPxY>JFgodjEuSk zZc2OtPEJ9rHH=G6`{eOk-2Gg6=;OK414W%o#_1G41bSGL}AZfrn?oE zp4tHvVk`;r3ubV5b|VeQQSx+g4B?1Q77$EmU`XU?Gg5PARCi`MCvf0oz`@*2N>dma Y?kg~}>M5FVdQ&MBb@0KtqQuK)l5 diff --git a/textures/mcl_doors_door_acacia_side_upper.png b/textures/mcl_doors_door_acacia_side_upper.png deleted file mode 100644 index f1c04b99ece5a4a857c42752520ecab55ea64bda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X9+XE{-7; zjL8`v4Vx6$9x-?v-jZ=UNIh4`t$v@ z(wmXknR4M&TYEPtOpg{Q4Z4kp@Hhnzh^GCaBIXZaOj7_~_$Q1aHtAEi3?ZZzk!~S8 c8N$Kg279d=gC;{R@c;k-07*qoM6N<$f>K*Twg3PC delta 171 zcmX@bc${&9O1)@+Pl#)ak5Q?U_Oxi*ndxo}3=B(4gSNLNzEri21aeqQg8YL20|CSD zZG6E%ff!F0#}E!#)`JHHn+{v;S3j3^P6Fl{qoGdE~f?NvO&cqE}T zk)zeXNh0PT&oqHH0p<-I#?2d;Iu2&EB+O`%Jmbi-GQl+GAWx=%n~@Onnl@d|g9c&@ juZ>bTm~Wq(#m4Y*32(1J$*XBVD;PXo{an^LB{Ts5|6w}X literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_acacia_upper_toppart.png b/textures/mcl_doors_door_acacia_upper_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..ab01973adf4e408233eeb49ee62db615996e41fc GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`eI=b<%F}F`5=_J2TyF zX=%{*wnS0IKTm-Q7)yfuf*Bm1-ADs+R6SiBLpZJ{dw6?ubMyLoCl`1#H;c3hTn|WB jO?3`uyTy2C8WY2WGX9T~B0FXPH86O(`njxgN@xNA{FW$M literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_birch.png b/textures/mcl_doors_door_birch.png index 58af89e580b8ed689efdde607ea3a39d63de1ad8..bcc1114224b66633130a4a56a024b39e4fbcabad 100644 GIT binary patch delta 198 zcmV;%06G8K0pbCWB!4GROjJbx003Z5MsQqEhi_hzb6b;nWSf0npo3_thG?yiZsOR= z>*Ut(>fd}XtN8!`00DGTPE!Ct=GbNc003!8L_t&t*JEH{aIc&>-GBiIymniy3IH*R zgN=&|z#>trtRRf&-PT|=?&am>4j@LA)v78m!>f9CO#@5{%s;5AT2%#RbXV`H25WCF zHV%d;UKO<)%t%xcR01=?XU?1swp2+_P)UIS08w%u*^kMI$^ZZW07*qoM6N<$g6bSn A5dZ)H delta 190 zcmV;v073ua0onnOB!3}LOjJbx005G6TdIa=v5#(zZdBsf%IoCTn|)sJ>fdWjKzUkB zJaq9m18Y|)aS?$i4lPXs sGb&fjTm@zb85jYa!)Cz^xwcNr1#0}U3NJOEX zC!&(<_&#a(=R^EnM}?Zm6lqo5h`!k7(lP$_iZE*+)xc^}Wkvfzhmc#zHN$DgRUhsX zW({;=;EakkES;<+g8;NJUx>xfm-ouR^I7EX5r~Ut1u_0~AS$eN;Y*4D0000_Nx<_ zpITQvqO}I*GZ6Hj9ii}&IqVo7AK_g9uykLADwCdT{Qk}sF(l%002ovPDHLk FV1m`RTH^o! diff --git a/textures/mcl_doors_door_birch_lower_bottompart.png b/textures/mcl_doors_door_birch_lower_bottompart.png new file mode 100644 index 0000000000000000000000000000000000000000..b83344bdf08ecbefaba86fbcfd7b03e040b0fd53 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUO)OwY@OLYS38+d9YtN6H zT$!?^^N;?V^`}YpcV#CS3j3^P6Eal|A_!@pqvYx07{U>qEFhTBz>vt(W~AoKsP4>iPT;`FfP=Z4l%_B; Y+*e>`)l*tK0jQe6)78&qol`;+04KmA=Kufz diff --git a/textures/mcl_doors_door_birch_side_upper.png b/textures/mcl_doors_door_birch_side_upper.png deleted file mode 100644 index a6805e4f6928b69511cfa254a825af6827939e46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X9+XE{-7; zjL9=XWOyBUjxbJW3(b|>TdAm$apT5(_a?RlmkzFEd?74k!r;ugBJslwh7cwlQCG z4m!kfl5~5@ZQ!Vg6=}1{P)(lecq!ZKhEkmrv8H~1NI_U&p*wOf56Wdp^p(3EP{f?? wED1myOU8(Wp`6zz%SdA9?$)Cr=KSXL2mjwG6+WD2zyJUM07*qoM6N<$g7qa?YybcN delta 193 zcmV;y06zcY0pbCWDSwS_RFZRBn|)rYhG=U{KzUkB;@HaT30RO|$ zVz?M~@$bH_y7w5QN{I@x*iwsiip-zI+NaM-EEWO>1POS$k~&yX?9oN#wOM(W?;lQ9y31xr4SvX!4j!b00000NkvXXu0mjfdQ4q? diff --git a/textures/mcl_doors_door_birch_upper_side.png b/textures/mcl_doors_door_birch_upper_side.png new file mode 100644 index 0000000000000000000000000000000000000000..fd46bdf3f9164db0667ce853769a0cd67ad02507 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`eJL@OLYS38+d9YtN6H zT$%Fd#wqr{6@P&W7)yfuf*Bm1-ADs+Ts>VJLpZJ{8ASAa7oBwaQn#pm8n?$ Q4A4LZPgg&ebxsLQ0DZkR@c;k- literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_birch_upper_toppart.png b/textures/mcl_doors_door_birch_upper_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..1555938e6d985015f759a1de9ec2c3f173e4ba56 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUO)OwY@OLYS38+d9YtN6H zT$!?en2&hB|(0{3=Yq3qyae^o-U3d9M_W#%6NUfc?-?b3PePLghGTw o(h79+^-J~j#S<6E9>~>XC<^3>)c!KH4XB5~)78&qol`;+0L{=Sf&c&j literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_crimson_side_lower.png b/textures/mcl_doors_door_crimson_side_lower.png deleted file mode 100644 index b7a6a87771642d836f1b4d295b9d93b393fab645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYm6Vj!(a|wAHTBid579D; z)i6p9^-9w)D$+EnQrB4N`38>Eal|5uGd`gTe~DWM4fzF{hK diff --git a/textures/mcl_doors_door_crimson_side_upper.png b/textures/mcl_doors_door_crimson_side_upper.png deleted file mode 100644 index bb042109b6033cd4cb859b0d6d49da81def49668..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMVm6ViJR#w*0(J?hO_0`Z1 z(K3qFFiH;fO4BeZ(ln}4*Kg4@u)g6N0aS15>Eal|5uN;kN1vU!?OaL8F&~~|YYH?L zOCK{xa!)VW=`6WAp~p{RG4rt*oXI{7FSA724H%rYEXC3f&nN>Lz~JfX=d#Wzp$PzX CIV)-a diff --git a/textures/mcl_doors_door_dark_oak.png b/textures/mcl_doors_door_dark_oak.png index 7b827cc4680c8b3f159a8f7926361aa5f0948f6e..9fccbd44dd80d79527de94b619dfc9e568aca2e5 100644 GIT binary patch delta 171 zcmV;c0960E0mlK5B!3l9OjJd0a&12~FG)Q%Q$;#kOFv^#Lu^<^RqiMK00001bW%=J z06^y0W&i*HU`a$lR0vx|jL{8%APfaN0)+*H2`uWrGz?%#7(n+QLRu2-*X8A|0C4o) zR~Q%lhKoX`MwbHf!v@l%oeIQdLJTzJKaVLng(4zW<#K<2iX>H;IGgN;ZSr1gwFMD_ ZgBL195n1LkFsA?j002ovPDHLkV1g$xKAZpm delta 157 zcmX@kxRY^$O1)5kPlzi61B0!JR;0ImN|=YAlUZIupp~QH1)wNnNswPKgTu2MX+Tb> zr;B4q1*7Sii@Xg694(1%8aG(G{1U_s*o9}5{15eUytl9AvAWXC>p5F4M$Y5C(c3Un z$&bD6L{$Ev-ACPyS$y_(eaw<}(zlesH=;B^c1L>q-MwNL+3&~mU757aY9-JH22WQ% Jmvv4FO#pLGI&S~~ diff --git a/textures/mcl_doors_door_dark_oak_lower.png b/textures/mcl_doors_door_dark_oak_lower.png index 7c04fd880dcbfc3759b35d43425cd0d9c367bfae..56c5c936c31f7572c7ad01665e26382f559ee80c 100644 GIT binary patch delta 186 zcmV;r07d_{0oDPKB!3=IOjJb~85tuZBP}j4G&VRtH7`j$Hd949TT4GeP$qGaoS?`;t}`(QP-({0sor6mx>k*! obK0Gp{oJ;o<^t#ReWEP4KM$BPB#{T;G5`Po07*qoM6N<$g5=dm6#xJL delta 154 zcmV;L0A>Hy0k#2(9|HNvS&OA>)w7BSg7`Z$9egJl1opv$$Pgs4*tdu#}mT|q?m-VF8}}l07*qo IM6N<$f+9~qDF6Tf diff --git a/textures/mcl_doors_door_dark_oak_lower_bottompart.png b/textures/mcl_doors_door_dark_oak_lower_bottompart.png new file mode 100644 index 0000000000000000000000000000000000000000..3d28d876fa15e268c41160c78a916dfefe793daa GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWWysI5H`VvFH4ApNiuSfo z4s>R^x_vHCma!zrFPOpM*^M+HN5j*_F@)oKvH@=?Z)qWCX_^5qCud<{A#YlMkcdc7 ikVr_<0@(w(nhXjrxDKDNR%ik0VeoYIb6Mw<&;$U~gd@xV literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_dark_oak_lower_side.png b/textures/mcl_doors_door_dark_oak_lower_side.png new file mode 100644 index 0000000000000000000000000000000000000000..74e7dccffbda4af8b659f4e53d27a9fe06762f5c GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUO)Oy0)iW?Lv#>YS_p~(& zcD0K3woeXpUi+k|5~zl;B*-tA!Qt7BG$6;_)5S4_<9c#|VFCk_SbAH4L9^)$Mcy+B z-f14i48}nl3_=d_EE8Z0G-x(#QRF$3aCDi4h?3}`2TW-jb{MpXH@Kb>mdKI;Vst08uD0G5`Po literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_dark_oak_side_lower.png b/textures/mcl_doors_door_dark_oak_side_lower.png deleted file mode 100644 index 3cf5b4fee8cc6480e38f798d6e308359c6c4e694..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFYHOn9 z=VTV?ZJ!e6k(Us7nC0^lpp=%Ui(?2!bh3a*AtN)JqJ*==u?BC$O%9Si5YHOn9 z=VTV?ZJ!e6k(Us7nC0^lpp>eoi(?4K_2h(vLPlmbH6AwQ9z_kNRE|W02SEi#&+Isx csFEYj5FH~GsT#5T6Ho(#r>mdKI;Vst07pb4zyJUM diff --git a/textures/mcl_doors_door_dark_oak_upper.png b/textures/mcl_doors_door_dark_oak_upper.png index d3ccecf4f118700e57f1af23b467473b74f6d620..e826eabddf4ac2de21d4aeb649aa0cf10135a295 100644 GIT binary patch delta 174 zcmV;f08#(B0m=c8B!3uCOjJcJE-*AUI6pNnNj)}GMLJtcKVwltY*6I>sQ6?I&YuRb>Wm1dF z0OzdMx%18@oP8t_(bCbc`phLets=8}4SH^vNOaq%MjoOv~lpz00000 LNkvXXu0mjf^>RQ2 diff --git a/textures/mcl_doors_door_dark_oak_upper_side.png b/textures/mcl_doors_door_dark_oak_upper_side.png new file mode 100644 index 0000000000000000000000000000000000000000..4dab51cf568d2b48c000f12b002d3b8663b450f0 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUO)Oy0)iW?Lv#>YS_p~(& zcD0K3woeXpUi+k|5~zl;B*-tA!Qt7BG$1F`)5S4_Lzea6M&3gPBCH2K3oqIh$-u?t zsN?KC{o@IRz#|;>3?jwTuS=ivRtvZpZn3S0FE^#(8nZw{&4Kkn38ywcC^^gPq86ZO kkjj4Cd^-DmdKI;Vst0A|cRXaE2J literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_dark_oak_upper_toppart.png b/textures/mcl_doors_door_dark_oak_upper_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..b06778288880504d3abf99d7c832a0602db351f4 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWWysI5H`VvFH4ApNiuSfo z4s>R^x_vHCma!zrFPOpM*^M+HN7d8CF@)oKase-IArSB;7I3mMi?gXZI;y5RI;OJS dV!ShriNQ;Z+y7$4wiiGR44$rjF6*2UngD4?BMbll literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_iron_lower.png b/textures/mcl_doors_door_iron_lower.png index 6d0e368623eb7e1d6d83cae96cc9c1609a8840f6..5eb6e2e07335d40f0856cfd1213d3a02cc30fde4 100644 GIT binary patch delta 197 zcmV;$06PDP0@VSK7=Hu<0002(-QrRJ000|MOjJdRii)T7=H)@0000eEe}%w0022qOjJd0X=c5;xU8tA!oR(plaipEnxmke zs;8xce}IdFgp`nuhlGNZk&mC1l&Phofqi?QoSLMdo}HDG&Nl7@0001sNkls5Ct&(N$Q5O;{JDp4e)3hdypbYBC@)>yJX;+^JLx2Mshl_D6P95CPZPb$Bwn> z+nS73_8c1lJ#W6_kS3jmzs=06`;yb@&fJ-azL2Xf^(d&3Vst6)niI}J{dz7IOB>53 zlJwYC(d#YmNk<3TtbKn;uABK zYknGO7GM5r2*~~7U!17YbM(Wz|GWQ}|Fdsb@w2ci1o6XgTf W8VXL>Cz%d(FoUP7pUXO@geCxG3|Qj; literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_iron_side_lower.png b/textures/mcl_doors_door_iron_side_lower.png deleted file mode 100644 index 6d0e368623eb7e1d6d83cae96cc9c1609a8840f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265 zcmV+k0rvihP)8o1ONa4i%CR5R2Ufr!9iBTFc1YW{YmPEvf}=Cgbna$8hel;Ng}ekySrrIn)77c z%SJk}D6P95CPZPb$Bwn>+nS73_8c1lJ#W6_kS3jmzs=06`;yb@&fJ-azL2Xf^(d&3 zVst6)niI}J{dz7IOB>53lJwYC(d#YmNk<3TtbKnB9|bU6xie!S zP-=pwi(^OyV=@DiA}gCJ8(W&N_~iuQbY`||CJG$B-U%yaY)ty*xAL4^Ti5N?vvt$H z=A~Om?mc9(zopr02#!25C8xG diff --git a/textures/mcl_doors_door_iron_upper.png b/textures/mcl_doors_door_iron_upper.png index 093d91ce377368dcde32df0f39c13d41be00e5df..8678396413911c3d95539730ca19f5aea75462bb 100644 GIT binary patch delta 226 zcmV<803H9G0{#JzB!3=IOjJbx004@Ling}4xw*N*!otPH#naQ%+}zyb-dU)@ z(3UnMEv+-ngCVVKMp=1hxd%f_+9YEo%QR1*8l$u{q1*T*(Paq@JNL3BQ zNJ=nZW>W(y7A*}5Rd>u_Xi6ziU}X;jF~S3wO2RxCn$kkc%R_-CPZFEz>Ka+-$uKDm cWNDfw0H$FqUqew;&Hw-a07*qoM6N<$f=VJ?G5`Po delta 257 zcmeyzIG1UHO1*A?Pl#)NX4;Yk^ERwqJ$Le?Mf2uN=;&;3Y@9ryZ^zcn8`i9vJ8Q;) zy}Rd4nY?k`n*aa*+q(St!oa}5UlQaO4CEpKhAVewECfnT@N{tusbEZIU{YjdQ)OdI z6BfUmAe_$3cFjbA!`C}u#f*(f-~3jdlWXg$y1ja~ZrazpbPLJ7hfH?7e#OSd*LgH^ zWtg?J#E$$K&uqE(RW~*&U)M1)`I*J+d^C1*`THR0#-6+h9`9M%-eoNC_++-=(Yp;- zE7P)7%5J7tv`{Uf6Hp!AnKc>xW5j>On+ zh#a;hutX_-B1Po%0}%r&z!)2W@B|iIPUvz$I{lvDLf1gYr@bOTMK#)LLYBJ3=_em= zKxNi~S;z;7lAtJMvvMxk&}Goc{;v#AVx+SL*@h!BQv3a z6T(Pq;D9n1GQbRtq>Qu%5JSxcCkiz%I!V5v+X t18i4j%ghWgBe7*hBAAiJFoVs20RWZ99HtFE;Kcv{002ovPDHLkV1iB@K&b!# delta 178 zcmV;j08Rhf0nP!CB!3uCOjJex|Nmn_FoRx2ZcI9MR6adDJ&S5iT{qRKs0DZIC4!p ze^ot+T0E0uKBlVB;Q#;t0d!JMQvg8b*k%9#0DVbBK~xAG1;N1y!cYu=;Xg6bqj?2A zmv#Z^0OBYe!(lwQfh#zGJJ_q2Hh2&o2=V*mQXKMyE$>6AUskzW>jhFKdm_#XI_~;x z$Iqa>$WI386#PgOQR#>|a0LuV4Fob%aX1H|KmcgqDS%dhj+-^}Hmc=hb93G7m&fT3 Xkg+CtAVFZM00000NkvXXu0mjf^ygGb delta 231 zcmaFM_?>ZrL_G&H0|SGGE`KnPVk{1FcVbv~PUa<$qZr^5;tHh8LhPF3T)VUU@_ejx zbaZTOZDXzUk{u0#jkW*(|8L6~R}Ruy666=m;PC858jw@&>Eak7aoP18BcHP(2XjD_ z)xqEK6;J*DdzgIfJi;(@IY+q1uLEB1A2|8!OOU-RVtO^$e^o;jcP!HuRhLWbWheN} zelVXmG&ucPN!V1}RpL{tRl@@ZI|p{j9}Jr8aTnwh60)jgBg8WzE-wuF_H0qJbydQ? c^KvWnZ~taq&QVeG0O$q=Pgg&ebxsLQ002NzrT_o{ diff --git a/textures/mcl_doors_door_jungle_lower_bottompart.png b/textures/mcl_doors_door_jungle_lower_bottompart.png new file mode 100644 index 0000000000000000000000000000000000000000..9aadfb31a2f2737964902b490904edd3ecc008a8 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa3-AeX1=5NP47RqmA(r}a4kj6H z7Dc|+^`W+%Q8ts4?f!_q(gCVqED7=pW^j0RBMr#W@N{tu;kcfxk@eE&-J62&YbI>s>;lb4TN(8h zEn!G9&@^n3XmFh)dFlYqw-lDeHVkJpTn#QAbP0l+XkK6^Aw+ literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_jungle_side_lower.png b/textures/mcl_doors_door_jungle_side_lower.png deleted file mode 100644 index 5ba2aee57e1367bf30bbda2434df06d017e4337e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=6urdU-xpWg&LWajt={ znn6O0B|(0{3=Yq3qyaffo-U3d9MQ=Ff(Z=_i9BsaYR-)6&MfBy4x9`)n7c`73M0dP X1!h(~rL_})su?_8{an^LB{Ts5fiNK1 diff --git a/textures/mcl_doors_door_jungle_side_upper.png b/textures/mcl_doors_door_jungle_side_upper.png deleted file mode 100644 index 9f01843a6c2752997bcf9de652a46965cc9ec180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y$ZW{!9W@a@|Lkr1X5O>E{-7; zjL9cHZ){Rvd&J=39N7`OW~v;g)U3xbo);KGtSn3!YMq+c5;Pc1dE}%Uyx14AO|tck Z=4CKlr<OUcL_G^L0|Ud`yN`l^lw5#Mh%1oR(b2KBwGFYpbe%gkm-vqfWUfWk!tlioft{k;s-l~p_d?pXqH?NEL$kiDh zJ@Y^$I*%n(U@ljS@$v7!m}Xk4FL-RD#_8cHv%1|{-9M85WN6CvOs~5cezD@5=N*}+tlfPw+Dzg}-Qot!8*80y4=i5AZNR{suu1&I<9N0`yn9n7 dRsX!k|78jD(lp)OQb0#Ac)I$ztaD0e0suH4R4f1h diff --git a/textures/mcl_doors_door_jungle_upper_side.png b/textures/mcl_doors_door_jungle_upper_side.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b4cf9195932558cd657e5bf78300d85ba802cf GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ1=0-pIT>yiMZVVcp|+h- zHj|U>@)Hi|0L2+gg8YIR9G=}s19H4PT^vI=t|uFmCNMBP6JWDY<~@_(o#@eO;3N^m ze4r1i)ZckS~mvv4FO#sn>Eqed} literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_jungle_upper_toppart.png b/textures/mcl_doors_door_jungle_upper_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ab14854e9c07a3706f552c2a1fb860f8e1b4b0 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv3GfMV1=0|pqoZSMYa3#zALn3_ z;bu|fYh52|+ZkmuIoWRet-WV}iWp0R{DK)Ap4~_Ta#THC978y+C%>4rE9vLDw}G)d s4#$iPlD}U$db;dg*QcZfvIlZC8CW06WIHU>DF<2M>FVdQ&MBb@0IN(dA^-pY literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_mangrove_side_lower.png b/textures/mcl_doors_door_mangrove_side_lower.png deleted file mode 100644 index 9a217e1aeae12767442b0d4a41fc5dfe2a9ebeb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZO)xS_4)w}1Gb^>WXmYUX zb+VZ5VYTXe%5k6qT~8Os5RT|%k3bO?=C%Yk4Q0t@#&G8JmID%Q25u`9r#$S5KEiQX fW`?L+02{;kUA!DpN8DWXmYUX zb+VZ5VYTXe%5k6qBTpB{5RT|%gCG$W<~9>I4P~BV4c@I%PLg^C6GLWraQLvSvtU_f kD{;)@*x80`{x&0qg{C}bj diff --git a/textures/mcl_doors_door_spruce.png b/textures/mcl_doors_door_spruce.png index 3806a845f0865d4cd374662ed2758639a165098b..1b005b9b86b1645b49c4746680c6d4dfa3351a5a 100644 GIT binary patch delta 172 zcmV;d08{_#0oehNB#|)`e>^WHH8nLvH!Dj!E=)o@S41>pOgm#$N~~tLdjJ3c0d!JM zQvg8b*k%9#0ANW(K~xCWHOwIbfFKNo;a$N>)C714E6hN3lH>y9%@gRQ)qyX4<^2GV zg+qmRCwF+~P%)J@L>S8lm9GhU! z2T+1x?cc00005XRby_hR-=}IlCREy|oDl>8pR03<&W`1gs&dS)b?i3dXf$bU=baOZ_vNsNg|sQ#Y2k>n{Fmj9R7SvyL^S~%i0_3*P4Neh WuP;i1bqHku0000nq_ZP+?K`zYGnZ^tr}yl zj(|LUJ|+a==;1;oPsHARQE+P(zIl+{4KMle*%7OII+~?#VKe1}UnU}%{h)1SFmY1G miC$PwzzHGdx$}V z^}u7tRRSf1Cz{Rhvi(mHj8`_^52lQ zx9R%3zpeM}o^$8eOQscgzk4v{Bg1S%-Vm`1q7C*_N+pkezL)I>w1>gd)z4*}Q$iB} DEG9(= literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_spruce_side_lower.png b/textures/mcl_doors_door_spruce_side_lower.png deleted file mode 100644 index df63467a58ab641e4b2de0f66a0f897f6c6b8956..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF3R)oNPP=ZM)U1 z4$B-1ID9tYNsCd4?nTL025qhCXB;G)&kCQFVb~R7pKn#VyBMgG!PC{xWt~$(69DGO BEk*zU diff --git a/textures/mcl_doors_door_spruce_side_upper.png b/textures/mcl_doors_door_spruce_side_upper.png deleted file mode 100644 index 45b4f664d314f458efb378b1e0988ccab9f12fda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF@!p9qwY1>|>oA>NQDMTO6oZ*VDx@gd;lnLr)Yd8&8Bp z+zTFViNhkt5+*r`HyZ0C@)XZ#Oq1X-mr&+8#lT=?;E`W0tdaxN$l&Sf=d#Wzp$P!( C*Cq)7 diff --git a/textures/mcl_doors_door_spruce_upper.png b/textures/mcl_doors_door_spruce_upper.png index ee6c4a763bc7f5beb3aae1dc74f99b14dbe42862..3ef5c4c8185ca4849cbe9d393b3df26584ee0924 100644 GIT binary patch delta 214 zcmV;{04e|f0rCNmB!47OOjJb~85tuZBP=W|I4UJSFDNxNHAFKiOgJr6J}_B9F=I$H zYfLuSA=q62004BG@M=J!#{h>}F=}0s~KXxdZ7}Dc}a?e{0Aowmgnp QU;qFB07*qoM6N<$f*lD~$^ZZW delta 227 zcmV<90384F0sjGzB!2;OQb$4nuFf3k0000aP)t-s85tQPBO@#?sz>#+Oy29T5S8*=6LIf)qOUaP9CCMThn`2QsJs{dn_;lMU=_^Ea@8!9Q3Lq dV3IkwVLu@pCAk8ZT2=r6002ovPDHLkV1k?=Q{(^u diff --git a/textures/mcl_doors_door_spruce_upper_side.png b/textures/mcl_doors_door_spruce_upper_side.png new file mode 100644 index 0000000000000000000000000000000000000000..f52beb43762f3fa1d4e19def3f510058fdb7bf74 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnY1=5m|lFG`;IyyQQTB`Q? z8ZO3KJ{Gzmb_S7-hRGf#HOsqdfQlGPg8YIR9G=}s19AdAT^vI=t|xay9bjNtvsz-2 zT7#taM?)J?2cBu3Jbs)BZBoq}7&{JToO!?@D41N(yuvf-1Jmp?o4O7zW<2vEp@4n% n;h@fh7U!JxNgnLRH&!t`+b5Eu=()iNXgGtXtDnm{r-UW|yO%oL literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_spruce_upper_toppart.png b/textures/mcl_doors_door_spruce_upper_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a8bd73e6b77abbb3c58a9bc6dac7291aae4b85 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(aRb*hW&{DP6*Kje`^0Ckj zu``HtG)(p|$@VeJ)ou+0Dq}1O@(X5gcy=QV$WixnaSY+Oo*bZGBFO6{te+I%?9BnaHJE;>Ol9ku7=3VM&A7%m6lq!%AMYCr&(f0_tY)boFyt=akR{06s)3Q2+n{ diff --git a/textures/mcl_doors_door_warped_side_lower_alt.png b/textures/mcl_doors_door_warped_side_lower_alt.png deleted file mode 100644 index 7ba0bcff6432eb627a96b8b59cf466ed56c2cbda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYm6Vi}@^z63_Ez$AP;s_W zwKr2UH`KH?(b3T{H8o8R_1f@yandSx z)vor?ZS>S@ji(?4K^<<6hFBq8H4ERgjBzpq+l9wD7Ib1sR;MT(u v52XxD4csJp1i6xz9F*Xc32VmO)&F00~e{3|5qs;$#`$$2Wi+KrZ6I|A~zBb zSF#$(uceW)FVdQ&MBb@0Qd(Z3;+NC literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_wood_lower_side.png b/textures/mcl_doors_door_wood_lower_side.png new file mode 100644 index 0000000000000000000000000000000000000000..f73f7a3e1e20b069416cf5372fc8cc2de88f8492 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`eLJvC;{$Gl+II%?+|I ziEyro^H|aT_B>DlV@Z%-FoVOh8)-mJkf)1d2!|}|K}X(04kD}ve)3yc{#{?DT)_G0gTe~DWM4fjU+w| literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_wood_side_lower.png b/textures/mcl_doors_door_wood_side_lower.png deleted file mode 100644 index 95ef79d81d09f03f0b096b1093762917449894ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFYHFb4 zVy>O+V_g;F(UTjtwYk9&C?)6V;uyjaog5HQ$jHp*)7Hr8*QS`qwoEGNjA5G*!}c`! V%#Y_xP6Aajc)I$ztaD0e0su`DA+7)b diff --git a/textures/mcl_doors_door_wood_side_upper.png b/textures/mcl_doors_door_wood_side_upper.png deleted file mode 100644 index bc74c5de33ba0dd0ea2480a6afe3d397f9aaece6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFn(Sj; z72{!QpyOh$9cXXl^k2CZC?)6V;uyklJvkwvkdc{9ji+q_hn4dTjy3^JC5dTF3=>(U VU3=gCc?(p@;OXk;vd$@?2>=!hAP4{e diff --git a/textures/mcl_doors_door_wood_upper.png b/textures/mcl_doors_door_wood_upper.png index 4e75538c27cbdc3e1aee7f8c7cdd63e5ef226666..8265e48ee0ba6910fe6b294d6d8e4224ac460085 100644 GIT binary patch delta 177 zcmV;i08ane0n!1GDSrTOY)m>VQa&(cOge2+KXh0_BEUUJ00001bW%=J06^y0W&i*H zZb?KzR0tgf!NCp0APfM(l@badN&`VI0LkzV3jPC!`)}oD=6y z?7}C^9NuG`!pa*g2&)b_Tv!#L3abE^F!hB{g_SG(f-v(jLMlFmRp`zZrWV`YZ`zeo fdg4v*?rv^>NFo-83RKR400000NkvXXu0mjfVQ)nR delta 184 zcmV;p07w7Q0oehNDSu;3J9=D5H83nhH!D#;GXMYoi>kiG00006bW%=J|NsC0{{XYU zq`v?F0B}h}K~#7F6w6T#!ypU;P=nTgvW@?VUI3K~q*C}F62AXcn&j&#wgC}Il7QUK ztF_UQ&D6{~-pZnUIp#Wc{dat3A=7f)mE01b-|f&q^0FP|iZRdh?7L#V>zXlFLRg}s msR(|^=NRK^&lDJ7?f?LFLKcIUb@$5v0000&Yz$6yV=FVu~JmKI)hBE?b94y8W s6D1r4+KlYjmL=IJ6?n(W9N-aWxci**`_;27AX^zcUHx3vIVCg!06l&uI{*Lx literal 0 HcmV?d00001 diff --git a/textures/mcl_doors_door_wood_upper_toppart.png b/textures/mcl_doors_door_wood_upper_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae6fc712feaee0a3b85aebda5201c927957b49b GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^3h)VWWysI*vC;{$Gf4HZ$_=tF ziEvgrVCw;tWh@Eu3ubV5b|VeQ(eQL}4B@z*T)@f8TgqEnnphwr5+ouL5|mhAVrFJ& iW)_yXK=wecCc{;J&g*+FM!pB?VeoYIb6Mw<&;$U`uO!I; literal 0 HcmV?d00001 diff --git a/textures/mcl_mangrove_door_bottom.png b/textures/mcl_mangrove_door_bottom.png index 91c2df8b868b84f3843ddd3a382e58c0a04db3d2..a6b9182d77593f3e007cddc72b876a3c2538d4f1 100644 GIT binary patch delta 35 rcmcb{c#Uy_reu_+W}1#pk)B?ik$#VAwHy&-9=rjcY&O{8& delta 35 rcmcb{c#Uy_rev6|Zi10fmYG?pwMCPIRj-r9bPub@XTMq|I!yrp(P<3x diff --git a/textures/mcl_mangrove_door_bottom_bottompart.png b/textures/mcl_mangrove_door_bottom_bottompart.png new file mode 100644 index 0000000000000000000000000000000000000000..508be22a8d73e86b874a58f45ded865e26ac4137 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUO)OxD($q}T(J9i?t25H? zF*TTOrnkgWw|EYZ2~Z7VNswPKgTu2MX+VyKr;B3<$Ms|bZhkLKVSoO#fMS0iU15Ii oq<}I*lR~jF!=weW2XZwT_KEU}zF+-F38;s`)78&qol`;+0CX=T)&Kwi literal 0 HcmV?d00001 diff --git a/textures/mcl_mangrove_door_bottom_side.png b/textures/mcl_mangrove_door_bottom_side.png new file mode 100644 index 0000000000000000000000000000000000000000..d5de6fbd1d077d88878ad3f75898032baa7ed9be GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`eJL)6pr?)2lPm?=dx) zZl<@yQn%{2vKmkUV@Z%-FoVOh8)-m}o2QFo2*>qgf#L)Preh*(p$5&GEsT0fX$)y9 z#vM))2YF_6O%*-Bqs+FMMWES|S20zJL5wrifVJB|S+i|*<7^$4L=9#Jy(X@20gZe1 Q0ZnA^boFyt=akR{06^I-bN~PV literal 0 HcmV?d00001 diff --git a/textures/mcl_mangrove_door_top.png b/textures/mcl_mangrove_door_top.png index 8691b0f93f5464eb7c23fa79d95445dfec7ca87e..d7068ba18a1c1cf35d1383e00e35dc1870102f79 100644 GIT binary patch delta 35 rcmcb{c#Uy_revg+R*Ifpfq_AdiD8$8(Ns%=1-6DBIXi?VI!yrp$Z89O delta 35 rcmcb{c#Uy_rev6|Zi10fmYG?pwMCPIRj-r9bPub@XTMq|I!yrp(P<3x diff --git a/textures/mcl_mangrove_door_top_side.png b/textures/mcl_mangrove_door_top_side.png new file mode 100644 index 0000000000000000000000000000000000000000..df586adf691f1e45c811117b28f73e447bde9a7b GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ%`eJL(bFq1FsLyx?6NSL zYH6^*)=+ny0TWOGV@Z%-FoVOh8)-mJpr?yt2*>s00J8)JCbeX?jVuDqhP{qg8FhpX zEm*^lCSf?Eap{bSOMI9QC@th!mLQn6AZdqXg66Rh6}AZ8WUgk77QsUc*aGLAQD93m dP&@3(;Pj4r!G~vUj6lN~JYD@<);T3K0RTCcHWmN? literal 0 HcmV?d00001 diff --git a/textures/mcl_mangrove_door_top_toppart.png b/textures/mcl_mangrove_door_top_toppart.png new file mode 100644 index 0000000000000000000000000000000000000000..95a9d1f0c6a6780342dfe89706982e49e259f576 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUO)OxD)Y3}P(l>q%v_BLmkX83o2CuGt?5(R25)~q2{DP%yCbH8X#x_v;wAG49tKy0|2p! V6mbPLs>A>Q002ovPDHLkV1kLbH&Orq delta 170 zcmX@ic#Ls^O1*S|Plzi67=-ESCKwrInVFSZTQoUX^*UKh_prLZO#&pzSQ6wH%;50s zMjDV4>FMGa!V#UEkWf&{6