我已經創建了一個ItemStack,當玩家加入時應該給玩家,但它不能按預期工作。當玩家加入時,服務器不會給ItemStack
這裏是我的嘗試:
public class Main extends JavaPlugin implements Listener{
public void onEnable(){
Bukkit.getServer().getPluginManager().registerEvents(this, this);
registerListeners();
}
private void registerListeners() {
PluginManager pm = Bukkit.getPluginManager();
}
public static void giveItems(Player p) {
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
ItemStack t = new ItemStack(Material.TNT, 1);
ItemMeta tmeta = t.getItemMeta();
tmeta.setDisplayName("§cTNT §7(Right click to use)");
t.setItemMeta(tmeta);
for(Player pl : Bukkit.getOnlinePlayers()){
p.getInventory().setItem(4, t);
p.getInventory().addItem(t);
}
}
@SuppressWarnings("deprecation")
@EventHandler
public void onRightClick(PlayerInteractEvent e) {
if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
if(e.getItem() != null && e.getItem().getType() == Material.TNT) {
Player p = e.getPlayer();
TNTPrimed tnt = (TNTPrimed) p.getWorld().spawn(p.getLocation(), TNTPrimed.class);
tnt.setVelocity(p.getLocation().getDirection().normalize().multiply(1));
p.updateInventory();
,但失敗。 如何在玩家加入服務器時成功將ItemStacks提供給玩家?
什麼問題?任何錯誤消息?另外請記住,如果有人加入您的服務器,那麼無論如何,該服務器上的每個人都可以獲得該項目。例如,使用'ChatColor.RED'代替顏色使用§。 – Squiddie