70 lines
2.0 KiB
Markdown
70 lines
2.0 KiB
Markdown
# API for `rp_hunger`
|
|
|
|
This API contains a few simple functions to get and set the hunger values
|
|
of players.
|
|
|
|
## How hunger works
|
|
|
|
Each player has a hunger level from 0 to `hunger.MAX_HUNGER`
|
|
and a saturation level from 0 to `hunger.MAX_SATURATION`.
|
|
|
|
The hunger level is the player-facing hunger level shown
|
|
by a statbar. Player loses health when it reaches 0.
|
|
The food points of food items increases the hunger level.
|
|
|
|
The saturation level is a hidden value. The saturation level
|
|
goes down over time and for performing various tasks like
|
|
digging or building. It increases by eating food. When
|
|
saturation is 0, the player will slowly have their
|
|
hunger level reduced.
|
|
|
|
## How to add a food item
|
|
|
|
To add a new food item that is compatible with this mod, you have
|
|
to do the following:
|
|
|
|
* Add these fields of type `number` in the item definitions:
|
|
* `_rp_hunger_food`: How many food points this item has
|
|
* `_rp_hunger_sat`: How many saturation points this item restores
|
|
* When calling `minetest.item_eat` or `minetest.do_item_eat`,
|
|
always set `hp_change` to `0`. This is required for
|
|
compability reasons.
|
|
|
|
## Functions
|
|
|
|
### `hunger.get_hunger(playername)`
|
|
Returns the current hunger level for `playername`.
|
|
Returns `nil` if hunger is disabled.
|
|
|
|
### `hunger.get_saturation(playername)`
|
|
Returns the current saturation level for `playername`.
|
|
Returns `nil` if hunger is disabled.
|
|
|
|
### `hunger.set_saturation(playername, saturation)`
|
|
Sets the current saturation level for `playername` to `saturation`.
|
|
|
|
The value will automatically be capped it out of bounds.
|
|
|
|
If hunger is disabled, this function does nothing.
|
|
|
|
### `hunger.set_hunger(playername, hungr)`
|
|
Sets the current hunger level for `playername` to `hungr`.
|
|
|
|
The value will automatically be capped it out of bounds.
|
|
|
|
If hunger is disabled, this function does nothing.
|
|
|
|
## Special variables
|
|
|
|
### `hunger.MAX_HUNGER`
|
|
|
|
A number which stands for the maximum possible hunger level,
|
|
Read-only!
|
|
|
|
### `hunger.MAX_SATURATION`
|
|
|
|
A number which stands for the maximum possible saturation level,
|
|
Read-only!
|
|
|
|
|