Bonjour !
Je cherche à créer un petit plugin de gestion de teams avec les ScoreBoards du jeu vanilla. J'ai essayé de créer les teams avec un ConsoleSender dans le code, mais quand j'ajoute un joueur dans la team, les couleurs ne s'affichent pas dans le tab ni dans le tchat. Donc je me penche pour le faire moi même ^^ J'ai trouvé ceci :
https://www.bukkit.fr/topic/8057-utiliser-scoreboard/
Mais je suis face à un problème. Le créateur du tuto pars du principe que les noms des teams sont déjà définis (ici redteam), or je souhaite créer les teams avec un nom souhaité et entré dans un argument (voir le code ci-dessous) mais cela ne fonctionne pas. Il n'arrive pas à insérer la variable qui contient le nom de la team (défini dans la commande) et donc il ne peux pas me créer de team. Et je veux utiliser ce système pour deux autre méthode également : la méthode pour join et pour leave la team. Et je voudrais vraiment ne pas avoir à rentré des noms manuellement dans le code, sinon ce serait des noms qui ne pourront pas être changé à moins de modifier le code source. En espérant que vous aurez compris ^^
Cette partie est en rouge : Team getTeamName()
Et si je met juste teamName, il me demande de renommer la variable. Ca me dépannerai bien si vous auriez une solution
Voilà merci à tous !
PS : autre petite question, possible de mettre un "getConfig()" ailleurs que dans la classe principale ?
AlexFatta
Je cherche à créer un petit plugin de gestion de teams avec les ScoreBoards du jeu vanilla. J'ai essayé de créer les teams avec un ConsoleSender dans le code, mais quand j'ajoute un joueur dans la team, les couleurs ne s'affichent pas dans le tab ni dans le tchat. Donc je me penche pour le faire moi même ^^ J'ai trouvé ceci :
https://www.bukkit.fr/topic/8057-utiliser-scoreboard/
Mais je suis face à un problème. Le créateur du tuto pars du principe que les noms des teams sont déjà définis (ici redteam), or je souhaite créer les teams avec un nom souhaité et entré dans un argument (voir le code ci-dessous) mais cela ne fonctionne pas. Il n'arrive pas à insérer la variable qui contient le nom de la team (défini dans la commande) et donc il ne peux pas me créer de team. Et je veux utiliser ce système pour deux autre méthode également : la méthode pour join et pour leave la team. Et je voudrais vraiment ne pas avoir à rentré des noms manuellement dans le code, sinon ce serait des noms qui ne pourront pas être changé à moins de modifier le code source. En espérant que vous aurez compris ^^
PHP:
package fr.alexfatta.teams;
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.entity.Player;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.ScoreboardManager;
import org.bukkit.scoreboard.Team;
public class TeamManager implements CommandExecutor {
private String teamName = " ";
@Override
public boolean onCommand(CommandSender sender, Command command,String label, String[] args) {
if(label.equalsIgnoreCase("team") && sender instanceof Player){
Player player = (Player) sender;
if(args.length == 0){
player.sendMessage(ChatColor.RED + "Merci de rentrer un argument !");
}
if(args.length == 2){
if(args[0].equalsIgnoreCase("create")){
setTeamName(args[1]);
createTeam(args[1]);
}
}
}
return false;
}
public void createTeam(String teamName){
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard board = manager.getNewScoreboard();
Team getTeamName() = board.registerNewTeam(getTeamName());
}
public String getTeamName() {
return teamName;
}
public void setTeamName(String teamName) {
this.teamName = teamName;
}
}
Cette partie est en rouge : Team getTeamName()
Et si je met juste teamName, il me demande de renommer la variable. Ca me dépannerai bien si vous auriez une solution

Voilà merci à tous !
PS : autre petite question, possible de mettre un "getConfig()" ailleurs que dans la classe principale ?
AlexFatta
Je t'ai déjà montré ça 2 fois (avec le "getInstance" ou le "this" dans les constructeur)