Advertisement
Guest User

Untitled

a guest
Oct 9th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.81 KB | None | 0 0
  1. package com.plasticono;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandExecutor;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.configuration.ConfigurationSection;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  16. import org.bukkit.event.player.AsyncPlayerChatEvent;
  17. import org.bukkit.event.player.PlayerJoinEvent;
  18.  
  19. public class teamCommand implements Listener, CommandExecutor{
  20.  
  21. public Main plugin;
  22. public void teamCommand(Main instance){
  23. plugin = instance;
  24. }
  25.  
  26. ArrayList<String> teamchat = new ArrayList<String>();
  27.  
  28.  
  29. public String getTeam(Player p){
  30. String team = plugin.getConfig().getString(p.getName() + ".team");
  31. return team;
  32. }
  33. public String getPassword(String team){
  34. String password = plugin.getConfig().getString("teams." + team + ".password");
  35. return password;
  36. }
  37. public String getLeader(String team){
  38. String leader = plugin.getConfig().getString("teams." + team + ".owner");
  39. return leader;
  40. }
  41. public boolean isManager(Player p){
  42. List managers = plugin.getConfig().getList("teams." + getTeam(p) + ".managers");
  43. if(managers.contains(p.getName())){
  44. return true;
  45. }else{
  46. return false;
  47. }
  48. }
  49. public List getMembers(String team){
  50. List members = plugin.getConfig().getList("teams." + team + ".members");
  51. return members;
  52. }
  53. public boolean inTeam(Player p){
  54. if(getTeam(p) == null){
  55. return false;
  56. }else{
  57. return true;
  58. }
  59.  
  60. }
  61.  
  62. @EventHandler
  63. public void onJoin(PlayerJoinEvent e){
  64.  
  65. plugin
  66. .getConfig()
  67. .createSection(
  68. "stats." + e.getPlayer().getName() + ".team"
  69. );
  70. plugin.getConfig().set(e.getPlayer().getName() + ".team", "no-team");
  71. plugin.saveConfig();
  72. e.getPlayer().sendMessage(ChatColor.GREEN + "Your profile has been setup");
  73. }
  74.  
  75. @EventHandler
  76. public void onChat(AsyncPlayerChatEvent e){
  77. if(teamchat.contains(e.getPlayer().getName())){
  78. Player p = e.getPlayer();
  79. for(Player online: Bukkit.getOnlinePlayers()){
  80. if(getTeam(p) == getTeam(online)){
  81. online.sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_AQUA + plugin.getConfig().getString(p.getName() + ".team") + ChatColor.GRAY + "]" + e.getMessage());
  82. p.sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_AQUA + plugin.getConfig().getString(p.getName() + ".team") + ChatColor.GRAY + "]" + e.getMessage());
  83. }
  84. }
  85. }
  86. }
  87. @EventHandler
  88. public void onTeamAttack(EntityDamageByEntityEvent e){
  89. if(e.getEntity() instanceof Player){
  90. if(e.getDamager() instanceof Player){
  91. Player p = (Player) e.getEntity();
  92. Player attacker = (Player) e.getDamager();
  93. if(getTeam(p) == getTeam(attacker)){
  94. e.setCancelled(true);
  95. attacker.sendMessage(Main.prefix + ChatColor.GRAY + "You cannot hurt your teammates.");
  96. }
  97. }
  98. }
  99. }
  100.  
  101. @Override
  102. public boolean onCommand(CommandSender sender, Command cmd, String lbl, String[] args) {
  103. if(sender instanceof Player){
  104. Player p = (Player) sender;
  105.  
  106. if(lbl.equalsIgnoreCase("team") || lbl.equalsIgnoreCase("t")){
  107. if(args.length == 0){
  108. p.sendMessage(ChatColor.BOLD.toString() + ChatColor.GOLD + "[Teams Commands]");
  109. p.sendMessage(Main.prefix + "/team create (name) (password)");
  110. p.sendMessage(Main.prefix + "/team leave");
  111. p.sendMessage(Main.prefix + "/team join (name) (password)");
  112. p.sendMessage(Main.prefix + "/team password (new password)");
  113. p.sendMessage(Main.prefix + "/team info");
  114. p.sendMessage(Main.prefix + "/team manager (player)");
  115. p.sendMessage(Main.prefix + "/team chat");
  116. }
  117. if(args.length == 1){
  118. if(args[0].equalsIgnoreCase("create")){
  119. p.sendMessage(ChatColor.GRAY + "Please use : /team create (name) (password)");
  120. }
  121. if(args[0].equalsIgnoreCase("leave")){
  122. if(!inTeam(p)){
  123. p.sendMessage(plugin.prefix + ChatColor.GRAY + "You are not in a team.");
  124. }else{
  125. plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + p.getName(), null);
  126. plugin.getConfig().set(p.getName() + ".team", null);
  127. p.sendMessage(Main.prefix + ChatColor.GRAY + "You have left the team.");
  128. for(Player online : Bukkit.getOnlinePlayers()){
  129. if(plugin.getConfig().getString(online.getName() + ".team") == plugin.getConfig().getString(p.getName() + ".team")){
  130. online.sendMessage(Main.prefix + ChatColor.GRAY + p.getName() + " has left the team.");
  131. }
  132. }
  133. }
  134. }
  135. if(args[0].equalsIgnoreCase("join")){
  136. p.sendMessage(ChatColor.GRAY + "Please use : /team join (name) (password)");
  137. }
  138. if(args[0].equalsIgnoreCase("password")){
  139. if(plugin.getConfig().getString("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".manager").contains(p.getName())){
  140. p.sendMessage(Main.prefix + ChatColor.GRAY + "Please use: /team password (password)");
  141. }else{
  142. p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not a team manager.");
  143. }
  144. }
  145. if(args[0].equalsIgnoreCase("info")){
  146. if(!inTeam(p)){
  147. p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not in a team.");
  148. }else{
  149. p.sendMessage("[" +plugin.getConfig().getString(p.getName() + ".team") + "]");
  150. p.sendMessage(ChatColor.DARK_AQUA + ChatColor.BOLD.toString() + "Password: " + getPassword(getTeam(p)));
  151. p.sendMessage(ChatColor.DARK_AQUA + ChatColor.BOLD.toString() + "Members");
  152. List members = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".members");
  153. for(int i = 0; i < members.size(); i++) {
  154. p.sendMessage(ChatColor.GRAY + members.get(i).toString());
  155. }
  156. p.sendMessage(getMembers(getTeam(p)).toString());
  157. }
  158.  
  159. }
  160. if(args[0].equalsIgnoreCase("manager")){
  161. if(plugin.getConfig().getString(p.getName() + ".team") != null){
  162. if(plugin.getConfig().getString("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".owner") == p.getName()){
  163. p.sendMessage(ChatColor.GRAY + "Please use: /team manager (player)");
  164. }else{
  165. p.sendMessage("To promote somebody to manager, you must be the owner of the team. Your teams owner: " + plugin.getConfig().getString("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".owner"));
  166. }
  167. }else{
  168. p.sendMessage(ChatColor.GRAY + "You are not in a team.");
  169. }
  170. }
  171. if(args[0].equalsIgnoreCase("chat")){
  172. if(inTeam(p)){
  173. if(teamchat.contains(p.getName())){
  174. teamchat.remove(p.getName());
  175. p.sendMessage(Main.prefix + ChatColor.GRAY + "You are now talking in public chat.");
  176. }else{
  177. teamchat.add(p.getName());
  178. p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not talking in team chat.");
  179. }
  180. }else{
  181. p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not in a team.");
  182. }
  183. }
  184.  
  185. }
  186. if(args.length == 2){
  187. if(args[0].equalsIgnoreCase("create")){
  188. p.sendMessage(ChatColor.GRAY + "Please use : /team create (name) (password)");
  189. }
  190. if(args[0].equalsIgnoreCase("leave")){
  191. if(plugin.getConfig().getString(p.getName() + ".team") != null){
  192. p.sendMessage(plugin.prefix + ChatColor.GRAY + "You are not in a team.");
  193. }else{
  194. plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + p.getName(), null);
  195. plugin.getConfig().set(p.getName() + ".team", null);
  196. p.sendMessage(Main.prefix + ChatColor.GRAY + "You have left the team.");
  197. for(Player online : Bukkit.getOnlinePlayers()){
  198. if(plugin.getConfig().getString(online.getName() + ".team") == plugin.getConfig().getString(p.getName() + ".team")){
  199. online.sendMessage(Main.prefix + ChatColor.GRAY + p.getName() + " has left the team.");
  200. }
  201. }
  202. }
  203. }
  204. if(args[0].equalsIgnoreCase("join")){
  205. p.sendMessage(ChatColor.GRAY + "Please use : /team join (name) (password)");
  206. }
  207. if(args[0].equalsIgnoreCase("password")){
  208. List managers = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers");
  209. for(int i = 0; i < managers.size(); i++) {
  210. if(managers.get(i).equals(p.getName())){
  211. plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".password", args[1]);
  212. p.sendMessage(Main.prefix + ChatColor.GRAY + "Password Updated");
  213. }else{
  214. p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not a manager.");
  215. }
  216. }
  217. }
  218. if(args[0].equalsIgnoreCase("manager")){
  219. if(plugin.getConfig().getString(p.getName() + ".team") != null){
  220. Player target = Bukkit.getPlayer(args[1]);
  221. List<?> members = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".members");
  222. for(int i = 0; i < members.size(); i++) {
  223. if(members.get(i).equals(target.getName())){
  224. if(plugin.getConfig().getString("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".owner") == p.getName()){
  225. target.sendMessage(ChatColor.GRAY + "You were promoted to team manager.");
  226. p.sendMessage(ChatColor.GRAY + "You have promoted " + target.getName());
  227. List managers = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers");
  228. managers.add(target.getName());
  229. plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers" , managers);
  230. }else{
  231. p.sendMessage("To promote somebody to manager, you must be the owner of the team. Your teams owner: " + plugin.getConfig().getString("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".owner"));
  232. }
  233. }else{
  234. p.sendMessage(ChatColor.GRAY + "You are not in a team.");
  235. }
  236. }
  237. }
  238. }
  239. }
  240. if(args.length == 3){
  241. if(args[0].equalsIgnoreCase("create")){
  242. if(plugin.getConfig().getString(p.getName() + ".team") != null){
  243. p.sendMessage(Main.prefix + ChatColor.GRAY + "You are already in a team.");
  244. }else{
  245. plugin.getConfig().set(p.getName() + ".team", args[1]);
  246. plugin.getConfig().set("teams." + args[1], 1);
  247. plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".password", args[2]);
  248. plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".owner", p.getName());
  249.  
  250. List managers = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers");
  251. managers.add(p.getName());
  252.  
  253. List members = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".members");
  254. members.add(p.getName());
  255.  
  256. plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".members", members);
  257. plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers", managers);
  258. }
  259. }
  260.  
  261.  
  262.  
  263. if(args[0].equalsIgnoreCase("join")){
  264. if(plugin.getConfig().getString(p.getName() + ".team") ==null){
  265. if(plugin.getConfig().get("teams." + args[1])!= null){
  266. String team = args[1];
  267. String password = plugin.getConfig().getString("teams." + team + ".password");
  268. if(args[2].equals(password)){
  269. p.sendMessage(ChatColor.GRAY + "You have joined the team " + team);
  270. List members = plugin.getConfig().getList("teams." + team + ".members");
  271. members.add(p.getName());
  272. plugin.getConfig().set("teams." + team + ".members", members);
  273. for(Player online : Bukkit.getOnlinePlayers()){
  274. if(plugin.getConfig().getString(online.getName() + ".team").equals(team)){
  275. online.sendMessage(Main.prefix + ChatColor.GRAY + p.getName() + " has joined the team.");
  276. }
  277. }
  278. }else{
  279. p.sendMessage(Main.prefix + ChatColor.GRAY + "That is not the correct password.");
  280. }
  281. }else{
  282. p.sendMessage(Main.prefix + ChatColor.GRAY + "That is not a team.");
  283. }
  284. }else{
  285. p.sendMessage(Main.prefix + ChatColor.GRAY + "You are already in a team.");
  286. }
  287. }
  288.  
  289. }
  290. }
  291. }
  292. return false;
  293. }
  294.  
  295. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement