- 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特性,源码出了问题