- package dathoer.github.io.lore;
 
 
- import org.bukkit.command.Command;
 
- import org.bukkit.command.CommandSender;
 
- import org.bukkit.entity.Player;
 
- import org.bukkit.event.Listener;
 
- import org.bukkit.inventory.ItemStack;
 
- import org.bukkit.inventory.meta.ItemMeta;
 
- import org.bukkit.plugin.java.JavaPlugin;
 
 
- import java.util.ArrayList;
 
- import java.util.List;
 
 
- public final class Lore extends JavaPlugin implements Listener {
 
 
 
 
-     @Override
 
-     public void onEnable() {
 
-         // Plugin startup logic
 
-         System.out.println("&lore插件启用");
 
 
 
-     }
 
 
-     @Override
 
-     public void onDisable() {
 
-         // Plugin shutdown logic
 
-         System.out.println("&alore插件以关闭");
 
-     }
 
-     public boolean onCommand(CommandSender sender, Command cmd,String label,String[] args) {
 
-         if (sender instanceof Player) {
 
-             Player p = (Player) sender;
 
-             if (p.isOp())
 
-                 if (p.getInventory().getItemInMainHand() != null) {
 
-                     ItemStack item = p.getInventory().getItemInMainHand();
 
-                     List<String> lore = new ArrayList<>();
 
-                     ItemMeta meta = item.getItemMeta();
 
-                     if (label.equals("lore")) {
 
-                         if (args.length > 1 && args[0].equals("添加")) {
 
-                             if (meta.hasLore())
 
-                                 lore.addAll(meta.getLore());
 
-                             lore.add(replace(args[1]));
 
-                             meta.setLore(lore);
 
-                             item.setItemMeta(meta);
 
-                             p.getInventory().setItemInMainHand(item);
 
-                             return true;
 
-                         }
 
-                         if (args.length > 2 && args[0].equals("续写")) {
 
-                             if (!meta.hasLore()) {
 
-                                 p.sendMessage("该物品没有lore");
 
-                                 return true;
 
-                             }
 
-                             lore.addAll(meta.getLore());
 
-                             int a = args[1];
 
-                             int l = meta.getLore().size() + 1;
 
-                             if (a == -1 || 1 <= a) {
 
-                                 p.sendMessage("行数不正确,请重新输入");
 
-                                 return true;
 
-                             }
 
-                             lore.set(a - 1, String.valueOf(lore.get(a - 1)) + replace(args[2]));
 
-                             meta.setLore(lore);
 
-                             item.setItemMeta(meta);
 
-                             p.getInventory().setItemInMainHand(item);
 
-                             return true;
 
-                         }
 
-                         if (args.length > 2 && args[0].equals("增加")) {
 
-                             if (!meta.hasLore()) {
 
-                                 p.sendMessage("该物品没有lore");
 
-                                 return true;
 
-                             }
 
-                             lore.addAll(meta.getLore());
 
-                             int a = args[1];
 
-                             int l = meta.getLore().size() + 1;
 
-                             if (a == -1 || 1 <= a) {
 
-                                 p.sendMessage("行数不正确,请重新输入");
 
-                                 return true;
 
-                             }
 
-                             lore.add(a - 1, replace(args[2]));
 
-                             meta.setLore(lore);
 
-                             item.setItemMeta(meta);
 
-                             p.getInventory().setItemInMainHand(item);
 
-                             return true;
 
-                         }
 
-                         if (args.length > 2 && args[0].equals("设置")) {
 
-                             if (!meta.hasLore()) {
 
-                                 p.sendMessage("该物品没有lore");
 
-                                 return true;
 
-                             }
 
-                             lore.addAll(meta.getLore());
 
-                             int a = args[1];
 
-                             int l = meta.getLore().size() + 1;
 
-                             if (a == -1 || 1 <= a) {
 
-                                 p.sendMessage("行数不正确,请重新输入");
 
-                                 return true;
 
-                             }
 
-                             lore.add(a - 1, replace(args[2]));
 
-                             meta.setLore(lore);
 
-                             item.setItemMeta(meta);
 
-                             p.getInventory().setItemInMainHand(item);
 
-                             return true;
 
-                         }
 
-                         if (args.length > 2 && args[0].equals("删除 ")) {
 
-                             if (!meta.hasLore()) {
 
-                                 p.sendMessage("该物品没有lore");
 
-                                 return true;
 
-                             }
 
-                             lore.addAll(meta.getLore());
 
-                             int a = args[1];
 
-                             int l = meta.getLore().size() + 1;
 
-                             if (a == -1 || 1 <= a) {
 
-                                 p.sendMessage("行数不正确,请重新输入");
 
-                                 return true;
 
-                             }
 
-                             lore.remove(a - 1);
 
-                             meta.setLore(lore);
 
-                             item.setItemMeta(meta);
 
-                             p.getInventory().setItemInMainHand(item);
 
-                             return true;
 
-                         }
 
-                         if (args.length > 0 && args[0].equals("全部删除")) {
 
-                             meta.setLore(lore);
 
-                             item.setItemMeta(meta);
 
-                             p.getInventory().setItemInMainHand(item);
 
-                             return true;
 
-                         }
 
-                     }
 
-                 }
 
-         }
 
-         return false;
 
-     }
 
 
-     private static String replace(String 字符串) {
 
-     字符串 = 字符串.replace("&","§");
 
-     字符串 = 字符串.replace("^", " ");
 
-     return 字符串;
 
-     }
 
- }
 
int a = args[1];这个有条红杠咋解决??
 本帖最后由 九仞 于 2020-4-11 16:32 编辑 
args是字符串数组,而你的a定义为整数,当然会报错
改成下面这样子就行
复制代码
看了一下你的代码,你应该是初涉编程给你提个醒,少用中文变量,多做注释
对于变量的命名可以参考下面这两篇文章
https://blog.csdn.net/ZCF1002797280/article/details/51495229
https://blog.csdn.net/AndyNikolas/article/details/54773529
args是字符串数组,而你的a定义为整数,当然会报错
改成下面这样子就行
- try {
 
 
-     int a =Integer.parseInt(args[1]);
 
 
- }catch(NumberFormatException e) {
 
 
-     e.printStackTrace();
 
 
- }
看了一下你的代码,你应该是初涉编程给你提个醒,少用中文变量,多做注释
对于变量的命名可以参考下面这两篇文章
https://blog.csdn.net/ZCF1002797280/article/details/51495229
https://blog.csdn.net/AndyNikolas/article/details/54773529
九仞 发表于 2020-4-11 16:22
args是字符串数组,而你的a定义为整数,当然会报错
改成下面这样子就行
大佬
<span style=
">try</span><span style=
">catch</span><span style=
这些是个啥
唯爱她° 发表于 2020-4-11 16:29
大佬
catch
刚刚BBS特性,源码出了问题
九仞 发表于 2020-4-11 16:32
刚刚BBS特性,源码出了问题
-                             if (a == -1 || 1 <= a) {
 
-                                 p.sendMessage("行数不正确,请重新输入");
 
-                                 return true;
 
-                             }
 
- lore.set(a - 1, String.valueOf(lore.get(a - 1)) + replace(args[2]));
这里出错了,替换后,那个a
唯爱她° 发表于 2020-4-11 16:37
那我就是把int a = args[1];
替换成你写的那个就行了吗
对,这里和你讲一下为什么要判断异常
因为输入的字符串可能并不是数字,这就会导致运行时异常
所以我只是简单的处理了异常,具体怎么处理,靠你来完善啦