- 10
- 0
Мне нужно сделать так, что бы если игрок открыл инвентарь, он закрывался или его вообще нельзя было открыть, если игрок не имеет на это право.
"Право" записано у меня в Capability игрока, и я не нашёл эвента, который был бы со стороны сервера.
Я пробовал GuiOpenEvent, но вылетает всё при попытке открыть инвентарь.
Я пробовал и с PlayerContainerEvent.Open, но это только отменяло открытие сундуков-вагонеток и пр.
Спасибо всем тем, кто откликнулся!
"Право" записано у меня в Capability игрока, и я не нашёл эвента, который был бы со стороны сервера.
Я пробовал GuiOpenEvent, но вылетает всё при попытке открыть инвентарь.
Java:
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void DontOpenInventroryWhileHandcuffedEvent(GuiOpenEvent event) {
if (event.getGui() != null) {
if (event.getGui() instanceof GuiInventory) {
if (event.getGui().mc.player.getCapability(GearProvider.GEAR_CAP, null).havePermission()) { //здесь крашится игра.
if (Minecraft.getMinecraft().playerController.isInCreativeMode()) {
event.setCanceled(false);
} else {
event.setCanceled(true);
}
}
}
}
}
Java:
@SubscribeEvent
public void DontOpenContainerWhileHandcuffedEvent(Open event) {
if (event.getEntityPlayer() != null) {
if (event.getEntityPlayer().getCapability(GearProvider.GEAR_CAP, null).havePermission()) {
event.setCanceled(true);
}
}
}