本帖最后由 Daiyangcheng 于 2022-7-25 10:18 编辑
代码如下:省略前面一大部分的if-else
} else if (dothing.equals("chemcheckitem")) {
if (strings.length < 2){
commandSender.sendMessage(headermes + ChatColor.RED + "在?你可以吧指令输完吗");
return false;
}
if (commandSender instanceof Player){
//获取玩家背包
PlayerInventory inventory = player.getInventory();
//获取物品信息
String checkname = plugin.getConfig().getString(strings[1] + "-name");
int amount = plugin.getConfig().getInt(strings[1] + "-amount");
//定义物品堆进行匹配
ItemStack itemStack = new ItemStack(Material.PAPER, amount);
ItemMeta itemMeta = itemStack.getItemMeta();
//检查物品名是否有&并将其替换为颜色字符
boolean status = checkname.contains("&");
if (status){
itemMeta.setDisplayName(checkname.replace("&", "§"));
} else {
itemMeta.setDisplayName(checkname);
}
if (inventory.contains(itemStack)){
player.sendMessage(headermes + ChatColor.GREEN + "检测成功,欢迎");
} else {
player.sendMessage(headermes + ChatColor.RED + "失败了诶");
}
} else {
server.getLogger().info(headermes + ChatColor.RED + "在?控制台有背包?");
}
代码如下:省略前面一大部分的if-else
} else if (dothing.equals("chemcheckitem")) {
if (strings.length < 2){
commandSender.sendMessage(headermes + ChatColor.RED + "在?你可以吧指令输完吗");
return false;
}
if (commandSender instanceof Player){
//获取玩家背包
PlayerInventory inventory = player.getInventory();
//获取物品信息
String checkname = plugin.getConfig().getString(strings[1] + "-name");
int amount = plugin.getConfig().getInt(strings[1] + "-amount");
//定义物品堆进行匹配
ItemStack itemStack = new ItemStack(Material.PAPER, amount);
ItemMeta itemMeta = itemStack.getItemMeta();
//检查物品名是否有&并将其替换为颜色字符
boolean status = checkname.contains("&");
if (status){
itemMeta.setDisplayName(checkname.replace("&", "§"));
} else {
itemMeta.setDisplayName(checkname);
}
if (inventory.contains(itemStack)){
player.sendMessage(headermes + ChatColor.GREEN + "检测成功,欢迎");
} else {
player.sendMessage(headermes + ChatColor.RED + "失败了诶");
}
} else {
server.getLogger().info(headermes + ChatColor.RED + "在?控制台有背包?");
}
你直接遍历一遍他背包的所有物品堆进行比较不就好了
是控控吗 发表于 2022-7-25 10:04
你直接遍历一遍他背包的所有物品堆进行比较不就好了
那个,我自己解决了,我是忘记吧itemmeta添加上去了
itemStack.setItemMeta(itemMeta);
我就少了这个