掉渣渣

  1.     public static ItemStack item3 = new ItemStack(Material.EMERALD_BLOCK);

  2.     public static ItemMeta item3Meta = item3.getItemMeta();

  3.     public void anNiu() {

  4.             item3Meta.setDisplayName("§a加/减10$");

  5.             List<String> arg0 = item3Meta.getLore();

  6.             arg0.add("lore-描述");

  7.                 item3Meta.setLore(arg0);

  8.             item3.setItemMeta(item3Meta);

  9.     }
复制代码

eclipse中没有报错

然后运行

后台报错
[14:56:13] [Server thread/ERROR]: Error occurred while enabling LoadEnaleDisable v1.0 (Is it up to date?)
java.lang.NullPointerException
        at com.asdfee.MyPluginInventory.anNiu(MyPluginInventory.java:49) ~[?:?]
        at com.asdfee.MyPluginInventory.<init>(MyPluginInventory.java:29) ~[?:?]
        at com.asdfee.LoadEnableDisable.onEnable(LoadEnableDisable.java:42) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:741) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.Bukkit.reload(Bukkit.java:535) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:627) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:412) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:375) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8-R0.1-SNAPSHOT.jar:git-Spigot-db6de12-f4cf906]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
[14:56:13] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[14:56:13] [Server thread/INFO]: CONSOLE: Reload complete.


Ariy
先判断这个物品是否有lore,再get,否则会空指针异常
建议使用三元运算符 List<String> lores = itemMeta.hasLore()?itemMeta.getLore():new ArrayList<String>();

edgg6
1231231231231

55555hhh
建议taboolib

2609848420
这段代码用意有些不明啊 一楼正解 三元运算符 顺带一提 如果你希望有一个固定的静态ItemStack
用static{}来执行设置DisplayName和Lore吧

The_Weather
这个函数实现的功能是给玩家手里的物品加lore,lz可以参考下
  1.         public static void addLore(Player p,String arg0){
  2.                 ItemStack i = p.getInventory().getItemInMainHand();
  3.                 ItemMeta im = i.getItemMeta();
  4.                 String newStr = arg0.replaceAll("&", "§");
  5.                 List<String> lr = new ArrayList<>();
  6.                 if(i.hasItemMeta()&&im.hasLore()) {
  7.                         lr.addAll(im.getLore());
  8.                 }
  9.                 lr.add(newStr);
  10.                 im.setLore(lr);
  11.                 i.setItemMeta(im);
  12.         }
复制代码

Sunbread
这里你应该能看到一行文字:
Plugins should check if hasLore() returns true before calling this method.

你没有检查hasLore()就直接调用getLore(),从一开始你就错了。
关于Lore的正确设置姿势,先直接创建一个ArrayList,然后把你要加的内容逐一加进去,最后直接调用setLore()就好了。

m.9
meta.setLore( Arrays.asList(
                ("第一行" ),
                ("第二行"),
                ("第三行")
        ));