Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.yazhog.uhchost.utils;
- import fr.yazhog.uhchost.Main;
- import fr.yazhog.uhchost.events.PlayerJoin;
- import fr.yazhog.uhchost.events.ScenariosEvent.LoupGarou.Role;
- import fr.yazhog.uhchost.events.ScenariosEvent.LoupGarou.Roles;
- import fr.yazhog.uhchost.events.ScenariosInvClickEvent;
- import fr.yazhog.uhchost.runnable.GameRunnable;
- import fr.yazhog.uhchost.runnable.TeleportRunnable;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitTask;
- import org.bukkit.scoreboard.DisplaySlot;
- import org.bukkit.scoreboard.Objective;
- import org.bukkit.scoreboard.Scoreboard;
- import java.util.Map;
- public class UhcPlayer {
- private Player player;
- private Scoreboard scoreboard;
- private Objective o;
- private String scoreboardName;
- private int afkTime = 300;
- private BukkitTask taskId;
- public UhcPlayer(Player p){
- this.player = p;
- }
- public void registerNewScorebaord(String name){
- this.scoreboardName = name;
- this.scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
- if(Main.getInstance().getScoreboardManagerMap().containsKey(player)) return;
- this.o = scoreboard.registerNewObjective(name, "dummy");
- o.setDisplayName(name);
- o.setDisplaySlot(DisplaySlot.SIDEBAR);
- //Main.getInstance().getScoreboardManagerMap().put(player, this);
- }
- public Player getPlayer() {
- return player;
- }
- public void sendLines(){
- o.getScore("§aPlayers ").setScore(Bukkit.getOnlinePlayers().size());
- }
- public void sendLgLines(){
- int i = (TeleportRunnable.playingPlayers.size() / 3);
- if(i == 0){
- i = 1;
- }
- o.unregister();
- this.o = scoreboard.registerNewObjective(scoreboardName, "dummy");
- o.setDisplayName(scoreboardName);
- o.setDisplaySlot(DisplaySlot.SIDEBAR);
- o.getScore("§1").setScore(10);
- o.getScore("§3Host: " + Bukkit.getPlayer(PlayerJoin.getHost()).getName()).setScore(9);
- o.getScore("§2").setScore(8);
- o.getScore("§4Groupes de : " + i).setScore(7);
- o.getScore("§3").setScore(6);
- o.getScore("§bJoueurs: " + TeleportRunnable.playingPlayers.size()).setScore(5);
- o.getScore("§4").setScore(4);
- o.getScore("§6Timer: " + GameRunnable.notResetMin + ":" + GameRunnable.sec).setScore(3);
- o.getScore("§4").setScore(2);
- o.getScore("51.75.195.47").setScore(1);
- }
- public void sendRolesBoard(){
- o.unregister();
- Main.getInstance().getRolesNumber().clear();
- this.o = scoreboard.registerNewObjective(scoreboardName, "dummy");
- o.setDisplayName(scoreboardName);
- o.setDisplaySlot(DisplaySlot.SIDEBAR);
- for(Player pls : TeleportRunnable.playingPlayers){
- if(Roles.getRole(pls) == null) continue;
- Role.RolesEnum roles = Roles.getRole(pls);
- if(Main.getInstance().getRolesNumber().containsKey(roles)){
- Main.getInstance().getRolesNumber().replace(roles, Main.getInstance().getRolesNumber().get(roles),(Main.getInstance().getRolesNumber().get(roles) +1));
- } else {
- Main.getInstance().getRolesNumber().put(roles, 1);
- }
- }
- for(Map.Entry<Role.RolesEnum, Integer> rolesNumber : Main.getInstance().getRolesNumber().entrySet()){
- o.getScore(rolesNumber.getKey().getName()).setScore(rolesNumber.getValue());
- }
- }
- public void refresh() {
- Main.getInstance().getRolesEnums().clear();
- if(ScenariosInvClickEvent.getScenarios().contains(ScenariosInvClickEvent.Scenarios.LOUPGAROU)){
- for(Role.RolesEnum rolesEnum : Role.RolesEnum.values()){
- if(rolesEnum.isEnable()){
- Main.getInstance().getRolesEnums().add(rolesEnum);
- }
- }
- }
- }
- public void setScoreboard(){
- player.setScoreboard(scoreboard);
- }
- public void startAfkTime(){
- taskId = Bukkit.getScheduler().runTaskTimer(Main.getInstance(), new Runnable() {
- @Override
- public void run() {
- afkTime--;
- if(afkTime == 0){
- TeleportRunnable.playingPlayers.remove(player);
- Bukkit.broadcastMessage("§c" + player.getName() + " est mort de deconnexion");
- }
- }
- }, 20, 20);
- }
- public void stopAfkTime(){
- taskId.cancel();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement