Çözüldü bir oyuncu başka bir oyuncuyu öldürünce sağ üstte resimli mesaj çıkması

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

BllueDuckk

Odunlara Vur Vur Vur!
Katılım
13 Haziran 2025
Mesajlar
37
Elmaslar
1
Puan
595
Yaş
26
Konum
antep
Minecraft
BllueDuckAFK

Discord:

bllueduck

1234947.5_image.webp
bir tane sunucudan aldım bunu oyuncular birbirlerini öldürdüğünde sağ üstte böyle mesajları çıkmasını nasıl sağlarım
 
oyuncunun kafasını bile çıkartabilirsin interactivechat discord kaynak kodlarında var bir sürü metot oradan çalıyodum ben
1756320289197.webp


1756320275207.webp


skinli oyuncu kafasını kullan pakette çıkar :D
 
Son düzenleme:
oyuncunun kafasını bile çıkartabilirsin interactivechat discord kaynak kodlarında var bir sürü metot oradan çalıyodum ben
teşşekür ederim yanıtın için interactivechat bir plugin mi itemsadder gerekiyor mu ve nasıl kullanacağımı görebileceğim bir video yada kaynak var mı
 
teşşekür ederim yanıtın için interactivechat bir plugin mi itemsadder gerekiyor mu ve nasıl kullanacağımı görebileceğim bir video yada kaynak var mı
kullanamazsın sağlam pluginer olman lazım en azından mesajımda güncellediğim paketi gönderebilmeyi bilmen lazım
 
o zaman kullanamayacağım büyük ihtimalle daha kolay bir yolu yok mu aldığım sunucudaki yer itemsadderla yapıyor gibi görünüyordu birde yolladığınız plugin chatle alakalı galiba benim aldığım sunucuda sağ üstte bildirim gibi geliyordu 5sn sonra geri gidiyordu
 
Kod:
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.events.PacketContainer;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import com.comphenix.protocol.wrappers.nbt.NbtCompound;
import com.comphenix.protocol.wrappers.nbt.NbtFactory;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

public class PlayerKillEffect extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onPlayerDeath(PlayerDeathEvent event) {
        Player killed = event.getEntity();
        Player killer = killed.getKiller();
        if (killer != null) {
            sendTemporaryAdvancementEffect(killed, killer);
        }
    }

    private void sendTemporaryAdvancementEffect(Player killed, Player killer) {
        PacketContainer advancementPacket = new PacketContainer(PacketType.Play.Server.ADVANCEMENTS);
        
        // Tek kullanımlık advancement oluştur
        NbtCompound advancement = NbtFactory.ofCompound("minecraft:temp_kill");

        // Title ve Description
        advancement.put("display", NbtFactory.ofCompound("display"));
        advancement.getCompound("display").put("title", WrappedChatComponent.fromText("Ölüm Bildirimi").getHandle());
        advancement.getCompound("display").put("description", WrappedChatComponent.fromText(killed.getName() + " adlı oyuncu " + killer.getName() + " tarafından katledildi").getHandle());

        // Icon (Killer's Skull)
        ItemStack skull = new ItemStack(org.bukkit.Material.PLAYER_HEAD);
        skull = skull.clone();
        org.bukkit.inventory.meta.SkullMeta meta = (org.bukkit.inventory.meta.SkullMeta) skull.getItemMeta();
        meta.setOwningPlayer(killer);
        skull.setItemMeta(meta);
        NbtCompound itemNbt = NbtFactory.fromItemTag(skull);
        advancement.getCompound("display").put("icon", itemNbt);

        // Frame Type (Challenge)
        advancement.getCompound("display").put("frame", NbtFactory.of("challenge", "int"));

        // Flags (Toast göster, gizli değil, özel arka plan)
        advancement.getCompound("display").put("flags", NbtFactory.of(0x01, "int")); // 0x01 for toast
        advancement.getCompound("display").put("background", NbtFactory.ofString("minecraft:textures/block/light_blue_wool")); // Farklı bir arka plan

        // X ve Y Koordinatları
        advancement.getCompound("display").put("x_coord", NbtFactory.of(0.0f, "float"));
        advancement.getCompound("display").put("y_coord", NbtFactory.of(0.0f, "float"));

        // Criteria (Geçici bir tetikleyici)
        NbtCompound criteria = NbtFactory.ofCompound("temp_kill");
        advancement.put("criteria", NbtFactory.ofCompound());
        advancement.getCompound("criteria").put("temp_kill", criteria);
        criteria.put("trigger", NbtFactory.ofString("minecraft:impossible")); // Kalıcı değil, sadece efekt için

        // Tüm oyunculara gönder
        for (Player player : Bukkit.getOnlinePlayers()) {
            advancementPacket.getAdvancementMapModifier().write(0, java.util.Collections.singletonMap("minecraft:temp_kill", advancement));
            try {
                ProtocolLibrary.getProtocolManager().sendServerPacket(player, advancementPacket);
                // Efekt gönderildikten sonra temizle (isteğe bağlı, kısa süreli görünüm)
                Bukkit.getScheduler().runTaskLater(this, () -> {
                    PacketContainer removePacket = new PacketContainer(PacketType.Play.Server.ADVANCEMENTS);
                    removePacket.getStringArrays().write(0, new String[]{"minecraft:temp_kill"});
                    ProtocolLibrary.getProtocolManager().sendServerPacket(player, removePacket);
                }, 20L); // 1 saniye sonra temizle
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

x.ai'ye şöyle bişey yazdırdım ama çalışır mı bilmem kodun garipliğine bakarsan kodlamadan anlayan birine ihtiyacın olduğunu anlayabilirsin
 
direkt yapıştırıp deniyim mi yoksa görsel eklememe falan gerek var mı bir şekilde
 
Merhabalar arkadasım yaklasık 1 ay sonra bunun için eklenti çıkaracakmış eğer o zaman konu açarsanız satın alma linkini atabilirim size.
 
direkt yapıştırıp deniyim mi yoksa görsel eklememe falan gerek var mı bir şekilde
çalışma ihtimali yok hevesli bir acemi pluginere bu konuda yazdıklarımı göster yapar bi şekilde bilmiyorsa çok uğraşması gerekir tabi :D
 
çalışma ihtimali yok hevesli bir acemi pluginere bu konuda yazdıklarımı göster yapar bi şekilde bilmiyorsa çok uğraşması gerekir tabi :D
:D yanıtların içint teşekkür ederim bu fikirden vazgeçtim o kadar bilgim yok tanıdık kimsemde yok sakıncası yoksa sana bir soru daha sormak istiyorum bilgili birine benziyorsun itemsadderla şeffaf para rank vs gözüken bossbar yaptıklarını görüyorum. internette araştırdım fakat bulamadım bulduklarımda itemsadderın 4< sürüm aşşağısıydı data dosyası vardı onlarda benim dosyamda contets var nasıl yapabilirim bossbar pngsi falan veriyordu bazıları bide ender wither bossbarları gitmiyor değilmi yapınca bu konu hakkında bilgin yoksa teşekkür ederim yine zamanını ayırmış oldun en azından
 
:D yanıtların içint teşekkür ederim bu fikirden vazgeçtim o kadar bilgim yok tanıdık kimsemde yok sakıncası yoksa sana bir soru daha sormak istiyorum bilgili birine benziyorsun itemsadderla şeffaf para rank vs gözüken bossbar yaptıklarını görüyorum. internette araştırdım fakat bulamadım bulduklarımda itemsadderın 4< sürüm aşşağısıydı data dosyası vardı onlarda benim dosyamda contets var nasıl yapabilirim bossbar pngsi falan veriyordu bazıları bide ender wither bossbarları gitmiyor değilmi yapınca bu konu hakkında bilgin yoksa teşekkür ederim yine zamanını ayırmış oldun en azından
paket bazında araştırdım ve sadece 1-2 değişik bişey keşfettim dediğinle alakası olmayan. Dediğin şeyi yapmanın yolunu da öğrendim oyunun doku paketinde bossbar için yapılabilecek bütün kombinasyonların ayrı ayrı .png ile saklandığını keşfettim renklerden birini feda ederek görünmez yapabilirsin böylece hepsi yok olmaz sadece tek bir renk için yaparsın şu doku paketinin içini incele

Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
 
paket bazında araştırdım ve sadece 1-2 değişik bişey keşfettim dediğinle alakası olmayan. Dediğin şeyi yapmanın yolunu da öğrendim oyunun doku paketinde bossbar için yapılabilecek bütün kombinasyonların ayrı ayrı .png ile saklandığını keşfettim renklerden birini feda ederek görünmez yapabilirsin böylece hepsi yok olmaz sadece tek bir renk için yaparsın şu doku paketinin içini incele

Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
teşekkürler 1 rengi feda ederim peki üstte para rank vs gözükmesini nasıl yapabilirim bununla ilgili başka konu varsa onuda gönderebilirsiniz
 
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.

bir yerden bedava itemsadder icon paketi bul nasıl yaptığına bak içini açıp eklentinin default paketinde de vardır belki örneği
 
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