当前位置: 首页 > 知识库问答 >
问题:

禁止移动的能力,在Java的Minecraft上的GUI中添加项目

容宏逸
2023-03-14

信息:插头:1.12

我试图让玩家在GUI时,他可以在GUI关闭后拿走物品:https://gyazo.com/27ccc89e0b5c8f0780bcdca906eab5af所以我创建了一个新类来与事件(InventoryClickEvent)交互,问题是当它应用时,它从头到尾都适用,除了我想把它放在一个条件中:如果玩家打开GUI,他就不能拿走这个GUI中的物品,如果他关闭它,事件将无效,玩家将能够拿走游戏模式中的物品/或从他的库存中移动物品(例如)

我的问题是,我不知道如何在我创建的循环中应用它(对于我的GUI),我使用CommandExecutor/,这不允许我使用事件(我认为)

我的代码 : 命令 : https://bin.readthedocs.fr/jeedur.txt 点击事件 : https://bin.readthedocs.fr/nermit.txt

共有1个答案

伯英锐
2023-03-14

使用一个静态列表(作为一个字段),存储打开GUI的所有玩家。当玩家执行命令时,您将其添加到列表中。当他关闭库存(InventoryCloseEvent)时,您将删除玩家。在InventoryClickEvent中,您可以检查播放器是否在列表中。如果是,则阻止事件。

代码部分:

把它放在命令类的顶部(从java.util.*导入List和ArrayList)[命令行20]:

public static List<Player> playersInInventory = new ArrayList<>(); 

在打开清单 [命令行 142] 之前:

Commands.playersInInventory.add(player);

在您的库存中closeevent[创建此活动]:

Commands.playersInInventory.remove(event.getPlayer());

然后,您可以在您的InventoryClickEvent[事件的唯一内容]中使用此选项:

if (Commands.playersInInventory.contains((Player) (event.getWhoClicked()))) {
    event.setCancelled(true);
}

这段代码应该工作正常,但是我没有测试过。如果不行,请告诉我。

 类似资料:
  • 问题内容: 是否可以禁用滚轮在输入数字字段中更改数字?我已经弄乱了特定于Webkit的CSS,以删除微调框,但我想完全摆脱这种行为。我喜欢使用它,因为它在iOS上带来了一个不错的键盘。 问题答案: 防止其他对象建议的输入数字元素上的mousewheel事件的默认行为(调用“ blur()”通常不是首选方法,因为这不是用户想要的)。 但。我会避免一直监听所有input-number元素上的mouse

  • 一面:09-22 (15min) 二面:09-25(15min) 前两面问的不算深。 三面:09-28(30min) 面试官摄像头不开,问问题的语气有点刚,但个人觉得问的项目问题还算新颖,所以总结出来供大家参考。 秒杀项目相关问题: 秒杀项目中数据库的表为什么要这样设计(用户表、商品表、订单表、秒杀商品表、秒杀订单表)?为什么没有库存表? 如果秒杀的商品没有卖完,同时非秒杀还可以卖,这两个表之间怎

  • 问题内容: 有什么理由禁止Java中的继承,例如通过使用最终类或使用单个私有无参数构造函数的类?将方法定型的充分理由是什么? 问题答案: 这里最好的参考是Joshua Bloch的出色著作“ Effective Java”的第19项,称为“继承的设计和文档,否则将禁止继承”。(在第二版中是第17项,在第一版中是第15项。)你应该阅读它,但我将进行总结。 如果祖先不是为了继承而来的,则继承的类与父母

  • 本文向大家介绍如何禁止移动端的左右划动手势?相关面试题,主要包含被问及如何禁止移动端的左右划动手势?时的应答技巧和注意事项,需要的朋友参考一下 参考文章

  • 问题内容: 我正在尝试通过keyEvent向左移动一个圆圈。到目前为止,圆已在窗口上绘制,但不会向左移动!我觉得问题是我在容器中添加了Window()构造函数。在控制台上没有输出告诉我它正在工作。因此,我认为它甚至不会到达KeyEvent类。这是我的代码: 问题答案: 实际上,这是您要添加到的内容,但重点是,因此,当您键入内容时,该内容将转到与类无关的内容。因此,为了克服它,你只需要调用的类的对象

  • 使用Jaspersoft Studio时,我注意到它允许您生成包含所有字体的JAR文件和包含每个字体变化定义的XML文件。 如果不提取内容,您如何使用JAR?