ServerPlugin Habe das Blöcke setzen im BlockPlace Event deaktiviert wie kann ich dennoch Feuer setzen?

Dieses Thema im Forum "Programmierung" wurde erstellt von Walfisch, 29. Oktober 2015.

  1. Walfisch
    Offline

    Walfisch

    Registriert seit:
    23. Mai 2015
    Beiträge:
    23
    Minecraft:
    Walfisch
    Hallo nochmal.
    Ich habe im BlockPlaceEvent das Blöcke setzen deaktiviert. Nun weiß ich nicht, wie ich dennoch mit einem Feuerzeug Feuer setzen kann. Ich habe schon probiert für den Block "Fire" ( Material.Fire), das ganze aufzuheben. Das hat allerdings auch nichts genützt.
    Schonmal vielen Dank im Voraus! :)
     
    #1
  2. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    654
    Das ist aber der korrekte Weg, vielleichst magste deinen Quellcode teilen, der nicht funktioniert hat. Und hör bitte auf die Schriftgröße im Forum unnötig zu vergrößern.
     
    #2
  3. Walfisch
    Offline

    Walfisch

    Registriert seit:
    23. Mai 2015
    Beiträge:
    23
    Minecraft:
    Walfisch
    Okey,
    Hier einmal der Code vom BlockPlaceListener.
    Hier habe ich das ganze noch mit einer ArrayList überprüft und TNT auch abgefragt, das funktioniert soweit ich kann nur kein Feuer setzen!
    Die ArrayList bitte nicht beachten die habe ich für einen Command erstellt.

    Code (Text):
    1. public void onPlace(BlockPlaceEvent e){
    2.         Player p = e.getPlayer();
    3.        
    4.         if (!(e.getBlock().getType() == Material.TNT) || (!(e.getBlock().getType() == Material.FIRE))){
    5.             if (!(Main.abbus.contains(p.getName()))){
    6.                 e.setCancelled(true);
    7.                
    8.             }else{
    9.                 e.setCancelled(false);
    10.             }
    11.         }else{
    12.             if (e.getBlock().getType() == Material.TNT){
    13.                
    14.                 e.getBlock().getWorld().spawnEntity(e.getBlock().getLocation(), EntityType.PRIMED_TNT);
    15.                 e.getBlock().setType(Material.AIR);
    16.             if (e.getBlock().getState().getType() == Material.FIRE){
    17.                 e.setCancelled(false);
    18.             }
    19.             }
    20.            
    21.         }
    22.     }
    23.  
    24. }
    25.  
     
    #3
  4. Victini151
    Online

    Victini151

    Falsch verschachtelt. Die Anweisung um auf "Fire" zu prüfen ist logisch unerreichbar
     
    #4
  5. Walfisch
    Offline

    Walfisch

    Registriert seit:
    23. Mai 2015
    Beiträge:
    23
    Minecraft:
    Walfisch
    Danke ist mir dann auch aufgefallen... :D
    Jetzt klappts!
     
    #5
  6. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    654
    Pro Tipp: Ctrl + Shift + F damit der Code automatisch korrekt formatiert wird (in Eclipse) und ansonsten direkt korrekt einrücken, dann passiert sowas auch nicht.
     
    #6