Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.plasticono;
- import java.util.ArrayList;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.ConfigurationSection;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- public class teamCommand implements Listener, CommandExecutor{
- public Main plugin;
- public void teamCommand(Main instance){
- plugin = instance;
- }
- ArrayList<String> teamchat = new ArrayList<String>();
- public String getTeam(Player p){
- String team = plugin.getConfig().getString(p.getName() + ".team");
- return team;
- }
- public String getPassword(String team){
- String password = plugin.getConfig().getString("teams." + team + ".password");
- return password;
- }
- public String getLeader(String team){
- String leader = plugin.getConfig().getString("teams." + team + ".owner");
- return leader;
- }
- public boolean isManager(Player p){
- List managers = plugin.getConfig().getList("teams." + getTeam(p) + ".managers");
- if(managers.contains(p.getName())){
- return true;
- }else{
- return false;
- }
- }
- public List getMembers(String team){
- List members = plugin.getConfig().getList("teams." + team + ".members");
- return members;
- }
- public boolean inTeam(Player p){
- if(getTeam(p) == null){
- return false;
- }else{
- return true;
- }
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent e){
- plugin
- .getConfig()
- .createSection(
- "stats." + e.getPlayer().getName() + ".team"
- );
- plugin.getConfig().set(e.getPlayer().getName() + ".team", "no-team");
- plugin.saveConfig();
- e.getPlayer().sendMessage(ChatColor.GREEN + "Your profile has been setup");
- }
- @EventHandler
- public void onChat(AsyncPlayerChatEvent e){
- if(teamchat.contains(e.getPlayer().getName())){
- Player p = e.getPlayer();
- for(Player online: Bukkit.getOnlinePlayers()){
- if(getTeam(p) == getTeam(online)){
- online.sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_AQUA + plugin.getConfig().getString(p.getName() + ".team") + ChatColor.GRAY + "]" + e.getMessage());
- p.sendMessage(ChatColor.GRAY + "[" + ChatColor.DARK_AQUA + plugin.getConfig().getString(p.getName() + ".team") + ChatColor.GRAY + "]" + e.getMessage());
- }
- }
- }
- }
- @EventHandler
- public void onTeamAttack(EntityDamageByEntityEvent e){
- if(e.getEntity() instanceof Player){
- if(e.getDamager() instanceof Player){
- Player p = (Player) e.getEntity();
- Player attacker = (Player) e.getDamager();
- if(getTeam(p) == getTeam(attacker)){
- e.setCancelled(true);
- attacker.sendMessage(Main.prefix + ChatColor.GRAY + "You cannot hurt your teammates.");
- }
- }
- }
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String lbl, String[] args) {
- if(sender instanceof Player){
- Player p = (Player) sender;
- if(lbl.equalsIgnoreCase("team") || lbl.equalsIgnoreCase("t")){
- if(args.length == 0){
- p.sendMessage(ChatColor.BOLD.toString() + ChatColor.GOLD + "[Teams Commands]");
- p.sendMessage(Main.prefix + "/team create (name) (password)");
- p.sendMessage(Main.prefix + "/team leave");
- p.sendMessage(Main.prefix + "/team join (name) (password)");
- p.sendMessage(Main.prefix + "/team password (new password)");
- p.sendMessage(Main.prefix + "/team info");
- p.sendMessage(Main.prefix + "/team manager (player)");
- p.sendMessage(Main.prefix + "/team chat");
- }
- if(args.length == 1){
- if(args[0].equalsIgnoreCase("create")){
- p.sendMessage(ChatColor.GRAY + "Please use : /team create (name) (password)");
- }
- if(args[0].equalsIgnoreCase("leave")){
- if(!inTeam(p)){
- p.sendMessage(plugin.prefix + ChatColor.GRAY + "You are not in a team.");
- }else{
- plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + p.getName(), null);
- plugin.getConfig().set(p.getName() + ".team", null);
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You have left the team.");
- for(Player online : Bukkit.getOnlinePlayers()){
- if(plugin.getConfig().getString(online.getName() + ".team") == plugin.getConfig().getString(p.getName() + ".team")){
- online.sendMessage(Main.prefix + ChatColor.GRAY + p.getName() + " has left the team.");
- }
- }
- }
- }
- if(args[0].equalsIgnoreCase("join")){
- p.sendMessage(ChatColor.GRAY + "Please use : /team join (name) (password)");
- }
- if(args[0].equalsIgnoreCase("password")){
- if(plugin.getConfig().getString("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".manager").contains(p.getName())){
- p.sendMessage(Main.prefix + ChatColor.GRAY + "Please use: /team password (password)");
- }else{
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not a team manager.");
- }
- }
- if(args[0].equalsIgnoreCase("info")){
- if(!inTeam(p)){
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not in a team.");
- }else{
- p.sendMessage("[" +plugin.getConfig().getString(p.getName() + ".team") + "]");
- p.sendMessage(ChatColor.DARK_AQUA + ChatColor.BOLD.toString() + "Password: " + getPassword(getTeam(p)));
- p.sendMessage(ChatColor.DARK_AQUA + ChatColor.BOLD.toString() + "Members");
- List members = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".members");
- for(int i = 0; i < members.size(); i++) {
- p.sendMessage(ChatColor.GRAY + members.get(i).toString());
- }
- p.sendMessage(getMembers(getTeam(p)).toString());
- }
- }
- if(args[0].equalsIgnoreCase("manager")){
- if(plugin.getConfig().getString(p.getName() + ".team") != null){
- if(plugin.getConfig().getString("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".owner") == p.getName()){
- p.sendMessage(ChatColor.GRAY + "Please use: /team manager (player)");
- }else{
- 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"));
- }
- }else{
- p.sendMessage(ChatColor.GRAY + "You are not in a team.");
- }
- }
- if(args[0].equalsIgnoreCase("chat")){
- if(inTeam(p)){
- if(teamchat.contains(p.getName())){
- teamchat.remove(p.getName());
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You are now talking in public chat.");
- }else{
- teamchat.add(p.getName());
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not talking in team chat.");
- }
- }else{
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not in a team.");
- }
- }
- }
- if(args.length == 2){
- if(args[0].equalsIgnoreCase("create")){
- p.sendMessage(ChatColor.GRAY + "Please use : /team create (name) (password)");
- }
- if(args[0].equalsIgnoreCase("leave")){
- if(plugin.getConfig().getString(p.getName() + ".team") != null){
- p.sendMessage(plugin.prefix + ChatColor.GRAY + "You are not in a team.");
- }else{
- plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + p.getName(), null);
- plugin.getConfig().set(p.getName() + ".team", null);
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You have left the team.");
- for(Player online : Bukkit.getOnlinePlayers()){
- if(plugin.getConfig().getString(online.getName() + ".team") == plugin.getConfig().getString(p.getName() + ".team")){
- online.sendMessage(Main.prefix + ChatColor.GRAY + p.getName() + " has left the team.");
- }
- }
- }
- }
- if(args[0].equalsIgnoreCase("join")){
- p.sendMessage(ChatColor.GRAY + "Please use : /team join (name) (password)");
- }
- if(args[0].equalsIgnoreCase("password")){
- List managers = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers");
- for(int i = 0; i < managers.size(); i++) {
- if(managers.get(i).equals(p.getName())){
- plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".password", args[1]);
- p.sendMessage(Main.prefix + ChatColor.GRAY + "Password Updated");
- }else{
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You are not a manager.");
- }
- }
- }
- if(args[0].equalsIgnoreCase("manager")){
- if(plugin.getConfig().getString(p.getName() + ".team") != null){
- Player target = Bukkit.getPlayer(args[1]);
- List<?> members = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".members");
- for(int i = 0; i < members.size(); i++) {
- if(members.get(i).equals(target.getName())){
- if(plugin.getConfig().getString("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".owner") == p.getName()){
- target.sendMessage(ChatColor.GRAY + "You were promoted to team manager.");
- p.sendMessage(ChatColor.GRAY + "You have promoted " + target.getName());
- List managers = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers");
- managers.add(target.getName());
- plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers" , managers);
- }else{
- 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"));
- }
- }else{
- p.sendMessage(ChatColor.GRAY + "You are not in a team.");
- }
- }
- }
- }
- }
- if(args.length == 3){
- if(args[0].equalsIgnoreCase("create")){
- if(plugin.getConfig().getString(p.getName() + ".team") != null){
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You are already in a team.");
- }else{
- plugin.getConfig().set(p.getName() + ".team", args[1]);
- plugin.getConfig().set("teams." + args[1], 1);
- plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".password", args[2]);
- plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".owner", p.getName());
- List managers = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers");
- managers.add(p.getName());
- List members = plugin.getConfig().getList("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".members");
- members.add(p.getName());
- plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".members", members);
- plugin.getConfig().set("teams." + plugin.getConfig().getString(p.getName() + ".team") + ".managers", managers);
- }
- }
- if(args[0].equalsIgnoreCase("join")){
- if(plugin.getConfig().getString(p.getName() + ".team") ==null){
- if(plugin.getConfig().get("teams." + args[1])!= null){
- String team = args[1];
- String password = plugin.getConfig().getString("teams." + team + ".password");
- if(args[2].equals(password)){
- p.sendMessage(ChatColor.GRAY + "You have joined the team " + team);
- List members = plugin.getConfig().getList("teams." + team + ".members");
- members.add(p.getName());
- plugin.getConfig().set("teams." + team + ".members", members);
- for(Player online : Bukkit.getOnlinePlayers()){
- if(plugin.getConfig().getString(online.getName() + ".team").equals(team)){
- online.sendMessage(Main.prefix + ChatColor.GRAY + p.getName() + " has joined the team.");
- }
- }
- }else{
- p.sendMessage(Main.prefix + ChatColor.GRAY + "That is not the correct password.");
- }
- }else{
- p.sendMessage(Main.prefix + ChatColor.GRAY + "That is not a team.");
- }
- }else{
- p.sendMessage(Main.prefix + ChatColor.GRAY + "You are already in a team.");
- }
- }
- }
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement