BlockBreakEvent help

Discussion in 'Plugin Development' started by spookyDHD, Jan 19, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    spookyDHD

    I making a plugin where i need if a player mines a ore that it not drop but it isn't working.


    The event class:

    Code:java
    1. package me.Ricardo.ClanZ.Listeners;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.Material;
    5. import org.bukkit.event.Listener;
    6. import org.bukkit.event.block.BlockBreakEvent;
    7.  
    8. /**
    9. * Created by Ricardo on 1/20/14.
    10. */
    11. public class OnOreBreak implements Listener{
    12.  
    13. public void onOreBreak(BlockBreakEvent e) {
    14.  
    15. e.getBlock().setType(Material.AIR);
    16. if (e.getBlock().getType() == Material.COAL_ORE) {
    17. e.getBlock().setType(Material.AIR);
    18. }
    19. }
    20. }
    21.  




    And this is my main:

    Code:java
    1. package me.Ricardo.ClanZ;
    2.  
    3. import me.Ricardo.ClanZ.Listeners.OnOreBreak;
    4. import me.Ricardo.ClanZ.Listeners.Wand;
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.plugin.PluginManager;
    8. import org.bukkit.plugin.java.JavaPlugin;
    9.  
    10. /**
    11. * Created by Ricardo on 1/15/14.
    12. */
    13. public class ClanZ extends JavaPlugin implements Listener {
    14.  
    15.  
    16.  
    17. /*
    18.   * ToDo List
    19.   * 1:Arena settings
    20.   * 2:Listeners
    21.   * 3:The Game
    22.   * 4:Permissions
    23.   * 5:Debugging
    24.   *
    25.   *
    26.   * Store PlayerData in file
    27.   *
    28.   *
    29.   */
    30.  
    31.  
    32.  
    33. @Override
    34. public void onEnable() {
    35. PluginManager pm = Bukkit.getServer().getPluginManager();
    36. pm.registerEvents(new Wand(), this);
    37. pm.registerEvents(new OnOreBreak(), this);
    38. SettingsManager.getInstance().setup(this);
    39.  
    40.  
    41. System.out.println("[ClanZ] Has been enabled!");
    42.  
    43.  
    44.  
    45. }
    46.  
    47. @Override
    48. public void onDisable() {
    49.  
    50. }
    51. }
    52.  
     
  2. Offline

    Stealth2800

    You need to add @EventHandler above the 'onOreBreak' method.
     
  3. Offline

    spookyDHD

    O if was forgot that thx

    How do i replace the broken block with a another block?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 6, 2016
  4. Just replace AIR for something else. Ex: Material.WOOD
    Code:java
    1. e.getBlock().setType(Material.AIR);
     
  5. Offline

    spookyDHD

    Now it drops that item i want the replace it with cobble.
     
  6. Offline

    xMrPoi

    * Untested *

    Code:java
    1. e.setDrops(Material.AIR);
     
Thread Status:
Not open for further replies.

Share This Page