woodp1anks~
我弄了一个菜单,这里式保护gui的代码,但是为啥我照样能从gui里把东西拿出来
public void e(InventoryClickEvent e) {
        //保护gui
        Player clickedPlayer = (Player) e.getWhoClicked();
        InventoryView inv = clickedPlayer.getOpenInventory();
        String title = inv.getTitle();
        String configTitle = LoginToolsBox.config.getString("startMenu.title");
        if (Objects.equals(configTitle, title)) {
            e.setCancelled(true);
        }



插件下载:http://woodp1anks.top/files/

enderman_JC
我甚至怀疑你这个事件有没有成功注册
https://plgdev.xuogroup.top/#/2-2
看看这个教程

南柯郡守
首先确定注册了监听器
然后确认写了注释@EventHandler

最后 如果是指通过F键取下物品 只要不是创造模式就不会真的拿下来

woodp1anks~
enderman_JC 发表于 2021-7-1 11:29
我甚至怀疑你这个事件有没有成功注册
https://plgdev.xuogroup.top/#/2-2
看看这个教程 ...

我特意看了有没有注册,注册了,我还让给触发事件的玩家发信息,也发了,可是就是能从gui里把东西拿出来..


                                        藏起来的小尾巴,不让你看!  

enderman_JC
wood-man 发表于 2021-7-1 12:26
我特意看了有没有注册,注册了,我还让给触发事件的玩家发信息,也发了,可是就是能从gui里把东西拿出来. ...

把整个代码折叠然后贴上来吧
这样好看点

woodp1anks~
南柯郡守 发表于 2021-7-1 12:24
首先确定注册了监听器
然后确认写了注释@EventHandler

    @EventHandler
    public void e(InventoryClickEvent e) {
        //保护gui
        Player clickedPlayer = (Player) e.getWhoClicked();
        InventoryView inv = clickedPlayer.getOpenInventory();
        String title = inv.getTitle();
        String configTitle = LoginToolsBox.config.getString("startMenu.title");
        if (Objects.equals(configTitle, title)) {
            e.setCancelled(true);
        }
    }


                                        藏起来的小尾巴,不让你看!  

woodp1anks~
enderman_JC 发表于 2021-7-1 12:29
把整个代码折叠然后贴上来吧
这样好看点




                                        藏起来的小尾巴,不让你看!  

enderman_JC
wood-man 发表于 2021-7-1 13:02
藏起来的小尾巴,不让你看!

换成InventoryInteractEvent看看

woodp1anks~
enderman_JC 发表于 2021-7-1 13:07
换成InventoryInteractEvent看看

还是不行。..


                                        藏起来的小尾巴,不让你看!  

enderman_JC

直接发jar吧,传上来就行

woodp1anks~
enderman_JC 发表于 2021-7-1 13:16
直接发jar吧,传上来就行

http://woodp1anks.top/files/里面那个文件


                                        藏起来的小尾巴,不让你看!  

醉倾梦
GUI的标题对不对,先检查一下GUI的Title,再检查下配置文件的Title,如果这俩无误,可能就是没过if了,可以尝试换一种if的写法

title.equalsIgnoreCase(configTitle)

woodp1anks~
醉倾梦 发表于 2021-7-1 13:30
GUI的标题对不对,先检查一下GUI的Title,再检查下配置文件的Title,如果这俩无误,可能就是没过if了,可以 ...

换了还是不行。。。


                                        藏起来的小尾巴,不让你看!  

醉倾梦
输出 String Title = inv.getTitle();
String configTitle = LoginToolsBox.config.getString("startMenu.title");
看看是什么


woodp1anks~
醉倾梦 发表于 2021-7-1 14:10
输出 String Title = inv.getTitle();
String configTitle = LoginToolsBox.config.getString("startMenu.t ...

我已经试过了,一样


                                        藏起来的小尾巴,不让你看!  

醉倾梦
在if里面加个输出的,看过if没

下一页 最后一页