Advertisement
Guest User

EntityInfo.java

a guest
Apr 23rd, 2014
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.64 KB | None | 0 0
  1. package org.minecraftsmp.entityinfo;
  2.  
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.ArrayList;
  6.  
  7. import org.minecraftsmp.arraylib.ArrayManipulator;
  8.  
  9. import org.bukkit.plugin.java.JavaPlugin;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.HandlerList;
  12.  
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.command.Command;
  15. import org.bukkit.command.CommandSender;
  16.  
  17. import org.bukkit.event.player.PlayerInteractEntityEvent;
  18. import org.bukkit.entity.Player;
  19. import org.bukkit.entity.Damageable;
  20. import org.bukkit.entity.Entity;
  21.  
  22. public final class EntityInfo extends JavaPlugin implements Listener {
  23.     private List<String> enabledPlayersId;
  24.     private List<String> enabledPlayersInfo;
  25.    
  26.     public void onEnable() {
  27.         enabledPlayersId = new ArrayList<String>();
  28.         enabledPlayersInfo = new ArrayList<String>();
  29.         getServer().getPluginManager().registerEvents(this, this);
  30.     }
  31.    
  32.     public void onDisable() {
  33.         HandlerList.unregisterAll((JavaPlugin)this);
  34.     }
  35.    
  36.     public String[] entityId(Entity e) {
  37.         List<String> id = new ArrayList<String>();
  38.         id.add("§eEntity ID: §f" + e.getEntityId());
  39.         id.add("§eUUID: §f" + e.getUniqueId());
  40.         return id.toArray(new String[id.size()]);
  41.     }
  42.    
  43.     public String[] entityInfo(Entity e) {
  44.         List<String> info = new ArrayList<String>();
  45.         info.add(("§eEntity Type: §f" + e.getType()));
  46.         return info.toArray(new String[info.size()]);
  47.     }
  48.    
  49.     @EventHandler
  50.     public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
  51.         if (enabledPlayersId.contains(event.getPlayer().getName())) {
  52.             event.getPlayer().sendMessage(entityId(event.getRightClicked()));
  53.         }
  54.         if (enabledPlayersInfo.contains(event.getPlayer().getName())) {
  55.             event.getPlayer().sendMessage(entityInfo(event.getRightClicked()));
  56.         }
  57.     }
  58.    
  59.     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  60.         if (command.getName().equals("entityinfo")) {
  61.             //No subcommand
  62.             if (args.length < 1) {
  63.                 sender.sendMessage("§cSubcommand required.");
  64.                 return true;
  65.             }
  66.            
  67.             //One subcommand.
  68.             else if (args.length == 1) {
  69.                
  70.                 //Enabled showing of IDs (Entity and Universally Unique).
  71.                 if (args[0].equals("id")) {
  72.                     if (!(sender instanceof Player)) {
  73.                         sender.sendMessage("§eSilly console, this command is for players.");
  74.                         return true;
  75.                     }
  76.                     if (enabledPlayersId.contains(sender.getName())) {
  77.                         enabledPlayersId.remove(enabledPlayersId.indexOf(sender.getName()));
  78.                         sender.sendMessage("§bToggled show ID on right click off.");
  79.                         return true;
  80.                     } else {
  81.                         if (enabledPlayersId.size() == 0) {
  82.                             enabledPlayersId = Arrays.asList(sender.getName());
  83.                         } else {
  84.                             enabledPlayersId.add(sender.getName());
  85.                         }
  86.                         sender.sendMessage("§bToggled show ID on right click on.");
  87.                         return true;
  88.                     }
  89.                 }
  90.                
  91.                 //Enable showing entity info.
  92.                 else if (args[0].equals("info")) {
  93.                     if (!(sender instanceof Player)) {
  94.                         sender.sendMessage("§eSilly console, this command is for players.");
  95.                         return true;
  96.                     }
  97.                     if (enabledPlayersInfo.contains(sender.getName())) {
  98.                         enabledPlayersInfo.remove(sender.getName());
  99.                         sender.sendMessage("§bToggled show info on right click off.");
  100.                         return true;
  101.                     } else {
  102.                         enabledPlayersInfo.add(sender.getName());
  103.                         sender.sendMessage("§bToggled show info on right click on.");
  104.                         return true;
  105.                     }
  106.                 }
  107.                 return true;
  108.             }
  109.            
  110.             //Too many subcommands.
  111.             else {
  112.                 sender.sendMessage("§cToo many arguments.");
  113.                 return true;
  114.             }
  115.         }
  116.        
  117.         //Command wasn't meant for us!
  118.         else
  119.         {return true;}
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement