Jump to content

Items die schießen?


Empfohlene Beiträge

Hallo, Ich bin gerade dabei ein GunGame-Plugin mit einigen Spezials zu schreiben. Nun möchte ich das aus einer Feldhacke pfeile spawnen und das mehrmals hintereinander. Mein Code:

public void ItemChange (PlayerInteractEvent event) {	Player p = event.getPlayer();	World w = p.getWorld();	if(event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) {		if(p.getItemInHand().getType() == Material.IRON_HOE) {			w.spawnArrow(p.getLocation(),new Vector(0.0D,1.2D,0.0D),0.5F,0.5F);		}	}}

Und wenn ich mit der Hacke rechtsklicke passiert nichts. 0! !!! BITTE LASST OFF-TOPIC !!! MfG Kevin

bearbeitet von Cruzer
Code eingerückt und markiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 8 months later...

Vielleicht hilft dir mein Code! Jedoch wird statt einem Arrow ein Feuerball erzeugt, trotzdem gleiches Prinzip!

@EventHandler    public void onPlayerInteract(PlayerInteractEvent e) {        if (!(e.getAction() == Action.RIGHT_CLICK_AIR)) return;               if (!(e.getItem().getType() == Material.IRON_SPADE)) return;               Fireball f = e.getPlayer().launchProjectile(Fireball.class);        f.setIsIncendiary(false);        f.setYield(0);    }       @EventHandler    public void onEntityDamage(EntityDamageByEntityEvent e) {        if (e.getDamager() instanceof Fireball) {            Fireball f = (Fireball) e.getDamager();            if (f.getShooter() instanceof Player) {                Player shooter = (Player) f.getShooter();                if (shooter.getItemInHand().getType() == Material.IRON_SPADE) {                    e.setDamage(4.0);
bearbeitet von Cruzer
Code markiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 5 weeks later...

Hi,

ich habe mit deinem Code genau drei Probleme:

1. Er ist nicht anständig eingerückt

2. Er steht nicht in einem Code Tag

3. Es ist nicht der gesamte Code

Wie sollen wir dir helfen, wenn du uns nur einen so kleinen Codeauschnitt gibst? Der Fehler liegt nämlich anscheinend nicht in diesem Codeausschnitt. Was mir aber grade auffällt: Die Funktion getItemInHand() gibt null zurück, wenn der Spieler grade eine leeren Slot ausgewählt hat.

Toble_Miner

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 weeks later...

Um das Thema noch einmal aufzugreifen: Miner hat recht, getItemInHand() solltest du erst mit einem Null-Check umgehen.

Dann würde ich p.launchProjectile(Arrow.class) nutzen und keine komische spawnArrow()-Methode, die mir völlig fremd ist.

EDIT: Juni 2013? Liest der eh nicht mehr ^^ Naja, wenn noch wer das Problem hat :)

Liebe Grüße,

Baustein

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 months later...

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B