java - GetType 不接受 itemStack

标签 java minecraft bukkit

我正在编写一个制作插件,我需要检查是否 getResult().GetType()等于ItemStack ,但是getType()可能不接受ItemStack .

ItemStack its = new ItemStack(Material.getMaterial(s.getInt("item")),   
1, (byte) s.getInt("data"));
if(e.getInventory().getResult().getType().equals(its)) { //this don't work

最佳答案

它不会工作,因为e.getInventory().getResult().getType()返回Material对象和its在你的case 是 ItemStack 对象。因此,如果您想检查项目的类型是否相等,则必须编写:

    if(e.getInventory().getResult().getType().equals(its.getType())) {
      //code here
    }

或者,如果您想像您在帖子中介绍的那样进行比较,则必须比较 ItemStack 对象,因为您无法将 ItemStack 对象与 Material 一。然后你必须写这样的东西:

    if(e.getInventory().gtResult().equals(its)) {
      //code here
    }

关于java - GetType 不接受 itemStack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49838722/

相关文章:

java - 为什么我应该更新 java jdk 1.6 Web 应用程序,不更新会有什么风险?

java - 在 Java(Swings) 程序运行时添加和删除 JTextField

python-3.x - 使用 python 控制 minecraft 服务器

java - 什么 Java TLS 操作会在握手时产生 fatal error ?

java - 在bukkit中获取json文件

java - 在范围内无法访问 TObjectHash<T> 类型的封闭实例。插口插件

java - 使用 FileReader 会导致编译器错误 "unhandled exception type FileNotFoundException"

java - BlueJ、NetBeans、Java

java - Bukkit Java错误: The method PlayerJoin(OnStartup) is undefined for the type OnStartup

java - 变量更改时记分板不会更新