mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-25 20:11:06 +01:00
Fixed stew/bowl duplication bug (#3995)
Fixed #3991, copied some code over from mcl_potions Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3995 Co-authored-by: the-real-herowl <wiktor_t-i@proton.me> Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
This commit is contained in:
parent
69dc013799
commit
262100be24
1 changed files with 18 additions and 4 deletions
|
@ -1,7 +1,7 @@
|
|||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
-- ____________________________
|
||||
--_________________________________________/ Variables & Functions \_________
|
||||
--_________________________________________/ Variables & Functions \_________
|
||||
|
||||
local eat = minetest.item_eat(6, "mcl_core:bowl") --6 hunger points, player receives mcl_core:bowl after eating
|
||||
|
||||
|
@ -12,7 +12,7 @@ local flower_effect = {
|
|||
[ "mcl_flowers:dandelion" ] = "hunger",
|
||||
[ "mcl_flowers:cornflower" ] = "jump",
|
||||
[ "mcl_flowers:oxeye_daisy" ] = "regeneration",
|
||||
[ "mcl_flowers:poppy" ] = "night_vision"
|
||||
[ "mcl_flowers:poppy" ] = "night_vision"
|
||||
}
|
||||
|
||||
local effects = {
|
||||
|
@ -53,13 +53,27 @@ local function get_random_effect()
|
|||
return effects[keys[math.random(#keys)]]
|
||||
end
|
||||
|
||||
local function eat_stew(itemstack, placer, pointed_thing)
|
||||
local function eat_stew(itemstack, user, pointed_thing)
|
||||
if pointed_thing.type == "node" then
|
||||
if user and not user:get_player_control().sneak then
|
||||
-- Use pointed node's on_rightclick function first, if present
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
if user and not user:get_player_control().sneak then
|
||||
if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then
|
||||
return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, user, itemstack) or itemstack
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif pointed_thing.type == "object" then
|
||||
return itemstack
|
||||
end
|
||||
|
||||
local e = itemstack:get_meta():get_string("effect")
|
||||
local f = effects[e]
|
||||
if not f then
|
||||
f = get_random_effect()
|
||||
end
|
||||
if f(itemstack,placer,pointed_thing) then
|
||||
if f(itemstack, user, pointed_thing) then
|
||||
return "mcl_core:bowl"
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue