如何在另一个班级中使用itemmeta?
public class Kart implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player p = (Player) sender;
if (label.equalsIgnoreCase("kart")) {
if (p.hasPermission("teamenders.komut.kart")) {
ItemStack kart = new ItemStack(Material.PAPER);
ItemMeta kartM = kart.getItemMeta();
ArrayList<String> tt = new ArrayList<String>();
kartM.setDisplayName(ChatColor.DARK_AQUA + "Yetki Karti");
tt.add(ChatColor.DARK_GREEN + "Giris Yetkisi");
kartM.setLore(tt);
kart.setItemMeta(kartM);
p.getInventory().addItem(new ItemStack(kart));
} else {
p.sendMessage(ChatColor.DARK_RED + "Yetersiz Yetki!!!!!");
}
}
return false;
}
}
我的第二堂课:
@EventHandler
public void onPInteract(PlayerInteractEvent e) {
Player p = e.getPlayer();
if (e.getAction() == Action.RIGHT_CLICK_AIR) {
if (p.getItemInHand().getType() == Material.PAPER && p.getItemInHand().hasItemMeta()) {
p.sendMessage(ChatColor.DARK_AQUA + "Yetkiyi aldin.");
}
}
}
我希望在第二课itemmeta
"p.getItemInHand"
答案 0 :(得分:0)
使用Kart类之外的ArrayList存储它,然后在EventHandler中检索数据。
答案 1 :(得分:0)
在第一堂课中,创建一个全局变量(在任何函数之外)并存储kart.getItemMeta()
的值。
仍在第一堂课中,创建一个返回此变量的函数。
在第二节课中,创建另一个全局变量Kart kart
并创建一个函数public *nameOfYourClass*(Kart kart){this.kart = kart}
。然后,您应该能够kart.*functionOfFirstStep*
。
如果我不够清楚,请告诉我。