forked from mtcontrib/homedecor_modpack
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@ -20,6 +20,7 @@ minetest.register_node(":lrfurn:armchair", {
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
inventory_image = "lrfurn_armchair_inv.png",
|
||||
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
@ -39,9 +40,9 @@ homedecor.register("armchair", {
|
||||
description = S("Armchair"),
|
||||
mesh = "forniture_armchair.obj",
|
||||
tiles = {
|
||||
homedecor.textures.wool_white,
|
||||
{ name = homedecor.textures.wool_dark_grey, color = 0xffffffff },
|
||||
{ name = homedecor.textures.default_wood, color = 0xffffffff }
|
||||
homedecor.textures.wool.white,
|
||||
{ name = homedecor.textures.wool.dark_grey, color = 0xffffffff },
|
||||
{ name = homedecor.textures.wood.apple.planks, color = 0xffffffff }
|
||||
},
|
||||
inventory_image = "homedecor_armchair_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
|
@ -78,10 +78,18 @@ function lrfurn.fix_sofa_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
minetest.swap_node(pos, { name = node.name, param2 = fdir+colorbits })
|
||||
end
|
||||
|
||||
local physics_cache = {}
|
||||
|
||||
function lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, seats)
|
||||
if not clicker:is_player() then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
if physics_cache[clicker:get_player_name()] then
|
||||
lrfurn.stand(clicker)
|
||||
return itemstack
|
||||
end
|
||||
|
||||
--conversion table for param2 to dir
|
||||
local p2d = {
|
||||
vector.new(0, 0, 0),
|
||||
@ -120,11 +128,26 @@ function lrfurn.sit(pos, node, clicker, itemstack, pointed_thing, seats)
|
||||
end
|
||||
|
||||
--seat the player
|
||||
sit_pos.y = sit_pos.y-0.5
|
||||
clicker:set_pos(sit_pos)
|
||||
|
||||
xcompat.player.player_attached[clicker:get_player_name()] = true
|
||||
xcompat.player.set_animation(clicker, "sit", 0)
|
||||
physics_cache[clicker:get_player_name()] = table.copy(clicker:get_physics_override())
|
||||
clicker:set_physics_override({speed = 0, jump = 0, gravity = 0})
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
function lrfurn.stand(clicker)
|
||||
xcompat.player.player_attached[clicker:get_player_name()] = false
|
||||
if physics_cache[clicker:get_player_name()] then
|
||||
clicker:set_physics_override(physics_cache[clicker:get_player_name()])
|
||||
physics_cache[clicker:get_player_name()] = nil
|
||||
else --in case this is called and the cache is empty
|
||||
clicker:set_physics_override({speed = 1, jump = 1, gravity = 1})
|
||||
end
|
||||
end
|
||||
|
||||
dofile(modpath.."/longsofas.lua")
|
||||
dofile(modpath.."/sofas.lua")
|
||||
dofile(modpath.."/armchairs.lua")
|
||||
|
@ -19,6 +19,7 @@ minetest.register_node(":lrfurn:longsofa", {
|
||||
inventory_image = "lrfurn_longsofa_inv.png",
|
||||
wield_scale = { x = 0.6, y = 0.6, z = 0.6 },
|
||||
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
|
@ -162,7 +162,7 @@ homedecor.register("kitchen_chair_padded", {
|
||||
mesh = "homedecor_kitchen_chair.obj",
|
||||
tiles = {
|
||||
homedecor.plain_wood,
|
||||
homedecor.textures.wool_white,
|
||||
homedecor.textures.wool.white,
|
||||
},
|
||||
inventory_image = "homedecor_chair_padded_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
|
@ -19,6 +19,7 @@ minetest.register_node(":lrfurn:sofa", {
|
||||
inventory_image = "lrfurn_sofa_inv.png",
|
||||
wield_scale = { x = 0.6, y = 0.6, z = 0.6 },
|
||||
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
|
||||
is_ground_content = false,
|
||||
_mcl_hardness=1.6,
|
||||
_sound_def = {
|
||||
key = "node_sound_wood_defaults",
|
||||
|
Reference in New Issue
Block a user