63 lines
2.5 KiB
Markdown
63 lines
2.5 KiB
Markdown
# Minetest cloaking mod
|
|
|
|
Allows players to cloak and uncloak.
|
|
|
|
## What is cloaking?
|
|
|
|
In this instance, cloaking is a way to go invisible and become undetectable by
|
|
most mods (unless they explicitly want to detect cloaked players, so they can
|
|
still send chat messages to them).
|
|
|
|
## Why is cloaking so hacky, and where does it send the 'left the game' messages?
|
|
|
|
Cloaking sends no left the game messages, it leaves that up to the built-in left
|
|
the game functions. The aim of cloaking is to trick other mods into thinking the
|
|
player is not in-game, and for this it must be hacky.
|
|
|
|
## Help, it crashes
|
|
|
|
If it crashes, it is either caused by a mod not liking non-existent players
|
|
running around, or by a bug in cloaking itself.
|
|
|
|
## How do I use cloaking?
|
|
|
|
Cloaking adds a modding API and two chatcommands. Both of these require the
|
|
`cloaking` privilege to execute, however you can uncloak yourself without any
|
|
privileges.
|
|
|
|
- `/cloak [victim]`: Cloaks yourself, alternatively an unsuspecting `victim`.
|
|
- `/uncloak [victim]`: Uncloaks yourself, or a `victim`.
|
|
|
|
## How do I download cloaking?
|
|
|
|
You can either run
|
|
`git clone https://github.com/luk3yx/minetest-cloaking cloaking`, or download
|
|
a [zip](https://github.com/luk3yx/minetest-cloaking/archive/master.zip) or
|
|
[tar.gz](https://github.com/luk3yx/minetest-cloaking/archive/master.tar.gz)
|
|
file. You will need to rename the folder from `minetest-cloaking-master` to
|
|
`cloaking` for it to work properly.
|
|
|
|
## How do I use the API?
|
|
|
|
Cloaking adds the following functions:
|
|
|
|
- `cloaking.cloak_player(player)`: Cloaks a player.
|
|
- `cloaking.uncloak_player(player)`: Uncloaks a player.
|
|
- `cloaking.get_cloaked_players()`: Gets a list of cloaked player names.
|
|
- `cloaking.is_cloaked(player)`: Checks if a player is cloaked.
|
|
- `cloaking.on_chat_message(player, message)`: Returns `true` and warns `player`
|
|
if they are cloaked and trying to send a chat message, otherwise returns
|
|
`nil`.
|
|
|
|
It also adds the following functions that ignore cloaked players and can
|
|
interact with them:
|
|
`cloaking.get_connected_players`, `cloaking.get_objects_inside_radius` and
|
|
`cloaking.get_player_by_name`.
|
|
|
|
If you have made chatcommand work with players that aren't in-game, you can add
|
|
`_allow_while_cloaked = true` to the chatcommand definition. If you explicitly
|
|
don't want your chatcommand working with cloaked players, you can add
|
|
`_disallow_while_cloaked = true` to the definition.
|
|
These modifications do not require that you add `cloaking` to `depends.txt`, as
|
|
when cloaking is not loaded this parameter is simply ignored.
|