Spigot - Oyuna Girişte Oyunculara Lore'li Eşya Verme

Leqo

MineKnight MMORPG
Mesajlar
139
En iyi cevaplar
0
Beğeniler
115
Puanları
490
Ruh hali
- SPİGOT / BUKKİT Eklentiler İçin Kısa Kodlar -
Merhaba arkadaşlar bugün basitçe oyuna girişte nasıl loreli eşya verileceğini anlatacağım.Lafı fazla uzatmadan direk konuya geçiyorum.
Öncelikle Main sınıfımızı JavaPlugin'e dahil edelim ve ardından sınıfımızı Listener sınıfına uygulayalım.

Kod:
public class Main extends JavaPlugin implements Listener {
}
Ardından eventları OnEnable Methoduna dahil edelim.
Kod:
@Override
public void onEnable() {
        Bukkit.getPluginManager().registerEvents(this, this);
    }
Ardından event oluşturalım ve PlayerJoinEvent'ını oyuncuya uygulanacak şekilde dahil edelim.
Kod:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
    Player player = event.getPlayer();
}
ve bir ItemStack üretelim ve oyuncuya verilecek eşyayı belirtelim.Ben elmas balta olarak ayarladım.
Kod:
ItemStack item = new ItemStack(Material.DIAMOND_AXE);
Ardından eşyamız için bir ItemMeta oluşturalım.
Kod:
ItemMeta itemMeta = item.getItemMeta();
Lore oluşturalım ve liste şeklinde alta alta yazılabilir hale getirelim.Burada yazılan her bir lore kelimeleri eşyanızın alt alta gelecek olan açıklamalarıdır.
Kod:
itemMeta.setLore(Arrays.asList(ChatColor.GOLD + "Lore1", ChatColor.BLUE + "Lore2", ChatColor.YELLOW + "Lore3"));
Burada eşyamıza ItemMeta ayarlamamız gerekir.Hemen ayarlayalım;
Kod:
item.setItemMeta(itemMeta);
Ardından oyuncuların çantalarına erişip eşyamızı gönderelim.
Kod:
player.getInventory().addItem(item);
İşlememiz tamamlandı.Bütün olarak kod gösterimi..
Kod:
public class Main extends JavaPlugin implements Listener {
    @Override
    public void onEnable() {
        Bukkit.getPluginManager().registerEvents(this, this);
    }
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        Player player = event.getPlayer();
        ItemStack item = new ItemStack(Material.DIAMOND_BLOCK);
        ItemMeta itemMeta = item.getItemMeta();
        itemMeta.setLore(Arrays.asList(ChatColor.GOLD + "Lore1", ChatColor.BLUE + "Lore2", ChatColor.YELLOW + "Lore3"));
        item.setItemMeta(itemMeta);
        player.getInventory().addItem(item);
    }
}
ve Sonuç ;
 


Dpelqpleq

2 + 2 = 5
Mesajlar
1,037
En iyi cevaplar
0
Beğeniler
1,201
Puanları
0
İtemin hangi slota konulacağı, name ve enchant(listesiyle)'ta eklenirse daha güzel bi konu olur. Böylede yararlı tesekkürler.
item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 1);
meta.setDisplayName("isim");
 
Son düzenleme:

Leqo

MineKnight MMORPG
Mesajlar
139
En iyi cevaplar
0
Beğeniler
115
Puanları
490
Ruh hali
İtemin hangi slota konulacağı, name ve enchant(listesiyle)'ta eklenirse daha güzel bi konu olur. Böylede yararlı tesekkürler.
item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 1);
meta.setDisplayName("isim");
Onlarıda eklemeyi düşündüm aslında tek konu altında mı yapsam diye tek tek detaylı versem daha iyi kararına vardım.Teşekkürler..
 

Üst