🔥Unete a nuestro Discord para soporte, actualizaciones y comisiones a medida.

📜 Permissions

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.

A sensible starting set

polaroidchat.menu
polaroidchat.msg
polaroidchat.block
polaroidchat.mention
polaroidchat.colors.hex
polaroidchat.colors.formats
polaroidchat.channel.global
polaroidchat.toggle.all

Wildcards

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

Nicks

NodeGrants
nick.set / nick.resetChanging and clearing your own
nick.set.others / nick.reset.othersDoing it to someone else
nick.cooldown.bypassNever waiting between changes
realnameSeeing who is behind a nick

Colours

NodeGrants
colors.legacyAll sixteen classics
colors.legacy.<code>One of them — 0–9, a–f
colors.hexEvery 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.formatsBold, italic, underline, strikethrough
colors.formats.<style>One of them
customcolor.hexTyping a HEX code of their own
customcolor.gradientTyping a gradient of their own
customcolor.gradient.slots.<n>How many stops it may have — 3 to 8
filterThe 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.

Channels

NodeGrants
channel.<id>Speaking there
channel.<id>.readReading it from another channel
channel.user / channel.user.readPlayer-made channels
channel.closeClosing someone else's channel
channel.spyReading every channel at once
channel.bypassIgnoring a channel's own limits

The four shipped ids are global, world, local and private.

Talking

NodeGrants
msgPrivate messages
msg.bypassReaching someone who turned them off
block / block.othersBlocking, and doing it for someone else
mentionPinging by name
mention.here / mention.everyonePinging a room, or the server
emoji.list · sprites · keywordsThe three list commands
tag.glyph · tag.sprite · tag.headWriting those tags in a message
interactive.<keyword>One keyword — item, inventory, ender, and yours
interactive.commandsMaking a command clickable
interactive.cooldown.bypassNo wait between keywords
vanish.bypassFinding a player another plugin is hiding

Staff

NodeGrants
admin / admin.reloadAdministration, and reloading
msgspy / msgspy.othersReading private messages
clearchatClearing chat
clearchat.exemptNot being cleared

Tiers: granting an amount, not a yes

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.