- Баллы
- 143
- Имя в Minecraft
- Leymooo
Здравствуйте! Нужна помощь с PEX. У меня на сервере есть кейсы из которых выпадают группы, и он добавляет игроков через команду "group add [GROUP]" и если например у игрока был вип, и он открыл кейс и выпал флай, то у игрока будет префикс флай, а не вип, но будет всё что есть у ВИП. Я решил исправить это плагином.
А именно получаю все группы игрока, удаляю его из всех групп, получаю самую высокую по приоритету(Из конфига) и ставлю её.
Вот сам код:
И когда игрок заходит на сервер, то ничего не происходит(Сообщения отправляются), а группы остаются такие какие и были. И даже если менять pg ==> "GroupName", то всёравно ничего не происходит. Сообщение asd1 отправляется.
Config
А именно получаю все группы игрока, удаляю его из всех групп, получаю самую высокую по приоритету(Из конфига) и ставлю её.
Вот сам код:
Java:
@EventHandler(priority = EventPriority.HIGHEST)
public void onJoin2(final PlayerJoinEvent v)
{
final Player p = v.getPlayer();
final PermissionGroup[] playerGroups = PermissionsEx.getUser(p).getGroups();
for (PermissionGroup pg : playerGroups) {
Integer targetPrior1 = 1;
Integer targetPrior2 = 2;
Integer targetPrior3 = 3;
Integer targetPrior4 = 4;
Integer targetPrior5 = 5;
p.sendMessage("asd");
PermissionsEx.getUser(p).removeGroup(pg);
if (c.getInt(pg.getName()) == targetPrior5) {
PermissionsEx.getUser(p).addGroup(pg);
p.sendMessage("asd1");
return;
}
else if (c.getInt(pg.getName()) == targetPrior4){
PermissionsEx.getUser(p).addGroup(pg);
p.sendMessage("asd2");
return;
}else if (c.getInt(pg.getName()) == targetPrior3){
PermissionsEx.getUser(p).addGroup(pg);
p.sendMessage("asd3");
return;
}else if (c.getInt(pg.getName()) == targetPrior2){
PermissionsEx.getUser(p).addGroup(pg);
p.sendMessage("asd4");
return;
}else if (c.getInt(pg.getName()) == targetPrior1){
PermissionsEx.getUser(p).addGroup(pg);
p.sendMessage("asd5");
return;
}
}
}
Config
YAML:
vip: 1
vipp: 2
mvp: 3
mvpp: 4
gl: 5