Всем привет!
Возник такой вопрос, связанный с использованием ивентов плагина в моём моде.
Условно говоря, есть такой класс, отвечающий за открытие моего гуи блока (сам код гуи скидывать не стану, с ним проблем нет).
Внутри этого гуи имеются слота и всякие кнопки.
И да, их будет несколько, то есть полный функционал будет только у тех игроков, у которых есть опка.
Средний функционал, допустим, у модераторов сервера.
А для дефолтных - обычное гуи без кнопок.
И мне нужно реализовать так, чтобы у игрока открывался тот гуи, который относится к его группе (правам) на сервере. Нашёл плагин WorldGuardEventWrapper, там как раз находятся ивенты, которые проверяют Permission у игрока. Как я могу использовать данные ивенты в моём моде для определения группы (прав) у игрока?
Я ещё новичок в этом деле, поэтому буду очень благодарен, если попробуете подсказать и помочь мне в этом!
Ниже предоставляю сам условный код у моего блока:
Возник такой вопрос, связанный с использованием ивентов плагина в моём моде.
Условно говоря, есть такой класс, отвечающий за открытие моего гуи блока (сам код гуи скидывать не стану, с ним проблем нет).
Внутри этого гуи имеются слота и всякие кнопки.
И да, их будет несколько, то есть полный функционал будет только у тех игроков, у которых есть опка.
Средний функционал, допустим, у модераторов сервера.
А для дефолтных - обычное гуи без кнопок.
И мне нужно реализовать так, чтобы у игрока открывался тот гуи, который относится к его группе (правам) на сервере. Нашёл плагин 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();
}
}
Последнее редактирование: