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

Bukkit API Methode

Miningcraft2013

Redstoneengineer
Registriert
29 Juli 2013
Beiträge
33
Diamanten
0
Hey Leute,
Ich habe mal zwei Fragen.
Erstmal meine Lage (Vereinfacht):

Ich versuche mich darin, ein Plugin zu programmieren, welches es ermöglicht, Pfeile mit Rechts-Klick zu werfen.
Dazu hier ein Stück Code:

Code:
@EventHandler
    public void onArrowKlick (PlayerInteractEvent e) {
        Player p = e.getPlayer();
            if (e.getAction() == Action.RIGHT_CLICK_AIR) {
                if (e.getPlayer().getInventory().contains(262)) {
                    if (e.getPlayer().getItemInHand().getType() == Material.ARROW) {
                                          [COLOR="#0000FF"]   p.shotarrow();[/COLOR]
                                              
}
}
}



Das Problem liegt im Blau markierten Bereich.

Nun zur Fragestellung/zum Problemfall: Ich möchte zwei Dinge wissen:

1.) Wie ist es möglich, die 'Schusshärte' bzw. den Schaden, der vom Pfeil ausgeht zu beeinflußen?

2.) Wie kann ich dafür sorgen, dass ein brennender Pfeil abgeschossen wird? (Optimal: Mit Verzauberungen)









=== Ich würde mich sehr über eine Antwort freuen und bedanke mich schonmal im Vorraus bei euch allen ===



Mit freundlichen Grüßen
MiningCraft2013
Im Oktober 2013
 
Zuletzt bearbeitet von einem Moderator:

Benutzer

Kuhfänger
Registriert
1 November 2012
Beiträge
56
Diamanten
0
Ich würd das ganze über das EntityDamageByEntityEvent lösen.

Code:
  @EventHandler(priority=EventPriority.NORMAL)
  public void PfeilHitListener(EntityDamageByEntityEvent event) {
	if(event.getCause() == DamageCause.PROJECTILE) {
		if(event.getDamager() instanceof Arrow) {
			event.setDamage(100);
       }
   }
}
 
Oben