• Bitte beachte, dass wir eine Serverliste sind!
    Wenn du ein Problem auf einem Server hast (z.B. Entbannantrag, etc), dann ist das Forum hier der falsche Ort.
  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Tod

D

deleted account

Guest
Hey,
die User haben in KBFFA eine Sterbeanimation,wenn sie mehrmals sterben.
Der Todes Code:
Java:
public class Death implements Listener{
public Death(spigotplugins.knockbackffa.main.Main Main){
this.pl = Main;
}
private spigotplugins.knockbackffa.main.Main pl;
@SuppressWarnings("deprecation")
@EventHandler
public void onDeath(PlayerDeathEvent e){
Player p = e.getEntity();
if(p == p.getKiller()){
e.setDeathMessage(null);
e.setDeathMessage(new Data().Prefix + "§6" + p.getName() + "§e ist gestorben...");
StatsManager.Deaths.put(p.getName(), StatsManager.Deaths.get(p.getName()) +1);
p.playSound(p.getLocation(), Sound.ENDERDRAGON_WINGS, 10, 10);
p.setHealthScale(1);
p.setHealth(20);
p.teleport(SpawnManager.location.get(Main.MapName));
p.setHealthScale(1);
p.setHealth(20);
e.getDrops().clear();
Bukkit.getScheduler().scheduleAsyncDelayedTask(pl, new Runnable() {
@Override
public void run() {
Main.setRandomKit(p);
}
},2L);
return;
}
p.playSound(p.getLocation(), Sound.ENDERDRAGON_WINGS, 10, 10);
e.setDeathMessage(null);
StatsManager.Deaths.put(p.getName(), StatsManager.Deaths.get(p.getName()) +1);
if(p.getKiller() == null){
p.sendTitle("§4§l✖", "§cGESTORBEN");
e.setDeathMessage(new Data().Prefix + "§6" + p.getName() + "§e ist gestorben...");
}else{
StatsManager.Kills.put(p.getKiller().getName(), StatsManager.Kills.get(p.getKiller().getName()) +1);
p.sendTitle("§4§l✖", "§9" + p.getKiller().getName());
p.getKiller().sendTitle("§a§l✔", "§7" + p.getName());
p.getKiller().playSound(p.getKiller().getLocation(), Sound.LEVEL_UP, 10, 10);
}
p.setHealthScale(1);
p.setHealth(20);
p.teleport(SpawnManager.location.get(Main.MapName));
p.setHealthScale(1);
p.setHealth(20);
e.getDrops().clear();
Bukkit.getScheduler().scheduleAsyncDelayedTask(pl, new Runnable() {
@Override
public void run() {
Main.setRandomKit(p);
}
},2L);
}
}

Main Class:
Java:
@Override
public void run() {
for(Player all : Bukkit.getOnlinePlayers()){
if(all.getLocation().getY() < KillY){
all.getPlayer().damage(20);
}
}
}
Hier ein Screen:


MFG-Würde mich über Hilfe freuen.
Silas
 

Anhänge

  • 2017-06-30_23.43.35.png
    2017-06-30_23.43.35.png
    252,1 KB · Aufrufe: 160
Zuletzt bearbeitet von einem Moderator:

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Scheinbar versuchst du Spieler automatisch respawnen zu lassen. Dafür ist das Setzen der HP sehr schlecht geeignet. Stattdessen solltest du einen Task starten, der einen Tick später player.spigot().respawn() aufruft.
 
D

deleted account

Guest
Also,nachdem die User einige male in den Void gefallen sind,spielt sich eine unendliche Sterbeanimation ab (Screenshot).Nun weiß ich leider nicht wie ich das beheben soll.
KBFFA=FFA nur auf "Inseln" der Schaden ist ausgeschaltet und man muss sich mit Knüppeln runter schlagen.
MFG
Silas
 

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Ein Bisschen mehr ist es schon. Also du solltest den Spieler dort nicht teleportieren, sondern seinen Respawnpunkt festsetzen. Und dann den Respawn erst einen Tick später aufrufen. Das Kit könntest du dann in einer Behandlung des PlayerRespawnEvents vergeben. In deinem Code rufst du viele Sachen merkwürdigerweise auch mehrfach auf.
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
442
Diamanten
228
Anders gefragt: Wenn Spieler nur dadurch sterben können, wenn sie in das Void fallen, warum machst du nicht ein Listener für das DamageEntityEvent und schaust, ob der Spieler in der y-Koordinate unter 0 (innerhalb des Voids) ist?
Dann das Event canceln und nach oben teleportieren.
 

FelixKlauke

Erzengel
Ehem. Teammitglied
Registriert
5 Januar 2014
Beiträge
1.038
Diamanten
299
Minecraft
FelixKlauke
Oben