[QuakeCraft] Hilfe mit Raketen

Dieses Thema im Forum "Programmierung" wurde erstellt von ThunderFlo, 4. Oktober 2013.

  1. ThunderFlo
    Offline

    ThunderFlo

    Registriert seit:
    22. September 2013
    Beiträge:
    53
    Hallo Minecraft-Server.eu Forum,

    ich code gerade QuakeCraft und habe ein Problem mit denn Raketen. Ich wollte fragen wie ich die Rakete in die entsprechende Richtung abschießen kann in die ich gerade gucke.

    Mein Code:

    Code (Text):
    1. package QuakeCraft;
    2.  
    3. import org.bukkit.Color;
    4. import org.bukkit.FireworkEffect;
    5. import org.bukkit.Location;
    6. import org.bukkit.Material;
    7. import org.bukkit.entity.EntityType;
    8. import org.bukkit.entity.Firework;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.Listener;
    12. import org.bukkit.event.block.Action;
    13. import org.bukkit.event.player.PlayerInteractEvent;
    14. import org.bukkit.inventory.meta.FireworkMeta;
    15.  
    16. public class QuakeGuns implements Listener {
    17.    
    18.     @EventHandler
    19.     public void onShoot(PlayerInteractEvent e) {
    20.         Player p = e.getPlayer();
    21.        
    22.         if (e.getMaterial() == Material.WOOD_HOE) {
    23.             if (e.getAction() == Action.RIGHT_CLICK_AIR) {
    24.                
    25.                 Firework firework = p.getWorld().spawn(loc, Firework.class);
    26.                 FireworkMeta data = (FireworkMeta) firework.getFireworkMeta();
    27.                 data.addEffects(FireworkEffect.builder().withColor(Color.RED).withFlicker().build());
    28.                 firework.setVelocity(firework.getVelocity().setX(1));
    29.                 firework.setFireworkMeta(data);
    30.             }
    31.            
    32.             if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
    33.                 p.getWorld().spawnEntity(p.getEyeLocation(), EntityType.FIREWORK).setVelocity(p.getVelocity().setZ(1));
    34.                
    35.                 Firework firework = p.getWorld().spawn(loc, Firework.class);
    36.                 FireworkMeta data = (FireworkMeta) firework.getFireworkMeta();
    37.                 firework.setVelocity(firework.getVelocity().setX(1));
    38.                 firework.setFireworkMeta(data);
    39.             }
    40.         }
    41.     }
    42.  
    43. }
    44.  
    Momentan schießt sie ja leider nur in die Richtung X.
     
    #1
  2. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    Ändere das:
    Code (Text):
    1. [COLOR=#FFFFFF]firework.setVelocity(firework.getVelocity().setX(1));[/COLOR]
    in das um:
    Code (Text):
    1. [COLOR=#FFFFFF]firework.setVelocity(e.getPlayer().getLocation().getDirection().multiply(1));[/COLOR]
     
    #2
  3. ThunderFlo
    Offline

    ThunderFlo

    Registriert seit:
    22. September 2013
    Beiträge:
    53
    Ich danke dir :) Klappt perfekt ^^
     
    #3