Advertisement
Guest User

Eventlist

a guest
Apr 12th, 2015
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.51 KB | None | 0 0
  1. package me.zero.cc;
  2.  
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.UUID;
  6.  
  7. import net.md_5.bungee.api.ChatColor;
  8. import net.minecraft.server.v1_8_R1.NBTTagString;
  9.  
  10. import org.bukkit.Material;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.EventPriority;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.block.Action;
  16. import org.bukkit.event.inventory.InventoryInteractEvent;
  17. import org.bukkit.event.inventory.InventoryOpenEvent;
  18. import org.bukkit.event.player.AsyncPlayerChatEvent;
  19. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  20. import org.bukkit.event.player.PlayerInteractEvent;
  21. import org.bukkit.event.player.PlayerItemHeldEvent;
  22. import org.bukkit.event.player.PlayerJoinEvent;
  23. import org.bukkit.event.player.PlayerKickEvent;
  24. import org.bukkit.event.player.PlayerQuitEvent;
  25. import org.bukkit.event.server.ServerCommandEvent;
  26. import org.bukkit.inventory.Inventory;
  27. import org.bukkit.inventory.InventoryView;
  28. import org.bukkit.inventory.ItemFlag;
  29. import org.bukkit.inventory.meta.BookMeta;
  30. import org.bukkit.material.MaterialData;
  31.  
  32. public class EventListener  implements Listener{
  33.  
  34.     private BlockSpawnerChange main;
  35.     private ChatManager ch = new ChatManager();
  36.     private HashMap<UUID, Boolean> isReadingBook = new HashMap<UUID, Boolean>();
  37.    
  38.     public EventListener(BlockSpawnerChange main){
  39.         this.main = main;
  40.     }
  41.     @EventHandler(priority = EventPriority.HIGHEST)
  42.     public void onUse(PlayerInteractEvent e){
  43.         if(main.config.getBoolean("disablechanging")){
  44.             if(main.config.getBoolean("only-change-if-perm")){
  45.                 if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
  46.                     if(e.getClickedBlock().getType().equals(Material.MOB_SPAWNER)){
  47.                         if(e.getPlayer().getItemInHand().getType().equals(Material.MONSTER_EGG) || e.getPlayer().getItemInHand().getType().equals(Material.MONSTER_EGGS)){
  48.                             if(!e.getPlayer().hasPermission("BSC.change")){                    
  49.                                 e.getPlayer().sendMessage(ch.ColorIt(main.config.getString("Message.no-perm")));   
  50.                                 e.setCancelled(true);
  51.                             }else{
  52.                                 e.getPlayer().sendMessage(ch.ColorIt(main.config.getString("Message.enough-perm")));
  53.                             }                  
  54.                         }
  55.                     }
  56.                 }
  57.             }else{
  58.                 if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
  59.                     if(e.getClickedBlock().getType().equals(Material.MOB_SPAWNER)){
  60.                         if(e.getPlayer().getItemInHand().getType().equals(Material.MONSTER_EGG) || e.getPlayer().getItemInHand().getType().equals(Material.MONSTER_EGGS)){
  61.                             for(String s : (List<String>)main.config.getList("disallow-changing to this")){
  62.                                 MaterialData mei = e.getPlayer().getItemInHand().getData();
  63.                                 if(mei.toString().toUpperCase().contains(s.toUpperCase())){
  64.                                     if(!e.getPlayer().hasPermission("BSC.change")){
  65.                                         e.setCancelled(true);
  66.                                         e.getPlayer().sendMessage(ch.ColorIt(main.config.getString("Message.disallowed-mob").replace("<mob>", s)));
  67.                                         break;
  68.                                     }                                  
  69.                                 }  
  70.                             }
  71.                         }
  72.                     }
  73.                 }
  74.             }
  75.         }                      
  76.     }
  77.     @EventHandler(priority = EventPriority.HIGHEST)
  78.     public void onClick(PlayerInteractEvent event){
  79.         if(event.getPlayer().getItemInHand().getType().equals(Material.WRITTEN_BOOK)){
  80.             if(isReadingBook.containsKey(event.getPlayer().getUniqueId())){
  81.                 isReadingBook.put(event.getPlayer().getUniqueId(), true);
  82.             }else{
  83.                 isReadingBook.put(event.getPlayer().getUniqueId(), true);              
  84.             }
  85.         }else{
  86.             if(isReadingBook.containsKey(event.getPlayer().getUniqueId())){
  87.                 isReadingBook.put(event.getPlayer().getUniqueId(), false);
  88.             }else{
  89.                 isReadingBook.put(event.getPlayer().getUniqueId(), false);             
  90.             }
  91.         }
  92.     }
  93.     @EventHandler(priority = EventPriority.HIGHEST)
  94.     public void onChatWhileOpenBook(AsyncPlayerChatEvent event){
  95.         if(isReadingBook.containsKey(event.getPlayer().getUniqueId())){
  96.             if(isReadingBook.get(event.getPlayer().getUniqueId())){
  97.                 if(event.getPlayer().getInventory().getItemInHand().getType().equals(Material.WRITTEN_BOOK)){
  98.                     event.getPlayer().sendMessage(ChatManager.ColorIt(main.config.getString("Message.chat-block").replace("<cmd>", event.getMessage())));
  99.                     isReadingBook.put(event.getPlayer().getUniqueId(), false);
  100.                     event.setCancelled(true);
  101.                 }else{
  102.                     isReadingBook.put(event.getPlayer().getUniqueId(), false);
  103.                 }
  104.             }
  105.         }      
  106.     }
  107.    
  108.     @EventHandler(priority = EventPriority.HIGHEST)
  109.     public void onOpenBookAndCommand(PlayerCommandPreprocessEvent event){  
  110.         if(isReadingBook.containsKey(event.getPlayer().getUniqueId())){
  111.             if(isReadingBook.get(event.getPlayer().getUniqueId())){
  112.                 if(event.getPlayer().getInventory().getItemInHand().getType().equals(Material.WRITTEN_BOOK)){
  113.                     event.getPlayer().sendMessage(ChatManager.ColorIt(main.config.getString("Message.cmd-block").replace("<cmd>", event.getMessage())));
  114.                     isReadingBook.put(event.getPlayer().getUniqueId(), false);
  115.                     event.setCancelled(true);
  116.                 }else{
  117.                     isReadingBook.put(event.getPlayer().getUniqueId(), false);
  118.                 }
  119.             }
  120.         }
  121.     }
  122.     @EventHandler(priority = EventPriority.HIGHEST)
  123.     public void onPlayerJoin(PlayerJoinEvent e){
  124.         if(main.config.getBoolean("disable-join-msg")){
  125.             e.setJoinMessage("");
  126.         }      
  127.     }
  128.     @EventHandler(priority = EventPriority.HIGHEST)
  129.     public void onPlayerLeft(PlayerQuitEvent e){
  130.         if(main.config.getBoolean("disable-left-msg")){
  131.             e.setQuitMessage("");
  132.         }      
  133.     }
  134.     @EventHandler(priority = EventPriority.HIGHEST)
  135.     public void onPlayerKick(PlayerKickEvent e){
  136.         if(main.config.getBoolean("disable-left-msg")){
  137.             e.setLeaveMessage("");
  138.         }      
  139.     }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement