Stamina mod for Minetest (custom)

tenplus1 edb8199c70 dont update hud/hunger if damage not enabled 1 week ago
sounds 6814cc85ee replace sip sound with licensed one 2 months ago
textures 7b7b45360e add particle effects for being drunk and poisoned 1 year ago
README.txt 48fdde0122 add license.txt file 1 month ago
depends.txt 0fb4e82b58 tweak lucky blocks and update readme 6 months ago
description.txt 294ddbf283 update mod.conf info 2 years ago
init.lua edb8199c70 dont update hud/hunger if damage not enabled 1 week ago
license.txt 48fdde0122 add license.txt file 1 month ago
lucky_block.lua 0fb4e82b58 tweak lucky blocks and update readme 6 months ago
mod.conf 2fd7a45f31 add stamina.mod = "redo" flag, add lucky blocks 1 year ago
screenshot.png fa04ff3fdc add screenshot 3 years ago
settingtypes.txt a92128b6ee add settings for stamina speed, jump and drain (thankx Awkanimus) 1 month ago


Minetest mod "Stamina"

(C) 2015 - BlockMen
(C) 2016 - Auke Kok

About this mod:
This mod adds a stamina, or "hunger" mechanic to Minetest. Actions like
crafting, walking, digging or fighting make the player exhausted. When
enough exhaustion has been accumulated, the player gets more hungry,
and loses stamina.

If a player is low on stamina, they start taking periodical damage,
and ultimately will die if they do not eat food.

Eating food no longer heals the player. Instead, it increases the
stamina of the player. The stamina bar shows how well fed the player
is. More bread pieces means more stamina.

Walking while holding down Aux1 (usually E key) will make player sprint so
long as their stamina bar is 3 or more bread. This will make the player run
that bit faster and jump a tiny bit higher.

Q&A time: Why won't I move the stamina bar to the right?

Answer: this conflicts with the builtin breath bar. To move the
builtin breath bar, I basically have to entirely re-implement it
in lua including timers to catch breath changes for each online
player, which is all a waste of time, just to move a few pixels

For Modders:
This mod intercepts minetest.item_eat(), and applies the hp_change
as stamina change. The value can be positive (increase stamina) or
negative (periodically damage the player by 1 hp).

Callbacks that are registered via minetest.register_on_item_eat()
are called after this mod, so the itemstack will have changed already
when callbacks are called. You can get the original itemstack as 6th
parameter of your function then.

A global function is available for mods to change player stamina levels:

stamina.change(player, change)

TenPlus1 Additions:

- Added support for POVA and player_monoids
- Added Pipeworks checks for fake players
- Added 60 second drunk effect when foods have {alcohol=1} group (eat 4 or more)
- Moved exhaustion and hud_id to player table instead of player attributes
- Added 4 lucky block effects