@EventHandler public void onBreak(BlockBreakEvent e){ final Block b = e.getBlock(); if(b.getType() == Material.ENDER_STONE){ ItemStack drop = new ItemStack(Material.ENDER_STONE, 1); b.setType(Material.ENDER_STONE); if(!(e.getPlayer().getGameMode() != GameMode.CREATIVE)){ b.getWorld().dropItemNaturally(b.getLocation(), drop); } else { return; } e.setCancelled(true); return; } if(b.getType() == Material.STONE){ final Location loc = new Location(b.getLocation().getWorld(), b.getX(), b.getY() - 1.0D, b.getZ()); if(loc.getBlock().getType() == Material.ENDER_STONE){ Bukkit.getScheduler().runTaskLater(Main.getInst(), new Runnable() { @Override public void run() { if(loc.getBlock().getType() == Material.ENDER_STONE){ b.setType(Material.STONE); } } }, 25L); } } }