mirror of
https://github.com/mt-mods/homedecor_modpack.git
synced 2025-07-22 15:20:22 +02:00
Compare commits
15 Commits
issue_67
...
seat_dig_f
Author | SHA1 | Date | |
---|---|---|---|
f8ee689624 | |||
d8ae7a360d | |||
40898101be | |||
79416b962c | |||
00ee805ed7 | |||
6fb69a56a5 | |||
335559feb3 | |||
a100d20d4d | |||
b2e5c81e4d | |||
8f796e43af | |||
1ef4837abe | |||
d0ab9b82ce | |||
fa3f7f816b | |||
d400e421ce | |||
792c23a7fe |
@ -15,7 +15,8 @@ globals = {
|
||||
"homedecor_doors_and_gates",
|
||||
|
||||
-- mod-deps
|
||||
"armor"
|
||||
"armor",
|
||||
xcompat = {fields = {"player"}},
|
||||
}
|
||||
|
||||
read_globals = {
|
||||
@ -40,4 +41,5 @@ read_globals = {
|
||||
"doors",
|
||||
"i3",
|
||||
"xcompat",
|
||||
"player_monoids"
|
||||
}
|
@ -81,7 +81,7 @@ for _, c in ipairs(bookcolors) do
|
||||
name = "homedecor:book_"..color,
|
||||
param2 = fdir,
|
||||
})
|
||||
local text = itemstack:get_metadata() or ""
|
||||
local text = itemstack:get_meta():get_string("")
|
||||
local meta = minetest.get_meta(pos)
|
||||
local data = minetest.deserialize(text) or {}
|
||||
if type(data) ~= "table" then
|
||||
|
@ -36,11 +36,13 @@ homedecor.register("air_conditioner", {
|
||||
-- fans
|
||||
|
||||
minetest.register_entity(":homedecor:mesh_desk_fan", {
|
||||
collisionbox = homedecor.nodebox.null,
|
||||
visual = "mesh",
|
||||
mesh = "homedecor_desk_fan.b3d",
|
||||
textures = {"homedecor_desk_fan_uv.png"},
|
||||
visual_size = {x=10, y=10},
|
||||
initial_properties = {
|
||||
collisionbox = homedecor.nodebox.null,
|
||||
visual = "mesh",
|
||||
mesh = "homedecor_desk_fan.b3d",
|
||||
textures = {"homedecor_desk_fan_uv.png"},
|
||||
visual_size = {x=10, y=10},
|
||||
}
|
||||
})
|
||||
|
||||
local add_mesh_desk_fan_entity = function(pos)
|
||||
|
@ -61,7 +61,6 @@ dofile(modpath.."/furnaces.lua")
|
||||
dofile(modpath.."/inventory.lua")
|
||||
dofile(modpath.."/registration.lua")
|
||||
dofile(modpath.."/water_particles.lua")
|
||||
dofile(modpath.."/sit.lua")
|
||||
dofile(modpath.."/crafts.lua")
|
||||
|
||||
if minetest.settings:get_bool("log_mod") then
|
||||
|
@ -12,22 +12,7 @@ local default_can_dig = function(pos,player)
|
||||
return meta:get_inventory():is_empty("main")
|
||||
end
|
||||
|
||||
local default_can_interact_with_node = function(player, pos)
|
||||
--if we have default, use it
|
||||
if default then return default.can_interact_with_node(player, pos) end
|
||||
|
||||
local owner = minetest.get_meta(pos):get_string("owner") or ""
|
||||
|
||||
--check that we have a valid player
|
||||
if not player or not player:is_player() then return false end
|
||||
--check there privs for compat with areas
|
||||
if minetest.check_player_privs(player, "protection_bypass") then return true end
|
||||
--if a normal player, check if they are the owner
|
||||
if owner == "" or owner == player:get_player_name() then return true end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
local default_can_interact_with_node = xcompat.functions.can_interact_with_node
|
||||
|
||||
local default_inventory_formspecs = {
|
||||
["4"]="size[8,6]"..
|
||||
|
@ -1,34 +0,0 @@
|
||||
function homedecor.sit(pos, node, clicker)
|
||||
return -- delete it when the engine is stabler for the player's physics
|
||||
--[[
|
||||
local meta = minetest.get_meta(pos)
|
||||
local param2 = node.param2
|
||||
local name = clicker:get_player_name()
|
||||
|
||||
if name == meta:get_string("is_sit") then
|
||||
meta:set_string("is_sit", "")
|
||||
pos.y = pos.y-0.5
|
||||
clicker:setpos(pos)
|
||||
clicker:set_eye_offset({x=0,y=0,z=0}, {x=0,y=0,z=0})
|
||||
clicker:set_physics_override(1, 1, 1)
|
||||
default.player_attached[name] = false
|
||||
default.player_set_animation(clicker, "stand", 30)
|
||||
else
|
||||
meta:set_string("is_sit", clicker:get_player_name())
|
||||
clicker:set_eye_offset({x=0,y=-7,z=2}, {x=0,y=0,z=0})
|
||||
clicker:set_physics_override(0, 0, 0)
|
||||
clicker:setpos(pos)
|
||||
default.player_attached[name] = true
|
||||
default.player_set_animation(clicker, "sit", 30)
|
||||
if param2 == 0 then
|
||||
clicker:set_look_yaw(3.15)
|
||||
elseif param2 == 1 then
|
||||
clicker:set_look_yaw(7.9)
|
||||
elseif param2 == 2 then
|
||||
clicker:set_look_yaw(6.28)
|
||||
elseif param2 == 3 then
|
||||
clicker:set_look_yaw(4.75)
|
||||
else return end
|
||||
end
|
||||
--]]
|
||||
end
|
Binary file not shown.
Before Width: | Height: | Size: 82 B |
@ -231,10 +231,10 @@ for i, g in ipairs(gate_list) do
|
||||
|
||||
if gate == "picket" or gate == "picket_white" then
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_gate_"..gate.."_back.png",
|
||||
"homedecor_gate_"..gate.."_front.png"
|
||||
}
|
||||
@ -410,8 +410,8 @@ minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_half_door_closed 4",
|
||||
recipe = {
|
||||
"doors:homedecor_wood_plain_a",
|
||||
"doors:homedecor_wood_plain_a"
|
||||
"doors:homedecor_wood_plain",
|
||||
"doors:homedecor_wood_plain"
|
||||
},
|
||||
})
|
||||
|
||||
@ -419,8 +419,8 @@ minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_half_door_white_closed 4",
|
||||
recipe = {
|
||||
"doors:homedecor_bedroom_a",
|
||||
"doors:homedecor_bedroom_a"
|
||||
"doors:homedecor_basic_panel",
|
||||
"doors:homedecor_basic_panel"
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -49,8 +49,8 @@ end
|
||||
homedecor.register("fence_picket", {
|
||||
description = S("Unpainted Picket Fence"),
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
@ -85,8 +85,8 @@ homedecor.register("fence_picket", {
|
||||
homedecor.register("fence_picket_corner", {
|
||||
description = S("Unpainted Picket Fence Corner"),
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
@ -113,8 +113,8 @@ homedecor.register("fence_picket_corner", {
|
||||
homedecor.register("fence_picket_white", {
|
||||
description = S("White Picket Fence"),
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
@ -149,8 +149,8 @@ homedecor.register("fence_picket_white", {
|
||||
homedecor.register("fence_picket_corner_white", {
|
||||
description = S("White Picket Fence Corner"),
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"blank.png",
|
||||
"blank.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
|
@ -4,7 +4,7 @@ Refrigerator=Kühlschrank
|
||||
Oven=Backofen
|
||||
Oven (stainless steel)=Backofen (Edelstahl)
|
||||
Microwave Oven=Mikrowelle
|
||||
Dishwasher=Spülmachine
|
||||
Dishwasher=Spülmaschine
|
||||
granite=Granit
|
||||
marble=Marmor
|
||||
steel=Stahl
|
||||
|
@ -795,7 +795,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
|
||||
local gen_ls_tex_yellow = "homedecor_generic_light_source_off.png"
|
||||
if onflag then gen_ls_tex_yellow = "homedecor_generic_light_source_yellow.png" end
|
||||
|
||||
local lighttex = "homedecor_blanktile.png"
|
||||
local lighttex = "blank.png"
|
||||
if onflag then
|
||||
lighttex = {
|
||||
name = "homedecor_plasma_ball_streamers.png",
|
||||
@ -1421,7 +1421,71 @@ minetest.register_lbm({
|
||||
end
|
||||
})
|
||||
|
||||
-- aliases
|
||||
|
||||
minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
|
||||
minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")
|
||||
|
||||
minetest.register_alias("chains:chandelier", "homedecor:chandelier_steel")
|
||||
minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel")
|
||||
minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass")
|
||||
|
||||
minetest.register_alias("homedecor:glowlight_half", "homedecor:glowlight_half_14")
|
||||
minetest.register_alias("homedecor:glowlight_quarter", "homedecor:glowlight_quarter_14")
|
||||
minetest.register_alias("homedecor:glowlight_small_cube", "homedecor:glowlight_small_cube_14")
|
||||
minetest.register_alias("homedecor:plasma_lamp", "homedecor:plasma_lamp_14")
|
||||
minetest.register_alias("homedecor:ground_lantern", "homedecor:ground_lantern_14")
|
||||
minetest.register_alias("homedecor:hanging_lantern", "homedecor:hanging_lantern_14")
|
||||
minetest.register_alias("homedecor:ceiling_lantern", "homedecor:ceiling_lantern_14")
|
||||
minetest.register_alias("homedecor:lattice_lantern_large", "homedecor:lattice_lantern_large_14")
|
||||
minetest.register_alias("homedecor:lattice_lantern_small", "homedecor:lattice_lantern_small_14")
|
||||
minetest.register_alias("homedecor:desk_lamp", "homedecor:desk_lamp_14")
|
||||
minetest.register_alias("homedecor:ceiling_lamp", "homedecor:ceiling_lamp_14")
|
||||
minetest.register_alias("homedecor:table_lamp", "homedecor:table_lamp_14")
|
||||
minetest.register_alias("homedecor:standing_lamp", "homedecor:standing_lamp_14")
|
||||
minetest.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_14")
|
||||
|
||||
minetest.register_alias("3dforniture:torch_wall", "homedecor:torch_wall")
|
||||
minetest.register_alias("torch_wall", "homedecor:torch_wall")
|
||||
|
||||
minetest.register_alias("homedecor:plasma_ball", "homedecor:plasma_ball_on")
|
||||
minetest.register_alias("homedecor:wall_lamp", "homedecor:wall_lamp_on")
|
||||
|
||||
minetest.register_alias("homedecor:rope_light_on_floor_0", "homedecor:rope_light_on_floor_off")
|
||||
minetest.register_alias("homedecor:rope_light_on_floor_14", "homedecor:rope_light_on_floor_on")
|
||||
|
||||
minetest.register_alias("homedecor:rope_light_on_ceiling_0", "homedecor:rope_light_on_ceiling_off")
|
||||
minetest.register_alias("homedecor:rope_light_on_ceiling_14", "homedecor:rope_light_on_ceiling_on")
|
||||
|
||||
for name, level in pairs(word_to_bright) do
|
||||
minetest.register_alias("homedecor:glowlight_half_"..name, "homedecor:glowlight_half_"..level)
|
||||
minetest.register_alias("homedecor:glowlight_quarter_"..name, "homedecor:glowlight_quarter_"..level)
|
||||
minetest.register_alias("homedecor:glowlight_small_cube_"..name, "homedecor:glowlight_small_cube_"..level)
|
||||
minetest.register_alias("homedecor:rope_light_on_floor_"..name, "homedecor:rope_light_on_floor_"..level)
|
||||
minetest.register_alias("homedecor:rope_light_on_ceiling_"..name, "homedecor:rope_light_on_ceiling_"..level)
|
||||
minetest.register_alias("homedecor:plasma_lamp_"..name, "homedecor:plasma_lamp_"..level)
|
||||
minetest.register_alias("homedecor:plasma_ball_"..name, "homedecor:plasma_ball_"..level)
|
||||
minetest.register_alias("homedecor:ground_lantern_"..name, "homedecor:ground_lantern_"..level)
|
||||
minetest.register_alias("homedecor:hanging_lantern_"..name, "homedecor:hanging_lantern_"..level)
|
||||
minetest.register_alias("homedecor:ceiling_lantern_"..name, "homedecor:ceiling_lantern_"..level)
|
||||
minetest.register_alias("homedecor:lattice_lantern_large_"..name, "homedecor:lattice_lantern_large_"..level)
|
||||
minetest.register_alias("homedecor:lattice_lantern_small_"..name, "homedecor:lattice_lantern_small_"..level)
|
||||
minetest.register_alias("homedecor:desk_lamp_"..name, "homedecor:desk_lamp_"..level)
|
||||
minetest.register_alias("homedecor:ceiling_lamp_"..name, "homedecor:ceiling_lamp_"..level)
|
||||
minetest.register_alias("homedecor:table_lamp_"..name, "homedecor:table_lamp_"..level)
|
||||
minetest.register_alias("homedecor:standing_lamp_"..name, "homedecor:standing_lamp_"..level)
|
||||
minetest.register_alias("3dforniture:table_lamp_"..name, "homedecor:table_lamp_"..level)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("darkage") then
|
||||
minetest.register_alias("homedecor:lattice_lantern_large", "darkage:lamp")
|
||||
for n = 0, 14 do
|
||||
minetest.register_alias("homedecor:lattice_lantern_large_"..n, "darkage:lamp")
|
||||
end
|
||||
for name, level in pairs(word_to_bright) do
|
||||
minetest.register_alias("homedecor:lattice_lantern_large_"..name, "darkage:lamp")
|
||||
end
|
||||
end
|
||||
|
||||
-- crafting
|
||||
|
||||
@ -1595,6 +1659,17 @@ end
|
||||
|
||||
-- glowlights
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "homedecor:glowlight_half",
|
||||
palette = "wallmounted",
|
||||
type = "shapeless",
|
||||
neutral_node = "homedecor:glowlight_half",
|
||||
recipe = {
|
||||
"NEUTRAL_NODE",
|
||||
"MAIN_DYE"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:glowlight_half 6",
|
||||
recipe = {
|
||||
@ -1627,10 +1702,10 @@ minetest.register_craft({
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "homedecor:glowlight_half",
|
||||
output = "homedecor:glowlight_quarter",
|
||||
palette = "wallmounted",
|
||||
type = "shapeless",
|
||||
neutral_node = "homedecor:glowlight_half",
|
||||
neutral_node = "homedecor:glowlight_quarter",
|
||||
recipe = {
|
||||
"NEUTRAL_NODE",
|
||||
"MAIN_DYE"
|
||||
@ -1645,10 +1720,10 @@ minetest.register_craft({
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "homedecor:glowlight_quarter",
|
||||
output = "homedecor:glowlight_small_cube",
|
||||
palette = "wallmounted",
|
||||
type = "shapeless",
|
||||
neutral_node = "homedecor:glowlight_quarter",
|
||||
neutral_node = "homedecor:glowlight_small_cube",
|
||||
recipe = {
|
||||
"NEUTRAL_NODE",
|
||||
"MAIN_DYE"
|
||||
@ -1679,17 +1754,6 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "homedecor:glowlight_small_cube",
|
||||
palette = "wallmounted",
|
||||
type = "shapeless",
|
||||
neutral_node = "homedecor:glowlight_small_cube",
|
||||
recipe = {
|
||||
"NEUTRAL_NODE",
|
||||
"MAIN_DYE"
|
||||
}
|
||||
})
|
||||
|
||||
----
|
||||
|
||||
minetest.register_craft({
|
||||
@ -1710,16 +1774,6 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:desk_lamp 2",
|
||||
recipe = {
|
||||
{ "", "default:steel_ingot", "homedecor:glowlight_small_cube" },
|
||||
{ "", "basic_materials:steel_strip", "" },
|
||||
{ "basic_materials:plastic_sheet", "basic_materials:copper_wire", "basic_materials:plastic_sheet" },
|
||||
},
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "homedecor:desk_lamp",
|
||||
palette = "wallmounted",
|
||||
@ -1731,6 +1785,15 @@ unifieddyes.register_color_craft({
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:desk_lamp 2",
|
||||
recipe = {
|
||||
{ "", "default:steel_ingot", "homedecor:glowlight_small_cube" },
|
||||
{ "", "basic_materials:steel_strip", "" },
|
||||
{ "basic_materials:plastic_sheet", "basic_materials:copper_wire", "basic_materials:plastic_sheet" },
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:hanging_lantern 2",
|
||||
recipe = {
|
||||
@ -1791,6 +1854,17 @@ minetest.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "homedecor:standing_lamp_hi",
|
||||
palette = "extended",
|
||||
type = "shapeless",
|
||||
neutral_node = "homedecor:standing_lamp_hi",
|
||||
recipe = {
|
||||
"NEUTRAL_NODE",
|
||||
"MAIN_DYE"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:standing_lamp_hi",
|
||||
recipe = {
|
||||
@ -1801,10 +1875,10 @@ minetest.register_craft({
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "homedecor:standing_lamp_hi",
|
||||
output = "homedecor:table_lamp_hi",
|
||||
palette = "extended",
|
||||
type = "shapeless",
|
||||
neutral_node = "homedecor:standing_lamp_hi",
|
||||
neutral_node = "homedecor:table_lamp_hi",
|
||||
recipe = {
|
||||
"NEUTRAL_NODE",
|
||||
"MAIN_DYE"
|
||||
@ -1853,18 +1927,6 @@ minetest.register_craft({
|
||||
},
|
||||
})
|
||||
|
||||
unifieddyes.register_color_craft({
|
||||
output = "homedecor:table_lamp_hi",
|
||||
palette = "extended",
|
||||
type = "shapeless",
|
||||
neutral_node = "homedecor:table_lamp_hi",
|
||||
recipe = {
|
||||
"NEUTRAL_NODE",
|
||||
"MAIN_DYE"
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:torch_wall 10",
|
||||
recipe = {
|
||||
@ -1872,69 +1934,3 @@ minetest.register_craft({
|
||||
{ "default:steel_ingot" },
|
||||
},
|
||||
})
|
||||
-- aliases
|
||||
|
||||
minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
|
||||
minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")
|
||||
|
||||
minetest.register_alias("chains:chandelier", "homedecor:chandelier_steel")
|
||||
minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel")
|
||||
minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass")
|
||||
|
||||
minetest.register_alias("homedecor:glowlight_half", "homedecor:glowlight_half_14")
|
||||
minetest.register_alias("homedecor:glowlight_quarter", "homedecor:glowlight_quarter_14")
|
||||
minetest.register_alias("homedecor:glowlight_small_cube", "homedecor:glowlight_small_cube_14")
|
||||
minetest.register_alias("homedecor:plasma_lamp", "homedecor:plasma_lamp_14")
|
||||
minetest.register_alias("homedecor:ground_lantern", "homedecor:ground_lantern_14")
|
||||
minetest.register_alias("homedecor:hanging_lantern", "homedecor:hanging_lantern_14")
|
||||
minetest.register_alias("homedecor:ceiling_lantern", "homedecor:ceiling_lantern_14")
|
||||
minetest.register_alias("homedecor:lattice_lantern_large", "homedecor:lattice_lantern_large_14")
|
||||
minetest.register_alias("homedecor:lattice_lantern_small", "homedecor:lattice_lantern_small_14")
|
||||
minetest.register_alias("homedecor:desk_lamp", "homedecor:desk_lamp_14")
|
||||
minetest.register_alias("homedecor:ceiling_lamp", "homedecor:ceiling_lamp_14")
|
||||
minetest.register_alias("homedecor:table_lamp", "homedecor:table_lamp_14")
|
||||
minetest.register_alias("homedecor:standing_lamp", "homedecor:standing_lamp_14")
|
||||
minetest.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_14")
|
||||
|
||||
minetest.register_alias("3dforniture:torch_wall", "homedecor:torch_wall")
|
||||
minetest.register_alias("torch_wall", "homedecor:torch_wall")
|
||||
|
||||
minetest.register_alias("homedecor:plasma_ball", "homedecor:plasma_ball_on")
|
||||
minetest.register_alias("homedecor:wall_lamp", "homedecor:wall_lamp_on")
|
||||
|
||||
minetest.register_alias("homedecor:rope_light_on_floor_0", "homedecor:rope_light_on_floor_off")
|
||||
minetest.register_alias("homedecor:rope_light_on_floor_14", "homedecor:rope_light_on_floor_on")
|
||||
|
||||
minetest.register_alias("homedecor:rope_light_on_ceiling_0", "homedecor:rope_light_on_ceiling_off")
|
||||
minetest.register_alias("homedecor:rope_light_on_ceiling_14", "homedecor:rope_light_on_ceiling_on")
|
||||
|
||||
for name, level in pairs(word_to_bright) do
|
||||
minetest.register_alias("homedecor:glowlight_half_"..name, "homedecor:glowlight_half_"..level)
|
||||
minetest.register_alias("homedecor:glowlight_quarter_"..name, "homedecor:glowlight_quarter_"..level)
|
||||
minetest.register_alias("homedecor:glowlight_small_cube_"..name, "homedecor:glowlight_small_cube_"..level)
|
||||
minetest.register_alias("homedecor:rope_light_on_floor_"..name, "homedecor:rope_light_on_floor_"..level)
|
||||
minetest.register_alias("homedecor:rope_light_on_ceiling_"..name, "homedecor:rope_light_on_ceiling_"..level)
|
||||
minetest.register_alias("homedecor:plasma_lamp_"..name, "homedecor:plasma_lamp_"..level)
|
||||
minetest.register_alias("homedecor:plasma_ball_"..name, "homedecor:plasma_ball_"..level)
|
||||
minetest.register_alias("homedecor:ground_lantern_"..name, "homedecor:ground_lantern_"..level)
|
||||
minetest.register_alias("homedecor:hanging_lantern_"..name, "homedecor:hanging_lantern_"..level)
|
||||
minetest.register_alias("homedecor:ceiling_lantern_"..name, "homedecor:ceiling_lantern_"..level)
|
||||
minetest.register_alias("homedecor:lattice_lantern_large_"..name, "homedecor:lattice_lantern_large_"..level)
|
||||
minetest.register_alias("homedecor:lattice_lantern_small_"..name, "homedecor:lattice_lantern_small_"..level)
|
||||
minetest.register_alias("homedecor:desk_lamp_"..name, "homedecor:desk_lamp_"..level)
|
||||
minetest.register_alias("homedecor:ceiling_lamp_"..name, "homedecor:ceiling_lamp_"..level)
|
||||
minetest.register_alias("homedecor:table_lamp_"..name, "homedecor:table_lamp_"..level)
|
||||
minetest.register_alias("homedecor:standing_lamp_"..name, "homedecor:standing_lamp_"..level)
|
||||
minetest.register_alias("3dforniture:table_lamp_"..name, "homedecor:table_lamp_"..level)
|
||||
end
|
||||
|
||||
if minetest.get_modpath("darkage") then
|
||||
minetest.register_alias("homedecor:lattice_lantern_large", "darkage:lamp")
|
||||
for n = 0, 14 do
|
||||
minetest.register_alias("homedecor:lattice_lantern_large_"..n, "darkage:lamp")
|
||||
end
|
||||
for name, level in pairs(word_to_bright) do
|
||||
minetest.register_alias("homedecor:lattice_lantern_large_"..name, "darkage:lamp")
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -33,7 +33,8 @@ minetest.register_node(":lrfurn:armchair", {
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
homedecor.register("armchair", {
|
||||
@ -59,7 +60,8 @@ homedecor.register("armchair", {
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
-- crafts
|
||||
|
@ -78,10 +78,66 @@ function lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits })
|
||||
end
|
||||
|
||||
local seated_cache = {}
|
||||
|
||||
minetest.register_entity("homedecor_seating:seat", {
|
||||
initial_properties = {
|
||||
visual = "cube",
|
||||
--comment out the following when testing so you can see it
|
||||
textures = {"blank.png", "blank.png", "blank.png", "blank.png", "blank.png", "blank.png"},
|
||||
collisionbox = { -0.01, -0.01, -0.01, 0.01, 0.01, 0.01 },
|
||||
selectionbox = { -0.01, -0.01, -0.01, 0.01, 0.01, 0.01, rotate = false },
|
||||
static_save = false,
|
||||
},
|
||||
on_punch = function(self)
|
||||
self.object:remove()
|
||||
end,
|
||||
})
|
||||
|
||||
--we only care about 4 rotations, but just in case someone worldedits, etc - do something other than crash
|
||||
--radians are stupid, using degrees and then converting
|
||||
local p2r = {
|
||||
0*math.pi/180,
|
||||
0*math.pi/180, --correct
|
||||
180*math.pi/180, --correct
|
||||
90*math.pi/180, --correct
|
||||
270*math.pi/180, --correct
|
||||
0*math.pi/180,
|
||||
0*math.pi/180,
|
||||
0*math.pi/180,
|
||||
}
|
||||
p2r[0] = p2r[1]
|
||||
|
||||
local p2r_sofa = {
|
||||
0*math.pi/180,
|
||||
90*math.pi/180, --correct
|
||||
270*math.pi/180, --correct
|
||||
180*math.pi/180, --correct
|
||||
0*math.pi/180, --correct
|
||||
0*math.pi/180,
|
||||
0*math.pi/180,
|
||||
0*math.pi/180,
|
||||
}
|
||||
p2r_sofa[0] = p2r_sofa[1]
|
||||
|
||||
local p2r_facedir = {
|
||||
[0] = 180*math.pi/180,
|
||||
[1] = 90*math.pi/180,
|
||||
[2] = 0*math.pi/180,
|
||||
[3] = 270*math.pi/180,
|
||||
}
|
||||
|
||||
function lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, seats)
|
||||
if not clicker:is_player() then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local name = clicker:get_player_name()
|
||||
if seated_cache[name] then --already sitting
|
||||
lrfurn.stand(clicker)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
--conversion table for param2 to dir
|
||||
local p2d = {
|
||||
vector.new(0, 0, 0),
|
||||
@ -115,16 +171,63 @@ function lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, seats)
|
||||
if not pstatus then sit_pos = spos end
|
||||
end
|
||||
if not sit_pos then
|
||||
minetest.chat_send_player(clicker:get_player_name(), "sorry, this seat is currently occupied")
|
||||
minetest.chat_send_player(name, "sorry, this seat is currently occupied")
|
||||
return itemstack
|
||||
end
|
||||
|
||||
--seat the player
|
||||
sit_pos.y = sit_pos.y-0.5
|
||||
clicker:set_pos(sit_pos)
|
||||
|
||||
local entity = minetest.add_entity(sit_pos, "homedecor_seating:seat")
|
||||
if not entity then return itemstack end --catch for when the entity fails to spawn just in case
|
||||
|
||||
clicker:set_attach(entity, "", {x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0}, true)
|
||||
local nodedef = minetest.registered_nodes[node.name]
|
||||
if nodedef.paramtype2 == "facedir" then
|
||||
entity:set_rotation({x = 0, y = p2r_facedir[node.param2 % 4], z = 0})
|
||||
elseif string.find(node.name, "sofa") then
|
||||
entity:set_rotation({x = 0, y = p2r_sofa[node.param2 % 8], z = 0})
|
||||
else
|
||||
entity:set_rotation({x = 0, y = p2r[node.param2 % 8], z = 0})
|
||||
end
|
||||
|
||||
xcompat.player.player_attached[name] = true
|
||||
xcompat.player.set_animation(clicker, "sit", 0)
|
||||
seated_cache[name] = minetest.hash_node_position(pos)
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
function lrfurn.stand(clicker)
|
||||
local name = clicker:get_player_name()
|
||||
xcompat.player.player_attached[name] = false
|
||||
if seated_cache[name] then
|
||||
local attached_to = clicker:get_attach()
|
||||
if attached_to then --check, a stupid clearobjects might have been called, etc
|
||||
attached_to:remove() --removing also detaches
|
||||
end
|
||||
seated_cache[name] = nil
|
||||
end
|
||||
end
|
||||
|
||||
function lrfurn.on_seat_destruct(pos) --called when a seat is destroyed
|
||||
for name, seatpos in pairs(seated_cache) do
|
||||
if seatpos == minetest.hash_node_position(pos) then
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player then
|
||||
lrfurn.stand(player)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--if the player gets killed in the seat, handle it
|
||||
minetest.register_on_dieplayer(function(player)
|
||||
if seated_cache[player:get_player_name()] then
|
||||
lrfurn.stand(player)
|
||||
end
|
||||
end)
|
||||
|
||||
dofile(modpath.."/longsofas.lua")
|
||||
dofile(modpath.."/sofas.lua")
|
||||
dofile(modpath.."/armchairs.lua")
|
||||
|
@ -47,7 +47,8 @@ minetest.register_node(":lrfurn:longsofa", {
|
||||
on_dig = unifieddyes.on_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 3)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
|
@ -22,7 +22,8 @@ homedecor.register("deckchair", {
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
minetest.register_alias("homedecor:deckchair_foot", "homedecor:deckchair")
|
||||
@ -42,7 +43,8 @@ homedecor.register("deckchair_striped_blue", {
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
homedecor.register("simple_bench", {
|
||||
@ -62,7 +64,8 @@ homedecor.register("simple_bench", {
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
local bl1_sbox = {
|
||||
@ -154,7 +157,8 @@ homedecor.register("kitchen_chair_wood", {
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
homedecor.register("kitchen_chair_padded", {
|
||||
@ -180,7 +184,8 @@ homedecor.register("kitchen_chair_padded", {
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
local ofchairs_sbox = {
|
||||
@ -219,7 +224,8 @@ for _, c in pairs(chairs) do
|
||||
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 1)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
end
|
||||
|
||||
|
@ -47,7 +47,8 @@ minetest.register_node(":lrfurn:sofa", {
|
||||
on_dig = unifieddyes.on_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
return lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, 2)
|
||||
end
|
||||
end,
|
||||
on_destruct = lrfurn.on_seat_destruct,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
|
@ -74,9 +74,9 @@ for i, mat in ipairs(tabletop_materials) do
|
||||
tiles = {
|
||||
'homedecor_'..m..'_table_'..shape..'.png',
|
||||
'homedecor_'..m..'_table_edges.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
'blank.png',
|
||||
'blank.png',
|
||||
'blank.png',
|
||||
},
|
||||
wield_image = 'homedecor_'..m..'_table_'..shape..'_inv.png',
|
||||
use_texture_alpha = "blend",
|
||||
@ -111,8 +111,8 @@ for i, mat in ipairs(tabletop_materials) do
|
||||
description = string.format("%s %s table with %s legs", shape, m, leg_mat),
|
||||
mesh = "homedecor_table_"..shape..".obj",
|
||||
tiles = {
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
'blank.png',
|
||||
'blank.png',
|
||||
'homedecor_'..m..'_table_'..shape..'.png',
|
||||
'homedecor_'..m..'_table_edges.png',
|
||||
"homedecor_table_legs_"..leg_mat..".png",
|
||||
|
@ -4,12 +4,14 @@ local tmp = {}
|
||||
local sd_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
|
||||
|
||||
minetest.register_entity("itemframes:item",{
|
||||
hp_max = 1,
|
||||
visual="wielditem",
|
||||
visual_size={x = 0.33, y = 0.33},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
physical = false,
|
||||
textures = {"air"},
|
||||
initial_properties = {
|
||||
hp_max = 1,
|
||||
visual = "wielditem",
|
||||
visual_size = {x = 0.33, y = 0.33},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
physical = false,
|
||||
textures = {"air"},
|
||||
},
|
||||
on_activate = function(self, staticdata)
|
||||
if tmp.nodename ~= nil and tmp.texture ~= nil then
|
||||
self.nodename = tmp.nodename
|
||||
|
Reference in New Issue
Block a user