ikea_restaurant, ikea_player - add basic hunger
parent
111a531768
commit
f923c3ee4b
|
@ -1,5 +1,8 @@
|
|||
local player_data = {}
|
||||
|
||||
-- Settings --
|
||||
local hunger_max = 5
|
||||
|
||||
-- Player Setup --
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
-- Initialize Data --
|
||||
|
@ -54,6 +57,7 @@ end)
|
|||
-- Player Updates --
|
||||
local timer = 0
|
||||
local hp_timer = 0
|
||||
local hunger_timer = 0
|
||||
|
||||
minetest.register_globalstep(function(dtime)
|
||||
timer = timer + dtime
|
||||
|
@ -68,19 +72,32 @@ minetest.register_globalstep(function(dtime)
|
|||
local name = player:get_player_name()
|
||||
local data = player_data[name]
|
||||
local props = player:get_properties()
|
||||
local meta = player:get_meta()
|
||||
local hp = player:get_hp()
|
||||
local hunger = meta:get_int("ikea_hunger")
|
||||
|
||||
-- Hunger Over Time --
|
||||
hunger_timer = hunger_timer + dtime
|
||||
if (hunger_timer > 60) and (hunger < hunger_max) then
|
||||
hunger = hunger + 1
|
||||
hunger_timer = 0
|
||||
end
|
||||
|
||||
-- Healing Over Time --
|
||||
hp_timer = hp_timer + dtime
|
||||
if (hp_timer > 1) and (hp < props.hp_max) then
|
||||
if (hp_timer > 1) and (hp < props.hp_max - hunger) then
|
||||
hp = hp + 1
|
||||
hp_timer = 0
|
||||
end
|
||||
|
||||
-- Satus Vignette --
|
||||
if not data.hp_last or (hp ~= data.hp_last) then
|
||||
local vign_texture = "(ikea_player_vignette.png^[multiply:#5c3d41)^[opacity:"
|
||||
.. tostring((1 - (hp / props.hp_max)) * 255)
|
||||
local vign_texture = table.concat{
|
||||
"(ikea_player_vignette.png^[multiply:",
|
||||
(hp >= (props.hp_max - hunger)) and "#000000" or "#5c3d41",
|
||||
")^[opacity:",
|
||||
tostring((1 - (hp / props.hp_max)) * 255),
|
||||
}
|
||||
|
||||
if not data.vign_id then
|
||||
error("Player Vignette ID Not Set!")
|
||||
|
@ -91,6 +108,7 @@ minetest.register_globalstep(function(dtime)
|
|||
end
|
||||
|
||||
player:set_hp(hp)
|
||||
meta:set_int("ikea_hunger", hunger)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
|
|
@ -33,6 +33,7 @@ local c_ceiling_decor = get_content_id("ikea_restaurant:ceiling_decor")
|
|||
local c_seperator_x = get_content_id("ikea_restaurant:seperator_x")
|
||||
local c_seperator_z = get_content_id("ikea_restaurant:seperator_z")
|
||||
local c_table_and_chairs = get_content_id("ikea_restaurant:table_and_chairs")
|
||||
local c_table_filler = get_content_id("ikea_restaurant:table_filler")
|
||||
local c_kitchen_wall = get_content_id("ikea_restaurant:kitchen_wall")
|
||||
local c_kitchen_food_dish = get_content_id("ikea_restaurant:kitchen_food_dish")
|
||||
|
||||
|
@ -127,14 +128,39 @@ ikea_mapgen.register_department({
|
|||
-- Tables and Chairs --
|
||||
if section_edges.e then
|
||||
data[va:index(x2_max - 1, 1, z2_max - 3)] = c_table_and_chairs
|
||||
data[va:index(x2_max - 2, 1, z2_max - 3)] = c_table_filler
|
||||
data[va:index(x2_max - 1, 1, z2_max - 4)] = c_table_filler
|
||||
param2s[va:index(x2_max - 1, 1, z2_max - 4)] = 2
|
||||
data[va:index(x2_max - 2, 1, z2_max - 4)] = c_table_filler
|
||||
param2s[va:index(x2_max - 2, 1, z2_max - 4)] = 2
|
||||
|
||||
data[va:index(x2_max - 3, 1, z2_max - 3)] = c_seperator_z
|
||||
data[va:index(x2_max - 3, 1, z2_max - 4)] = c_seperator_z
|
||||
|
||||
data[va:index(x2_max - 4, 1, z2_max - 3)] = c_table_and_chairs
|
||||
data[va:index(x2_max - 5, 1, z2_max - 3)] = c_table_filler
|
||||
data[va:index(x2_max - 4, 1, z2_max - 4)] = c_table_filler
|
||||
param2s[va:index(x2_max - 4, 1, z2_max - 4)] = 2
|
||||
data[va:index(x2_max - 5, 1, z2_max - 4)] = c_table_filler
|
||||
param2s[va:index(x2_max - 5, 1, z2_max - 4)] = 2
|
||||
elseif section_edges.w then
|
||||
data[va:index(x2 + 2, 1, z2_max - 3)] = c_table_and_chairs
|
||||
data[va:index(x2 + 1, 1, z2_max - 3)] = c_table_filler
|
||||
data[va:index(x2 + 1, 1, z2_max - 4)] = c_table_filler
|
||||
param2s[va:index(x2 + 1, 1, z2_max - 4)] = 2
|
||||
data[va:index(x2 + 2, 1, z2_max - 4)] = c_table_filler
|
||||
param2s[va:index(x2 + 2, 1, z2_max - 4)] = 2
|
||||
|
||||
data[va:index(x2 + 3, 1, z2_max - 3)] = c_seperator_z
|
||||
data[va:index(x2 + 3, 1, z2_max - 4)] = c_seperator_z
|
||||
|
||||
data[va:index(x2 + 5, 1, z2_max - 3)] = c_table_and_chairs
|
||||
data[va:index(x2 + 4, 1, z2_max - 3)] = c_table_filler
|
||||
data[va:index(x2 + 4, 1, z2_max - 4)] = c_table_filler
|
||||
param2s[va:index(x2 + 4, 1, z2_max - 4)] = 2
|
||||
data[va:index(x2 + 5, 1, z2_max - 4)] = c_table_filler
|
||||
param2s[va:index(x2 + 5, 1, z2_max - 4)] = 2
|
||||
|
||||
end
|
||||
elseif section <= 3 then
|
||||
-- Kitchen --
|
||||
|
|
|
@ -0,0 +1,400 @@
|
|||
# Blender v3.0.0 OBJ File: 'ikea_restaurant_plate.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.002
|
||||
v 0.375000 -0.437500 -0.250000
|
||||
v 0.375000 -0.375000 -0.250000
|
||||
v 0.375000 -0.437500 0.250000
|
||||
v 0.375000 -0.375000 0.250000
|
||||
v 0.250000 -0.437500 -0.250000
|
||||
v 0.250000 -0.375000 -0.250000
|
||||
v 0.250000 -0.437500 0.250000
|
||||
v 0.250000 -0.375000 0.250000
|
||||
v 0.250000 -0.500000 -0.250000
|
||||
v 0.250000 -0.437500 -0.250000
|
||||
v 0.250000 -0.500000 0.250000
|
||||
v 0.250000 -0.437500 0.250000
|
||||
v -0.250000 -0.500000 -0.250000
|
||||
v -0.250000 -0.437500 -0.250000
|
||||
v -0.250000 -0.500000 0.250000
|
||||
v -0.250000 -0.437500 0.250000
|
||||
v -0.250000 -0.437500 -0.250000
|
||||
v -0.250000 -0.375000 -0.250000
|
||||
v -0.250000 -0.437500 0.250000
|
||||
v -0.250000 -0.375000 0.250000
|
||||
v -0.375000 -0.437500 -0.250000
|
||||
v -0.375000 -0.375000 -0.250000
|
||||
v -0.375000 -0.437500 0.250000
|
||||
v -0.375000 -0.375000 0.250000
|
||||
v -0.250000 -0.437500 -0.375000
|
||||
v -0.250000 -0.375000 -0.375000
|
||||
v 0.250000 -0.437500 -0.375000
|
||||
v 0.250000 -0.375000 -0.375000
|
||||
v -0.250000 -0.437500 -0.250000
|
||||
v -0.250000 -0.375000 -0.250000
|
||||
v 0.250000 -0.437500 -0.250000
|
||||
v 0.250000 -0.375000 -0.250000
|
||||
v -0.250000 -0.437500 0.250000
|
||||
v -0.250000 -0.375000 0.250000
|
||||
v 0.250000 -0.437500 0.250000
|
||||
v 0.250000 -0.375000 0.250000
|
||||
v -0.250000 -0.437500 0.375000
|
||||
v -0.250000 -0.375000 0.375000
|
||||
v 0.250000 -0.437500 0.375000
|
||||
v 0.250000 -0.375000 0.375000
|
||||
v -0.250000 -0.437500 -0.312500
|
||||
v -0.250000 -0.375000 -0.312500
|
||||
v -0.250000 -0.437500 -0.250000
|
||||
v -0.250000 -0.375000 -0.250000
|
||||
v -0.312500 -0.437500 -0.312500
|
||||
v -0.312500 -0.375000 -0.312500
|
||||
v -0.312500 -0.437500 -0.250000
|
||||
v -0.312500 -0.375000 -0.250000
|
||||
v -0.250000 -0.437500 0.250000
|
||||
v -0.250000 -0.375000 0.250000
|
||||
v -0.250000 -0.437500 0.312500
|
||||
v -0.250000 -0.375000 0.312500
|
||||
v -0.312500 -0.437500 0.250000
|
||||
v -0.312500 -0.375000 0.250000
|
||||
v -0.312500 -0.437500 0.312500
|
||||
v -0.312500 -0.375000 0.312500
|
||||
v 0.312500 -0.437500 0.250000
|
||||
v 0.312500 -0.375000 0.250000
|
||||
v 0.312500 -0.437500 0.312500
|
||||
v 0.312500 -0.375000 0.312500
|
||||
v 0.250000 -0.437500 0.250000
|
||||
v 0.250000 -0.375000 0.250000
|
||||
v 0.250000 -0.437500 0.312500
|
||||
v 0.250000 -0.375000 0.312500
|
||||
v 0.312500 -0.437500 -0.312500
|
||||
v 0.312500 -0.375000 -0.312500
|
||||
v 0.312500 -0.437500 -0.250000
|
||||
v 0.312500 -0.375000 -0.250000
|
||||
v 0.250000 -0.437500 -0.312500
|
||||
v 0.250000 -0.375000 -0.312500
|
||||
v 0.250000 -0.437500 -0.250000
|
||||
v 0.250000 -0.375000 -0.250000
|
||||
v -0.187500 -0.437500 -0.250000
|
||||
v -0.187500 -0.375000 -0.250000
|
||||
v -0.187500 -0.437500 -0.187500
|
||||
v -0.187500 -0.375000 -0.187500
|
||||
v -0.250000 -0.375000 -0.250000
|
||||
v -0.250000 -0.437500 -0.187500
|
||||
v -0.250000 -0.375000 -0.187500
|
||||
v 0.250000 -0.375000 -0.250000
|
||||
v 0.250000 -0.437500 -0.187500
|
||||
v 0.250000 -0.375000 -0.187500
|
||||
v 0.187500 -0.437500 -0.250000
|
||||
v 0.187500 -0.375000 -0.250000
|
||||
v 0.187500 -0.437500 -0.187500
|
||||
v 0.187500 -0.375000 -0.187500
|
||||
v 0.250000 -0.437500 0.187500
|
||||
v 0.250000 -0.375000 0.187500
|
||||
v 0.250000 -0.375000 0.250000
|
||||
v 0.187500 -0.437500 0.187500
|
||||
v 0.187500 -0.375000 0.187500
|
||||
v 0.187500 -0.437500 0.250000
|
||||
v 0.187500 -0.375000 0.250000
|
||||
v -0.187500 -0.437500 0.187500
|
||||
v -0.187500 -0.375000 0.187500
|
||||
v -0.187500 -0.437500 0.250000
|
||||
v -0.187500 -0.375000 0.250000
|
||||
v -0.250000 -0.437500 0.187500
|
||||
v -0.250000 -0.375000 0.187500
|
||||
v -0.250000 -0.375000 0.250000
|
||||
vt 0.718750 0.312500
|
||||
vt 0.718750 0.343750
|
||||
vt 0.468750 0.343750
|
||||
vt 0.468750 0.312500
|
||||
vt 0.781250 0.218750
|
||||
vt 0.781250 0.250000
|
||||
vt 0.718750 0.250000
|
||||
vt 0.718750 0.218750
|
||||
vt 0.718750 0.562500
|
||||
vt 0.718750 0.593750
|
||||
vt 0.468750 0.593750
|
||||
vt 0.468750 0.562500
|
||||
vt 0.468750 0.031250
|
||||
vt 0.468750 0.062500
|
||||
vt 0.406250 0.062500
|
||||
vt 0.406250 0.031250
|
||||
vt 0.000000 0.468750
|
||||
vt 0.062500 0.468750
|
||||
vt 0.062500 0.718750
|
||||
vt 0.000000 0.718750
|
||||
vt 0.062500 0.312500
|
||||
vt 0.000000 0.312500
|
||||
vt 0.000000 0.062500
|
||||
vt 0.062500 0.062500
|
||||
vt 0.718750 0.281250
|
||||
vt 0.718750 0.312500
|
||||
vt 0.468750 0.312500
|
||||
vt 0.468750 0.281250
|
||||
vt 0.718750 0.187500
|
||||
vt 0.718750 0.218750
|
||||
vt 0.468750 0.218750
|
||||
vt 0.468750 0.187500
|
||||
vt 0.718750 0.093750
|
||||
vt 0.718750 0.125000
|
||||
vt 0.468750 0.125000
|
||||
vt 0.468750 0.093750
|
||||
vt 0.718750 0.000000
|
||||
vt 0.718750 0.031250
|
||||
vt 0.468750 0.031250
|
||||
vt 0.468750 0.000000
|
||||
vt 0.062500 0.468750
|
||||
vt 0.312500 0.468750
|
||||
vt 0.312500 0.718750
|
||||
vt 0.062500 0.718750
|
||||
vt 0.312500 0.312500
|
||||
vt 0.062500 0.312500
|
||||
vt 0.062500 0.062500
|
||||
vt 0.312500 0.062500
|
||||
vt 0.718750 0.437500
|
||||
vt 0.718750 0.468750
|
||||
vt 0.468750 0.468750
|
||||
vt 0.468750 0.437500
|
||||
vt 0.468750 0.218750
|
||||
vt 0.468750 0.250000
|
||||
vt 0.406250 0.250000
|
||||
vt 0.406250 0.218750
|
||||
vt 0.718750 0.125000
|
||||
vt 0.718750 0.156250
|
||||
vt 0.468750 0.156250
|
||||
vt 0.468750 0.125000
|
||||
vt 0.781250 0.031250
|
||||
vt 0.781250 0.062500
|
||||
vt 0.718750 0.062500
|
||||
vt 0.718750 0.031250
|
||||
vt 0.312500 0.468750
|
||||
vt 0.375000 0.468750
|
||||
vt 0.375000 0.718750
|
||||
vt 0.312500 0.718750
|
||||
vt 0.375000 0.312500
|
||||
vt 0.312500 0.312500
|
||||
vt 0.312500 0.062500
|
||||
vt 0.375000 0.062500
|
||||
vt 0.718750 0.031250
|
||||
vt 0.718750 0.062500
|
||||
vt 0.468750 0.062500
|
||||
vt 0.468750 0.031250
|
||||
vt 0.781250 0.312500
|
||||
vt 0.781250 0.343750
|
||||
vt 0.718750 0.343750
|
||||
vt 0.718750 0.312500
|
||||
vt 0.718750 0.375000
|
||||
vt 0.718750 0.406250
|
||||
vt 0.468750 0.406250
|
||||
vt 0.468750 0.375000
|
||||
vt 0.468750 0.125000
|
||||
vt 0.468750 0.156250
|
||||
vt 0.406250 0.156250
|
||||
vt 0.406250 0.125000
|
||||
vt 0.062500 0.781250
|
||||
vt 0.062500 0.718750
|
||||
vt 0.312500 0.718750
|
||||
vt 0.312500 0.781250
|
||||
vt 0.062500 0.062500
|
||||
vt 0.062500 0.000000
|
||||
vt 0.312500 0.000000
|
||||
vt 0.312500 0.062500
|
||||
vt 0.718750 0.500000
|
||||
vt 0.718750 0.531250
|
||||
vt 0.468750 0.531250
|
||||
vt 0.468750 0.500000
|
||||
vt 0.468750 0.312500
|
||||
vt 0.468750 0.343750
|
||||
vt 0.406250 0.343750
|
||||
vt 0.406250 0.312500
|
||||
vt 0.718750 0.218750
|
||||
vt 0.718750 0.250000
|
||||
vt 0.468750 0.250000
|
||||
vt 0.468750 0.218750
|
||||
vt 0.781250 0.125000
|
||||
vt 0.781250 0.156250
|
||||
vt 0.718750 0.156250
|
||||
vt 0.718750 0.125000
|
||||
vt 0.062500 0.468750
|
||||
vt 0.062500 0.406250
|
||||
vt 0.312500 0.406250
|
||||
vt 0.312500 0.468750
|
||||
vt 0.062500 0.375000
|
||||
vt 0.062500 0.312500
|
||||
vt 0.312500 0.312500
|
||||
vt 0.312500 0.375000
|
||||
vt 0.468750 0.125000
|
||||
vt 0.468750 0.156250
|
||||
vt 0.437500 0.156250
|
||||
vt 0.437500 0.125000
|
||||
vt 0.750000 0.031250
|
||||
vt 0.750000 0.062500
|
||||
vt 0.718750 0.062500
|
||||
vt 0.718750 0.031250
|
||||
vt 0.312500 0.718750
|
||||
vt 0.343750 0.718750
|
||||
vt 0.343750 0.750000
|
||||
vt 0.312500 0.750000
|
||||
vt 0.343750 0.062500
|
||||
vt 0.312500 0.062500
|
||||
vt 0.312500 0.031250
|
||||
vt 0.343750 0.031250
|
||||
vt 0.468750 0.218750
|
||||
vt 0.468750 0.250000
|
||||
vt 0.437500 0.250000
|
||||
vt 0.437500 0.218750
|
||||
vt 0.750000 0.125000
|
||||
vt 0.750000 0.156250
|
||||
vt 0.718750 0.156250
|
||||
vt 0.718750 0.125000
|
||||
vt 0.312500 0.437500
|
||||
vt 0.343750 0.437500
|
||||
vt 0.343750 0.468750
|
||||
vt 0.312500 0.468750
|
||||
vt 0.343750 0.343750
|
||||
vt 0.312500 0.343750
|
||||
vt 0.312500 0.312500
|
||||
vt 0.343750 0.312500
|
||||
vt 0.468750 0.312500
|
||||
vt 0.468750 0.343750
|
||||
vt 0.437500 0.343750
|
||||
vt 0.437500 0.312500
|
||||
vt 0.750000 0.218750
|
||||
vt 0.750000 0.250000
|
||||
vt 0.718750 0.250000
|
||||
vt 0.718750 0.218750
|
||||
vt 0.031250 0.437500
|
||||
vt 0.062500 0.437500
|
||||
vt 0.062500 0.468750
|
||||
vt 0.031250 0.468750
|
||||
vt 0.062500 0.343750
|
||||
vt 0.031250 0.343750
|
||||
vt 0.031250 0.312500
|
||||
vt 0.062500 0.312500
|
||||
vt 0.750000 0.312500
|
||||
vt 0.750000 0.343750
|
||||
vt 0.718750 0.343750
|
||||
vt 0.718750 0.312500
|
||||
vt 0.468750 0.031250
|
||||
vt 0.468750 0.062500
|
||||
vt 0.437500 0.062500
|
||||
vt 0.437500 0.031250
|
||||
vt 0.031250 0.718750
|
||||
vt 0.062500 0.718750
|
||||
vt 0.062500 0.750000
|
||||
vt 0.031250 0.750000
|
||||
vt 0.062500 0.062500
|
||||
vt 0.031250 0.062500
|
||||
vt 0.031250 0.031250
|
||||
vt 0.062500 0.031250
|
||||
vt 0.718750 0.437500
|
||||
vt 0.718750 0.468750
|
||||
vt 0.687500 0.468750
|
||||
vt 0.687500 0.437500
|
||||
vt 0.500000 0.375000
|
||||
vt 0.500000 0.406250
|
||||
vt 0.468750 0.406250
|
||||
vt 0.468750 0.375000
|
||||
vt 0.312500 0.093750
|
||||
vt 0.281250 0.093750
|
||||
vt 0.281250 0.062500
|
||||
vt 0.312500 0.062500
|
||||
vt 0.718750 0.375000
|
||||
vt 0.718750 0.406250
|
||||
vt 0.687500 0.406250
|
||||
vt 0.687500 0.375000
|
||||
vt 0.500000 0.562500
|
||||
vt 0.500000 0.593750
|
||||
vt 0.468750 0.593750
|
||||
vt 0.468750 0.562500
|
||||
vt 0.093750 0.093750
|
||||
vt 0.062500 0.093750
|
||||
vt 0.062500 0.062500
|
||||
vt 0.093750 0.062500
|
||||
vt 0.718750 0.562500
|
||||
vt 0.718750 0.593750
|
||||
vt 0.687500 0.593750
|
||||
vt 0.687500 0.562500
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 0.531250
|
||||
vt 0.468750 0.531250
|
||||
vt 0.468750 0.500000
|
||||
vt 0.093750 0.312500
|
||||
vt 0.062500 0.312500
|
||||
vt 0.062500 0.281250
|
||||
vt 0.093750 0.281250
|
||||
vt 0.500000 0.437500
|
||||
vt 0.500000 0.468750
|
||||
vt 0.468750 0.468750
|
||||
vt 0.468750 0.437500
|
||||
vt 0.718750 0.500000
|
||||
vt 0.718750 0.531250
|
||||
vt 0.687500 0.531250
|
||||
vt 0.687500 0.500000
|
||||
vt 0.312500 0.312500
|
||||
vt 0.281250 0.312500
|
||||
vt 0.281250 0.281250
|
||||
vt 0.312500 0.281250
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 3/5/2 4/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/13/4 6/14/4 2/15/4 1/16/4
|
||||
f 3/17/5 7/18/5 5/19/5 1/20/5
|
||||
f 8/21/6 4/22/6 2/23/6 6/24/6
|
||||
f 9/25/1 10/26/1 12/27/1 11/28/1
|
||||
f 11/29/2 12/30/2 16/31/2 15/32/2
|
||||
f 15/33/3 16/34/3 14/35/3 13/36/3
|
||||
f 13/37/4 14/38/4 10/39/4 9/40/4
|
||||
f 11/41/5 15/42/5 13/43/5 9/44/5
|
||||
f 16/45/6 12/46/6 10/47/6 14/48/6
|
||||
f 17/49/1 18/50/1 20/51/1 19/52/1
|
||||
f 19/53/2 20/54/2 24/55/2 23/56/2
|
||||
f 23/57/3 24/58/3 22/59/3 21/60/3
|
||||
f 21/61/4 22/62/4 18/63/4 17/64/4
|
||||
f 19/65/5 23/66/5 21/67/5 17/68/5
|
||||
f 24/69/6 20/70/6 18/71/6 22/72/6
|
||||
f 25/73/4 26/74/4 28/75/4 27/76/4
|
||||
f 27/77/1 28/78/1 32/79/1 31/80/1
|
||||
f 31/81/2 32/82/2 30/83/2 29/84/2
|
||||
f 29/85/3 30/86/3 26/87/3 25/88/3
|
||||
f 27/89/5 31/90/5 29/91/5 25/92/5
|
||||
f 32/93/6 28/94/6 26/95/6 30/96/6
|
||||
f 33/97/4 34/98/4 36/99/4 35/100/4
|
||||
f 35/101/1 36/102/1 40/103/1 39/104/1
|
||||
f 39/105/2 40/106/2 38/107/2 37/108/2
|
||||
f 37/109/3 38/110/3 34/111/3 33/112/3
|
||||
f 35/113/5 39/114/5 37/115/5 33/116/5
|
||||
f 40/117/6 36/118/6 34/119/6 38/120/6
|
||||
f 47/121/3 48/122/3 46/123/3 45/124/3
|
||||
f 45/125/4 46/126/4 42/127/4 41/128/4
|
||||
f 43/129/5 47/130/5 45/131/5 41/132/5
|
||||
f 48/133/6 44/134/6 42/135/6 46/136/6
|
||||
f 51/137/2 52/138/2 56/139/2 55/140/2
|
||||
f 55/141/3 56/142/3 54/143/3 53/144/3
|
||||
f 51/145/5 55/146/5 53/147/5 49/148/5
|
||||
f 56/149/6 52/150/6 50/151/6 54/152/6
|
||||
f 57/153/1 58/154/1 60/155/1 59/156/1
|
||||
f 59/157/2 60/158/2 64/159/2 63/160/2
|
||||
f 59/161/5 63/162/5 61/163/5 57/164/5
|
||||
f 64/165/6 60/166/6 58/167/6 62/168/6
|
||||
f 65/169/1 66/170/1 68/171/1 67/172/1
|
||||
f 69/173/4 70/174/4 66/175/4 65/176/4
|
||||
f 67/177/5 71/178/5 69/179/5 65/180/5
|
||||
f 72/181/6 68/182/6 66/183/6 70/184/6
|
||||
f 73/185/1 74/186/1 76/187/1 75/188/1
|
||||
f 75/189/2 76/190/2 79/191/2 78/192/2
|
||||
f 79/193/6 76/194/6 74/195/6 77/196/6
|
||||
f 81/197/2 82/198/2 86/199/2 85/200/2
|
||||
f 85/201/3 86/202/3 84/203/3 83/204/3
|
||||
f 86/205/6 82/206/6 80/207/6 84/208/6
|
||||
f 92/209/3 93/210/3 91/211/3 90/212/3
|
||||
f 90/213/4 91/214/4 88/215/4 87/216/4
|
||||
f 93/217/6 89/218/6 88/219/6 91/220/6
|
||||
f 94/221/1 95/222/1 97/223/1 96/224/1
|
||||
f 98/225/4 99/226/4 95/227/4 94/228/4
|
||||
f 100/229/6 97/230/6 95/231/6 99/232/6
|
Binary file not shown.
After Width: | Height: | Size: 275 B |
Binary file not shown.
After Width: | Height: | Size: 513 B |
Binary file not shown.
Binary file not shown.
|
@ -107,7 +107,17 @@ minetest.register_node("ikea_restaurant:table_and_chairs", {
|
|||
mesh = "ikea_restaurant_table_and_chairs.obj",
|
||||
tiles = { { name = "ikea_restaurant_kitchen_table_and_chairs.png" } },
|
||||
paramtype = "light",
|
||||
groups = { static = 1 },
|
||||
groups = { static = 1, ikea_food_table = 1 },
|
||||
})
|
||||
|
||||
minetest.register_node("ikea_restaurant:table_filler", {
|
||||
description = "Restaurant Table and Chairs Filler (you hacker you!)",
|
||||
drawtype = "airlike",
|
||||
pointable = true,
|
||||
walkable = true,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = { static = 1, ikea_food_table = 1 },
|
||||
})
|
||||
|
||||
minetest.register_node("ikea_restaurant:kitchen_wall", {
|
||||
|
@ -125,5 +135,87 @@ minetest.register_node(
|
|||
mesh = "ikea_restaurant_kitchen_food_dish.obj",
|
||||
tiles = { { name = "ikea_restaurant_kitchen_food_dish.png" } },
|
||||
groups = { static = 1 },
|
||||
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
if itemstack:is_empty() then
|
||||
return ItemStack("ikea_restaurant:plate_of_food")
|
||||
else
|
||||
return itemstack
|
||||
end
|
||||
end,
|
||||
})
|
||||
)
|
||||
|
||||
minetest.register_node("ikea_restaurant:plate", table.merge(
|
||||
ikea.default_mesh(),
|
||||
{
|
||||
description = "Restaurant Plate (Empty)",
|
||||
mesh = "ikea_restaurant_plate.obj",
|
||||
tiles = {{name = "ikea_restaurant_plate.png"}},
|
||||
groups = {carryable = 1},
|
||||
}
|
||||
))
|
||||
|
||||
minetest.register_entity("ikea_restaurant:food", {
|
||||
initial_properties = {
|
||||
visual = "item",
|
||||
visual_size = vector.new(0.5, 0.5, 0.5),
|
||||
physical = false,
|
||||
collide_with_objects = false,
|
||||
pointable = false,
|
||||
},
|
||||
on_activate = function(self, staticdata, dtime_s)
|
||||
local props = self.object:get_properties()
|
||||
props.wield_item = staticdata
|
||||
self.object:set_properties(props)
|
||||
end,
|
||||
on_step = function(self, dtime, moveresult)
|
||||
self._timer = (self._timer or 0) + dtime
|
||||
if self._timer < 10 then
|
||||
return
|
||||
else
|
||||
self.object:remove()
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("ikea_restaurant:plate_of_food", table.merge(
|
||||
ikea.default_mesh(),
|
||||
{
|
||||
description = "Restaurant Plate (Full)",
|
||||
mesh = "ikea_restaurant_plate.obj",
|
||||
tiles = {{name = "ikea_restaurant_plate_of_food.png"}},
|
||||
groups = {carryable = 1},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
|
||||
if node and (minetest.get_item_group(node.name, "ikea_food_table") == 1) then
|
||||
local seat_pos = (minetest.facedir_to_dir(node.param2) * 0.75) + pointed_thing.under
|
||||
local player_pos = placer:get_pos()
|
||||
local meta = placer:get_meta()
|
||||
local hunger = meta:get_int("ikea_hunger")
|
||||
|
||||
placer:set_physics_override({speed = 0})
|
||||
placer:set_pos(seat_pos)
|
||||
|
||||
minetest.add_entity(vector.offset(pointed_thing.under, 0, 1, 0), "ikea_restaurant:food", "ikea_restaurant:plate_of_food")
|
||||
|
||||
local delay = 0
|
||||
for i = hunger, 0, -1 do
|
||||
delay = delay + 1
|
||||
minetest.after(delay, meta.set_int, meta, "ikea_hunger", i)
|
||||
end
|
||||
|
||||
minetest.after(10, function()
|
||||
placer:set_pos(player_pos)
|
||||
placer:set_physics_override({speed = 1})
|
||||
end)
|
||||
|
||||
return ItemStack("")
|
||||
else
|
||||
return nil
|
||||
end
|
||||
end,
|
||||
}
|
||||
))
|
||||
|
|
Loading…
Reference in New Issue