mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2024-11-16 15:30:30 +01:00
3.2 KiB
Executable File
3.2 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 nameon_update
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.util.on_update
- Arguments : pname
- Update player's stats
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