wie kann ich die Death Message komplett abändern in Minecraft?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

@EventHandler
public void on(PlayerDeathEvent event) {

event.setDeathMessage(null);

}

Das Funktioniert bei mir leider nicht.
Habe auch das versucht.

package me.luca.ffa.listeners;

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;

import me.luca.ffa.main.Main;

public class DeathEvent implements Listener{

@EventHandler
public void onKill(PlayerDeathEvent e) {
e.getDrops().clear();
if(e.getEntity() instanceof Player) {
Player p = e.getEntity();
if(e.getEntity().getKiller() != null) {
if(e.getEntity().getKiller() instanceof Player) {
e.setDeathMessage(Main.prefix + "§7Der Spieler §e" + p.getName() + "§7 wurde von §c" + e.getEntity().getKiller().getName() + " §7getötet");
e.getDrops().clear();
} else {
e.setDeathMessage(Main.prefix + "§7Der Spieler §e" + p.getName() + "§7 wurde von §c" + e.getEntity().getType().toString().toUpperCase() + " §7getötet");
e.getDrops().clear();
}
} else {
e.setDeathMessage(Main.prefix + "§7Der Spieler §e" + p.getName() + " §7ist gestorben");
}
}

}

}

Geht aber auch nicht

1
@marrobHD

Könnten wir vllt. mal kontakt aufnehmen?

Dann kann ich dir den Code so schicken...

0
@marrobHD

Aber noch eine frage...

Das ist ja FFA soll es da auch noch andere entitys geben außer den Player?

0

Nein

0

Nur wie kann ich machen das bei dem getöteten Spieler du wurdest von NAME getötet steht

0

den Code den ich geschickt habe funktioniert doch!

0

Ok es hat Funktioniert es lag daran das ich es nicht in das Death Event hinein gepackt habe.

Also Das in das Death Event hinein Packen:

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;

import me.luca.ffa.main.Main;

public class DeathEvent implements Listener{

@EventHandler
public void onKill(PlayerDeathEvent e) {
e.getDrops().clear();
if(e.getEntity() instanceof Player) {
Player p = e.getEntity();
if(e.getEntity().getKiller() != null) {
if(e.getEntity().getKiller() instanceof Player) {
e.setDeathMessage(Main.prefix + "§7Der Spieler §e" + p.getName() + "§7 wurde von §c" + e.getEntity().getKiller().getName() + " §7getötet");
e.getDrops().clear();
} else {
e.setDeathMessage(Main.prefix + "§7Der Spieler §e" + p.getName() + "§7 wurde von §c" + e.getEntity().getType().toString().toUpperCase() + " §7getötet");
e.getDrops().clear();
}
} else {
e.setDeathMessage(Main.prefix + "§7Der Spieler §e" + p.getName() + " §7ist gestorben");
}
}

}

}

Ach so ok dann passt ja c:

0

Kannst du auch mit einer Gamerule machen!

PlayerDeathEvent gibt als Killer "null" aus, was soll ich tun?

Ich möchte in meinem PlayerDeathEvent abfragen, von welchem Mob man getötet wurde. Hier einmal der code

