gloopblocks, homedecor, ilights, led marquee, plasticbox, solidcolor, stained_glass, unified bricks, and unified dyes In most of these, the update is to shift over to the new "old" coloring paradigm in Unified Dyes. See its forum thread for details.
75 lines
2.0 KiB
Lua
75 lines
2.0 KiB
Lua
|
|
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(minetest.get_modpath("lrfurn").."/longsofas.lua")
|
|
dofile(minetest.get_modpath("lrfurn").."/sofas.lua")
|
|
dofile(minetest.get_modpath("lrfurn").."/armchairs.lua")
|
|
dofile(minetest.get_modpath("lrfurn").."/coffeetable.lua")
|
|
dofile(minetest.get_modpath("lrfurn").."/endtable.lua")
|