Wieso wird mein Scoreboard nicht angezeigt?
	  public void setScoreboard(Player p) {
		    ScoreboardManager sm = Bukkit.getScoreboardManager();
		    Scoreboard board = sm.getNewScoreboard();
		    Objective o = board.registerNewObjective("test", "dummy");
		    o.setDisplaySlot(DisplaySlot.SIDEBAR);
		    o.setDisplayName(cfg.getString("Displayname"));
		    o.getScore("§a   ").setScore(10);
		    o.getScore("§fMap").setScore(9);
		    o.getScore("§d" + p.getWorld().getName()).setScore(8);
		    o.getScore("§e    ").setScore(7);
		    o.getScore("§fKills:").setScore(6);
		    o.getScore("§e"+ p.getStatistic(Statistic.PLAYER_KILLS)).setScore(5);
		    o.getScore("§f    ").setScore(4);
		    o.getScore("§fTeams:" ).setScore(3);
		    o.getScore("§aERLAUBT!").setScore(2);
		    o.getScore("§1   ").setScore(1);
		    o.getScore("§eMade by KoCoLP!").setScore(0);
		    p.setScoreboard(board);


		  }
		  
		  @EventHandler
		  public void onJoin1(PlayerJoinEvent e) {
		    (new BukkitRunnable() {
		        public void run() {
		          for (Player all : Bukkit.getOnlinePlayers())
		            GunGame.this.setScoreboard(all); 
		        }
		      }).runTaskLater((Plugin)this, 1L);
		  }
		  
		  @EventHandler
		  public void onQuit2(PlayerQuitEvent e) {
		    (new BukkitRunnable() {
		        public void run() {
		          for (Player all : Bukkit.getOnlinePlayers())
		            GunGame.this.setScoreboard(all); 
		        }
		      }).runTaskLater((Plugin)this, 1L);
		  }
		  
		  @EventHandler
		  public void onDeath3(PlayerDeathEvent e) {
		    for (Player all : Bukkit.getOnlinePlayers())
		      GunGame.this.setScoreboard(all); 
		  }
	


Minecraft, Coding, developer, Bukkit, scoreboard, Spigot
Warum updatet mein Scoreboard in Minecraft nicht?

Habe meinen Code gelöscht und den Code aus Videos genommen, bei denen es funktioniert hat. Aber bei mir funktioniert weder mein Code, noch der aus den Videos.

Main.java

package Projekt.main;


import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;


import Projekt.Listener.onPlayerDeath;
import Projekt.Listener.onPlayerJoin;
import Projekt.Listener.onPlayerQuit;
import Projekt.Listener.onPlayerRespawn;
import Projekt.commands.CreateTeam;
import Projekt.commands.addPlayertoTeam;
import Projekt.voids.MakeScoreboard;


public class Main extends JavaPlugin {


	static Main main;


	public Main() {
		main = this;
	}


	public void onEnable() {
		PluginManager manager = Bukkit.getPluginManager();
		getCommand("team").setExecutor(new CreateTeam());
		getCommand("add").setExecutor(new addPlayertoTeam());
		manager.registerEvents(new onPlayerJoin(), this);
		manager.registerEvents(new onPlayerQuit(), this);
		manager.registerEvents(new onPlayerDeath(), this);
		manager.registerEvents(new onPlayerRespawn(), this);
	}


	public static Main getMain() {
		return main;
	}
}

MakeScoreboard.java

package Projekt.voids;


import java.util.HashMap;


import org.bukkit.Bukkit;
import org.bukkit.Statistic;
import org.bukkit.entity.Player;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;


public class MakeScoreboard {
	
	private static HashMap<Scoreboard,Player> boards = new HashMap<>();
	
	public void createScoreboard(Player p) {
		Scoreboard sb = Bukkit.getScoreboardManager().getNewScoreboard();
		Objective obj = sb.registerNewObjective("aaa", "aaa");
		obj.setDisplaySlot(DisplaySlot.SIDEBAR);
		obj.setDisplayName("§2"+p.getName());
		Team t = sb.registerNewTeam("Deaths");
		t.addEntry("Deaths : " + p.getStatistic(Statistic.DEATHS));
		obj.getScore("Deaths : " + p.getStatistic(Statistic.DEATHS)).setScore(1);
		boards.put(sb,p);
		p.setScoreboard(sb);
	}
}

