1. Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

ServerPlugin BlockPlaceEvent

Dieses Thema im Forum "Programmierung" wurde erstellt von CodEr, 26. April 2014.

  1. CodEr
    Offline

    CodEr

    Registriert seit:
    20. April 2014
    Beiträge:
    8
    Hi :)


    Ich war so dumm zu vergessen wie man bei einem BlockPlaceEvent den platzierten block bekommt -.-

    Kann mir das jemand zeigen?

    Code (Text):
    1.  
    2. @EventHandler
    3.     public void onBlockplace(BlockPlaceEvent e){
    4.     Player ep = e.getPlayer();
    5.  
    6. if(//Der plazierte Block DIRT ist){
    7.  
    8. //Code
    9. }
    10.    
    11.        
    12.        
    13.        
    14.     }
    15.  
     
    #1
  2. Werbung
    Online

    Werbung

  3. Timon
    Offline

    Timon Ehem. Teammitglied

    Registriert seit:
    20. Oktober 2013
    Beiträge:
    69
    Ort:
    Far far away
    Minecraft:
    Rblilly
    #2
  4. CodEr
    Offline

    CodEr

    Registriert seit:
    20. April 2014
    Beiträge:
    8
    Hmm

    Aber getBlockPlaced() kann ich nicht mit Material.MATERIAL überprüfen?
     
    #3
  5. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.065
    getBlockPlaced() gibt dir den Plazierten Block. Davon kannst du dann die Methode getType() aufrufen, die dir das Material gibt:
    Code (Text):
    1. if (e.getPlacedBlock().getType() == Material.DIRT) {
    2.   ///Weiterer Code
    3. }
     
    #4
  6. CodEr
    Offline

    CodEr

    Registriert seit:
    20. April 2014
    Beiträge:
    8
    Warum geht dann das nicht?:

    Code (Text):
    1.  
    2. package me.thrustlp.eap;
    3.  
    4. import org.bukkit.Material;
    5. import org.bukkit.command.Command;
    6. import org.bukkit.command.CommandSender;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.block.BlockPlaceEvent;
    11. import org.bukkit.plugin.java.JavaPlugin;
    12.  
    13. public class Main extends JavaPlugin implements Listener{
    14.  
    15.     @Override
    16.     public void onEnable(){
    17.         System.out.println("[EAP] Aktiv!");
    18.        
    19.        
    20.        
    21.     }
    22.    
    23.    
    24.     @Override
    25.     public void onDisable(){
    26.        
    27.         System.out.println("[EAP] Deaktiviert!");
    28.        
    29.        
    30.     }
    31.     public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args){
    32.         Player p = (Player) sender;
    33.        
    34.        
    35.        
    36.        
    37.        
    38.        
    39.        
    40.        
    41.        
    42.         return true;
    43.     }
    44.        
    45.    
    46.     @EventHandler
    47.     public void onBlockplace(BlockPlaceEvent e){
    48.     if(e.getBlockPlaced().getType() == Material.TNT){
    49.         e.setCancelled(true);
    50.        
    51.     }
    52.        
    53.        
    54.        
    55.     }
    56.    
    57.    
    58.    
    59.    
    60.    
    61.    
    62.    
    63.    
    64. }
    65.  
    66.  
     
    #5
  7. Howha
    Offline

    Howha

    Registriert seit:
    10. April 2013
    Beiträge:
    42
    Minecraft:
    Howha
    Weil du den Listener nicht registriert hast. Pack das in die onEnable()-Methode:

    Code (Text):
    1. getServer().getPluginManager().registerEvents(this, this);
     
    #6