Bukkit API Methode

Dieses Thema im Forum "Programmierung" wurde erstellt von Miningcraft2013, 28. Oktober 2013.

  1. Miningcraft2013
    Offline

    Miningcraft2013

    Registriert seit:
    29. Juli 2013
    Beiträge:
    33
    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 (Text):
    1. @EventHandler
    2.     public void onArrowKlick (PlayerInteractEvent e) {
    3.         Player p = e.getPlayer();
    4.             if (e.getAction() == Action.RIGHT_CLICK_AIR) {
    5.                 if (e.getPlayer().getInventory().contains(262)) {
    6.                     if (e.getPlayer().getItemInHand().getType() == Material.ARROW) {
    7.                                           [COLOR="#0000FF"]   p.shotarrow();[/COLOR]
    8.                                              
    9. }
    10. }
    11. }


    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
     
    #1
  2. ChristianG
    Online

    ChristianG

    Bitte demnächst stets CODE Tags benutzen!
     
    #2
  3. Miningcraft2013
    Offline

    Miningcraft2013

    Registriert seit:
    29. Juli 2013
    Beiträge:
    33
    ok, denke ich dran

    - Trotzdem würde ich mich über eine Antwort freuen.
     
    #3
  4. Du könntest das Projektilereignis benutzen mit einer eigenen Projektil Implementation und dann Schaden beim Aufprall berechnen.
     
    #4
  5. Miningcraft2013
    Offline

    Miningcraft2013

    Registriert seit:
    29. Juli 2013
    Beiträge:
    33
    Könntest du mir das kurz erläutern?

    Und: Welches Event? PlayerProjectileEvent?
     
    #5
  6. #6
  7. Benutzer
    Offline

    Benutzer

    Registriert seit:
    1. November 2012
    Beiträge:
    56
    Ich würd das ganze über das EntityDamageByEntityEvent lösen.

    Code (Text):
    1.  
    2.   @EventHandler(priority=EventPriority.NORMAL)
    3.   public void PfeilHitListener(EntityDamageByEntityEvent event) {
    4.     if(event.getCause() == DamageCause.PROJECTILE) {
    5.         if(event.getDamager() instanceof Arrow) {
    6.             event.setDamage(100);
    7.        }
    8.    }
    9. }
    10.  
     
    #7