From c587d6316e30f5a6915a651ad8842de75b4b1751 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 16 Feb 2017 15:08:26 +0100 Subject: [PATCH] Use drinking sound for milk and soups --- API.md | 2 +- mods/ITEMS/mcl_farming/beetroot.lua | 2 +- mods/ITEMS/mcl_farming/mushrooms.lua | 2 +- mods/PLAYER/mcl_hunger/README.md | 1 + mods/PLAYER/mcl_hunger/hunger.lua | 58 +++++++++++------- .../sounds/survival_thirst_drink.ogg | Bin 0 -> 13091 bytes 6 files changed, 39 insertions(+), 26 deletions(-) create mode 100644 mods/PLAYER/mcl_hunger/sounds/survival_thirst_drink.ogg diff --git a/API.md b/API.md index fd88aa34..c1eb2894 100644 --- a/API.md +++ b/API.md @@ -81,7 +81,7 @@ These groups are used mostly for informational purposes * `minecart=1`: Minecart * `food`: Item is a comestible item which can be consumed (healthy or unhealthy) * `food=2`: Food - * `food=3`: Drink + * `food=3`: Drink (including soups) * `food=1`: Other/unsure * `eatable`: Item can be *directly* eaten by wielding + left click (`on_use=item_eat`). Rating is the satiation gain * `ammo=1`: Item is used as ammo for a weapon diff --git a/mods/ITEMS/mcl_farming/beetroot.lua b/mods/ITEMS/mcl_farming/beetroot.lua index 06702bad..f1a20037 100644 --- a/mods/ITEMS/mcl_farming/beetroot.lua +++ b/mods/ITEMS/mcl_farming/beetroot.lua @@ -102,7 +102,7 @@ minetest.register_craftitem("mcl_farming:beetroot_soup", { inventory_image = "mcl_farming_beetroot_soup.png", wield_image = "mcl_farming_beetroot_soup.png", on_use = minetest.item_eat(6, "mcl_core:bowl"), - groups = { food = 1, eatable = 6 }, + groups = { food = 3, eatable = 6 }, }) minetest.register_craft({ diff --git a/mods/ITEMS/mcl_farming/mushrooms.lua b/mods/ITEMS/mcl_farming/mushrooms.lua index 8cb12044..0dc4f525 100644 --- a/mods/ITEMS/mcl_farming/mushrooms.lua +++ b/mods/ITEMS/mcl_farming/mushrooms.lua @@ -37,7 +37,7 @@ minetest.register_craftitem("mcl_farming:mushroom_stew", { description = "Mushroom Stew", inventory_image = "farming_mushroom_stew.png", on_use = minetest.item_eat(6, "mcl_core:bowl"), - groups = { food = 2, eatable = 6 }, + groups = { food = 3, eatable = 6 }, stack_max = 1, }) diff --git a/mods/PLAYER/mcl_hunger/README.md b/mods/PLAYER/mcl_hunger/README.md index 2e6b3dfd..47a7fce8 100644 --- a/mods/PLAYER/mcl_hunger/README.md +++ b/mods/PLAYER/mcl_hunger/README.md @@ -49,5 +49,6 @@ This mod is free software. * `hbhunger_bar.png—Wuzzy` (WTFPL) * `hbhunger_icon_health_poison.png`—celeron55 ([CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)), modified by BlockMen, modified again by Wuzzy * `mcl_hunger_bite.1.ogg`, `mcl_hungr_bite.2.ogg`: WTFPL +* `survival_thirst_drink.ogg`: WTFPL * Everything else: WTFPL, by BlockMen and Wuzzy diff --git a/mods/PLAYER/mcl_hunger/hunger.lua b/mods/PLAYER/mcl_hunger/hunger.lua index 4b7abb25..ed2556d2 100644 --- a/mods/PLAYER/mcl_hunger/hunger.lua +++ b/mods/PLAYER/mcl_hunger/hunger.lua @@ -78,33 +78,45 @@ function mcl_hunger.item_eat(hunger_change, replace_with_item, poisen, heal, sou local h = tonumber(mcl_hunger.hunger[name]) local hp = user:get_hp() - -- Add eat particle effect and sound local pos = user:getpos() pos.y = pos.y + item_drop_settings.player_collect_height local texture = minetest.registered_items[itemname].inventory_image + -- FIXME: Is this correct? o_O minetest.add_item(pos, drop) - minetest.add_particlespawner({ - amount = 20, - time = 0.1, - minpos = {x=pos.x, y=pos.y, z=pos.z}, - maxpos = {x=pos.x, y=pos.y, z=pos.z}, - minvel = {x=-1, y=1, z=-1}, - maxvel = {x=1, y=2, z=1}, - minacc = {x=0, y=-5, z=0}, - maxacc = {x=0, y=-9, z=0}, - minexptime = 1, - maxexptime = 1, - minsize = 1, - maxsize = 2, - collisiondetection = true, - vertical = false, - texture = texture, - }) - minetest.sound_play("mcl_hunger_bite", { - pos = pos, - max_hear_distance = 8, - gain = 10.0, - }) + local foodtype = minetest.get_item_group(itemname, "food") + if foodtype == 3 then + -- Item is a drink, only play drinking sound (no particle) + minetest.sound_play("survival_thirst_drink", { + pos = pos, + max_hear_distance = 12, + gain = 1.0, + }) + else + -- Assume the item is a food + -- Add eat particle effect and sound + minetest.add_particlespawner({ + amount = 20, + time = 0.1, + minpos = {x=pos.x, y=pos.y, z=pos.z}, + maxpos = {x=pos.x, y=pos.y, z=pos.z}, + minvel = {x=-1, y=1, z=-1}, + maxvel = {x=1, y=2, z=1}, + minacc = {x=0, y=-5, z=0}, + maxacc = {x=0, y=-9, z=0}, + minexptime = 1, + maxexptime = 1, + minsize = 1, + maxsize = 2, + collisiondetection = true, + vertical = false, + texture = texture, + }) + minetest.sound_play("mcl_hunger_bite", { + pos = pos, + max_hear_distance = 12, + gain = 1.0, + }) + end -- Saturation if h < 20 and hunger_change then diff --git a/mods/PLAYER/mcl_hunger/sounds/survival_thirst_drink.ogg b/mods/PLAYER/mcl_hunger/sounds/survival_thirst_drink.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8a97dfff9558ea2d9662ab01f14439ca6efc1bb5 GIT binary patch literal 13091 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 z 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