Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. package Events;
  2.  
  3. import java.util.List;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.block.Block;
  7. import org.bukkit.entity.Entity;
  8. import org.bukkit.entity.EntityType;
  9. import org.bukkit.entity.Item;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.entity.EntityExplodeEvent;
  13. import org.bukkit.inventory.ItemStack;
  14.  
  15. public class BlockDamage implements Listener {
  16.  
  17. //Main Import in Listener
  18. private de.mrpyro13.tdm.main main;
  19. public BlockDamage(de.mrpyro13.tdm.main plugin) {
  20. this.main = plugin;
  21. plugin.getServer().getPluginManager().registerEvents(this, plugin);
  22. }
  23.  
  24. private int stop;
  25.  
  26. @SuppressWarnings("deprecation")
  27. @EventHandler
  28. public void onBlockDamage(final EntityExplodeEvent ev) {
  29.  
  30. if (ev.getEntityType() == EntityType.PRIMED_TNT) {
  31.  
  32. List<Block> blocks = ev.blockList();
  33. final List<Integer> IDs = main.getConfig().getIntegerList("config.design.damage_by_tnt");
  34.  
  35. for (int i = 0; i < blocks.size();) {
  36.  
  37. if (!(IDs.contains(blocks.get(i).getTypeId()))) {
  38. blocks.remove(i);
  39. } else {
  40. i++;
  41. }
  42.  
  43. }
  44.  
  45.  
  46. stop = Bukkit.getScheduler().scheduleSyncDelayedTask(main, new Runnable() {
  47.  
  48. @Override
  49. public void run() {
  50.  
  51. List<Entity> entity = ev.getEntity().getNearbyEntities(6, 6, 6);
  52.  
  53. for (int i = 0; i < entity.size();) {
  54.  
  55. if (entity instanceof Item) {
  56.  
  57. ItemStack item = (ItemStack) entity;
  58.  
  59. if (IDs.contains(item.getTypeId())) {
  60.  
  61. entity.remove(i);
  62.  
  63. } else {
  64. i++;
  65. }
  66.  
  67. } else {
  68. i++;
  69. }
  70.  
  71. }
  72.  
  73. Bukkit.getScheduler().cancelTask(stop);
  74.  
  75. }
  76. }, 20*2);
  77.  
  78. }
  79.  
  80. }
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement