Browse Source

Fixed Random Join puttin you in all arenas at once

for/master
pintux98 5 years ago
parent
commit
efcddb1128
  1. 2
      MultiArena-TheBridge/plugin.yml
  2. 36
      MultiArena-TheBridge/src/cx/sfy/TheBridge/cmds/SetupCMD.java
  3. 4
      MultiArena-TheBridge/src/cx/sfy/TheBridge/game/Game.java
  4. 559
      MultiArena-TheBridge/src/cx/sfy/TheBridge/game/GameFour.java
  5. 13
      MultiArena-TheBridge/src/cx/sfy/TheBridge/listeners/PlayerListener.java

2
MultiArena-TheBridge/plugin.yml

@ -1,7 +1,7 @@
main: cx.sfy.TheBridge.Main
name: TheBridge
version: 2.3.10
authors: [Stefatorus, Leonardo0013YT]
authors: [Stefatorus, Leonardo0013YT,pintux98]
softdepend: [PlaceholderAPI, LeaderHeads, FastAsyncWorldEdit, WorldEdit, MultiWorld, Multiverse-Core]
commands:
bridges:

36
MultiArena-TheBridge/src/cx/sfy/TheBridge/cmds/SetupCMD.java

@ -152,36 +152,36 @@ public class SetupCMD implements CommandExecutor {
}
switch (args[1].toLowerCase()) {
case "normal":
Game g = null;
int alto = 0;
for (final Game game : plugin.getGM().getGames()) {
Game g = null;
int alto = 0;
if (game.isState(State.FINISH) || game.isState(State.INGAME) || game.isState(State.RESTARTING) || game.isState(State.PREGAME)) continue;
if (game.getPlayers() == game.getMax()) continue;
if (game.getPlayers() <= alto) {
g = game;
alto = game.getPlayers();
}
if (g != null)
plugin.getGM().addPlayerGame(p, game);
else
p.sendMessage(plugin.getLang().get("messages.noGames"));
}
if (g != null)
plugin.getGM().addPlayerGame(p, g);
else
p.sendMessage(plugin.getLang().get("messages.noGames"));
break;
case "four":
for (final GameFour game : plugin.getGM().getGamesFour()) {
GameFour g = null;
int alto = 0;
if (game.isState(FState.FINISH) || game.isState(FState.INGAME) || game.isState(FState.RESTARTING) || game.isState(FState.PREGAME)) continue;
if (game.getPlayers().size() == game.getMax()) continue;
if (game.getPlayers().size() <= alto) {
g = game;
alto = game.getPlayers().size();
GameFour g4 = null;
int alto4 = 0;
for (final GameFour game4 : plugin.getGM().getGamesFour()) {
if (game4.isState(FState.FINISH) || game4.isState(FState.INGAME) || game4.isState(FState.RESTARTING) || game4.isState(FState.PREGAME)) continue;
if (game4.getPlayers().size() == game4.getMax()) continue;
if (game4.getPlayers().size() <= alto4) {
g4 = game4;
alto4 = game4.getPlayers().size();
}
if (g != null)
plugin.getGM().addPlayerGameFour(p, game);
else
p.sendMessage(plugin.getLang().get("messages.noGames"));
}
if (g4 != null)
plugin.getGM().addPlayerGameFour(p, g4);
else
p.sendMessage(plugin.getLang().get("messages.noGames"));
break;
}
break;

4
MultiArena-TheBridge/src/cx/sfy/TheBridge/game/Game.java

@ -161,7 +161,7 @@ public class Game {
checkCancel();
}
// FIXME: Not properly giving coins
// TODO: Fireworks should spawn randomly around the map and not inside the lobby cage
public boolean checkWin(Player w, Team team, int goals) {
if (isState(State.FINISH))
return false;
@ -173,6 +173,7 @@ public class Game {
for (final Player r : win.getTeamPlayers())
PlayerStat.getPlayerStat(r).addNormalWins();
for (final Player p : players) {
p.getInventory().clear();
p.teleport(lobby);
updateSB(p);
plugin.getNMS().sendTitle(p, 0, 60, 0,
@ -223,6 +224,7 @@ public class Game {
for (final Player r : win.getTeamPlayers())
PlayerStat.getPlayerStat(r).addNormalWins();
for (final Player p : players) {
p.getInventory().clear();
p.teleport(lobby);
plugin.getNMS().sendTitle(p, 0, 60, 0,
plugin.getLang().get("titles.win.title")

559
MultiArena-TheBridge/src/cx/sfy/TheBridge/game/GameFour.java

@ -1,5 +1,10 @@
package cx.sfy.TheBridge.game;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Color;
@ -25,31 +30,26 @@ import cx.sfy.TheBridge.utils.CenterMessage;
import cx.sfy.TheBridge.utils.ItemBuilder;
import cx.sfy.TheBridge.utils.Utils;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
public class GameFour {
private Main plugin;
private HashMap<ChatColor, TeamFour> teams;
private HashMap<Player, ChatColor> teamPlayer;
private ArrayList<Player> players;
private ArrayList<Player> spects;
private HashMap<Player, PlayerData> pd = new HashMap<Player, PlayerData>();
private HashMap<Player, Integer> goals = new HashMap<Player, Integer>();
private HashMap<Player, Integer> kills = new HashMap<Player, Integer>();
private ArrayList<Location> build = new ArrayList<Location>();
private ArrayList<Location> placed = new ArrayList<Location>();
private ArrayList<TruenoHologram> holograms = new ArrayList<TruenoHologram>();
private Location lobby;
private Location spect;
private String name;
private String mode;
private int min;
private int max;
private int teamSize;
private final Main plugin;
private final HashMap<ChatColor, TeamFour> teams;
private final HashMap<Player, ChatColor> teamPlayer;
private final ArrayList<Player> players;
private final ArrayList<Player> spects;
private final HashMap<Player, PlayerData> pd = new HashMap<>();
private final HashMap<Player, Integer> goals = new HashMap<>();
private final HashMap<Player, Integer> kills = new HashMap<>();
private final ArrayList<Location> build = new ArrayList<>();
private final ArrayList<Location> placed = new ArrayList<>();
private final ArrayList<TruenoHologram> holograms = new ArrayList<>();
private final Location lobby;
private final Location spect;
private final String name;
private final String mode;
private final int min;
private final int max;
private final int teamSize;
private int starting;
private int prestart;
private BukkitTask start;
@ -75,20 +75,18 @@ public class GameFour {
this.teams = new HashMap<>();
this.players = new ArrayList<>();
this.spects = new ArrayList<>();
int gn = Math.min(buildMin.getBlockX(), buildMax.getBlockX());
int gn2 = Math.max(buildMin.getBlockX(), buildMax.getBlockX());
int gn3 = Math.min(buildMin.getBlockZ(), buildMax.getBlockZ());
int gn4 = Math.max(buildMin.getBlockZ(), buildMax.getBlockZ());
int gn5 = Math.min(buildMin.getBlockY(), buildMax.getBlockY());
int gn6 = Math.max(buildMin.getBlockY(), buildMax.getBlockY());
for (int i = gn; i <= gn2; ++i) {
for (int j = gn5; j <= gn6; ++j) {
final int gn = Math.min(buildMin.getBlockX(), buildMax.getBlockX());
final int gn2 = Math.max(buildMin.getBlockX(), buildMax.getBlockX());
final int gn3 = Math.min(buildMin.getBlockZ(), buildMax.getBlockZ());
final int gn4 = Math.max(buildMin.getBlockZ(), buildMax.getBlockZ());
final int gn5 = Math.min(buildMin.getBlockY(), buildMax.getBlockY());
final int gn6 = Math.max(buildMin.getBlockY(), buildMax.getBlockY());
for (int i = gn; i <= gn2; ++i)
for (int j = gn5; j <= gn6; ++j)
for (int k = gn3; k <= gn4; ++k) {
Location location3 = new Location(buildMin.getWorld(), (double) i, (double) j, (double) k);
final Location location3 = new Location(buildMin.getWorld(), i, j, k);
build.add(location3);
}
}
}
this.teams.put(ChatColor.BLUE, new TeamFour(this, ChatColor.BLUE, Color.BLUE,
plugin.getConfig().getString("names.blue"), spawnBlue, respawnBlue, portalBlue, hBlue));
this.teams.put(ChatColor.RED, new TeamFour(this, ChatColor.RED, Color.RED,
@ -103,15 +101,13 @@ public class GameFour {
public void checkCancel() {
if (isState(FState.STARTING) && players.size() <= getMin()) {
if (start != null) {
if (start != null)
start.cancel();
}
setState(FState.WAITING);
starting = 30;
updateSign();
for (Player on : players) {
for (final Player on : players)
updateSB(on);
}
}
}
@ -128,21 +124,21 @@ public class GameFour {
}
public boolean checkWin(TeamFour win, TeamFour death, Player e) {
if (getTeamsAlive() <= 1 && !isState(FState.FINISH)) {
setState(FState.FINISH);
updateSign();
DecimalFormat df = new DecimalFormat("#.##");
for (Player w : win.getTeamPlayers()) {
final DecimalFormat df = new DecimalFormat("#.##");
for (final Player w : win.getTeamPlayers())
PlayerStat.getPlayerStat(w).addFourWins();
}
for (Player p : players) {
for (final Player p : players) {
p.getInventory().clear();
plugin.getNMS().sendTitle(p, 0, 60, 0,
plugin.getLang().get("titles.winFour.title").replaceAll("<life>", win.getLifeString())
.replaceAll("<team>", win.getTeamName()).replaceAll("<color>", win.getColor() + ""),
.replaceAll("<team>", win.getTeamName()).replaceAll("<color>", win.getColor() + ""),
plugin.getLang().get("titles.winFour.subtitle").replaceAll("<life>", win.getLifeString())
.replaceAll("<team>", win.getTeamName()).replaceAll("<color>", win.getColor() + ""));
for (String msg : plugin.getLang().getList("messages.winFour")) {
.replaceAll("<team>", win.getTeamName()).replaceAll("<color>", win.getColor() + ""));
for (final String msg : plugin.getLang().getList("messages.winFour"))
CenterMessage.sendCenteredMessage(p, msg.replaceAll("&", "§").replaceAll("<player>", e.getName())
.replaceAll("<health>", df.format(e.getHealth())).replaceAll("<team>", win.getTeamName())
.replaceAll("<goals>", String.valueOf(goals.get(e)))
@ -158,25 +154,21 @@ public class GameFour {
.replaceAll("<teamStole>", (death.getTeamName() == null) ? "Stole" : death.getTeamName())
.replaceAll("<color>",
(win.getColor() == null) ? ChatColor.WHITE + "" : win.getColor() + ""));
}
}
new BukkitRunnable() {
@Override
public void run() {
for (TruenoHologram th : holograms) {
for (final TruenoHologram th : holograms)
th.delete();
}
for (Player p : spect.getWorld().getPlayers()) {
for (final Player p : spect.getWorld().getPlayers())
if (pd.containsKey(p)) {
for (Player on : Bukkit.getOnlinePlayers()) {
for (final Player on : Bukkit.getOnlinePlayers()) {
on.showPlayer(p);
p.showPlayer(on);
}
plugin.getGM().removePlayerFourGames(p);
} else {
} else
p.teleport(plugin.getMainLobby());
}
}
}
}.runTaskLater(plugin, 20 * 10);
new BukkitRunnable() {
@ -191,7 +183,7 @@ public class GameFour {
}
public void celebrateGoal(TeamFour team, TeamFour death, Player e) {
DecimalFormat df = new DecimalFormat("#.##");
final DecimalFormat df = new DecimalFormat("#.##");
addGoal(e);
PlayerStat.getPlayerStat(e).addFourGoals();
firework(getSpect(), team.getFColor());
@ -200,132 +192,122 @@ public class GameFour {
death.removeLife(1);
if (death.getLife() == 0) {
death.killTeam();
if (checkWin(team, death, e)) {
if (checkWin(team, death, e))
return;
}
for (Player p : players) {
for (final Player p : players)
plugin.getNMS().sendTitle(p, 0, 20, 0,
plugin.getLang().get("titles.goalFinal.title").replaceAll("<player>", e.getName())
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""),
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""),
plugin.getLang().get("titles.goalFinal.subtitle").replaceAll("<player>", e.getName())
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""));
}
} else {
for (Player p : players) {
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""));
} else
for (final Player p : players)
plugin.getNMS().sendTitle(p, 0, 20, 0,
plugin.getLang().get("titles.goalNormal.title").replaceAll("<player>", e.getName())
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""),
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""),
plugin.getLang().get("titles.goalNormal.subtitle").replaceAll("<player>", e.getName())
.replaceAll("<heart>", "�").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""));
}
}
for (Player p : players) {
.replaceAll("<heart>", "�").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""));
for (final Player p : players) {
updateSB(p);
for (String msg : plugin.getLang().getList("messages.final")) {
for (final String msg : plugin.getLang().getList("messages.final"))
CenterMessage.sendCenteredMessage(p,
msg.replaceAll("&", "§").replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<goals>", String.valueOf(goals.get(e)))
.replaceAll("<es>", (goals.get(e) > 1) ? "es" : "")
.replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<color>", "" + team.getColor()).replaceAll("<player>", e.getName())
.replaceAll("<health>", df.format(e.getHealth()))
.replaceAll("<team>", team.getTeamName())
.replaceAll("<red>", teams.get(ChatColor.RED).getTeamName())
.replaceAll("<redLife>", teams.get(ChatColor.RED).getLifeString())
.replaceAll("<blue>", teams.get(ChatColor.BLUE).getTeamName())
.replaceAll("<blueLife>", teams.get(ChatColor.BLUE).getLifeString())
.replaceAll("<yellow>", teams.get(ChatColor.YELLOW).getTeamName())
.replaceAll("<yellowLife>", teams.get(ChatColor.YELLOW).getLifeString())
.replaceAll("<green>", teams.get(ChatColor.GREEN).getTeamName())
.replaceAll("<greenLife>", teams.get(ChatColor.GREEN).getLifeString())
.replaceAll("<heart>", "❤"));
}
.replaceAll("<goals>", String.valueOf(goals.get(e)))
.replaceAll("<es>", (goals.get(e) > 1) ? "es" : "")
.replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<color>", "" + team.getColor()).replaceAll("<player>", e.getName())
.replaceAll("<health>", df.format(e.getHealth()))
.replaceAll("<team>", team.getTeamName())
.replaceAll("<red>", teams.get(ChatColor.RED).getTeamName())
.replaceAll("<redLife>", teams.get(ChatColor.RED).getLifeString())
.replaceAll("<blue>", teams.get(ChatColor.BLUE).getTeamName())
.replaceAll("<blueLife>", teams.get(ChatColor.BLUE).getLifeString())
.replaceAll("<yellow>", teams.get(ChatColor.YELLOW).getTeamName())
.replaceAll("<yellowLife>", teams.get(ChatColor.YELLOW).getLifeString())
.replaceAll("<green>", teams.get(ChatColor.GREEN).getTeamName())
.replaceAll("<greenLife>", teams.get(ChatColor.GREEN).getLifeString())
.replaceAll("<heart>", "❤"));
}
} else {
team.addLife(1);
death.removeLife(1);
if (death.getLife() == 0) {
death.killTeam();
if (checkWin(team, death, e)) {
if (checkWin(team, death, e))
return;
}
for (Player p : players) {
for (final Player p : players)
plugin.getNMS().sendTitle(p, 0, 20, 0,
plugin.getLang().get("titles.goalFinal.title").replaceAll("<player>", e.getName())
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""),
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""),
plugin.getLang().get("titles.goalFinal.subtitle").replaceAll("<player>", e.getName())
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""));
}
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""));
} else {
for (Player p : players) {
} else
for (final Player p : players)
plugin.getNMS().sendTitle(p, 0, 20, 0,
plugin.getLang().get("titles.goalNormal.title").replaceAll("<player>", e.getName())
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""),
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""),
plugin.getLang().get("titles.goalNormal.subtitle").replaceAll("<player>", e.getName())
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""));
}
}
for (Player p : players) {
.replaceAll("<heart>", "❤").replaceAll("<teamOther>", team.getTeamName())
.replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<color>", team.getColor() + ""));
for (final Player p : players) {
updateSB(p);
for (String msg : plugin.getLang().getList("messages.stole")) {
for (final String msg : plugin.getLang().getList("messages.stole"))
CenterMessage.sendCenteredMessage(p,
msg.replaceAll("&", "§").replaceAll("<teamStole>", death.getTeamName())
.replaceAll("<goals>", String.valueOf(goals.get(e)))
.replaceAll("<es>", (goals.get(e) > 1) ? "es" : "")
.replaceAll("<color>", "" + team.getColor())
.replaceAll("<teamOther>", team.getTeamName()).replaceAll("<player>", e.getName())
.replaceAll("<health>", df.format(e.getHealth()))
.replaceAll("<red>", teams.get(ChatColor.RED).getTeamName())
.replaceAll("<redLife>", teams.get(ChatColor.RED).getLifeString())
.replaceAll("<blue>", teams.get(ChatColor.BLUE).getTeamName())
.replaceAll("<blueLife>", teams.get(ChatColor.BLUE).getLifeString())
.replaceAll("<yellow>", teams.get(ChatColor.YELLOW).getTeamName())
.replaceAll("<yellowLife>", teams.get(ChatColor.YELLOW).getLifeString())
.replaceAll("<green>", teams.get(ChatColor.GREEN).getTeamName())
.replaceAll("<greenLife>", teams.get(ChatColor.GREEN).getLifeString())
.replaceAll("<heart>", "❤"));
}
.replaceAll("<goals>", String.valueOf(goals.get(e)))
.replaceAll("<es>", (goals.get(e) > 1) ? "es" : "")
.replaceAll("<color>", "" + team.getColor())
.replaceAll("<teamOther>", team.getTeamName()).replaceAll("<player>", e.getName())
.replaceAll("<health>", df.format(e.getHealth()))
.replaceAll("<red>", teams.get(ChatColor.RED).getTeamName())
.replaceAll("<redLife>", teams.get(ChatColor.RED).getLifeString())
.replaceAll("<blue>", teams.get(ChatColor.BLUE).getTeamName())
.replaceAll("<blueLife>", teams.get(ChatColor.BLUE).getLifeString())
.replaceAll("<yellow>", teams.get(ChatColor.YELLOW).getTeamName())
.replaceAll("<yellowLife>", teams.get(ChatColor.YELLOW).getLifeString())
.replaceAll("<green>", teams.get(ChatColor.GREEN).getTeamName())
.replaceAll("<greenLife>", teams.get(ChatColor.GREEN).getLifeString())
.replaceAll("<heart>", "❤"));
}
}
}
public void firework(Location loc, Color c1) {
Firework fa = (Firework) loc.getWorld().spawn(
final Firework fa = loc.getWorld().spawn(
loc.clone().add(new Random().nextInt(5) + 1, new Random().nextInt(1) + 1, new Random().nextInt(5) + 1),
Firework.class);
FireworkMeta fam = fa.getFireworkMeta();
FireworkEffect.Type tipo = FireworkEffect.Type.STAR;
Color c2 = Color.WHITE;
FireworkEffect ef = FireworkEffect.builder().withColor(c1).withFade(c2).with(tipo).build();
final FireworkMeta fam = fa.getFireworkMeta();
final FireworkEffect.Type tipo = FireworkEffect.Type.STAR;
final Color c2 = Color.WHITE;
final FireworkEffect ef = FireworkEffect.builder().withColor(c1).withFade(c2).with(tipo).build();
fam.addEffect(ef);
fam.setPower(0);
fa.setFireworkMeta(fam);
new BukkitRunnable() {
@Override
public void run() {
Firework fa = (Firework) loc.getWorld().spawn(loc.clone().add(new Random().nextInt(5) + 1,
final Firework fa = loc.getWorld().spawn(loc.clone().add(new Random().nextInt(5) + 1,
new Random().nextInt(1) + 1, new Random().nextInt(5) + 1), Firework.class);
FireworkMeta fam = fa.getFireworkMeta();
FireworkEffect.Type tipo = FireworkEffect.Type.STAR;
Color c2 = Color.WHITE;
FireworkEffect ef = FireworkEffect.builder().withColor(c1).withFade(c2).with(tipo).build();
final FireworkMeta fam = fa.getFireworkMeta();
final FireworkEffect.Type tipo = FireworkEffect.Type.STAR;
final Color c2 = Color.WHITE;
final FireworkEffect ef = FireworkEffect.builder().withColor(c1).withFade(c2).with(tipo).build();
fam.addEffect(ef);
fam.setPower(0);
fa.setFireworkMeta(fam);
@ -347,7 +329,7 @@ public class GameFour {
givePlayerItems(p);
}
}.runTaskLater(plugin, 20);
for (Player on : players) {
for (final Player on : players) {
on.sendMessage(plugin.getLang().get("messages.join").replaceAll("<player>", p.getName())
.replaceAll("<players>", String.valueOf(players.size()))
.replaceAll("<max>", String.valueOf(getMax())));
@ -363,19 +345,16 @@ public class GameFour {
pd.get(p).restore();
removeAllPlayerTeam(p);
players.remove(p);
if (isState(FState.WAITING) || isState(FState.STARTING)) {
for (Player on : players) {
if (isState(FState.WAITING) || isState(FState.STARTING))
for (final Player on : players) {
on.sendMessage(plugin.getLang().get("messages.quit").replaceAll("<player>", p.getName())
.replaceAll("<players>", String.valueOf(players.size()))
.replaceAll("<max>", String.valueOf(getMax())));
on.playSound(on.getLocation(), Sound.valueOf(plugin.getSounds().get("sounds.game.quit")), 1.0f, 1.0f);
updateSB(on);
}
} else {
if (getTeamsAlive() == 1) {
checkWin(getLastTeam(), getTeamPlayer(p), getLastTeam().getTeamPlayers().get(0));
}
}
else if (getTeamsAlive() == 1)
checkWin(getLastTeam(), getTeamPlayer(p), getLastTeam().getTeamPlayers().get(0));
updateSign();
checkCancel();
}
@ -384,16 +363,14 @@ public class GameFour {
if (isState(FState.WAITING) && players.size() >= getMin()) {
setState(FState.STARTING);
updateSign();
for (Player p : players) {
for (final Player p : players)
p.setGameMode(GameMode.ADVENTURE);
}
}
if (isState(FState.STARTING)) {
for (Player p : players) {
for (final Player p : players)
updateSB(p);
}
if (starting == 240 || starting == 180 || starting == 120) {
for (Player p : players) {
if (starting == 240 || starting == 180 || starting == 120)
for (final Player p : players) {
p.sendMessage(plugin.getLang().get(p, "messages.starting")
.replaceAll("<time>", String.valueOf(starting / 60))
.replaceAll("<units>", plugin.getLang().get(p, "units.minutes")));
@ -401,9 +378,8 @@ public class GameFour {
1.0f);
plugin.getTM().sendStartTitle(p, starting, true);
}
}
if (starting == 60) {
for (Player p : players) {
if (starting == 60)
for (final Player p : players) {
p.sendMessage(plugin.getLang().get(p, "messages.starting")
.replaceAll("<time>", String.valueOf(starting / 60))
.replaceAll("<units>", plugin.getLang().get(p, "units.minute")));
@ -411,37 +387,34 @@ public class GameFour {
1.0f);
plugin.getTM().sendStartTitle(p, starting, true);
}
}
if (starting == 30 || starting == 15 || starting == 10 || starting == 5 || starting == 4 || starting == 3
|| starting == 2) {
for (Player p : players) {
|| starting == 2)
for (final Player p : players) {
p.sendMessage(
plugin.getLang().get(p, "messages.starting").replaceAll("<time>", String.valueOf(starting))
.replaceAll("<units>", plugin.getLang().get(p, "units.seconds")));
.replaceAll("<units>", plugin.getLang().get(p, "units.seconds")));
p.playSound(p.getLocation(), Sound.valueOf(plugin.getSounds().get("sounds.game.starting")), 1.0f,
1.0f);
plugin.getTM().sendStartTitle(p, starting, true);
}
}
if (starting == 1) {
setState(FState.PREGAME);
updateSign();
for (Player p : players) {
for (final Player p : players) {
p.sendMessage(
plugin.getLang().get(p, "messages.starting").replaceAll("<time>", String.valueOf(starting))
.replaceAll("<units>", plugin.getLang().get(p, "units.second")));
.replaceAll("<units>", plugin.getLang().get(p, "units.second")));
p.playSound(p.getLocation(), Sound.valueOf(plugin.getSounds().get("sounds.game.starting")), 1.0f,
1.0f);
p.getInventory().clear();
p.getOpenInventory().close();
plugin.getTM().sendStartTitle(p, starting, false);
if (getTeamPlayer(p) == null) {
if (getTeamPlayer(p) == null)
addRandomTeam(p);
}
}
if (plugin.isCage()) {
for (TeamFour team : teams.values()) {
if (!team.isCage()) {
for (final TeamFour team : teams.values())
if (!team.isCage())
if (team.getTeamPlayers().size() > 0 && team.getTeamPlayers().get(0) != null) {
team.createCage(plugin.getCM().getCageByName(
PlayerStat.getPlayerStat(team.getTeamPlayers().get(0)).getCage()));
@ -451,47 +424,39 @@ public class GameFour {
plugin.getCM().getCageByName(plugin.getConfig().getString("defaultCage")));
team.setCage(true);
}
}
}
} else {
for (ChatColor color : teams.keySet()) {
} else
for (final ChatColor color : teams.keySet())
plugin.getGLM().createCage(teams.get(color).getTeamSpawn(), color);
}
}
for (Player p : players) {
for (final Player p : players) {
p.teleport(getTeamPlayer(p).getTeamSpawn().clone().add(0, 1, 0));
giveKit(p, getTeamPlayer(p));
}
Location hRed = teams.get(ChatColor.RED).getHologram();
Location hBlue = teams.get(ChatColor.BLUE).getHologram();
Location hGreen = teams.get(ChatColor.GREEN).getHologram();
Location hYellow = teams.get(ChatColor.YELLOW).getHologram();
final Location hRed = teams.get(ChatColor.RED).getHologram();
final Location hBlue = teams.get(ChatColor.BLUE).getHologram();
final Location hGreen = teams.get(ChatColor.GREEN).getHologram();
final Location hYellow = teams.get(ChatColor.YELLOW).getHologram();
if (hRed != null && hBlue != null && hGreen != null && hYellow != null) {
for (Player p : teams.get(ChatColor.RED).getTeamPlayers()) {
ArrayList<String> pRed = new ArrayList<String>();
TruenoHologram phRed = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.you")) {
for (final Player p : teams.get(ChatColor.RED).getTeamPlayers()) {
final ArrayList<String> pRed = new ArrayList<>();
final TruenoHologram phRed = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.you"))
pRed.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.RED)
.replaceAll("<team>", plugin.getLang().get("holograms.your")));
}
ArrayList<String> pBlue = new ArrayList<String>();
TruenoHologram phBlue = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pBlue = new ArrayList<>();
final TruenoHologram phBlue = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pBlue.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.BLUE)
.replaceAll("<team>", teams.get(ChatColor.BLUE).getTeamName()));
}
ArrayList<String> pGreen = new ArrayList<String>();
TruenoHologram phGreen = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pGreen = new ArrayList<>();
final TruenoHologram phGreen = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pGreen.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.GREEN)
.replaceAll("<team>", teams.get(ChatColor.GREEN).getTeamName()));
}
ArrayList<String> pYellow = new ArrayList<String>();
TruenoHologram phYellow = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pYellow = new ArrayList<>();
final TruenoHologram phYellow = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pYellow.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.YELLOW)
.replaceAll("<team>", teams.get(ChatColor.YELLOW).getTeamName()));
}
phBlue.setupPlayerHologram(p, hBlue, pBlue);
phBlue.display();
phRed.setupPlayerHologram(p, hRed, pRed);
@ -505,31 +470,27 @@ public class GameFour {
holograms.add(phGreen);
holograms.add(phYellow);
}
for (Player p : teams.get(ChatColor.BLUE).getTeamPlayers()) {
ArrayList<String> pRed = new ArrayList<String>();
TruenoHologram phRed = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
for (final Player p : teams.get(ChatColor.BLUE).getTeamPlayers()) {
final ArrayList<String> pRed = new ArrayList<>();
final TruenoHologram phRed = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pRed.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.RED)
.replaceAll("<team>", teams.get(ChatColor.RED).getTeamName()));
}
ArrayList<String> pBlue = new ArrayList<String>();
TruenoHologram phBlue = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.you")) {
final ArrayList<String> pBlue = new ArrayList<>();
final TruenoHologram phBlue = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.you"))
pBlue.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.BLUE)
.replaceAll("<team>", plugin.getLang().get("holograms.your")));
}
ArrayList<String> pGreen = new ArrayList<String>();
TruenoHologram phGreen = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pGreen = new ArrayList<>();
final TruenoHologram phGreen = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pGreen.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.GREEN)
.replaceAll("<team>", teams.get(ChatColor.GREEN).getTeamName()));
}
ArrayList<String> pYellow = new ArrayList<String>();
TruenoHologram phYellow = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pYellow = new ArrayList<>();
final TruenoHologram phYellow = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pYellow.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.YELLOW)
.replaceAll("<team>", teams.get(ChatColor.YELLOW).getTeamName()));
}
phBlue.setupPlayerHologram(p, hBlue, pBlue);
phBlue.display();
phRed.setupPlayerHologram(p, hRed, pRed);
@ -543,31 +504,27 @@ public class GameFour {
holograms.add(phGreen);
holograms.add(phYellow);
}
for (Player p : teams.get(ChatColor.GREEN).getTeamPlayers()) {
ArrayList<String> pRed = new ArrayList<String>();
TruenoHologram phRed = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
for (final Player p : teams.get(ChatColor.GREEN).getTeamPlayers()) {
final ArrayList<String> pRed = new ArrayList<>();
final TruenoHologram phRed = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pRed.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.RED)
.replaceAll("<team>", teams.get(ChatColor.RED).getTeamName()));
}
ArrayList<String> pBlue = new ArrayList<String>();
TruenoHologram phBlue = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pBlue = new ArrayList<>();
final TruenoHologram phBlue = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pBlue.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.BLUE)
.replaceAll("<team>", teams.get(ChatColor.BLUE).getTeamName()));
}
ArrayList<String> pGreen = new ArrayList<String>();
TruenoHologram phGreen = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.you")) {
final ArrayList<String> pGreen = new ArrayList<>();
final TruenoHologram phGreen = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.you"))
pGreen.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.GREEN)
.replaceAll("<team>", plugin.getLang().get("holograms.your")));
}
ArrayList<String> pYellow = new ArrayList<String>();
TruenoHologram phYellow = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pYellow = new ArrayList<>();
final TruenoHologram phYellow = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pYellow.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.YELLOW)
.replaceAll("<team>", teams.get(ChatColor.YELLOW).getTeamName()));
}
phBlue.setupPlayerHologram(p, hBlue, pBlue);
phBlue.display();
phRed.setupPlayerHologram(p, hRed, pRed);
@ -581,31 +538,27 @@ public class GameFour {
holograms.add(phGreen);
holograms.add(phYellow);
}
for (Player p : teams.get(ChatColor.YELLOW).getTeamPlayers()) {
ArrayList<String> pRed = new ArrayList<String>();
TruenoHologram phRed = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
for (final Player p : teams.get(ChatColor.YELLOW).getTeamPlayers()) {
final ArrayList<String> pRed = new ArrayList<>();
final TruenoHologram phRed = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pRed.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.RED)
.replaceAll("<team>", teams.get(ChatColor.RED).getTeamName()));
}
ArrayList<String> pBlue = new ArrayList<String>();
TruenoHologram phBlue = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pBlue = new ArrayList<>();
final TruenoHologram phBlue = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pBlue.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.BLUE)
.replaceAll("<team>", teams.get(ChatColor.BLUE).getTeamName()));
}
ArrayList<String> pGreen = new ArrayList<String>();
TruenoHologram phGreen = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.enemy")) {
final ArrayList<String> pGreen = new ArrayList<>();
final TruenoHologram phGreen = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.enemy"))
pGreen.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.GREEN)
.replaceAll("<team>", teams.get(ChatColor.GREEN).getTeamName()));
}
ArrayList<String> pYellow = new ArrayList<String>();
TruenoHologram phYellow = TruenoHologramAPI.getNewHologram();
for (String portal : plugin.getLang().getList("holograms.portal.you")) {
final ArrayList<String> pYellow = new ArrayList<>();
final TruenoHologram phYellow = TruenoHologramAPI.getNewHologram();
for (final String portal : plugin.getLang().getList("holograms.portal.you"))
pYellow.add(portal.replaceAll("&", "§").replaceAll("<color>", "" + ChatColor.YELLOW)
.replaceAll("<team>", plugin.getLang().get("holograms.your")));
}
phBlue.setupPlayerHologram(p, hBlue, pBlue);
phBlue.display();
phRed.setupPlayerHologram(p, hRed, pRed);
@ -628,50 +581,42 @@ public class GameFour {
starting--;
}
if (isState(FState.PREGAME)) {
for (Player p : players) {
for (final Player p : players)
updateSB(p);
}
if (prestart == 10 || prestart == 5 || prestart == 4 || prestart == 3 || prestart == 2) {
for (Player p : players) {
if (prestart == 10 || prestart == 5 || prestart == 4 || prestart == 3 || prestart == 2)
for (final Player p : players) {
p.sendMessage(
plugin.getLang().get(p, "messages.prestart").replaceAll("<time>", String.valueOf(prestart))
.replaceAll("<units>", plugin.getLang().get(p, "units.seconds")));
.replaceAll("<units>", plugin.getLang().get(p, "units.seconds")));
p.playSound(p.getLocation(), Sound.valueOf(plugin.getSounds().get("sounds.game.prestart")), 1.0f,
1.0f);
plugin.getTM().sendPreTitle(p, prestart, true);
}
}
if (prestart == 1) {
for (Player p : players) {
if (prestart == 1)
for (final Player p : players) {
p.sendMessage(
plugin.getLang().get(p, "messages.prestart").replaceAll("<time>", String.valueOf(prestart))
.replaceAll("<units>", plugin.getLang().get(p, "units.second")));
.replaceAll("<units>", plugin.getLang().get(p, "units.second")));
p.playSound(p.getLocation(), Sound.valueOf(plugin.getSounds().get("sounds.game.prestart")), 1.0f,
1.0f);
plugin.getTM().sendPreTitle(p, prestart, false);
for (String msg : plugin.getLang().getList("messages.startFour")) {
for (final String msg : plugin.getLang().getList("messages.startFour"))
CenterMessage.sendCenteredMessage(p, msg.replaceAll("&", "§").replaceAll("<heart>", "❤"));
}
}
}
if (prestart == 0) {
setState(FState.INGAME);
updateSign();
for (Player p : players) {
for (final Player p : players)
p.setGameMode(GameMode.SURVIVAL);
}
if (plugin.isCage()) {
for (TeamFour team : teams.values()) {
for (final TeamFour team : teams.values())
if (team.isCage()) {
team.removeCage();
team.setCage(false);
}
}
} else {
for (ChatColor color : teams.keySet()) {
} else
for (final ChatColor color : teams.keySet())
plugin.getGLM().removeGlass(teams.get(color).getTeamSpawn());
}
}
}
prestart--;
}
@ -683,10 +628,10 @@ public class GameFour {
}
public void addRandomTeam(Player p) {
TeamFour red = teams.get(ChatColor.RED);
TeamFour blue = teams.get(ChatColor.BLUE);
TeamFour green = teams.get(ChatColor.GREEN);
TeamFour yellow = teams.get(ChatColor.YELLOW);
final TeamFour red = teams.get(ChatColor.RED);
final TeamFour blue = teams.get(ChatColor.BLUE);
final TeamFour green = teams.get(ChatColor.GREEN);
final TeamFour yellow = teams.get(ChatColor.YELLOW);
if (red.getTeamSize() <= blue.getTeamSize() && red.getTeamSize() <= green.getTeamSize()
&& red.getTeamSize() <= yellow.getTeamSize()) {
red.addPlayer(p);
@ -746,9 +691,8 @@ public class GameFour {
}
public boolean isState(FState state) {
if (this.state == state) {
if (this.state == state)
return true;
}
return false;
}
@ -776,33 +720,28 @@ public class GameFour {
public int getTeamsAlive() {
int cantidad = 0;
for (TeamFour team : teams.values()) {
for (final TeamFour team : teams.values()) {
if (team.getTeamSize() == 0) {
team.setDeath(true);
continue;
}
if (!team.getDeath() || team.getTeamSize() > 0) {
if (!team.getDeath() || team.getTeamSize() > 0)
cantidad++;
}
}
return cantidad;
}
public TeamFour getLastTeam() {
for (TeamFour team : teams.values()) {
if (team.getTeamSize() > 0) {
for (final TeamFour team : teams.values())
if (team.getTeamSize() > 0)
return team;
}
}
return null;
}
public void removeAllPlayerTeam(Player p) {
for (TeamFour t : teams.values()) {
if (t.getTeamPlayers().contains(p)) {
for (final TeamFour t : teams.values())
if (t.getTeamPlayers().contains(p))
t.removePlayer(p);
}
}
}
public ArrayList<Player> getPlayers() {
@ -817,12 +756,10 @@ public class GameFour {
Utils.setCleanPlayer(p);
removeAllPlayerTeam(p);
spects.add(p);
for (Player on : players) {
for (final Player on : players)
on.hidePlayer(p);
}
for (Player on : spects) {
for (final Player on : spects)
on.hidePlayer(p);
}
new BukkitRunnable() {
@Override
public void run() {
@ -832,11 +769,11 @@ public class GameFour {
}
public void giveSpectItems(Player p) {
ItemStack team = ItemBuilder.item(Material.COMPASS, 1, (short) 0,
final ItemStack team = ItemBuilder.item(Material.COMPASS, 1, (short) 0,
plugin.getLang().get("items.spectate.nameItem"), plugin.getLang().get("items.spectate.loreItem"));
ItemStack option = ItemBuilder.item(Material.REDSTONE_COMPARATOR, 1, (short) 0,
final ItemStack option = ItemBuilder.item(Material.REDSTONE_COMPARATOR, 1, (short) 0,
plugin.getLang().get("items.config.nameItem"), plugin.getLang().get("items.config.loreItem"));
ItemStack leave = ItemBuilder.item(Material.BED, 1, (short) 0, plugin.getLang().get("items.leave.nameItem"),
final ItemStack leave = ItemBuilder.item(Material.BED, 1, (short) 0, plugin.getLang().get("items.leave.nameItem"),
plugin.getLang().get("items.leave.loreItem"));
p.getInventory().setItem(0, team);
p.getInventory().setItem(4, option);
@ -844,55 +781,55 @@ public class GameFour {
}
public void givePlayerItems(Player p) {
ItemStack team = ItemBuilder.item(Material.PAPER, 1, (short) 0, plugin.getLang().get("items.teams.nameItem"),
final ItemStack team = ItemBuilder.item(Material.PAPER, 1, (short) 0, plugin.getLang().get("items.teams.nameItem"),
plugin.getLang().get("items.teams.loreItem"));
ItemStack leave = ItemBuilder.item(Material.BED, 1, (short) 0, plugin.getLang().get("items.leave.nameItem"),
final ItemStack leave = ItemBuilder.item(Material.BED, 1, (short) 0, plugin.getLang().get("items.leave.nameItem"),
plugin.getLang().get("items.leave.loreItem"));
p.getInventory().setItem(0, team);
p.getInventory().setItem(8, leave);
}
public void giveKit(Player p, TeamFour team) {
ItemStack peche = new ItemStack(Material.LEATHER_CHESTPLATE, 1);
LeatherArmorMeta pecheM = (LeatherArmorMeta) peche.getItemMeta();
final ItemStack peche = new ItemStack(Material.LEATHER_CHESTPLATE, 1);
final LeatherArmorMeta pecheM = (LeatherArmorMeta) peche.getItemMeta();
pecheM.setColor(team.getFColor());
peche.setItemMeta(pecheM);
ItemStack panta = new ItemStack(Material.LEATHER_LEGGINGS, 1);
LeatherArmorMeta pantaM = (LeatherArmorMeta) panta.getItemMeta();
final ItemStack panta = new ItemStack(Material.LEATHER_LEGGINGS, 1);
final LeatherArmorMeta pantaM = (LeatherArmorMeta) panta.getItemMeta();
pantaM.setColor(team.getFColor());
panta.setItemMeta(pantaM);
ItemStack boots = new ItemStack(Material.LEATHER_BOOTS, 1);
LeatherArmorMeta bootsM = (LeatherArmorMeta) boots.getItemMeta();
final ItemStack boots = new ItemStack(Material.LEATHER_BOOTS, 1);
final LeatherArmorMeta bootsM = (LeatherArmorMeta) boots.getItemMeta();
bootsM.setColor(team.getFColor());
boots.setItemMeta(bootsM);
p.getInventory().setChestplate(peche);
p.getInventory().setLeggings(panta);
p.getInventory().setBoots(boots);
if (PlayerStat.getPlayerStat(p).getHotbar() == null) {
ItemStack[] items = plugin.getGM().getKit().getContents();
final ItemStack[] items = plugin.getGM().getKit().getContents();
for (int slot = 0; slot < 35; slot++) {
ItemStack item = items[slot];
final ItemStack item = items[slot];
if (item == null || item.getType() == Material.BARRIER) {
p.getInventory().setItem(slot, new ItemStack(Material.AIR));
continue;
}
if (item.getType().equals(Material.STAINED_CLAY)) {
ItemStack item2 = new ItemStack(item.getType(), item.getAmount(), getColor(team.getFColor()));
final ItemStack item2 = new ItemStack(item.getType(), item.getAmount(), getColor(team.getFColor()));
p.getInventory().setItem(slot, item2);
continue;
}
p.getInventory().setItem(slot, item);
}
} else {
ItemStack[] items = PlayerStat.getPlayerStat(p).getHotbar();
final ItemStack[] items = PlayerStat.getPlayerStat(p).getHotbar();
for (int slot = 0; slot < 35; slot++) {
ItemStack item = items[slot];
final ItemStack item = items[slot];
if (item == null || item.getType() == Material.BARRIER) {
p.getInventory().setItem(slot, new ItemStack(Material.AIR));
continue;
}
if (item.getType().equals(Material.STAINED_CLAY)) {
ItemStack item2 = new ItemStack(item.getType(), item.getAmount(), getColor(team.getFColor()));
final ItemStack item2 = new ItemStack(item.getType(), item.getAmount(), getColor(team.getFColor()));
p.getInventory().setItem(slot, item2);
continue;
}
@ -910,18 +847,14 @@ public class GameFour {
}
public byte getColor(Color color) {
if (color.equals(Color.RED)) {
if (color.equals(Color.RED))
return 14;
}
if (color.equals(Color.BLUE)) {
if (color.equals(Color.BLUE))
return 11;
}
if (color.equals(Color.YELLOW)) {
if (color.equals(Color.YELLOW))
return 4;
}
if (color.equals(Color.GREEN)) {
if (color.equals(Color.GREEN))
return 5;
}
return 0;
}

13
MultiArena-TheBridge/src/cx/sfy/TheBridge/listeners/PlayerListener.java

@ -385,29 +385,33 @@ public class PlayerListener implements Listener {
if (!game.getTeams().get(ChatColor.RED).getDeath()
&& !game.getTeamPlayer(p).getColor().equals(ChatColor.RED)
&& game.getTeams().get(ChatColor.RED).getPortal()
.contains(p.getLocation().getBlock().getLocation())) {
.contains(p.getLocation().getBlock().getLocation()) && wait == false) {
game.celebrateGoal(game.getTeamPlayer(p), game.getTeams().get(ChatColor.RED), p);
wait = true;
return;
}
if (!game.getTeams().get(ChatColor.BLUE).getDeath()
&& !game.getTeamPlayer(p).getColor().equals(ChatColor.BLUE)
&& game.getTeams().get(ChatColor.BLUE).getPortal()
.contains(p.getLocation().getBlock().getLocation())) {
.contains(p.getLocation().getBlock().getLocation()) && wait == false) {
game.celebrateGoal(game.getTeamPlayer(p), game.getTeams().get(ChatColor.BLUE), p);
wait = true;
return;
}
if (!game.getTeams().get(ChatColor.YELLOW).getDeath()
&& !game.getTeamPlayer(p).getColor().equals(ChatColor.YELLOW)
&& game.getTeams().get(ChatColor.YELLOW).getPortal()
.contains(p.getLocation().getBlock().getLocation())) {
.contains(p.getLocation().getBlock().getLocation()) && wait == false) {
game.celebrateGoal(game.getTeamPlayer(p), game.getTeams().get(ChatColor.YELLOW), p);
wait = true;
return;
}
if (!game.getTeams().get(ChatColor.GREEN).getDeath()
&& !game.getTeamPlayer(p).getColor().equals(ChatColor.GREEN)
&& game.getTeams().get(ChatColor.GREEN).getPortal()
.contains(p.getLocation().getBlock().getLocation())) {
.contains(p.getLocation().getBlock().getLocation()) && wait == false) {
game.celebrateGoal(game.getTeamPlayer(p), game.getTeams().get(ChatColor.GREEN), p);
wait = true;
return;
}
}
@ -418,6 +422,7 @@ public class PlayerListener implements Listener {
}
respawnFour(p, Tagged.getTag(p));
}
wait = false;
}
return;
}

Loading…
Cancel
Save