onPlayerDeath.java

package Projekt.Listener;


import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scoreboard.Scoreboard;


import Projekt.main.Main;
import Projekt.voids.MakeScoreboard;


public class onPlayerDeath implements Listener {


	@EventHandler
	public void onDeath(PlayerDeathEvent e) {
		Player p = e.getEntity();
		MakeScoreboard msb = new MakeScoreboard();
		e.setDeathMessage("§6" + p + " §aist einfach schlecht!");
		new BukkitRunnable() {
			@Override
			public void run() {
					p.getScoreboard().getTeam("Deaths");
			}			
		}.runTaskTimer(Main.getMain(), 0, 1);
	}
}

Programmieren, Java, Minecraft, scoreboard, Plugins Minecraft, BukkitSpigot
Java Plugin Auswahl machen?

Hey ich habe eine allgemeine frage zu einem Programmier code.
Wen ich eine Auswahl machen möchte beispiel du hast 6 Auswahl Möglichkeiten
und ich müsste abfragen welche von den 6 gerade ausgewählt ist die er bestätigen möchte, muss ich dazu eine config erstellen wo hoch gezählt wird bei welcher Antwort er gerade ist damit man die zahl der Auswahl verwenden kann?
Wichtig ist hierbei das es ein Multiplayer ist also ein Sympeles Int hoch zählen wird wahrscheinlich nicht funktionieren...
was im int cacher zwischen gespeichert ist.

anders Beispiel:
ihr kennt sicher Pokemon Gelbe Editon mit dem Pokedex
dort sind zb mehre sachen zum auswählen
1Status
2Pokemon
3Trainer pass
4Pokedex usw

wie kann ich herausfinden ob ein Spieler eines davon ausgewählt hat
Ohne das die eingaben bei einem anderen Spieler verändert wird ?
und wie kann ich die eingaben für den Explezieten Spieler wieder auslesen
damit er wieder weitere einstellungen vor nehmen kann?

Beispiel einer Mob arena ich würde jetzt ein int hochzählen lassen von einem Spieler
und wen er den Basic int erreicht hat den ich jetzt einfach mal auf 10 stelle

eine stuffe höher kommt und dies eben abspeicher mit seiner uuid etc

wie kann ich den score wieder auslesen lassen + das ein anderer Spieler ebenfalls die Mobarena machen kann ?

bei meiner version ist es nähmlich so das der Score sobald jemand anders eingetragen ist nicht mehr weiter geführt wird und der andere score aber weiter gemacht wird und wen der den Basic int erreicht über die grenze schlagen kann und auf einmal 11 kills hat obwohl bei 10 Resetet werden soll...

ich hoffe man versteht allgemein mein problem
ich weiß nicht genau wie man einen int für einen bestimmten spieler hochzählen kann abspeichert und wieder laden kann

genauso wenig wen er etwas auswählen würde wen es über einen int gingen würde

daher meine frage wie macht ihr das ?

gibt es noch eine andere möglichkeit und wen ja wie funktioniert diese?

ich würde gerne mein eigenes system schreiben wollen.

Computer, Minecraft, Eclipse, Plug-in, score, scoreboard, Spiele und Gaming
Sidebar wird nicht vollständig angezeigt?

Hey, ich habe letztens angefangen ein Scoreboard Plugin zu programmieren. (Ich bin noch ein Anfänger im bereich SpigotAPI und Java). Allerdings habe ich festgestellt, das mein scoreboard nicht vollständig angezeigt wird.

Hier der Code vom Listener:

package net.cyntrox.lobbysystem.main;

import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard;

public class Sidebar implements Listener {

@EventHandler
public void handlePlayerJoin(PlayerJoinEvent event) {
    Player player = event.getPlayer();
    
    Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
    Objective objective = board.registerNewObjective("abcd", "abcd");
    objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    objective.setDisplayName("§6\u2022§e\u25cf §eCyntroxNET §8\u2503 §7Lobby");
    objective.getScore("§7").setScore(12);
    objective.getScore("§6\u2022§e\u25cf Username§8\u2503").setScore(11);
    objective.getScore("§8\u27a5 §7" + player.getName()).setScore(10);
    objective.getScore("§7").setScore(9);
    objective.getScore("§6\u2022§e\u25cf Coins§8\u2503").setScore(8);
    objective.getScore("§8\u27a5 §cComing Soon").setScore(7);
    objective.getScore("§7").setScore(6);
    objective.getScore("§6\u2022§e\u25cf Dein Rang§8\u2503").setScore(5);
    objective.getScore("§8\u27a5 §cComing Soon").setScore(4);
    objective.getScore("§7").setScore(3);
    objective.getScore("§6\u2022§e\u25cf Dein Clan§8\u2503").setScore(2);
    objective.getScore("§8\u27a5 §cComing Soon").setScore(1);
    objective.getScore("§7").setScore(0);
    player.setScoreboard(board);
}

}

Hier das Ergebnis:

Ich hoffe jemand kann mit Helfen. Ich kann mir selber nicht wirklich erklären, warum das nicht vollständig angezeigt wird.

Danke im Voraus. LG

Sidebar wird nicht vollständig angezeigt?
Fehler, Programmieren, Java, Minecraft, sidebar, scoreboard, Spigot
Multithreading mit Bukkit?

Hallo liebe Community,

Ich habe ein Plugin geschrieben, womit 2 Methoden gleichzeitig laufen sollen. Beim Laden des Plugins auf meinen Test-Server kommt nach dem Enabeln eine Fehlermeldung:

[11:00:34 WARN]: Exception in thread "Thread-8"
[11:00:34 WARN]: java.lang.IllegalStateException: Asynchronous scoreboard creation!
[11:00:34 WARN]:    at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14)
[11:00:34 WARN]:    at org.bukkit.craftbukkit.v1_8_R1.scoreboard.CraftScoreboardManager.getNewScoreboard(CraftScoreboardManager.java:45)
[11:00:34 WARN]:    at org.bukkit.craftbukkit.v1_8_R1.scoreboard.CraftScoreboardManager.getNewScoreboard(CraftScoreboardManager.java:1)
[11:00:34 WARN]:    at de.nurteam.varo.ScoreboardThread.setScore(ScoreboardThread.java:25)
[11:00:34 WARN]:    at de.nurteam.varo.ScoreboardThread.run(ScoreboardThread.java:44)

Kurze Beschreibung des Plugins:

Ich programmiere an einem Varo-Plugin, indem es einen Scoreboard geben soll, wo steht, wie lange man noch Spielen darf. Dieser Scoreboard soll in einer Schleife laufen, um die Spielzeit zu aktualisieren. Gleichzeitig soll noch eine Methode laufen, die reguliert, wie lange man noch spielen darf und wie groß die Border ist usw.

Nun müssen beide Methoden gleichzeitig laufen, da sie voneinander abhängig sind und das Plugin nicht läuft, wenn eine Methode versagt. Hoffentlich habe ich mich verständlich ausgedrückt:).

Hier sind Teile meines Plugins als Code einsehbar:

//Klasse die Scoreboard und Multithreading managed:
import org.bukkit.Bukkit;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;

public class ScoreboardThread extends Thread{

String name;

ScoreboardThread(String s){
    
    this.name = s;


}

public static void setScore() {


    Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
&nbsp; &nbsp; Objective objective = ((org.bukkit.scoreboard.Scoreboard) board).registerNewObjective("abc", "abc");
&nbsp; &nbsp; objective.setDisplaySlot(DisplaySlot.SIDEBAR);
&nbsp; &nbsp; objective.setDisplayName("§6§lWillkommen bei Ravo!");
&nbsp; &nbsp; objective.getScore("§e ").setScore(8);
&nbsp; &nbsp; objective.getScore("§5 ").setScore(6);
&nbsp; &nbsp; objective.getScore("§bDu gehörst zum Team: #").setScore(5);
&nbsp; &nbsp; objective.getScore("§4 ").setScore(4);
&nbsp; &nbsp; objective.getScore("§cUnser TS3-Server: PlusTube.eu ").setScore(3);
&nbsp; &nbsp; objective.getScore("§3 ").setScore(2);
&nbsp; &nbsp; objective.getScore("§2Viel Spaß! ").setScore(1);

}

public void run() {
    if(this.name == "t1") {
        
        setScore();
    }
    if(this.name == "t2") {
        Varo.getPlugin().startChecking();
    }
}

}

Server, Programmieren, Java, Minecraft, Plug-in, Bukkit, multithreading, scoreboard, Spigot
Bei Bukkit 2 Scoreboards gleichzeitig nutzen?

Ich programmiere gerade ein Bedwarsplugin. Dieses hat ein Scoreboard an der seite aber auch die Fabigen Spielernamen über dem Kopf werden über ein Scoreboard gesteuert. Wie kann ich 2 Scoreboards gleichzeitig nutzen bzw gibt es noch eine andere methode in der 1.8 den Namen über den Kopf zu ändern.

Scoreboard:

@SuppressWarnings("deprecation")
public static void updateScoreboard(Player p, String mapname, int maxplayer, int minplayer){
    Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
    Objective obj = board.registerNewObjective("asf", "bbb");
    obj.setDisplayName("§7>§3[BedWars]§7<");
    obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    int spl = minplayer - Bukkit.getOnlinePlayers().size();
    int spl1 = 0;
    if(spl <= 0){
        spl1 = 0;
    }else{
    spl1 = spl;
    }
    Score eight = obj.getScore(Bukkit.getOfflinePlayer("§7-----§6Jaylos.de§7-----"));
    Score seven = obj.getScore(Bukkit.getOfflinePlayer("§7Map"));
    Score six = obj.getScore(Bukkit.getOfflinePlayer("§c-"+mapname+"-"));
    Score five = obj.getScore(Bukkit.getOfflinePlayer("§7Spieler zum Spielstart"));
    Score four = obj.getScore(Bukkit.getOfflinePlayer("§c"+spl1));
    Score zero = obj.getScore(Bukkit.getOfflinePlayer("§7-------------------"));
    
    
    eight.setScore(5);
    seven.setScore(4);
    six.setScore(3);
    five.setScore(2);
    four.setScore(1);
    zero.setScore(0);
    
    for(Player current: Bukkit.getOnlinePlayers()) {
    current.setScoreboard(board);
}
}

Team Scoreboard:

public static void settag(Player p, String tag, Player current){
    Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
    Team team = board.getTeam(p.getName());
    if(team == null){
        team = board.registerNewTeam(p.getName());
    }
    team.setPrefix(tag);
    team.addPlayer(p);
    current.setScoreboard(board);
}
Minecraft Server, Bukkit, scoreboard
Wieso geht Scoreboard nicht?

Hallo bei meinem Minecraft (Bukkit/Bungeecord)-Server funktioniert ScoreBoard irgendwie nicht richtig.

Ich möchte mittels Scoreboard 1 Team erstellen und dann alle in diesem Team unsichtbar machen und mit der Funktion seeFriendlyInvisibles bei einem Jump'N'Run diese Spieler nur halb sichtbar machen.

Also habe ich mit /scoreboard teams add Jumper ein Team erstellt. Dann habe ich 2 Spieler in dieses Team gemacht und mit /scoreboard teams option Jumper seeFriendlyInvisibles true versucht die oben genannte Funktion einzustellen. Aber wenn ich jetzt einen Spieler unsichtbar mache sieht man den nicht, obwohl der im gleichen Team ist... und auch mit anderen Optionen wie color passiert nichts.

Bei Scoreboard kann ich alles soweit einstellen auch, dass auch wenn ich abfrage ob Spieler in einem Team angezeigt werden, dass ich dann diese auch sehe, aber weitere Funktionen wie die sidebar einstellen gehen auch nicht...

Meine Plugins die ich habe sind: AutoAnnouncer, BungeePortals, ChatClear, ChatEx, CombatLog, customMessage, Essentials, GAListener, HideStream, MassiveCore(Factions), Multiverse-Core, Multiverse-Inventories, Multiverse-Portals, NametagEdit, NoCheatPlus, PermissionsEx, PluginMetrics, ScoreboardStats, ServerSigns, update, Updater, Vault, Votifier, WorldEdit, WorldGuard.

Vielen Dank für eure Hilfe

PS: Wenn ihr eine andere Möglichkeit habt Spieler halbdurchsichtig zu machen würde das auch sehr helfen!

Minecraft, Optionen, scoreboard

Meistgelesene Fragen zum Thema Scoreboard