- Баллы
- 66
- Имя в Minecraft
- _TheKrealisYT_
У меня есть метод CommandCheck.CommandProcessGUI(p), который открывает меню.
Мне нужно, чтобы если игрок, находившийся в списке frozen при движении все время открывал меню, даже если закрывает.
Я создал эвент:
@EventHandler
public void onPlayerMove(PlayerMoveEvent e) {
if (e.getPlayer() != null && e.getFrom() != null && e.getTo() != null) {
Player p = e.getPlayer();
if (frozen.contains(p.getName())) {
e.setTo(e.getFrom());
CommandCheck.commandProcessGUI(p);
p.sendMessage(Utils.s(instance.getConfig().getString("settings.check.messages.check_move_canceled")));
CommandCheck.commandProcessGUI(p);
if (!e.getPlayer().getInventory().getName()
.equals(Utils.s(instance.getConfig().getString("settings.check.gui-name")))) {
CommandCheck.commandProcessGUI(p);
}
Когда игрок двигается, его возвращает обратно, верно. Открывается инвентарь, все как и должно быть, игрок его закрыл, он снова открылся, игрок его опять закрыл и на этот раз уже инвентарь не открывается. Подскажите, как мне реализовать эту идею? Все махинации с InventoryCloseEvent у меня не работали, но можете предложить свой вариант.
Мне нужно, чтобы если игрок, находившийся в списке frozen при движении все время открывал меню, даже если закрывает.
Я создал эвент:
@EventHandler
public void onPlayerMove(PlayerMoveEvent e) {
if (e.getPlayer() != null && e.getFrom() != null && e.getTo() != null) {
Player p = e.getPlayer();
if (frozen.contains(p.getName())) {
e.setTo(e.getFrom());
CommandCheck.commandProcessGUI(p);
p.sendMessage(Utils.s(instance.getConfig().getString("settings.check.messages.check_move_canceled")));
CommandCheck.commandProcessGUI(p);
if (!e.getPlayer().getInventory().getName()
.equals(Utils.s(instance.getConfig().getString("settings.check.gui-name")))) {
CommandCheck.commandProcessGUI(p);
}
Когда игрок двигается, его возвращает обратно, верно. Открывается инвентарь, все как и должно быть, игрок его закрыл, он снова открылся, игрок его опять закрыл и на этот раз уже инвентарь не открывается. Подскажите, как мне реализовать эту идею? Все махинации с InventoryCloseEvent у меня не работали, но можете предложить свой вариант.