mirror of
https://github.com/ArthurDanjou/WitchRush.git
synced 2026-01-14 12:14:39 +01:00
Witch done soon (85% -> 1 error remaining) Plugin 85% done
This commit is contained in:
@@ -9,7 +9,5 @@ public class CommandsManager {
|
||||
public void register(WitchRush main){
|
||||
main.getCommand("game").setExecutor(new GameCMD());
|
||||
main.getCommand("test").setExecutor(new TestCMD());
|
||||
|
||||
System.out.println("Commandes register");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import net.berrygames.witchrush.tools.PNJSpawner;
|
||||
import net.berrygames.witchrush.tools.TeamsTagsManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Sound;
|
||||
@@ -63,7 +62,6 @@ public class GameManager {
|
||||
playerOnline.setLevel(0);
|
||||
playerOnline.setGameMode(GameMode.SURVIVAL);
|
||||
witchPlayer.giveStuff();
|
||||
TeamsTagsManager.setNameTag(playerOnline, teamInfos.getIDName(), teamInfos.getChatColor()+teamInfos.getTeamName()+" ");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -26,10 +26,19 @@ public class WinManager {
|
||||
if (!teamManager.getPlayerTeamList(teamInfos).isEmpty()) {
|
||||
WitchRush.get().setState(GameState.FINISHING);
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Victoire de l'équipe "+teamInfos.getChatColor()+teamInfos.getTeamName());
|
||||
this.endGame();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void endGame() {
|
||||
|
||||
Bukkit.getScheduler().runTaskLater(WitchRush.get(), ()->{
|
||||
Bukkit.getOnlinePlayers().forEach(players -> players.kickPlayer("§CPartie terminée"));
|
||||
Bukkit.getServer().reload();
|
||||
}, 20 * 10);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package net.berrygames.witchrush.listeners;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.listeners.entities.DamageEvent;
|
||||
import net.berrygames.witchrush.listeners.entities.EntityDeath;
|
||||
import net.berrygames.witchrush.listeners.players.*;
|
||||
import net.berrygames.witchrush.listeners.servers.PingServer;
|
||||
import net.berrygames.witchrush.listeners.servers.ServerPing;
|
||||
import net.berrygames.witchrush.listeners.world.WorldEvents;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
@@ -15,17 +17,18 @@ public class ListenersManager {
|
||||
// --- PLAYERS ---//
|
||||
pm.registerEvents(new PlayerJoin(), main);
|
||||
pm.registerEvents(new PlayerQuit(), main);
|
||||
pm.registerEvents(new InteractEvent(), main);
|
||||
pm.registerEvents(new ChatEvent(), main);
|
||||
pm.registerEvents(new DeathEvent(), main);
|
||||
pm.registerEvents(new FoodLevel(), main);
|
||||
pm.registerEvents(new PlayerInteract(), main);
|
||||
pm.registerEvents(new PlayerChat(), main);
|
||||
pm.registerEvents(new PlayerDeath(), main);
|
||||
pm.registerEvents(new PlayerFood(), main);
|
||||
pm.registerEvents(new InventoryClick(), main);
|
||||
pm.registerEvents(new DamageEvent(), main);
|
||||
|
||||
// --- WORLD ---//
|
||||
pm.registerEvents(new WorldEvents(), main);
|
||||
pm.registerEvents(new PingServer(), main);
|
||||
pm.registerEvents(new ServerPing(), main);
|
||||
|
||||
System.out.println("Events register");
|
||||
// --- ENTITIES ---//
|
||||
pm.registerEvents(new EntityDeath(), main);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package net.berrygames.witchrush.listeners.entities;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Villager;
|
||||
import org.bukkit.entity.Witch;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
|
||||
public class DamageEvent implements Listener {
|
||||
|
||||
private TeamManager teamManager = WitchRush.get().getTeamManager();
|
||||
|
||||
@EventHandler
|
||||
public void onEntityDamageByEntity(final EntityDamageByEntityEvent e) {
|
||||
if(!WitchRush.get().getState().equals(GameState.PVP) && !WitchRush.get().getState().equals(GameState.DEATH_MATCH) && !WitchRush.get().getState().equals(GameState.NOWITCH) )return;
|
||||
switch (e.getEntity().getType()){
|
||||
case WITCH:
|
||||
if(!(e.getDamager() instanceof Player)) return;
|
||||
final Player player = (Player) e.getDamager();
|
||||
final Witch witch = (Witch) e.getEntity();
|
||||
final TeamInfos infos = teamManager.getPlayerTeam(player);
|
||||
if(teamManager.getTeamBoss(infos).getWitch().equals(witch)){
|
||||
e.setCancelled(true);
|
||||
player.sendMessage("§cVous ne pouvez pas tuer votre boss !");
|
||||
return;
|
||||
}
|
||||
for(TeamInfos teamInfos : TeamInfos.values()){
|
||||
if(teamManager.getTeamBoss(teamInfos).getWitch().equals(witch)){
|
||||
teamManager.getTeamBoss(teamInfos).getWitch().teleport(teamManager.getBossLocation(teamInfos));
|
||||
Bukkit.getOnlinePlayers().forEach(playerOnline -> {
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(playerOnline);
|
||||
if(teamManager.isPlayerInTeam(playerOnline, teamInfos) && !witchPlayer.isSpectator()){
|
||||
playerOnline.sendTitle("§cWitch attaquée !", " ");
|
||||
playerOnline.playSound(playerOnline.getLocation(), Sound.BLOCK_ANVIL_PLACE, 1, 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
break;
|
||||
case VILLAGER:
|
||||
if(e.getDamager() instanceof Player) e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package net.berrygames.witchrush.listeners.entities;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Witch;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class EntityDeath implements Listener {
|
||||
|
||||
private TeamManager teamManager = WitchRush.get().getTeamManager();
|
||||
|
||||
@EventHandler
|
||||
public void onEntityDeath(final EntityDeathEvent e) {
|
||||
if(e.getEntity() instanceof Witch){
|
||||
if(!WitchRush.get().getState().equals(GameState.PVP) || !WitchRush.get().getState().equals(GameState.DEATH_MATCH)) return;
|
||||
final Witch witch = (Witch) e.getEntity();
|
||||
for (final ItemStack itemStack : e.getDrops()) {
|
||||
itemStack.setType(Material.AIR);
|
||||
}
|
||||
for(TeamInfos infos : TeamInfos.values()){
|
||||
if(teamManager.getTeamBoss(infos).getWitch().equals(witch)){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"L'équipe "+infos.getChatColor()+infos.getTeamName()+" §dest morte !");
|
||||
for (final Player playerOnline : Bukkit.getOnlinePlayers()) {
|
||||
playerOnline.playSound(playerOnline.getLocation(), Sound.ENTITY_WITHER_DEATH, 1.0f, 1.0f);
|
||||
if (teamManager.isPlayerInTeam(playerOnline, infos)) {
|
||||
playerOnline.sendMessage(WitchRush.prefix()+"Votre Boss est mort! Ne mourrez pas !");
|
||||
playerOnline.sendTitle("§cAttention","Votre boss est mort !");
|
||||
teamManager.killTeamBoss(infos);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,9 @@
|
||||
package net.berrygames.witchrush.listeners.players;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import net.berrygames.witchrush.tools.TeamsTagsManager;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -19,7 +17,6 @@ public class InventoryClick implements Listener {
|
||||
@EventHandler
|
||||
public void inventoryClick(InventoryClickEvent e){
|
||||
Player player = (Player) e.getWhoClicked();
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
ItemStack item = e.getCurrentItem();
|
||||
Inventory inv = e.getClickedInventory();
|
||||
TeamManager teamManager = WitchRush.get().getTeamManager();
|
||||
@@ -45,7 +42,6 @@ public class InventoryClick implements Listener {
|
||||
teamManager.addPlayerTeam(player, teamInfos);
|
||||
TeamInfos infos1 = teamManager.getPlayerTeam(player);
|
||||
player.sendMessage(WitchRush.prefix()+"Vous avez rejoint la team "+infos1.getChatColor()+infos1.getTeamName());
|
||||
TeamsTagsManager.setNameTag(player, player.getName(), infos1.getChatColor()+infos1.getTeamName()+" ");
|
||||
player.closeInventory();
|
||||
break;
|
||||
case BARRIER:
|
||||
@@ -55,7 +51,6 @@ public class InventoryClick implements Listener {
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
|
||||
teamManager.removePlayerAllTeam(player);
|
||||
player.sendMessage(WitchRush.prefix()+"Vous serez dans une équipe au debut de la partie !");
|
||||
TeamsTagsManager.setNameTag(player, player.getName(), "§7");
|
||||
player.closeInventory();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
|
||||
public class ChatEvent implements Listener {
|
||||
public class PlayerChat implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void chat(AsyncPlayerChatEvent e){
|
||||
@@ -0,0 +1,107 @@
|
||||
package net.berrygames.witchrush.listeners.players;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import net.berrygames.witchrush.tools.DeadPlayer;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class PlayerDeath implements Listener {
|
||||
|
||||
private TeamManager teamManager = WitchRush.get().getTeamManager();
|
||||
|
||||
@EventHandler
|
||||
public void death(PlayerDeathEvent e) {
|
||||
|
||||
Player player = e.getEntity().getPlayer();
|
||||
Player killer = e.getEntity().getKiller();
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
WitchPlayer witchKiller = WitchPlayer.get(killer);
|
||||
|
||||
final TeamInfos teamvictim;
|
||||
final TeamInfos teamKiller;
|
||||
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setDeathMessage(null);
|
||||
player.kickPlayer("ENFAIT TOI T'ES FORT PCQ NORMALEMENT YA PAS CA");
|
||||
} else {
|
||||
if(killer instanceof Player){
|
||||
switch (WitchRush.get().getState()){
|
||||
case PVP:
|
||||
if(!teamManager.isInLife(teamManager.getPlayerTeam(player))){
|
||||
checkDrop(e);
|
||||
TeamInfos team = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
e.setDeathMessage(team.getChatColor()+player.getName()+"§c est éliminé");
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
witchPlayer.setSpectator(true);
|
||||
player.teleport(Locations.SPAWN_SPECTATORS.getLocation());
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
teamManager.removePlayerAllTeam(player);
|
||||
|
||||
player.sendMessage(" ");
|
||||
player.sendMessage("§8(Spectateur) §7Vous êtes éliminé.");
|
||||
player.sendMessage("§7Seuls les autres spectateurs voient vos messages !");
|
||||
player.sendMessage(" ");
|
||||
} else {
|
||||
teamvictim = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
teamKiller = WitchRush.get().getTeamManager().getPlayerTeam(killer);
|
||||
e.setDeathMessage(teamvictim.getChatColor()+player.getName()+"§d a été tué par "+teamKiller.getChatColor()+ killer.getName());
|
||||
checkDrop(e);
|
||||
new DeadPlayer(player);
|
||||
witchKiller.setKills(witchKiller.getKills()+1);
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
}
|
||||
break;
|
||||
case NOWITCH:
|
||||
teamvictim = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
teamKiller = WitchRush.get().getTeamManager().getPlayerTeam(killer);
|
||||
|
||||
e.setDeathMessage(teamvictim.getChatColor()+player.getName()+"§d a été tué par "+teamKiller.getChatColor()+ killer.getName());
|
||||
checkDrop(e);
|
||||
new DeadPlayer(player);
|
||||
witchKiller.setKills(witchKiller.getKills()+1);
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
TeamInfos team = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
e.setDeathMessage(team.getChatColor()+player.getName()+"§d est mort");
|
||||
checkDrop(e);
|
||||
new DeadPlayer(player);
|
||||
player.setHealth(20);
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void checkDrop(PlayerDeathEvent e){
|
||||
for(final ItemStack itemStack : e.getDrops()){
|
||||
switch (itemStack.getType()){
|
||||
case LEATHER_BOOTS:
|
||||
itemStack.setType(Material.AIR);
|
||||
break;
|
||||
case LEATHER_LEGGINGS:
|
||||
itemStack.setType(Material.AIR);
|
||||
break;
|
||||
case LEATHER_CHESTPLATE:
|
||||
itemStack.setType(Material.AIR);
|
||||
break;
|
||||
case LEATHER_HELMET:
|
||||
itemStack.setType(Material.AIR);
|
||||
break;
|
||||
case DIAMOND_SWORD:
|
||||
itemStack.setType(Material.AIR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
|
||||
public class FoodLevel implements Listener {
|
||||
public class PlayerFood implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onFoodLevelChange(final FoodLevelChangeEvent e) {
|
||||
@@ -1,6 +1,5 @@
|
||||
package net.berrygames.witchrush.listeners.players;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamsMenu;
|
||||
@@ -17,7 +16,7 @@ import org.bukkit.event.player.PlayerInteractAtEntityEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class InteractEvent implements Listener {
|
||||
public class PlayerInteract implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void pvp(EntityDamageEvent e){
|
||||
@@ -54,15 +53,13 @@ public class InteractEvent implements Listener {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
e.setCancelled(true);
|
||||
if(e.getRightClicked().getName().equals("S")){
|
||||
if(e.getRightClicked().getName().equals("§6§lSHOP")){
|
||||
e.setCancelled(true);
|
||||
player.closeInventory();
|
||||
player.sendMessage("s");
|
||||
}
|
||||
if(e.getRightClicked().getName().equals("U")){
|
||||
if(e.getRightClicked().getName().equals("§3§lUPGRADE")){
|
||||
e.setCancelled(true);
|
||||
player.closeInventory();
|
||||
player.sendMessage("u");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -70,7 +67,6 @@ public class InteractEvent implements Listener {
|
||||
@EventHandler
|
||||
public void click(PlayerInteractEvent e){
|
||||
Player player = e.getPlayer();
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
Action action = e.getAction();
|
||||
ItemStack item = e.getItem();
|
||||
e.setCancelled(true);
|
||||
@@ -5,7 +5,6 @@ import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.game.task.StartTask;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import net.berrygames.witchrush.tools.TeamsTagsManager;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -35,9 +34,6 @@ public class PlayerJoin implements Listener {
|
||||
player.setFoodLevel(20);
|
||||
player.teleport(Locations.PLAYER_SPAWN_WAITING_ROOM.getLocation());
|
||||
witchPlayer.sendWaitingStuff();
|
||||
|
||||
TeamsTagsManager.setNameTag(player, player.getName(), "§7");
|
||||
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) && WitchPlayer.getwitchMap().size() >= 4){
|
||||
new StartTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
WitchRush.get().setState(GameState.STARTING);
|
||||
@@ -48,9 +44,6 @@ public class PlayerJoin implements Listener {
|
||||
player.sendMessage("§8(Spectateur) §7Vous êtes spectateur pour cette partie.");
|
||||
player.sendMessage("§7Seuls les autres spectateurs voient vos messages !");
|
||||
player.sendMessage(" ");
|
||||
|
||||
TeamsTagsManager.setNameTag(player, player.getName(), "§8(Spec)§7 ");
|
||||
|
||||
e.setJoinMessage(null);
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
player.setLevel(0);
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.server.ServerListPingEvent;
|
||||
|
||||
public class PingServer implements Listener {
|
||||
public class ServerPing implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void ping(ServerListPingEvent e){
|
||||
@@ -27,7 +27,7 @@ public enum Locations {
|
||||
SHOP_VERT(new Location(Bukkit.getWorld("world"), -5.5, 65, -8.5, 0, 0)),
|
||||
|
||||
//PNJ SOLO UPGRADE
|
||||
UPGRADE_BLEU(new Location(Bukkit.getWorld("world"), 6, 65, -8.5, 0, 0)),
|
||||
UPGRADE_BLEU(new Location(Bukkit.getWorld("world"), 6.5, 65, -8.5, 0, 0)),
|
||||
UPGRADE_ROUGE(new Location(Bukkit.getWorld("world"), -5.5, 65, 9.5, -180, 0)),
|
||||
UPGRADE_JAUNE(new Location(Bukkit.getWorld("world"), 9.5, 65, 6.5, 90, 0)),
|
||||
UPGRADE_VERT(new Location(Bukkit.getWorld("world"), -8.5, 65, -5.5, -90, 0)),
|
||||
|
||||
@@ -1,118 +0,0 @@
|
||||
package net.berrygames.witchrush.tools;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.bukkit.scoreboard.Team;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
|
||||
public class TeamsTagsManager {
|
||||
|
||||
|
||||
private String prefix;
|
||||
private String suffix;
|
||||
private Team team;
|
||||
public static Scoreboard scoreboard;
|
||||
|
||||
public TeamsTagsManager(final String name, final String prefix, final String suffix, final Scoreboard current) throws Exception {
|
||||
this.prefix = prefix;
|
||||
this.suffix = suffix;
|
||||
this.team = current.getTeam(name);
|
||||
if (this.team == null) {
|
||||
this.team = current.registerNewTeam(name);
|
||||
}
|
||||
TeamsTagsManager.scoreboard = current;
|
||||
this.team.setCanSeeFriendlyInvisibles(false);
|
||||
this.team.setAllowFriendlyFire(false);
|
||||
int prefixLength = 0;
|
||||
int suffixLength = 0;
|
||||
if (prefix != null) {
|
||||
prefixLength = prefix.length();
|
||||
}
|
||||
if (suffix != null) {
|
||||
suffixLength = suffix.length();
|
||||
}
|
||||
if (prefixLength + suffixLength >= 32) {
|
||||
throw new Exception("prefix and suffix lenghts are greater than 16");
|
||||
}
|
||||
if (suffix != null) {
|
||||
this.team.setSuffix(ChatColor.translateAlternateColorCodes('&', suffix));
|
||||
}
|
||||
if (prefix != null) {
|
||||
this.team.setPrefix(ChatColor.translateAlternateColorCodes('&', prefix));
|
||||
}
|
||||
}
|
||||
|
||||
public TeamsTagsManager(final String name, final String prefix, final String suffix) throws Exception {
|
||||
this(name, prefix, suffix, Bukkit.getScoreboardManager().getMainScoreboard());
|
||||
}
|
||||
|
||||
public void set(final Player player) {
|
||||
this.team.addPlayer((OfflinePlayer)player);
|
||||
player.setScoreboard(TeamsTagsManager.scoreboard);
|
||||
}
|
||||
|
||||
public void remove(final Player player) {
|
||||
this.team.removePlayer((OfflinePlayer)player);
|
||||
}
|
||||
|
||||
public void resetTagUtils(final UUID uuid) {
|
||||
this.remove(Bukkit.getPlayer(uuid));
|
||||
}
|
||||
|
||||
public void setAll(final Collection<Player> players) {
|
||||
for (final Player player : players) {
|
||||
this.set(player);
|
||||
}
|
||||
}
|
||||
|
||||
public void setAll(final Player[] players) {
|
||||
for (final Player player : players) {
|
||||
this.set(player);
|
||||
}
|
||||
}
|
||||
|
||||
public void setPrefix(final String prefix) {
|
||||
this.prefix = ChatColor.translateAlternateColorCodes('&', prefix);
|
||||
this.team.setPrefix(this.prefix);
|
||||
}
|
||||
|
||||
public void setSuffix(final String suffix) {
|
||||
this.suffix = ChatColor.translateAlternateColorCodes('&', suffix);
|
||||
this.team.setSuffix(this.suffix);
|
||||
}
|
||||
|
||||
public String getPrefix() {
|
||||
return this.prefix;
|
||||
}
|
||||
|
||||
public String getSuffix() {
|
||||
return this.suffix;
|
||||
}
|
||||
|
||||
public Team getTeam() {
|
||||
return this.team;
|
||||
}
|
||||
|
||||
public void removeTeam() {
|
||||
this.team.unregister();
|
||||
}
|
||||
|
||||
public Scoreboard getScoreboard() {
|
||||
return TeamsTagsManager.scoreboard;
|
||||
}
|
||||
|
||||
public static void setNameTag(final Player player, final String name, final String prefix) {
|
||||
try {
|
||||
final TeamsTagsManager golemaplayer = new TeamsTagsManager(name, prefix, null);
|
||||
golemaplayer.set(player);
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user