minetest-australopithecus-d.../README

87 lines
2.9 KiB
Plaintext

minetest-australopithecus-death-inventory-drop
==============================================
A system which makes the player drop their inventory on death.
Features
--------
* Items "explode" away from the player, spreading them over a fair distance in
all directions.
* Certain percentage of items can be retained or be destroyed.
* Completely configurable from the configuration.
Usage
-----
The system activates itself, you just need to add the mod to the subgame.
Configuration
-------------
The system can be configured by adding settings to the `minetest.conf`:
# If the system should be activated, defaults to true.
deathinventorydrop_activate = true
# If the field should be set to disable automatically pickup provided
# by the auto-pickup mod, defaults to false.
autodrops_autopickup_disable = false
# The value for the timeout before the auto-pickup mod is allowed to pick
# it up, defaults to 2.
autodrops_autopickup_timeout = 2
# The name of the lists to drop, a comma separated list, defaults to "main".
deathinventorydrop_inventories = main
# The percentage of how many items are destroyed upon death, a random amount
# is picked based on the given range, defaults to "0.15, 0.35".
deathinventorydrop_percentage_destroyed_items = 0.15, 0.35
# The percentage of how many items are retained, meaning the player is
# allowed to keep after death, defaults to "0, 0.15".
deathinventorydrop_percentage_retained_items = 0, 0.15
# If the stacks that are split in some way, defaults to random.
# Possible values are:
# random: The dropped stacks are split randomly.
# single: The dropped stacks are split into every single item.
# stack: The dropped stacks are dropped as they are.
deathinventorydrop_split = random
# The maximum velocity of newly dropped items, a list with x, y and z
# values, defaults to "7, 10, 7".
deathinventorydrop_velocity = 7, 10, 7
Drop additional items
---------------------
If you want to drop additional items, that is easily possible by invoking
`deathinventorydrop.drop_inventory`, which accepts the Player, the InvRef
and the name of the list to drop.
minetest.register_on_dieplayer(function(player)
-- Checking of the object exists allows us to define the dependency as
-- optional.
-- Checking if the system is active at all.
if deathinventorydrop ~= nil and deathinventorydrop.active then
-- Drops all items in the list and also clears the list.
deathinventorydrop.drop_inventory(player, your_inventory, "your_list")
else
-- Do something different here.
end
end)
Force activation
----------------
You can force the activation of the system, even it has been disabled in
the configuration, by invoking `deathinventorydrop.activate_internal`.