Advertisement
Guest User

Untitled

a guest
Jul 27th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. package pl.lotus.core.listeners;
  2.  
  3. import pl.lotus.core.data.base.DropData;
  4. import org.bukkit.Material;
  5. import pl.lotus.core.data.base.DropType;
  6. import pl.lotus.core.managers.DropManager;
  7. import org.bukkit.event.EventPriority;
  8. import org.bukkit.event.EventHandler;
  9. import java.util.Iterator;
  10. import pl.lotus.core.data.base.Guild;
  11. import pl.lotus.core.utils.TimeUtil;
  12. import pl.lotus.core.lang.Config;
  13. import org.bukkit.command.CommandSender;
  14. import java.util.Collection;
  15. import pl.lotus.core.utils.Util;
  16. import pl.lotus.core.lang.Lang;
  17. import org.bukkit.block.Block;
  18. import pl.lotus.core.managers.GuildManager;
  19. import org.bukkit.event.entity.EntityExplodeEvent;
  20. import org.bukkit.event.Listener;
  21.  
  22. public class EntityExplodeListener implements Listener
  23. {
  24. @EventHandler(priority = EventPriority.HIGHEST)
  25. public void onEntityExplode(final EntityExplodeEvent e) {
  26. Guild g = GuildManager.getGuild(e.getEntity().getLocation());
  27. if (g == null) {
  28. for (final Block b : e.blockList()) {
  29. if (g != null) {
  30. continue;
  31. }
  32. final Guild o = GuildManager.getGuild(b.getLocation());
  33. if (o == null) {
  34. continue;
  35. }
  36. g = o;
  37. }
  38. }
  39. if (g == null) {
  40. return;
  41. }
  42. g.setLastExplodeTime(System.currentTimeMillis());
  43. Util.sendMsg((Collection<? extends CommandSender>)g.getOnlineMembers(), Lang.MSG_EXPLODE_EXPLODETNT);
  44. if (!Config.TNT_CUBOID_PROTECTION_ENABLED) {
  45. return;
  46. }
  47. if (g.getCreateTime() + TimeUtil.HOUR.getTime(Config.TNT_CUBOID_PROTECTION_HOWHOUR) > System.currentTimeMillis()) {
  48. e.setCancelled(true);
  49. }
  50. }
  51.  
  52. @EventHandler(priority = EventPriority.MONITOR)
  53. public void onEntityExplode312(final EntityExplodeEvent event) {
  54. if (event.isCancelled()) {
  55. return;
  56. }
  57. final Iterator<Block> blocks = event.blockList().iterator();
  58. Block b = null;
  59. while (blocks.hasNext()) {
  60. b = blocks.next();
  61. final DropData d = DropManager.getDropData(b.getType());
  62. if (d.getDropType() == DropType.CANCEL_DROP) {
  63. b.setType(Material.AIR);
  64. }
  65. }
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement