Bulundu Minecraft Lore Yardım

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

DoomRise

Yay Yok, İskelet Yok
Katılım
4 Eylül 2019
Mesajlar
292
Elmaslar
55
Puan
13.745
Minecraft
_ripeness
X
_ripeness

Discord:

_ripeness

Kod 1.16.5 Sürümüdür
Kod:
@EventHandler
public void onEnchantTheItem(EnchantItemEvent e) {
    Player p = (Player) e.getEnchanter();
//Inventory cinventory = (Inventory) e.get;
    ItemStack citem = (ItemStack) e.getItem();
FileConfiguration cf = CC.get();
    String cname = citem.getItemMeta().getDisplayName();

for (String s : cf.getConfigurationSection("ItemsEnchants").getKeys(false)) {
for (String ss : cf.getConfigurationSection("ItemsEnchants." + s).getKeys(false)) {
String is = "ItemsEnchants." + s;


//if(!cf.isSet(is+".containsType")) continue;
            if (!cf.isSet(is + ".containsName")) continue;
if (!cf.isSet(is + ".ItemEnchansLimit")) continue;
//if (!cf.getString(is+".containsName").equalsIgnoreCase(cname)) continue;

            if (citem.getEnchantments().size() == cf.getInt(is + ".ItemEnchansLimit")) {
e.setCancelled(true);
p.sendMessage("Büyü Slotları Dolu!!");
            }
//p.sendMessage("a");
            ItemBuilder newitem = new ItemBuilder(citem.getType())
                    .setItemMeta(citem.getItemMeta());

            ItemMeta im = citem.getItemMeta();
            List<String> lore = im.getLore();
//e.setCancelled(true);

            for (int i = 0; i < lore.size(); i++) {

if (lore.get(1).startsWith(rcc("&fBüyü Slotları:"))) {

if (lore.get(3).startsWith(rcc("&7+ Kull"))) {
for (Enchantment enchantments : Enchantment.values()) {
 if (e.getEnchantsToAdd().containsKey(enchantments)) {
p.sendMessage("a");
for (int sizes : e.getEnchantsToAdd().values()){
if (lore.get(i).startsWith(rcc("&7+ Kull"))) {

 int enclevel = e.getEnchantsToAdd().get(enchantments);

lore.set(i, rcc("&f- " + new EncNames().EncNames(enchantments.getName()) + "&6 " + enclevel));


                                    }
                                }
//new EncNames().EncNames(enchantments.getName())

                            }
                        }
                }
                }

            }

//lore.set(2, "asdasd");
            im.setLore(lore);
            citem.setItemMeta(im);

//p.sendMessage("a"+citem.getType().name());


        }
    }
}
1695141918033.png

Şöyle bir kodum var yapmak istediğim enchant ettiğimizde mesela 1 tane çıkınca düzgünce oluyor fakat çok denedimde 2 veya 3 tane büyü gelince olmuyor nasıl yapabilirim Yardım Edenlere Şimdiden Teşekkürler.
 
Merhaba,

Eşyanıza basılan büyüleri lore kısmında belirtmek istiyorsunuz, doğru mudur?
 
evet zaten şuanda kodun neredeyse tamamını yazdım fakat hataları düzeltmeye çalışıyorum yardımcı olursanız sevirinirim.
 
Kod:
if (lore.get(3).startsWith(rcc("&7+ Kull"))) {
satırında sadece 1 satırda olan yazıya bakıyorsunuz. ilk enchant gerçekleştikten sonra bu satır değiştiği için sonraki enchantlarda bu if kodunun içi false döndürüyor.
Kod:
if (lore.get(i).startsWith(rcc("&7+ Kull"))) {
şeklinde yaparsanız çalışıcağını düşünüyorum
 
Kod:
if (lore.get(3).startsWith(rcc("&7+ Kull"))) {
satırında sadece 1 satırda olan yazıya bakıyorsunuz. ilk enchant gerçekleştikten sonra bu satır değiştiği için sonraki enchantlarda bu if kodunun içi false döndürüyor.
Kod:
if (lore.get(i).startsWith(rcc("&7+ Kull"))) {
şeklinde yaparsanız çalışıcağını düşünüyorum
1695145917824.png

maalesef bu seferde ilk verilen enchant yaptı
 
lore satırını set ettikten sonra break ekleyin
 
sorunu çözdüm yardım etmek için bakan herkese teşekkür ederim :)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst