Advertisement
Guest User

Untitled

a guest
Jan 26th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.59 KB | None | 0 0
  1. package de.bigreview.nick;
  2.  
  3.  
  4. import java.io.PrintStream;
  5. import java.util.ArrayList;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Random;
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.ChatColor;
  11. import org.bukkit.Material;
  12. import org.bukkit.command.Command;
  13. import org.bukkit.command.CommandSender;
  14. import org.bukkit.configuration.file.FileConfiguration;
  15. import org.bukkit.configuration.file.FileConfigurationOptions;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.EventHandler;
  18. import org.bukkit.event.Listener;
  19. import org.bukkit.event.block.Action;
  20. import org.bukkit.event.player.PlayerInteractEntityEvent;
  21. import org.bukkit.event.player.PlayerInteractEvent;
  22. import org.bukkit.inventory.ItemStack;
  23. import org.bukkit.inventory.PlayerInventory;
  24. import org.bukkit.inventory.meta.ItemMeta;
  25. import org.bukkit.plugin.PluginManager;
  26. import org.bukkit.plugin.java.JavaPlugin;
  27. import org.bukkit.scheduler.BukkitScheduler;
  28. import org.kitteh.tag.AsyncPlayerReceiveNameTagEvent;
  29. import org.kitteh.tag.TagAPI;
  30.  
  31. public class Main extends JavaPlugin
  32. implements Listener
  33. {
  34. public HashMap<String, String> nicks = new HashMap();
  35. public ArrayList<String> cooldown = new ArrayList();
  36.  
  37. public void onEnable()
  38. {
  39. System.out.println("[]---NICK von iGamePlayHD wurde AKTIVIERT---[]");
  40.  
  41. getConfig().addDefault("iGamePlayHD.NICK.PREFIX", "&7[&5NICK&7] ");
  42. getConfig().addDefault("iGamePlayHD.RandomNamen.1", "abc");
  43. getConfig().addDefault("iGamePlayHD.RandomNamen.2", "abcd");
  44. getConfig().addDefault("iGamePlayHD.RandomNamen.3", "abcde");
  45. getConfig().addDefault("iGamePlayHD.RandomNamen.4", "abcdef");
  46. getConfig().addDefault("iGamePlayHD.RandomNamen.5", "abcdefg");
  47. getConfig().addDefault("iGamePlayHD.RandomNamen.6", "abcdefgh");
  48. getConfig().addDefault("iGamePlayHD.RandomNamen.7", "abcdefghi");
  49. getConfig().addDefault("iGamePlayHD.RandomNamen.8", "abcdefghij");
  50. getConfig().addDefault("iGamePlayHD.RandomNamen.9", "abcdefghijk");
  51. getConfig().addDefault("iGamePlayHD.RandomNamen.10", "abcdefghijkl");
  52. getConfig().addDefault("iGamePlayHD.RandomNamen.11", "abcdefghijklm");
  53. getConfig().addDefault("iGamePlayHD.RandomNamen.12", "abcdefghijklmn");
  54. getConfig().addDefault("iGamePlayHD.RandomNamen.13", "abcdefghijklmno");
  55. getConfig().addDefault("iGamePlayHD.RandomNamen.14", "abcdefghijklmnop");
  56. getConfig().addDefault("iGamePlayHD.RandomNamen.15", "abcdefghijklmnopq");
  57. getConfig().addDefault("iGamePlayHD.RandomNamen.16", "abcdefghijklmnopqr");
  58. getConfig().addDefault("iGamePlayHD.RandomNamen.17", "abcdefghijklmnopqrs");
  59. getConfig().addDefault("iGamePlayHD.RandomNamen.18", "abcdefghijklmnopqrst");
  60. getConfig().addDefault("iGamePlayHD.RandomNamen.19", "abcdefghijklmnopqrstu");
  61. getConfig().addDefault("iGamePlayHD.RandomNamen.20", "abcdefghijklmnopqrstv");
  62.  
  63. getConfig().options().copyDefaults(true);
  64. saveConfig();
  65.  
  66. Bukkit.getPluginManager().registerEvents(this, this);
  67. }
  68.  
  69. public void onDisable() {
  70. System.out.println("[]---NICK von iGamePlayHD wurde DEAKTIVIERT---[]");
  71. }
  72.  
  73. public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
  74. {
  75. if (command.getName().equalsIgnoreCase("nick")) {
  76. if ((sender instanceof Player)) {
  77. Player p = (Player)sender;
  78. if (sender.hasPermission("nick.use")) {
  79. if (args.length == 0) {
  80. String name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  81. name = ChatColor.translateAlternateColorCodes('&', name);
  82. sender.sendMessage(name + "§cCoded by iGamePlayHD");
  83. sender.sendMessage(name + "/nick <Name> - Damit nickst du dich");
  84. sender.sendMessage(name + "/nick reset - Damit entnickst du dich");
  85. sender.sendMessage(name + "/nick resetall - Entnickt alle Spieler");
  86. sender.sendMessage(name + "/nick random - Damit holst du dir einen Random-Nick");
  87. sender.sendMessage(name + "/nick nametag - Setzt ein Nametag ins Inventar");
  88. sender.sendMessage(name + "/nick reload - L§dt die Config.yml neu");
  89. sender.sendMessage(name + "§cCoded by iGamePlayHD");
  90. }
  91. else if (args.length == 1) {
  92. if (args[0].equalsIgnoreCase("reset")) {
  93. if (this.nicks.containsKey(p.getName())) {
  94. String name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  95. name = ChatColor.translateAlternateColorCodes('&', name);
  96. this.nicks.remove(p.getName());
  97. p.setPlayerListName(p.getName());
  98. p.setCustomName(p.getName());
  99. p.setDisplayName(p.getName());
  100. TagAPI.refreshPlayer(p);
  101. p.sendMessage(name + "§cDein Name ist jetzt §4" + p.getName() + "§c!");
  102. }
  103. else {
  104. String name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  105. name = ChatColor.translateAlternateColorCodes('&', name);
  106. sender.sendMessage(name + "§cDu bist bereits ungenickt.");
  107. }
  108. }
  109. else if (args[0].equalsIgnoreCase("random")) {
  110. List names = new ArrayList();
  111.  
  112. names.add(getConfig().getString("iGamePlayHD.RandomNamen.1"));
  113. names.add(getConfig().getString("iGamePlayHD.RandomNamen.2"));
  114. names.add(getConfig().getString("iGamePlayHD.RandomNamen.3"));
  115. names.add(getConfig().getString("iGamePlayHD.RandomNamen.4"));
  116. names.add(getConfig().getString("iGamePlayHD.RandomNamen.5"));
  117. names.add(getConfig().getString("iGamePlayHD.RandomNamen.6"));
  118. names.add(getConfig().getString("iGamePlayHD.RandomNamen.7"));
  119. names.add(getConfig().getString("iGamePlayHD.RandomNamen.8"));
  120. names.add(getConfig().getString("iGamePlayHD.RandomNamen.9"));
  121. names.add(getConfig().getString("iGamePlayHD.RandomNamen.10"));
  122. names.add(getConfig().getString("iGamePlayHD.RandomNamen.11"));
  123. names.add(getConfig().getString("iGamePlayHD.RandomNamen.12"));
  124. names.add(getConfig().getString("iGamePlayHD.RandomNamen.13"));
  125. names.add(getConfig().getString("iGamePlayHD.RandomNamen.14"));
  126. names.add(getConfig().getString("iGamePlayHD.RandomNamen.15"));
  127. names.add(getConfig().getString("iGamePlayHD.RandomNamen.16"));
  128. names.add(getConfig().getString("iGamePlayHD.RandomNamen.17"));
  129. names.add(getConfig().getString("iGamePlayHD.RandomNamen.18"));
  130. names.add(getConfig().getString("iGamePlayHD.RandomNamen.19"));
  131. names.add(getConfig().getString("iGamePlayHD.RandomNamen.20"));
  132.  
  133. if (!this.nicks.containsValue(p.getName()))
  134. {
  135. Random rnd = new Random();
  136. String endname = (String)names.get(rnd.nextInt(names.size()));
  137.  
  138. if (endname.length() > 16) {
  139. endname = endname.substring(0, 16);
  140. }
  141.  
  142. String name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  143. name = ChatColor.translateAlternateColorCodes('&', name);
  144.  
  145. if (!this.nicks.containsValue(endname)) {
  146. this.nicks.put(p.getName(), endname);
  147. p.setPlayerListName(endname);
  148. p.setCustomName(endname);
  149. p.setDisplayName(endname);
  150. TagAPI.refreshPlayer(p);
  151. p.sendMessage(name + "§cDein Name ist jetzt §a" + endname + "§c!");
  152. } else {
  153. p.sendMessage(name + "§cFehler! Jemand benutzt bereits diesen Namen!");
  154. p.sendMessage(name + "§aNicke dich neu!");
  155. }
  156. }
  157. }
  158. else if (args[0].equalsIgnoreCase("nametag")) {
  159. ItemStack item = new ItemStack(Material.NAME_TAG);
  160. ItemMeta meta = item.getItemMeta();
  161. meta.setDisplayName("§cAutomatischer §5Nick");
  162. item.setItemMeta(meta);
  163.  
  164. p.getInventory().addItem(new ItemStack[] { item });
  165. }
  166. else
  167. {
  168. String name;
  169. if (args[0].equalsIgnoreCase("reload")) {
  170. reloadConfig();
  171. name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  172. name = ChatColor.translateAlternateColorCodes('&', name);
  173. sender.sendMessage(name + "§aDu hast die Config-Datei neugeladen!");
  174. }
  175. else if (args[0].equalsIgnoreCase("resetall")) {
  176. for (Player o : Bukkit.getOnlinePlayers()) {
  177. if (this.nicks.containsKey(o.getName())) {
  178. this.nicks.remove(o.getName());
  179. o.setPlayerListName(o.getName());
  180. o.setCustomName(o.getName());
  181. o.setDisplayName(o.getName());
  182. TagAPI.refreshPlayer(o);
  183. }
  184. }
  185. String name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  186. name = ChatColor.translateAlternateColorCodes('&', name);
  187. p.sendMessage(name + "§aDu hast alle Spieler-Namen resetet!");
  188. p.sendMessage(name + "§aKein Spieler ist mehr genickt!");
  189. } else {
  190. if (args[0].length() > 16) {
  191. args[0] = args[0].substring(0, 16);
  192. }
  193.  
  194. if (!this.nicks.containsValue(args[0])) {
  195. this.nicks.put(p.getName(), args[0]);
  196. p.setPlayerListName(args[0]);
  197. p.setCustomName(args[0]);
  198. p.setDisplayName(args[0]);
  199. TagAPI.refreshPlayer(p);
  200. String name1 = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  201. name1 = ChatColor.translateAlternateColorCodes('&', name1);
  202. p.sendMessage(name1 + "§cDein Name ist jetzt §a" + args[0] + "§c!");
  203. } else {
  204. String name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  205. name = ChatColor.translateAlternateColorCodes('&', name);
  206. p.sendMessage(name + "§cFehler! Jemand benutzt bereits diesen Namen!");
  207. }
  208.  
  209. }
  210.  
  211. }
  212.  
  213. }
  214.  
  215. }
  216. else
  217. {
  218. sender.sendMessage("§cDu hast keine Rechte um diesen Befehl zu benutzen.");
  219. }
  220. }
  221. else
  222. {
  223. sender.sendMessage("Du musst ein Spieler sein um das zu verwenden!");
  224. }
  225.  
  226. }
  227.  
  228. return true;
  229. }
  230. @EventHandler
  231. public void onInteract(PlayerInteractEvent e) {
  232. Player p = e.getPlayer();
  233.  
  234. if (((e.getAction() == Action.RIGHT_CLICK_AIR) || (e.getAction() == Action.RIGHT_CLICK_BLOCK)) &&
  235. (p.getItemInHand().getType() == Material.NAME_TAG) &&
  236. (p.hasPermission("nick.use"))) {
  237. e.setCancelled(true);
  238. if (this.cooldown.contains(p.getName())) {
  239. String name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  240. name = ChatColor.translateAlternateColorCodes('&', name);
  241. p.sendMessage(name + "§cBitte warte 1 Sekunde, bis du dich neu nickst.");
  242. return;
  243. }
  244. setRandomName(p);
  245. this.cooldown.add(p.getName());
  246.  
  247. Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable(p)
  248. {
  249. public void run()
  250. {
  251. Main.this.cooldown.remove(this.val$p.getName());
  252. }
  253. }
  254. , 20L);
  255. }
  256. }
  257.  
  258. @EventHandler
  259. public void onEntityInteract(PlayerInteractEntityEvent e)
  260. {
  261. Player p = e.getPlayer();
  262.  
  263. if (p.getItemInHand().getType() == Material.NAME_TAG)
  264. e.setCancelled(true);
  265. }
  266.  
  267. public void setRandomName(Player p)
  268. {
  269. String name = getConfig().getString("iGamePlayHD.NICK.PREFIX");
  270. name = ChatColor.translateAlternateColorCodes('&', name);
  271. if (this.nicks.containsKey(p.getName())) {
  272. this.nicks.remove(p.getName());
  273. p.setPlayerListName(p.getName());
  274. p.setCustomName(p.getName());
  275. p.setDisplayName(p.getName());
  276. TagAPI.refreshPlayer(p);
  277. p.sendMessage(name + "§cDein Name ist jetzt §4" + p.getName() + "§c!");
  278. } else {
  279. List names = new ArrayList();
  280.  
  281. names.add(getConfig().getString("iGamePlayHD.RandomNamen.1"));
  282. names.add(getConfig().getString("iGamePlayHD.RandomNamen.2"));
  283. names.add(getConfig().getString("iGamePlayHD.RandomNamen.3"));
  284. names.add(getConfig().getString("iGamePlayHD.RandomNamen.4"));
  285. names.add(getConfig().getString("iGamePlayHD.RandomNamen.5"));
  286. names.add(getConfig().getString("iGamePlayHD.RandomNamen.6"));
  287. names.add(getConfig().getString("iGamePlayHD.RandomNamen.7"));
  288. names.add(getConfig().getString("iGamePlayHD.RandomNamen.8"));
  289. names.add(getConfig().getString("iGamePlayHD.RandomNamen.9"));
  290. names.add(getConfig().getString("iGamePlayHD.RandomNamen.10"));
  291. names.add(getConfig().getString("iGamePlayHD.RandomNamen.11"));
  292. names.add(getConfig().getString("iGamePlayHD.RandomNamen.12"));
  293. names.add(getConfig().getString("iGamePlayHD.RandomNamen.13"));
  294. names.add(getConfig().getString("iGamePlayHD.RandomNamen.14"));
  295. names.add(getConfig().getString("iGamePlayHD.RandomNamen.15"));
  296. names.add(getConfig().getString("iGamePlayHD.RandomNamen.16"));
  297. names.add(getConfig().getString("iGamePlayHD.RandomNamen.17"));
  298. names.add(getConfig().getString("iGamePlayHD.RandomNamen.18"));
  299. names.add(getConfig().getString("iGamePlayHD.RandomNamen.19"));
  300. names.add(getConfig().getString("iGamePlayHD.RandomNamen.20"));
  301.  
  302. Random rnd = new Random();
  303. String endname = (String)names.get(rnd.nextInt(names.size()));
  304.  
  305. if (!this.nicks.containsValue(endname))
  306. {
  307. if (endname.length() > 16) {
  308. endname = endname.substring(0, 16);
  309. }
  310.  
  311. this.nicks.put(p.getName(), endname);
  312. p.setPlayerListName(endname);
  313. p.setCustomName(endname);
  314. p.setDisplayName(endname);
  315. TagAPI.refreshPlayer(p);
  316. p.sendMessage(name + "§cDein Name ist jetzt §a" + endname + "§c!");
  317. } else {
  318. p.sendMessage(name + "§cFehler! Jemand benutzt bereits diesen Namen!");
  319. p.sendMessage(name + "§aNicke dich neu!");
  320. }
  321. }
  322. }
  323.  
  324. @EventHandler
  325. public void onNick(AsyncPlayerReceiveNameTagEvent e) {
  326. if (this.nicks.containsKey(e.getNamedPlayer().getName()))
  327. e.setTag((String)this.nicks.get(e.getNamedPlayer().getName()));
  328. }
  329. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement