Использование ивентов плагина в моде

Версия Minecraft
1.7.10
API
Forge
Всем привет!
Возник такой вопрос, связанный с использованием ивентов плагина в моём моде.
Условно говоря, есть такой класс, отвечающий за открытие моего гуи блока (сам код гуи скидывать не стану, с ним проблем нет).
Внутри этого гуи имеются слота и всякие кнопки.
И да, их будет несколько, то есть полный функционал будет только у тех игроков, у которых есть опка.
Средний функционал, допустим, у модераторов сервера.
А для дефолтных - обычное гуи без кнопок.
И мне нужно реализовать так, чтобы у игрока открывался тот гуи, который относится к его группе (правам) на сервере. Нашёл плагин WorldGuardEventWrapper, там как раз находятся ивенты, которые проверяют Permission у игрока. Как я могу использовать данные ивенты в моём моде для определения группы (прав) у игрока?

Я ещё новичок в этом деле, поэтому буду очень благодарен, если попробуете подсказать и помочь мне в этом!

Ниже предоставляю сам условный код у моего блока:
MyBlock.java:
public class MyBlock extends BlockContainer {
    public static String name = "myBlock";

    public MyBlock() {
        super(Material.rock);
        this.setBlockName(name);
    }

    @Override
    public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float posX, float posY, float posZ) {
        if (!world.isRemote) {
            if (world.getTileEntity(x, y, z) != null) {
                if (world.getTileEntity(x, y, z) instanceof MyTileEntity) {
                    // если опка, то открывается гуи с полным функционалом:
                        FMLNetworkHandler.openGui(player, MyMod.INSTANCE, MyMod.MY_GUI_ID, world, x, y, z);
                    // если модератор, то открывается гуи с средним функционалом:
                        FMLNetworkHandler.openGui(...гуи для модераторов);
                    // и для дефолтных игроков:
                        FMLNetworkHandler.openGui(...);
                }
            }
        }
        return true;
    }

    @Override
    public TileEntity createNewTileEntity(World world, int meta) {
        return new MyTileEntity();
    }
}
 
Последнее редактирование:
Сверху