mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2024-11-14 14:30:34 +01:00
743507564f
- Moved the holographic item's name as a field in switch_params (pclasses.api.register_class) - Added wizard class' skeleton for later - Fixed a few bugs in nodes, inventory and api - Splitted tick function to bury items in two - Items from 3d_armor's armor inventory are also affected by inventory vacuuming (from tick function). The player's static armor inventory is first cleared, then copied to the detached one, then armor updates everything else (rendering, model, etc) - Fixed itemname of admin shield to reserve it properly - Return graveyard inventory if it already exists. Do not create it every two seconds
3.1 KiB
Executable File
3.1 KiB
Executable File
Player Classes
Yet another class mod for Minetest.
TODO
- Flush and read system for
pclasses.datas.players
Namespaces
pclasses
- All our stuff
pclasses.api
- All functions used to declare, get, set classes
pclasses.api.util
- Some utility functions
pclasses.conf
- Some configuration values
pclasses.classes
- All classes and their specs
pclasses.data
- Miscellaneous data
pclasses.data.players
- List of all players' class. Index is player's name and value is the class's name
pclasses.data.hud_ids
- Surely useful in the future with a hypothetical hud to show current class
Functions
pclasses.api.register_class
- Arguments : cname, def
- Registers a class and its specifications
- Def is a definition table that can contain many functions/values :
on_assigned
which is a function, receiving as argument the player nameon_unassigned
which is a function, receiving as argument the player nameswitch_params
, which is a table, containing parameters for the switch pedestal :holo_item
is mandatory. It's the itemstring of the item to be put over the pedestalcolor
is optional. Default is white. It's a RGB table.tile
is optional. Default is none. It's a string of the texture to be applied over the pedestal
pclasses.register_class_switch
- Arguments : cname, params
- Used internally to create switch pedestals
params
is thedef
table given topclasses.api.register_class
, documented above
pclasses.api.get_class_by_name
- Argument : cname
- Return the class' specs (table) corresponding a class name or nil if not found
pclasses.api.get_player_class
- Argument : pname (player's name)
- Return the player's current class' name
pclasses.api.get_class_players
- Argument : cname
- Return a list (table) of all players with class cname
pclasses.api.set_player_class
- Arguments : pname, cname
- Assign a player the cname class
- Returns true if achieved, false if not
pclasses.api.util.does_wear_full_armor
- Arguments : pname, material, noshield
- Returns true if player
pname
is wearing the full armor made out ofmaterial
noshield
must be true when the full armor has no shield
pclasses.api.util.can_have_item
- Arguments : pname, itemname
- Returns true if player
pname
can have itemsitemstring
in his main inventory, according to his class
pclasses.api.reserve_item
- Arguments : cname, itemstring
- Adds an entry in the reserved items' table. Players will need to belong to class
cname
in order to have itemsitemstring
in their main inventory - Note : You can reserve the same item for two classes, any player of either of both can then have the item
pclasses.api.create_graveyard_inventory
- Argument : player
- Creates a detached inventory dedicated to 'dead' items (confiscated reserved items)
- Used internally, should not be used outside of pclasses
pclasses.api.vacuum_graveyard
- Argument : player
- Check all of
player
's graveyard inventory to get them back items they obtained to right to have