mirror of
https://github.com/mt-mods/homedecor_modpack.git
synced 2025-07-16 20:50:22 +02:00
Refactor tables and seating
move lrfurn tables to homedecor_tables create new mod: homedecor_seating move lrfurn chair, sofas, and all types of homedecor chairs, benches, etc. that I could think of, whether intended for exterior or interior use, to that new mod. (except tree swing :P ) lrfurn was left empty after this, so deleted.
This commit is contained in:
78
homedecor_seating/init.lua
Normal file
78
homedecor_seating/init.lua
Normal file
@ -0,0 +1,78 @@
|
||||
-- Home decor seating
|
||||
-- forked from the previous lrfurn mod
|
||||
|
||||
local S = homedecor.gettext
|
||||
local modpath = minetest.get_modpath("homedecor_seating")
|
||||
|
||||
lrfurn = {}
|
||||
screwdriver = screwdriver or {}
|
||||
|
||||
lrfurn.fdir_to_right = {
|
||||
{ 1, 0 },
|
||||
{ 0, -1 },
|
||||
{ -1, 0 },
|
||||
{ 0, 1 },
|
||||
}
|
||||
|
||||
lrfurn.colors = {
|
||||
"black",
|
||||
"brown",
|
||||
"blue",
|
||||
"cyan",
|
||||
"dark_grey",
|
||||
"dark_green",
|
||||
"green",
|
||||
"grey",
|
||||
"magenta",
|
||||
"orange",
|
||||
"pink",
|
||||
"red",
|
||||
"violet",
|
||||
"white",
|
||||
"yellow",
|
||||
}
|
||||
|
||||
function lrfurn.check_right(pos, fdir, long, placer)
|
||||
if not fdir or fdir > 3 then fdir = 0 end
|
||||
|
||||
local pos2 = { x = pos.x + lrfurn.fdir_to_right[fdir+1][1], y=pos.y, z = pos.z + lrfurn.fdir_to_right[fdir+1][2] }
|
||||
local pos3 = { x = pos.x + lrfurn.fdir_to_right[fdir+1][1] * 2, y=pos.y, z = pos.z + lrfurn.fdir_to_right[fdir+1][2] * 2 }
|
||||
|
||||
local node2 = minetest.get_node(pos2)
|
||||
if node2 and node2.name ~= "air" then
|
||||
return false
|
||||
elseif minetest.is_protected(pos2, placer:get_player_name()) then
|
||||
if not long then
|
||||
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where other end goes!"))
|
||||
else
|
||||
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the middle or far end goes!"))
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
if long then
|
||||
local node3 = minetest.get_node(pos3)
|
||||
if node3 and node3.name ~= "air" then
|
||||
return false
|
||||
elseif minetest.is_protected(pos3, placer:get_player_name()) then
|
||||
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
function lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
local node = minetest.get_node(pos)
|
||||
local colorbits = node.param2 - (node.param2 % 8)
|
||||
local yaw = placer:get_look_yaw()
|
||||
local dir = minetest.yaw_to_dir(yaw-1.5)
|
||||
local fdir = minetest.dir_to_wallmounted(dir)
|
||||
minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits })
|
||||
end
|
||||
|
||||
dofile(modpath.."/longsofas.lua")
|
||||
dofile(modpath.."/sofas.lua")
|
||||
dofile(modpath.."/armchairs.lua")
|
||||
dofile(modpath.."/misc.lua")
|
Reference in New Issue
Block a user