• 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!

Spieler, der einen anderen Spieler mit einer Angel trifft.

V

Verschraubt

Guest
Hallo!
Ich habe folgendes Problem. Skypvp: Wenn Spieler 1 Spieler 2 mit einer Angel von einer Insel schmeißt ( Hierbei ist zu beachten, dass Der Spieler die Angel nicht wieder einzieht! ), soll dem zweiten Spieler der Name des ersten Spielers in einer HashMap zugewiesen werden. Ich habe versucht, den Spieler über das PlayerFishEvent zu erfassen. Dabei stellte sich aber heraus, dass dieses Event nur eintritt, wenn der Spieler die Angel wieder einzieht.

Code:
    @EventHandler
    public void onFish(PlayerFishEvent e) {
        Player p = e.getPlayer();

        if (e.getCaught() != null) {
            if (e.getCaught() instanceof Player) {
                Player x = (Player) e.getCaught();
                this.plugin.attack.put(x, p);

            }
        }

    }

Über eine Lösung wäre ich sehr dankbar.
Mit freundlichen Grüßen
DasThema
 
V

Verschraubt

Guest
So habe ich es auch schon probiert. Das Problem dabei ist, der Damager FISHING_HOOK hat dann nichts mehr mit einem Spieler zu tun.


Code:
    @EventHandler
    public void onAttack(EntityDamageByEntityEvent e) {
        Player p = (Player) e.getEntity();
        if (e.getDamager().getType() == EntityType.PLAYER) {
            Player attacker = (Player) e.getDamager();
            this.plugin.attack.put(p, attacker);
        }
       
        if (e.getDamager().getType() == EntityType.FISHING_HOOK)  {
            this.plugin.attack.put(p, ##Spieler mit der Angel##);
        }

    }

Code:
this.plugin.attack = HashMap, in welcher der Angreifer festgesetzt werden soll.
 

GPSforLEGENDS

Vorarbeiter
Registriert
21 März 2014
Beiträge
289
Alter
85
Diamanten
300
Minecraft
GPSforLEGENDS
Zum Fish_Hook:
  • _INVALID_getShooter
    @Deprecated
    LivingEntity _INVALID_getShooter()
    Deprecated.
    This method exists for legacy reasons to provide backwards compatibility. It will not exist at runtime and should not be used under any circumstances.
    Returns:
    the LivingEntity that shot this projectile
 
Zuletzt bearbeitet:
V

Verschraubt

Guest
Vielen Dank für die Antworten. Konnte es so lösen:
Code:
@EventHandler
    public void onAttack(EntityDamageByEntityEvent e) {
        Player p = (Player) e.getEntity();
        if (e.getDamager().getType() == EntityType.PLAYER) {
            Player attacker = (Player) e.getDamager();
            this.plugin.attack.put(p, attacker);
        }

        if (e.getDamager() instanceof Projectile) {
            Projectile x = (Projectile) e.getDamager();
            if (x.getType() == EntityType.FISHING_HOOK) {
                Player attacker = (Player) x.getShooter();
                this.plugin.attack.put(p, attacker);

            }
        }

    }
 

GPSforLEGENDS

Vorarbeiter
Registriert
21 März 2014
Beiträge
289
Alter
85
Diamanten
300
Minecraft
GPSforLEGENDS
Vielen Dank für die Antworten. Konnte es so lösen:
Code:
@EventHandler
    public void onAttack(EntityDamageByEntityEvent e) {
        Player p = (Player) e.getEntity();
        if (e.getDamager().getType() == EntityType.PLAYER) {
            Player attacker = (Player) e.getDamager();
            this.plugin.attack.put(p, attacker);
        }

        if (e.getDamager() instanceof Projectile) {
            Projectile x = (Projectile) e.getDamager();
            if (x.getType() == EntityType.FISHING_HOOK) {
                Player attacker = (Player) x.getShooter();
                this.plugin.attack.put(p, attacker);

            }
        }

    }
Hast du schon ausprobiert ob das geht?
Es dürfte eigentlich nicht funktionieren. Siehe meine Zitate
 
Oben