Kurze Frage zu einem Event

Dieses Thema im Forum "Programmierung" wurde erstellt von Benutzer, 23. Mai 2013.

  1. Benutzer
    Offline

    Benutzer

    Registriert seit:
    1. November 2012
    Beiträge:
    56
    Hey,
    und zwar wollte ich wissen ob es eine Art FallingBlockHitGroundEvent gibt.
    Also ein Event das ausgelöst wird wenn ein Falling Block zu einem "normalen" Block wird

    MFG
     
    #1
  2. ChunkNorris
    Offline

    ChunkNorris

    #2
  3. Benutzer
    Offline

    Benutzer

    Registriert seit:
    1. November 2012
    Beiträge:
    56
    Mhmm irgendwie funktioniert des nicht so ganz.

    Also hier noch mal mein genaueres Problem.




    Code (Text):
    1.   @EventHandler(priority=EventPriority.NORMAL)
    2.   public void IceBlockAbschiesen(PlayerInteractEvent event) {
    3.       if(event.getAction() == Action.RIGHT_CLICK_AIR) {
    4.           Player p = event.getPlayer();
    5.          
    6.               FallingBlock block = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation(), Material.STONE, (byte) 0);
    7.               block.setVelocity(p.getLocation().getDirection().multiply(3));  
    8.               block.setDropItem(false);
    9.              
    10.        
    11.       }
    12.      
    13.          
    14.      
    15.   }
    ...Wenn der Spieler einen Rechtsklick in die Luft macht wird in dessen Blickrichtung ein Stein block geschossen. Jetzt will ich aber das dieser Block sobald er auf den Boden trifft verschwindet. Zusätzlich soll dann an der Lande position des Blockes eine kleiner Effekt entstehen.
    MFG Benutzer
     
    #3
  4. Sheigutn
    Offline

    Sheigutn

    Registriert seit:
    24. September 2012
    Beiträge:
    5
    Minecraft:
    sheigutn
    Probier mal das, das ist das Event das du suchst:
    Code (Text):
    1. @EventHandler
    2. public void onEntityChangeBlock(EntityChangeBlockEvent e){
    3. if(e.getEntityType() == EntityType.FALLING_BLOCK){
    4. FallingBlock fb = (FallingBlock) e.getEntity();
    5. if(fb.getMaterial() == Material.STONE){
    6. e.getBlock().setTypeId(0);
    7. }
    8. }
    9. }
    10.  
     
    #4
  5. Benutzer
    Offline

    Benutzer

    Registriert seit:
    1. November 2012
    Beiträge:
    56
    Okay dankeschöhn werd ich gleich mal probieren.
     
    #5
  6. Sheigutn
    Offline

    Sheigutn

    Registriert seit:
    24. September 2012
    Beiträge:
    5
    Minecraft:
    sheigutn
    Und hat es funktioniert?
     
    #6