CrafterK3vin Posted June 27, 2013 Share Posted June 27, 2013 (edited) 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 Edited April 20, 2014 by Cruzer Code eingerückt und markiert Link to comment Share on other sites More sharing options...
Pistenblitz98 Posted March 22, 2014 Share Posted March 22, 2014 (edited) 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); Edited April 20, 2014 by Cruzer Code markiert Link to comment Share on other sites More sharing options...
Toble_Miner Posted April 20, 2014 Share Posted April 20, 2014 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 to comment Share on other sites More sharing options...
Baustein Posted May 11, 2014 Share Posted May 11, 2014 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 to comment Share on other sites More sharing options...
615Power Posted September 7, 2014 Share Posted September 7, 2014 (edited) Gibt es eine Möglichkeit das anstatt des TNTs z.B Spinnenweben geschossen werden? Hab es mit FallingSand hinbekommen Edited September 8, 2014 by 615Power Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now