|luk3yx be3061355c Remove redundant newline check in MT 5.1.0+.||1 month ago|
|LICENSE.md||9 months ago|
|README.md||5 months ago|
|chat3.lua||9 months ago|
|chatcommands.lua||9 months ago|
|cloaked-chat.lua||9 months ago|
|core.lua||8 months ago|
|depends.txt||9 months ago|
|init.lua||1 month ago|
|irc.lua||9 months ago|
|mod.conf||9 months ago|
|screenshot.png||9 months ago|
|settingtypes.txt||9 months ago|
Allows players to cloak and uncloak, inspired by Star Trek’s cloaking device.
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).
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.
If it crashes, it is either caused by a mod not liking non-existent players running around, or by a bug in cloaking itself.
Cloaking adds a modding API and two chatcommands. Both of these require the
cloaking privilege to execute, however you can uncloak yourself without any
/cloak [victim]: Cloaks yourself, alternatively an unsuspecting
/uncloak [victim]: Uncloaks yourself, or a
/cloak_chat <message>: Sends
<message>to all online players with the
cloakingprivilege. You can disable cloaked chat by setting
You can either run
git clone https://git.minetest.land/luk3yx/cloaking.git, or download
a zip or
file. You will need to rename the downloaded folder to
cloaking (if it
doesn’t already have that name) for it to work properly.
Cloaking adds the following functions:
cloaking.cloak(player): Cloaks a player.
cloaking.uncloak(player): Uncloaks a player.
cloaking.get_cloaked_players(): Gets a list of cloaked player names.
cloaking.get_connected_names(): Gets a list of cloaked and uncloaked player names.
cloaking.is_cloaked(player): Checks if a player is cloaked.
cloaking.hide_player(player): Hides a player without cloaking them. If/when minetest.hide_player() gets introduced, this will become an alias for that.
cloaking.unhide_player(player): Unhides a player previously hidden with
cloaking.chat: Cloaked chat API, this is
nilif cloaked chat is disabled.
cloaking.chat.send(message): Sends a message to cloaked chat.
cloaking.chat.prefix: The text (
-Cloaked-) that is prepended to cloaked chat messages before they are sent to players.
Any above functions requiring “player” as a parameter also accept a player name, provided the player is online.
It also adds the following functions that ignore cloaked players and can
interact with them:
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
when cloaking is not loaded this parameter is simply ignored.