我想在我正在开发的minecraft插件中创建一个新命令。它应该给玩家一个物品。我在主类和插件中注册了该命令。但是当服务器加载插件时,它总是抛出NullPointerException。
我真的很感激你的帮助
谢啦!
这是我的主要课程:
package dungeonsremake.dungeonsremake;
import dungeonsremake.dungeonsremake.commands.GiveCustomItem;
import org.bukkit.plugin.java.JavaPlugin;
public final class Main extends JavaPlugin {
@Override
public void onEnable() {
this.getCommand("item").setExecutor(new GiveCustomItem());
}
@Override
public void onDisable() {
getLogger().info("Shutting down Plugin");
}
}
这是我的命令类:
package dungeonsremake.dungeonsremake.commands;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public class GiveCustomItem implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
System.out.println("activated");
if(!(sender instanceof Player)) {
return true;
}
Player player = (Player) sender;
if(command.getName().equalsIgnoreCase("item")) {
ItemStack fot = new ItemStack(Material.LEGACY_RED_ROSE);
fot.setAmount(1);
player.getInventory().addItem(fot);
return true;
}
return true;
}
}
我的plugin.yml:
name: DungeonsRemake
main: dungeonsremake.dungeonsremake.Main
version: 1.0
commands:
item:
usage: /<command>
description: gives the player a custom item.
aliases: [giveitem, item, customitem, ci, gci]
错误信息:
java.lang.NullPointerException: Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "dungeonsremake.dungeonsremake.Main.getCommand(String)" is null
at dungeonsremake.dungeonsremake.Main.onEnable(Main.java:15) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[spigot-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:342) ~[spigot-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-api-1.18.2-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugin(CraftServer.java:517) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3465-Spigot-ffceeae-3ec79a2]
at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugins(CraftServer.java:431) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3465-Spigot-ffceeae-3ec79a2]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:612) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3465-Spigot-ffceeae-3ec79a2]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:414) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3465-Spigot-ffceeae-3ec79a2]
at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:263) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3465-Spigot-ffceeae-3ec79a2]
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1007) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3465-Spigot-ffceeae-3ec79a2]
at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:304) ~[spigot-1.18.2-R0.1-SNAPSHOT.jar:3465-Spigot-ffceeae-3ec79a2]
at java.lang.Thread.run(Thread.java:833) [?:?]
根据文件:
命令需要在PluginDescriptionFile中注册才能在运行时存在。
它找不到<code>项
commands:
item:
usage: /<command>
description: gives the player a custom item.
aliases: [giveitem, item, customitem, ci, gci]
这应该是正确的缩进。
这篇文章是applicationcontext.xml中bean声明的连续性 我有一个使用Spring3和Hibernate4以及JSF2的小应用程序,当我运行我得到的应用程序时。 ManagedBean: 并且我有注入注释: 在EmployeeService中,我有如下注释: 更新2 ApplicationContext.xml:
问题内容: 因此,这可能是一个愚蠢的问题,但是何时使用以下方法注册课程: 当前,我正在类似接口的类的构造函数中执行此操作,该类在其他类中用于简化数据存储对我的应用程序的使用。但是,我收到此错误: 尝试两次注册种类“用户” 所以,我想我的问题是,您多久在一次Objective中注册类? 谢谢! PS这是我的整个课程: 问题答案: 更新资料 这是最佳实践解决方案: 使用您自己的服务,这可以确保在使用O
我们正在使用实例ID API切换通知架构体系,以使用新的GCM 3.0注册机制。以前我们使用旧的机制使用GCMRegistrar.register()方法。 我们遇到的问题是,我们注意到,如果设备是用旧的GCMRegistar注册的,那么在更新并用新的实例ID API注册之后,两个注册令牌都是有效的,并且可以接收通知。 我预计旧的注册令牌将被停用,并且当向旧令牌发送通知时,我们的推送服务器将收到规
我尝试将它注入函数,就像您应该对服务做的那样,以便在全局范围内拥有一个实例,但这并不奏效
我有一个插件,但我一直有一个问题注册一个命令。该命令与plugin.yml一起在onEnable中设置。有什么可能出错的想法吗? 主类
问题内容: 当我尝试运行项目时,Tomcat返回异常。 有人可以帮助解决这个问题吗?配置类:https : //github.com/intrade/inventory/blob/master/src/main/java/com/springapp/mvc/InitApp/SecurityConfig.java 堆栈跟踪: 安全过滤器出现问题。项目链接:GitHub 问题答案: 该问题与SEC-2