Configuration with prefixs (PEX)

Hi, I have recently made a great deal of time to create permissions for each group. However, when I tested each of them after I was finished this seemed to happen. I would go on my alternate account and test all the commands as a ‘Trainer’ and it had access to ./ban ./kick ./setspawn when I have clearly stated in the ‘permissions.json’ the commands to be enabled for each rank. Can someone please tell me and explain to me how to fix the issue that I am currently dealing with.

Thanks,

Max.

Permissions.json
{
“subjects”: {
“default”: {
“default”: [
{
“contexts”: {
“localip”: “127.0.0.1”
},
“permissions-default”: 1
}
],
“user”: [
{
“parents”: [
“group:Trainer”
]
}
]
},
“group”: {
“Trainer”: [
{
“options”: {
“prefix”: “&0[&eTrainer&0]”
},
“permissions-default”: 0,
“permissions”: {
“essentialcmds.tpa.accept”: 1,
“essentialcmds.message.respond”: 1,
“essentialcmds.home.use”: 1,
“essentialcmds.tpa.use”: 1,
“essentialcmds.home.set”: 1,
“essentialscmds.mail.list”: 1,
“essentialcmds.mail.read”: 1,
“essentials.rules”: 1,
“essentialcmds.home.list”: 1,
“essentialcmds.spawn.use”: 1,
“essentialscmds.message.use”: 1,
“essentialcmds.rules.use”: 1,
“essentialcmds.rtp.use”: 1,
“essentialcmds.warps.list”: 1,
“essentialcmds.back.use”: 1,
“essentialcmds.tpahere.use”: 1,
“essentialcmds.warp.use”: 1,
“essentialcmds.home.delete”: 1,
“essentialcmds.tpadeny.use”: 1
},
“parents”: [
“group:Trainer+”
]
}
],
“Trainer+”: [
{
“options”: {
“prefix”: “&0[&eTrainer&4+&0]”
},
“permissions”: {
“essentialscmds.color.sign.use”: 1
},
“parents”: [
“group:VIP”
]
}
],
“VIP”: [
{
“options”: {
“prefix”: “&0[&6VIP&0]”
},
“permissions”: {
“essentialcmds.heal.use”: 1,
“com.pixelmonmod.pixelmon.commands.Heal”: 1,
“pixelmon.command.pokeheal”: 1,
“essentialcmds.feed.use”: 1
},
“parents”: [
“group:VIP+”
]
}
],
“VIP+”: [
{
“options”: {
“prefix”: “&0[&6VIP&4+&0]”
},
“permissions”: {
“essentialcmds.hat.use”: 1,
“essentialcmds.repair.use”: 1,
“essentialcmds.fly.use”: 1,
“pixelmon.command.breed”: 1,
“essentialcmds.nick.use”: 1
},
“parents”: [
“group:Trial-Mod”
]
}
],
“Trial-Mod”: [
{
“options”: {
“prefix”: “&0[&bTrial-Mod&0]”
},
“permissions”: {
“essentialcmds.unmute.use”: 1,
“essentialcmds.color.chat.use”: 1,
“essentialcmds.teleport.use”: 1,
“essentialcmds.teleport.others”: 1,
“essentialcmds.playerfreeze.use”: 1,
“essentialcmds.mute.use”: 1,
“essentialcmds.broadcast.use”: 1,
“essentialcmds.kick.use”: 1
},
“parents”: [
“group:Mod”
]
}
],
“Mod”: [
{
“options”: {
“prefix”: “&0[&bMod&0]”
},
“permissions”: {
“essentialcmds.blacklist.use”: 1,
“essentialcmds.tphere.use”: 1,
“essentialcmds.warps.use.sign”: 1,
“essentialcmds.warp.set”: 1,
“essentialcmds.unban.use”: 1,
“essentialcmds.blacklist.add”: 1,
“essentialcmds.blacklist.list”: 1,
“essentialcmds.blacklist.remove”: 1,
“essentialcmds.kickall.use”: 1,
“essentialcmds.ban.use”: 1
},
“parents”: [
“group:Mod+”
]
}
],
“Mod+”: [
{
“options”: {
“prefix”: “&0[&3Mod&4+&0]”
},
“permissions”: {
“essententialcmds.tempban.use”: 1,
“essentialcmds.clearinventory.others”: 1,
“essentialcmds.time.set”: 1,
“essentialcmds.jail.add.use”: 1,
“essentialcmds.jail.use”: 1,
“essentialcmds.weather.use”: 1,
“essentialcmds.time.use”: 1,
“essentialcmds.spawn.set”: 1,
“essentialcmds.heal.others”: 1,
“essentialcmds.vanish.use”: 1,
“essentialcmds.time.add”: 1,
“essentialcmds.feed.others”: 1,
“essentialcmds.unjail.use”: 1,
“essentialcmds.clearinventory.use”: 1
}
}
],
“Community-Manager”: [
{
“permissions-default”: 1,
“options”: {
“prefix”: “&0[&cCommunity-Manager&0]”
}
}
],
“Admin”: [
{
“permissions-default”: 1,
“options”: {
“prefix”: “&0[&aAdmin&0]”
}
}
],
“Founder”: [
{
“permissions-default”: 1,
“options”: {
“prefix”: “&0[&dFounder&0]”
}
}
]
},
“user”: {
“8b9ba269-075e-482b-bffa-7bc774e984af”: [
{
“parents”: [
“group:Founder”
],
“options”: {
“name”: “SirrMax”
}
}
]
}
},
“schema-version”: 4,
“rank-ladders”: {
“default”: [
“group:Trainer”,
“group:Trainer+”,
“group:VIP”,
“group:VIP+”,
“group:Trial-Mod”,
“group:Mod”,
“group:Mod+”,
“group:Community-Manager”,
“group:Admin”,
“group:Founder”
]
},
“context-inheritance”: {}
}

Two things:

  • EssentialCmds is now discontinued, and you should move to another Essentials like plugin. I am completely biased and would recommend Nucleus (which I write) which is a kind of successor of EssCmds, and has an migrator that you can use to move to it from EssCmds, but there are other alternatives in the works, such as UltimateCore and CrucialCraft. You should pick one that fits your needs - other members of the community should also be able to advise you.
  • You have your parents the wrong way around - Mod+ should have Mod as a parent, not the other way around (where you have Mod+ as a parent of Mod). A group inherits all its permissions from its parent, not the other way around. So, right now, your Founder has no permissions, and your default group can do everything (because its parents go all the way up).
1 Like

Thanks @dualspiral for your help. However, do you think you can give me an example of how I should write ‘Trainer’ commands to inherit to ‘Trainer+’ also may I ask, if I can remove the parents to create each rank to have its own configured permissions that I implement. If it is easier the way you suggested, may you provide me with an example if you have any spare time up your sleeve.

Thanks,

Max.

Trainer should have default as a parent, not Trainer+. So, for Trainer, you should have

"parents": [
    "group:default" // not Trainer+
]

and for Trainer+:

"parents": [
    "group:Trainer" // not VIP
]

etc. Hopefully you should be able do the rest from here!

Thanks for all your help @dualspiral! However, I would like to ask would Mod+ inherit all the commands from Trainer?

If you set up the chain like it seems you intended to, yes.