Permisos
Todos los nodos, las dos clases que hay, y por qué los de propiedad se dejan sin declarar a propósito.
El diseño en un párrafo
Aquí hay dos clases de nodo, y lo que las diferencia no es su nombre: es si plugin.yml los declara.
Los nodos que un jugador necesita para usar el plugin están declarados, cada uno con su valor por defecto, para que una instalación nueva funcione antes de que hayas configurado un plugin de permisos: todo el mundo puede abrir el menú, susurrar y enseñar lo que lleva en la mano, y solo los operadores pueden ejecutar el comando de administración. Todos los nodos que dicen que un jugador posee un cosmético están sin declarar a propósito. En Bukkit un nodo sin declarar es solo para operadores, así que nada del catálogo es de nadie hasta que tú lo digas — que es justo lo que hace de un cosmético algo que se concede en vez de algo que ya tiene todo el mundo.
exyliachatcosmetics.* es un nodo de verdad y lo posee todo. Un plugin de permisos que le dé al
grupo por defecto un * o un exyliachatcosmetics.* le está dando a todos los jugadores el catálogo
entero, y ninguna concesión, caducidad ni compra volverá a importar.
Usar el plugin
| Nodo | Concede | Por defecto |
|---|---|---|
exyliachatcosmetics.command.cosmetics | /chatcosmetics, todos sus subcomandos, los cuatro atajos y los menús | true |
exyliachatcosmetics.admin | /chatcosmeticsadmin y todos sus subcomandos | op |
exyliachatcosmetics.customtag.create | puede escribir etiquetas propias; un token create paga cada una | true |
exyliachatcosmetics.customcolor.create | puede mezclar colores de chat propios | true |
exyliachatcosmetics.customnick.create | puede mezclar colores de nick propios | true |
exyliachatcosmetics.customrank.create | puede mezclar colores de rango propios | true |
Los cuatro nodos .create son el permiso para crear siquiera. Cuántos puede crear después es un
saldo de tokens, no un nodo — ver Tokens.
Poseer un cosmético
Cuatro formas, comprobadas en este orden. Con cualquiera de ellas ya es suyo.
| Nodo | Posee |
|---|---|
exyliachatcosmetics.<type>.<id> | un cosmético — exyliachatcosmetics.tag.mvp, exyliachatcosmetics.font.fraktur |
exyliachatcosmetics.<type>.category.<category> | todos los cosméticos de esa pestaña — exyliachatcosmetics.chat_color.category.premium |
exyliachatcosmetics.<type>.* | todos los cosméticos de ese tipo |
exyliachatcosmetics.* | todo |
Los tipos son tag, nick_color, rank_color, chat_color, shadow_color, font y modifier:
los siete que salen de archivos. Los cuatro que un jugador se escribe — customtag, customcolor,
customnick, customrank — no tienen ningún nodo de propiedad: quien lo hizo lo posee, de forma
permanente, igual que lo haría un nodo.
El permiso se pregunta en vivo, cada vez, y nunca se guarda. Por eso quitar un nodo surte efecto en el momento en que se quita, incluso para un jugador que está desconectado mientras lo haces.
Las dos excepciones
Una entrada puede escribir permission: false, y entonces los nodos de propiedad de arriba no se
consultan para ella. Solo se tiene por una concesión — /cca give, una compra, una llamada a la API.
Úsalo para todo lo que tenga que comprarse o ganarse en vez de asignarse a un grupo.
Los colores de rango parten del valor por defecto contrario. En todos los demás sitios una
entrada que no dice nada de permission se lee como permission: true. En rank-colors.yml una
entrada que no lo menciona se lee como false, y la propiedad pasa a la lista groups de la
entrada:
| Lo que dice la entrada | Quién lo posee |
|---|---|
ni groups ni permission | todos los rangos — la paleta que comparte el servidor entero |
groups: [admin, mod] | quien el plugin de permisos ponga en alguno de esos grupos |
permission: true | otra vez las reglas normales: exyliachatcosmetics.rank_color.<id>, su categoría, sus comodines o una concesión |
Ese es el mecanismo, no una descripción del tipo: los tres casos están en el archivo que viene
incluido. De sus 77 entradas, las 15 de SOLID no nombran ninguna de las dos cosas, así que las
puede llevar cualquier rango; las 12 de METAL, 15 de GEMS, 15 de GRADIENT y 12 de ANIMATED escriben
permission: true, así que necesitan un nodo o una concesión como todo lo demás; y solo las 8 de
STAFF son propiedad de groups. Un jugador en admin lleva el color de admin porque está en
admin, y deja de llevarlo el día que ya no lo está — por eso esa pestaña no necesita ningún nodo, y
por eso los nombres de grupo que trae son suposiciones sobre los tuyos y hay que editarlos. La
pertenencia a grupos viene de LuckPerms, así que los colores de rango lo necesitan.
El módulo de chat
Todos los nodos de abajo valen solo mientras el módulo está en marcha. Con él apagado no se comprueba ninguno.
Comandos
| Nodo | Concede | Por defecto |
|---|---|---|
exyliachatcosmetics.chat.command.msg | /msg /tell /w /whisper | true |
exyliachatcosmetics.chat.command.reply | /reply /r | true |
exyliachatcosmetics.chat.command.ignore | /ignore | true |
exyliachatcosmetics.chat.command.ignoreall | /ignoreall | true |
exyliachatcosmetics.chat.command.channel | /channel /ch | true |
exyliachatcosmetics.chat.command.spymsg | /spymsg /socialspy | op |
exyliachatcosmetics.chat.command.mutechat | /mutechat | op |
exyliachatcosmetics.chat.command.clearchat | /clearchat | op |
exyliachatcosmetics.chat.command.broadcast | /broadcast /bc | op |
Un comando cuyo interruptor en chat/config.yml → commands está apagado no se registra en absoluto, y
entonces su nodo no concede nada.
Lo que un jugador puede escribir
| Nodo | Concede | Por defecto |
|---|---|---|
exyliachatcosmetics.chat.mentions | nombrar a un jugador lo resalta y lo avisa, con @ o sin ella | true |
exyliachatcosmetics.chat.render.item | [item] muestra lo que lleva en la mano | true |
exyliachatcosmetics.chat.render.inv | [inv] muestra su inventario | true |
exyliachatcosmetics.chat.render.ec | [ec] muestra su cofre de ender | true |
exyliachatcosmetics.chat.links | sus URLs se dibujan pulsables | op |
exyliachatcosmetics.chat.format | sus propios códigos &, etiquetas MiniMessage y tokens de paleta sobreviven al saneador | op |
exyliachatcosmetics.chat.format salta chat.sanitize, o sea que un jugador que lo tenga puede
escribir cualquier color, cualquier hover y cualquier clic en el chat. Por eso viene en op. Dáselo
al staff, no a un rango de donador que solo quiere un color — para eso está el cosmético de color de
chat.
Staff
| Nodo | Concede | Por defecto |
|---|---|---|
exyliachatcosmetics.chat.staff | cuenta como staff: a sus privados no se les puede ignorar | op |
exyliachatcosmetics.chat.staff.alerts | lee todos los saltos del filtro | op |
exyliachatcosmetics.chat.staff.filtered | lee igualmente un mensaje bloqueado, marcado como filtrado | op |
Excepciones
Sin declarar, así que solo operadores hasta que digas otra cosa. Cada una se salta exactamente una comprobación.
| Nodo | Se salta |
|---|---|
exyliachatcosmetics.chat.bypass.mute | el silencio del chat |
exyliachatcosmetics.chat.bypass.cooldown | el cooldown por mensaje |
exyliachatcosmetics.chat.bypass.similarity | la comprobación de mensajes demasiado parecidos |
exyliachatcosmetics.chat.bypass.flood | longitud y caracteres repetidos |
exyliachatcosmetics.chat.bypass.caps | la comprobación de mayúsculas |
exyliachatcosmetics.chat.bypass.filter | las reglas y los filtros de patrones |
exyliachatcosmetics.chat.bypass.ignore | buzones cerrados e ignorados |
exyliachatcosmetics.chat.bypass.clearchat | un /clearchat |
Contenido
Hay tres nodos más, y sus nombres son tuyos y no del plugin, porque cada uno sale de un archivo:
| Nodo | Dónde se define |
|---|---|
exyliachatcosmetics.chat.emoji.<name> | el valor por defecto de un emoji gated.<name> en chat/text/emojis.yml; la clave permission de la entrada lo sustituye |
el permission de un canal | chat/channels.yml. El nodo que quieras; la convención que sigue esta documentación es exyliachatcosmetics.chat.channel.<id> |
el permission de un formato | chat/formats/<name>.yml. Igual, por convención exyliachatcosmetics.chat.format.<name> |
Ten en cuenta que exyliachatcosmetics.chat.format y un nodo de formato como
exyliachatcosmetics.chat.format.vip son nodos sin relación entre sí: en Bukkit un nodo no manda
sobre los que cuelgan de él. Conceder el segundo no concede el primero.
Los valores por defecto declarados, completos
Todo lo de abajo es lo que escribe plugin.yml. Todo lo que no esté en estas dos listas está sin
declarar y, por tanto, es solo para operadores.
default: true — todo el mundo, incluso en un servidor sin plugin de permisos:
command.cosmetics, customtag.create, customcolor.create, customnick.create,
customrank.create, chat.command.msg, chat.command.reply, chat.command.ignore,
chat.command.ignoreall, chat.command.channel, chat.mentions, chat.render.item,
chat.render.inv, chat.render.ec.
default: op — operadores hasta que los concedas: admin, chat.command.spymsg,
chat.command.mutechat, chat.command.clearchat, chat.command.broadcast, chat.links,
chat.format, chat.staff, chat.staff.alerts, chat.staff.filtered.
¿Falta algo en esta página? Dínoslo en Discord