Compare commits
76 Commits
master
...
door_textu
Author | SHA1 | Date |
---|---|---|
FossFanatic | 70eb019a58 | |
FossFanatic | 10df1b2b00 | |
FossFanatic | 6e68ebfbaa | |
FossFanatic | 0b61c89141 | |
FossFanatic | 91496ca207 | |
FossFanatic | de7e1f7bbb | |
FossFanatic | 184d2b64da | |
FossFanatic | 25530a707e | |
FossFanatic | d6f5e7bf94 | |
FossFanatic | 94eb43845c | |
FossFanatic | 5348d13a31 | |
FossFanatic | 9077156300 | |
FossFanatic | 1ec4babe5f | |
FossFanatic | 1862930b85 | |
FossFanatic | 068eeb8394 | |
FossFanatic | c0b61f96e2 | |
FossFanatic | 96fab209aa | |
FossFanatic | 24c9409fe1 | |
FossFanatic | 322d87a29d | |
FossFanatic | f03e52ce45 | |
FossFanatic | b1ba6a91ec | |
FossFanatic | 232cdfc9da | |
FossFanatic | e46c299230 | |
FossFanatic | 63c82d0e3d | |
FossFanatic | a039cffde9 | |
FossFanatic | 57b12e5ae6 | |
FossFanatic | 8381c944f5 | |
FossFanatic | caac4a5e8d | |
FossFanatic | d6abf215a7 | |
FossFanatic | 647b9a68f3 | |
FossFanatic | 3015c15d7f | |
FossFanatic | 6ffff7d57d | |
FossFanatic | 476118984b | |
FossFanatic | 8ad366a568 | |
FossFanatic | 0d903c3ff1 | |
FossFanatic | c44fcccc4a | |
FossFanatic | 272525edc1 | |
FossFanatic | 962351bdef | |
FossFanatic | 17b987199f | |
FossFanatic | 221a0481db | |
FossFanatic | 66f6569082 | |
FossFanatic | 8478ee83d2 | |
FossFanatic | 9636b23d9a | |
FossFanatic | 3e20b9f140 | |
FossFanatic | 8193edace7 | |
FossFanatic | 74101e648e | |
FossFanatic | 8539e0f041 | |
FossFanatic | ed4f7a2e2d | |
FossFanatic | c4082a3921 | |
FossFanatic | 4308f0d10c | |
FossFanatic | fb34d0dbd0 | |
FossFanatic | 6bdb4e4142 | |
FossFanatic | b8373bd0fe | |
FossFanatic | 57b99f7161 | |
FossFanatic | 3d7800840a | |
FossFanatic | 3ce52e03b7 | |
FossFanatic | ea500b2cdf | |
FossFanatic | cf393f966d | |
FossFanatic | 6482a612fd | |
FossFanatic | 880b1816c8 | |
FossFanatic | 9e19388732 | |
FossFanatic | d75a616467 | |
FossFanatic | e0170fb16a | |
FossFanatic | f83f68177d | |
FossFanatic | 8e015af041 | |
FossFanatic | 24f4d9e2ad | |
FossFanatic | c996d324b5 | |
FossFanatic | 4cc370da8b | |
FossFanatic | 7505040d55 | |
FossFanatic | 53cda320cc | |
FossFanatic | 997f520f33 | |
FossFanatic | 14b42f58aa | |
FossFanatic | 6cd2d80a58 | |
FossFanatic | cf58bf4d2d | |
FossFanatic | 971ef10467 | |
FossFanatic | 8378461d92 |
|
@ -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."),
|
||||
|
@ -68,8 +53,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(),
|
||||
}
|
||||
|
||||
|
|
|
@ -666,8 +666,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(),
|
||||
})
|
||||
|
||||
|
@ -704,8 +704,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(),
|
||||
})
|
||||
|
||||
|
|
|
@ -159,7 +159,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 +202,22 @@ function mcl_doors:register_door(name, def)
|
|||
end,
|
||||
})
|
||||
|
||||
local tt = def.tiles_top
|
||||
local tb = def.tiles_bottom
|
||||
local doortextop = def.tiles_top:match("(.+)%..+$")
|
||||
local doortexbottom = def.tiles_bottom:match("(.+)%..+$")
|
||||
|
||||
local tt = doortextop .. ".png"
|
||||
local tb = doortexbottom .. ".png"
|
||||
local ttt = doortextop .. "_toppart.png" -- Special texture to make the top of opened doors not look weird.
|
||||
local tbb = doortexbottom .. "_bottompart.png" -- Special texture to make the bottom of opened doors not look weird.
|
||||
local tts = doortextop .. "_side.png" -- Special texture to make the side of opened doors not look weird.
|
||||
local tbs = doortexbottom .. "_side.png" -- Special texture to make the side of opened doors not look weird.
|
||||
|
||||
local ttm = tt .. "^[transformFX"
|
||||
local tbm = tb .. "^[transformFX"
|
||||
local tttm = ttt .. "^[transformFX"
|
||||
local tbbm = tbb .. "^[transformFX"
|
||||
local ttsm = tts .. "^[transformFX"
|
||||
local tbsm = tbs .. "^[transformFX"
|
||||
|
||||
local function on_open_close(pos, dir, check_name, replace, replace_dir)
|
||||
local meta1 = minetest_get_meta(pos)
|
||||
|
@ -242,16 +256,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 +304,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"},
|
||||
minetest.register_node(name.."_b_1", {
|
||||
tiles = {"blank.png", tbb .. "^[transformFY", tbs, tbsm, tbm, tb},
|
||||
use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
|
@ -350,7 +377,7 @@ function mcl_doors:register_door(name, def)
|
|||
end
|
||||
|
||||
minetest.register_node(name.."_t_1", {
|
||||
tiles = {tt[2].."^[transformR90", "blank.png", tt[2], tt[2].."^[transformFX", tt[1], tt[1].."^[transformFX"},
|
||||
tiles = {ttt .. "^[transformFY", "blank.png", tts, ttsm, ttm, tt},
|
||||
use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
|
@ -422,7 +449,7 @@ function mcl_doors:register_door(name, def)
|
|||
end
|
||||
|
||||
minetest.register_node(name.."_b_2", {
|
||||
tiles = {"blank.png", tt[2].."^[transformFXR90", tb[2].."^[transformI", tb[2].."^[transformFX", tb[1].."^[transformFX", tb[1]},
|
||||
tiles = {"blank.png", tbbm, tbs, tbs, tb, tbm},
|
||||
use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
|
@ -430,6 +457,10 @@ function mcl_doors:register_door(name, def)
|
|||
is_ground_content = false,
|
||||
drop = "",
|
||||
drawtype = "nodebox",
|
||||
groups = def.groups,
|
||||
_mcl_hardness = def._mcl_hardness,
|
||||
_mcl_blast_resistance = def._mcl_blast_resistance,
|
||||
sounds = def.sounds,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = def.node_box_bottom
|
||||
|
@ -438,11 +469,6 @@ function mcl_doors:register_door(name, def)
|
|||
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 meta_bottom = minetest_get_meta(bottom)
|
||||
if meta_bottom:get_int("rotation") == 1 then
|
||||
|
@ -494,7 +520,7 @@ function mcl_doors:register_door(name, def)
|
|||
end
|
||||
|
||||
minetest.register_node(name.."_t_2", {
|
||||
tiles = {tt[2].."^[transformR90", "blank.png", tt[2].."^[transformI", tt[2].."^[transformFX", tt[1].."^[transformFX", tt[1]},
|
||||
tiles = {tttm, "blank.png", tts, tts, tt, ttm},
|
||||
use_texture_alpha = minetest.features.use_texture_alpha_string_modes and "clip" or true,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
|
@ -502,6 +528,10 @@ function mcl_doors:register_door(name, def)
|
|||
is_ground_content = false,
|
||||
drop = "",
|
||||
drawtype = "nodebox",
|
||||
groups = def.groups,
|
||||
_mcl_hardness = def._mcl_hardness,
|
||||
_mcl_blast_resistance = def._mcl_blast_resistance,
|
||||
sounds = def.sounds,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = def.node_box_top
|
||||
|
@ -510,11 +540,6 @@ function mcl_doors:register_door(name, def)
|
|||
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 meta_top = minetest_get_meta(top)
|
||||
if meta_top:get_int("rotation") == 1 then
|
||||
|
@ -555,12 +580,300 @@ function mcl_doors:register_door(name, def)
|
|||
can_dig = check_player_priv,
|
||||
})
|
||||
|
||||
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
|
||||
|
||||
minetest.register_node(name.."_b_3", {
|
||||
tiles = {"blank.png", tbm .. "^[transformFY", tbs, tbsm, tb, tbm},
|
||||
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 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
|
||||
end
|
||||
end,
|
||||
|
||||
on_rightclick = on_rightclick,
|
||||
|
||||
mesecons = { effector = {
|
||||
action_on = on_mesecons_signal_open,
|
||||
}},
|
||||
|
||||
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,
|
||||
|
||||
can_dig = check_player_priv,
|
||||
})
|
||||
|
||||
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
|
||||
|
||||
minetest.register_node(name.."_t_3", {
|
||||
tiles = {ttm .. "^[transformFY", "blank.png", tts, ttsm, tt, ttm},
|
||||
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 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,
|
||||
|
||||
on_rightclick = on_rightclick,
|
||||
|
||||
mesecons = { effector = {
|
||||
action_on = on_mesecons_signal_open_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_3"
|
||||
minetest.swap_node(bottom, node)
|
||||
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end,
|
||||
|
||||
can_dig = check_player_priv,
|
||||
})
|
||||
|
||||
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
|
||||
|
||||
minetest.register_node(name.."_b_4", {
|
||||
tiles = {"blank.png", tbb, tbsm, tbsm, tbm, tb},
|
||||
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",
|
||||
groups = def.groups,
|
||||
_mcl_hardness = def._mcl_hardness,
|
||||
_mcl_blast_resistance = def._mcl_blast_resistance,
|
||||
sounds = def.sounds,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = def.node_box_bottom
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.selection_box_bottom
|
||||
},
|
||||
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,
|
||||
|
||||
on_rightclick = on_rightclick,
|
||||
|
||||
mesecons = { effector = {
|
||||
action_off = on_mesecons_signal_close,
|
||||
}},
|
||||
|
||||
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,
|
||||
|
||||
can_dig = check_player_priv,
|
||||
})
|
||||
|
||||
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
|
||||
|
||||
minetest.register_node(name.."_t_4", {
|
||||
tiles = {ttt, "blank.png", ttsm, ttsm, ttm, tt},
|
||||
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",
|
||||
groups = def.groups,
|
||||
_mcl_hardness = def._mcl_hardness,
|
||||
_mcl_blast_resistance = def._mcl_blast_resistance,
|
||||
sounds = def.sounds,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = def.node_box_top
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.selection_box_top
|
||||
},
|
||||
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,
|
||||
|
||||
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_4"
|
||||
minetest.swap_node(bottom, node)
|
||||
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end,
|
||||
|
||||
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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -397,8 +397,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(),
|
||||
})
|
||||
|
||||
|
|
Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 182 B |
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 190 B |
Before Width: | Height: | Size: 501 B |
After Width: | Height: | Size: 209 B |
After Width: | Height: | Size: 258 B |
Before Width: | Height: | Size: 495 B |
After Width: | Height: | Size: 407 B |
After Width: | Height: | Size: 331 B |
Before Width: | Height: | Size: 224 B After Width: | Height: | Size: 224 B |
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 239 B |
After Width: | Height: | Size: 141 B |
After Width: | Height: | Size: 187 B |
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 241 B |
After Width: | Height: | Size: 201 B |
After Width: | Height: | Size: 143 B |
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 205 B |
After Width: | Height: | Size: 205 B |
Before Width: | Height: | Size: 287 B After Width: | Height: | Size: 249 B |
After Width: | Height: | Size: 249 B |
After Width: | Height: | Size: 156 B |
After Width: | Height: | Size: 213 B |
After Width: | Height: | Size: 156 B |
After Width: | Height: | Size: 213 B |
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 210 B |
After Width: | Height: | Size: 151 B |
After Width: | Height: | Size: 210 B |
After Width: | Height: | Size: 151 B |
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 185 B |
Before Width: | Height: | Size: 207 B After Width: | Height: | Size: 198 B |
After Width: | Height: | Size: 138 B |
After Width: | Height: | Size: 190 B |
Before Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 202 B |
After Width: | Height: | Size: 190 B |
After Width: | Height: | Size: 140 B |
Before Width: | Height: | Size: 218 B After Width: | Height: | Size: 226 B |
Before Width: | Height: | Size: 231 B After Width: | Height: | Size: 232 B |
After Width: | Height: | Size: 145 B |
After Width: | Height: | Size: 195 B |
Before Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 227 B |
After Width: | Height: | Size: 172 B |
After Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 156 B |
Before Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 185 B After Width: | Height: | Size: 199 B |
Before Width: | Height: | Size: 182 B After Width: | Height: | Size: 214 B |
After Width: | Height: | Size: 140 B |
After Width: | Height: | Size: 177 B |
Before Width: | Height: | Size: 139 B |
Before Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 185 B After Width: | Height: | Size: 202 B |
After Width: | Height: | Size: 191 B |
After Width: | Height: | Size: 137 B |
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 213 B |
After Width: | Height: | Size: 117 B |
After Width: | Height: | Size: 222 B |
Before Width: | Height: | Size: 265 B |
Before Width: | Height: | Size: 285 B |
Before Width: | Height: | Size: 285 B After Width: | Height: | Size: 254 B |
After Width: | Height: | Size: 240 B |
After Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 219 B |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 237 B |
After Width: | Height: | Size: 149 B |
After Width: | Height: | Size: 188 B |
Before Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 133 B |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 241 B |
After Width: | Height: | Size: 167 B |
After Width: | Height: | Size: 151 B |
Before Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 140 B |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 217 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 248 B |
After Width: | Height: | Size: 144 B |
After Width: | Height: | Size: 210 B |
Before Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 242 B |
After Width: | Height: | Size: 196 B |
After Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 152 B |
Before Width: | Height: | Size: 152 B |
Before Width: | Height: | Size: 151 B |
Before Width: | Height: | Size: 151 B |
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 211 B |
After Width: | Height: | Size: 134 B |
After Width: | Height: | Size: 185 B |
Before Width: | Height: | Size: 127 B |