@EventHandler
public void onPlayerDeath(PlayerDeathEvent e) {
    
   Player p =  e.getEntity();
   Entity killer = p.getKiller();
   
   DamageCause cause = p.getLastDamageCause().getCause();
   
   if(cause != null && cause.equals(DamageCause.BLOCK_EXPLOSION)){
      e.setDeathMessage(p.getName+"wurde in die Luft gesprengt");
   }
   else if(cause != null && cause.equals(DamageCause.FALL)) {
          e.setDeathMessage("§2"+p.getName()+"§2 hat Fallschaden genossen!");
   }
   
   else if(!(killer instanceof Player)){
       
       p.sendMessage("Du wurdest von einem "+killer+" gekillt");
       
       EntityType type = killer.getType();
       p.sendMessage("type wurde festgestellt");
       switch(type) {
        case ZOMBIE:
            e.setDeathMessage("§2"+p.getName()+"§2 wurde von einem Zombie getötet!");
            break;
        default:
            p.sendMessage("Du wurdest von einem Mob gekillt");
            break;
        }
   }    

Und bei dem "Du wurdest von einem "+killer+" gekillt" wird immer "null" anstatt von "killer" ausgegeben Hoffe ihr könnt mir sagen, was ich falsch mache und wie ich es schaffe den Mob Typ abzufragen

...zur Frage

Leute auf Minecraftserver entbannen

Hallo Leute. Ich habe auf meinem Server jemanden gebannt und will ihn wieder entbannen. Leider weiß ich nicht wie das geht. Kann mir jemand helfen?

...zur Frage

Mein Virtuelles Inventar öffnet sich nicht... Weißt du Warum?

Meine Teleporter Klasse:

package items;

import main.Main; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;

public class Teleporter implements Listener {

@EventHandler
public void onInventoryClick(InventoryClickEvent e){
    Player p = null;
    if(e.getWhoClicked() instanceof Player){
        p = (Player) e.getWhoClicked();
    }
    if(e.getWhoClicked().getWorld().getName().equals(Main.world)){
        if(e.getCurrentItem() != null){
            if(e.getCurrentItem().hasItemMeta()){


                if(e.getCurrentItem().getItemMeta().getDisplayName().equals("§2§lNavigator")){
                    p.openInventory(Main.inv);
                    e.setCancelled(true);
                }
            }
        }
    }

}

@EventHandler
public void onInteract(PlayerInteractEvent e){
    Player p = e.getPlayer();
    if(e.hasItem()){
    if(e.getItem().hasItemMeta()){
        if(e.getItem().getItemMeta().getDisplayName().equals("§2§lNavigator")){
            p.openInventory(Main.inv);
            e.setCancelled(true);

        }
    }

} }

}

...zur Frage

Minecraft Spigot 1.8 plugin Bug (Selbst programmiert)!?

Hallo. ich ahbe eein plugin geschrieben (mit video hilfe) womit ich ein hideall item habe also wnen man mit nem item (im meinem fall Lohrenrute) rechtsklick macht, sollen alle unsichtbar werden, abber in aclipse meckert der an, das ".getServer()" nicht definiert wäre.

Heir mal der code:

package System;

import java.util.ArrayList;

import javax.sound.midi.MidiDevice.Info;

import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent;

public class Items implements Listener {

private Info plugin;
ArrayList<String> hidden = new ArrayList<>();

public Items(Info info) {
    this.plugin = info;
    this.plugin.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler
public void onplayerItneract(PlayerInteractEvent e) {
    Player p = e.getPlayer();
    
    if(e.getAction() ==Action.RIGHT_CLICK_AIR | e.getAction() == Action.RIGHT_CLICK_BLOCK) {
        if(e.getMaterial().equals(Material.BLAZE_ROD)) {
            
            for(Player players : Bukkit.getOnlinePlayers()) {
                
                if(hidden.contains(p.getName())) {
                    hidden.remove(p.getName());
                    p.showPlayer(players);
                    p.sendMessage("§aAlle Spieler sind nun wieder sichtbar!");
                }else
                    if(!hidden.contains(p.getName())) {
                        hidden.add(p.getName());
                        p.hidePlayer(players);
                        p.sendMessage("§cAlle Spieler sind nun unsichtbar");
                        
                    }
            }
        }
    }
}

}

...zur Frage

Warum geht das Inventar nicht zu?! (Java)

Ich hab ein Problem, welches ist, dass wenn man die Enderchest aufmacht, es wieder geschlossen und ein virtuelles geöffnet werden soll. Allerdings schließt sich das Inventar nicht mit p.closeInventory(); was mache ich falsch? Ich bin ratlos.

ps: Bis zum Virtuellen Inventar bin ich noch nicht gekommen, da können also auch noch Fehler drin sein.

Hier ist der Code: package org.gloin01.test;

import java.util.HashMap; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack;

public class EventListener implements Listener{

public Inventory inv = null;

HashMap<String, ItemStack[]> inventory = new HashMap<>();


public EventListener(TestPlugin plugin){

    plugin.getServer().getPluginManager().registerEvents(this, plugin);

}


@EventHandler
public void onPlayerTot(InventoryOpenEvent ev){

    String inve = ev.getInventory().getName();
    Player p = (Player) ev.getPlayer();
    if(inve == "container.enderchest"){

        p.closeInventory();
        inv = p.getServer().createInventory(null, 54, "§c" + p.getDisplayName() + "'s §2Enderchest");
        p.openInventory(inv);


        inventory.put(p.getName(),p.getInventory().getContents());

    }
}

}

...zur Frage

Minecraft: auf was sollte man nemesis der gliederfüße mache?

Minecraft: Auf was sollte man Nemesis der Gliederfüße machen? Und was bringt das einem?

...zur Frage

Was möchtest Du wissen?