Every node starts with polaroidchat.. Nothing is granted by default except the root command
itself, so a fresh install gives players nothing until you say otherwise.
polaroidchat.menu
polaroidchat.msg
polaroidchat.block
polaroidchat.mention
polaroidchat.colors.hex
polaroidchat.colors.formats
polaroidchat.channel.global
polaroidchat.toggle.all
Every family has one, and there is one for the lot.
polaroidchat.all · polaroidchat.admin.all · polaroidchat.block.all ·
polaroidchat.colors.all · polaroidchat.customcolor.all · polaroidchat.history.all ·
polaroidchat.interactive.all · polaroidchat.mention.all · polaroidchat.msgspy.all ·
polaroidchat.nick.all · polaroidchat.tag.all · polaroidchat.channel.all ·
polaroidchat.toggle.all
| Node | Grants |
|---|---|
nick.set / nick.reset | Changing and clearing your own |
nick.set.others / nick.reset.others | Doing it to someone else |
nick.cooldown.bypass | Never waiting between changes |
realname | Seeing who is behind a nick |
| Node | Grants |
|---|---|
colors.legacy | All sixteen classics |
colors.legacy.<code> | One of them — 0–9, a–f |
colors.hex | Every HEX swatch |
colors.hex.<key> | One swatch, by its key in menus/color_hex.yml |
colors.gradient / colors.gradient.<key> | The same, for gradients |
colors.animate / colors.animate.<key> | The same, for animated effects |
colors.formats | Bold, italic, underline, strikethrough |
colors.formats.<style> | One of them |
customcolor.hex | Typing a HEX code of their own |
customcolor.gradient | Typing a gradient of their own |
customcolor.gradient.slots.<n> | How many stops it may have — 3 to 8 |
filter | The filter button in the colour menus |
Adding a swatch adds its node. Write a new colour into menus/color_hex.yml and
polaroidchat.colors.hex.<its key> exists on the next reload. Nothing else to register.
| Node | Grants |
|---|---|
channel.<id> | Speaking there |
channel.<id>.read | Reading it from another channel |
channel.user / channel.user.read | Player-made channels |
channel.close | Closing someone else's channel |
channel.spy | Reading every channel at once |
channel.bypass | Ignoring a channel's own limits |
The four shipped ids are global, world, local and private.
| Node | Grants |
|---|---|
msg | Private messages |
msg.bypass | Reaching someone who turned them off |
block / block.others | Blocking, and doing it for someone else |
mention | Pinging by name |
mention.here / mention.everyone | Pinging a room, or the server |
emoji.list · sprites · keywords | The three list commands |
tag.glyph · tag.sprite · tag.head | Writing those tags in a message |
interactive.<keyword> | One keyword — item, inventory, ender, and yours |
interactive.commands | Making a command clickable |
interactive.cooldown.bypass | No wait between keywords |
vanish.bypass | Finding a player another plugin is hiding |
| Node | Grants |
|---|---|
admin / admin.reload | Administration, and reloading |
msgspy / msgspy.others | Reading private messages |
clearchat | Clearing chat |
clearchat.exempt | Not being cleared |
Four settings are not on-or-off but how many, and each is a small table in the config where every key you write becomes a permission.
history:
nick:
stack: false
default: 3
vip: 5
mvp: 10
That grants three slots to everyone, five to whoever holds
polaroidchat.history.nick.slots.vip, and ten for .mvp. The names are yours — write patron: 7
and polaroidchat.history.nick.slots.patron exists.
default is the floor and needs no permission.stack: false gives the largest tier a player holds.stack: true adds every tier they hold on top of the default.It works the same for history.color_nick, history.color_chat, history.blocklist,
nick.cooldowns (where the lowest wins, since it is a wait), and
user_channels.slots.create / .join / .members in channels.yml.