Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

scoreboardy od bukkita ?


Nocny

Rekomendowane odpowiedzi

Opublikowano

czesc, mam (znowu ffs) problem z scoreboardami, mianowicie po zadeklarowaniu scoreboarda, managera i objectivu, gdy chce ustawic displayslot, nie ma takiej metody, tzn. nie ma w ogole żadnej metody, zeby ustawic ten displayslot, tutaj moj kod:

ScoreboardManager boardManager = Bukkit.getScoreboardManager();	org.bukkit.scoreboard.Scoreboard board = boardManager.getNewScoreboard();		Objective obj = board.registerNewObjective("123", "dummy");

po napisaniu takiego czegos:

obj.setDisplaySlot(DisplaySlot.SIDEBAR);

ide nie wykrywa tego jako metody i wywala bląd i teraz nie wiem, czy to wina paperspigota, czy eclipse, proszę o pomoc

 

od razu zaznaczam, wersja paperspigota:PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

czesc, mam (znowu ffs) problem z scoreboardami, mianowicie po zadeklarowaniu scoreboarda, managera i objectivu, gdy chce ustawic displayslot, nie ma takiej metody, tzn. nie ma w ogole żadnej metody, zeby ustawic ten displayslot, tutaj moj kod:

ScoreboardManager boardManager = Bukkit.getScoreboardManager();
	org.bukkit.scoreboard.Scoreboard board = boardManager.getNewScoreboard();
	
	Objective obj = board.registerNewObjective("123", "dummy");

po napisaniu takiego czegos:

obj.setDisplaySlot(DisplaySlot.SIDEBAR);

ide nie wykrywa tego jako metody i wywala bląd i teraz nie wiem, czy to wina paperspigota, czy eclipse, proszę o pomoc

 

od razu zaznaczam, wersja paperspigota:PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest

upewnij się że masz poprawny import 

org.bukkit.scoreboard.Objective

A tak to może wklej cały kod jak coś dalej jest nie tak.

1438614356923701010629.png

 

Opublikowano

 

czesc, mam (znowu ffs) problem z scoreboardami, mianowicie po zadeklarowaniu scoreboarda, managera i objectivu, gdy chce ustawic displayslot, nie ma takiej metody, tzn. nie ma w ogole żadnej metody, zeby ustawic ten displayslot, tutaj moj kod:

ScoreboardManager boardManager = Bukkit.getScoreboardManager();
	org.bukkit.scoreboard.Scoreboard board = boardManager.getNewScoreboard();
	
	Objective obj = board.registerNewObjective("123", "dummy");

po napisaniu takiego czegos:

obj.setDisplaySlot(DisplaySlot.SIDEBAR);

ide nie wykrywa tego jako metody i wywala bląd i teraz nie wiem, czy to wina paperspigota, czy eclipse, proszę o pomoc

 

od razu zaznaczam, wersja paperspigota:PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest

upewnij się że masz poprawny import 

org.bukkit.scoreboard.Objective

A tak to może wklej cały kod jak coś dalej jest nie tak.

 

 

wszystko działa, za którymś razem ten import załapało, tylko teraz mam inny problem:

 

mam mniej więcej taki kod od animowanego scoreboarda:

public static List<String> messages = Main.getInstance().getConfig().getStringList("scoreboard.names");
    
    public static void makeScoreboard(){
        ScoreboardManager scoreboardManager = Bukkit.getScoreboardManager();
        org.bukkit.scoreboard.Scoreboard scoreboard = scoreboardManager.getNewScoreboard();
        
        Objective obj = scoreboard.registerNewObjective("test", "dummy");
        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
        
        Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable(){
        	int i;
			@Override
			public void run() {
				if(i >= messages.size()){
					i = 0;
				}
				if (i < messages.size()){
					obj.setDisplayName(Main.getInstance().replaceColors(messages.get(i)));
					Score score = obj.getScore(Main.getInstance().replaceColors(messages.get(i)));
					score.setScore(1);
					
				}
				i++;
			}
        	
        
        }, 0, 10);
        for(Player online : Bukkit.getOnlinePlayers()){
            online.setScoreboard(scoreboard);
        }
    }

i teraz, sam title scoreboarda bardzo ładnie się odświeza itd., gorzej z samymi score'ami, mianowicie - te linie ktore zostaly wczesniej ustalone nie "nadpisują" się, przez co z każdą linijką ustawioną w configu automatycznie te linijki nie "odświeżają" się, tylko po prostu dodają się jako nowe, probówalem wiele wariantów, takich jak resetowanie tego scoreboarda, ustawianie innego value score'a, ale po prostu nic nie pomaga.

 

@GotoFinal

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

 

 

czesc, mam (znowu ffs) problem z scoreboardami, mianowicie po zadeklarowaniu scoreboarda, managera i objectivu, gdy chce ustawic displayslot, nie ma takiej metody, tzn. nie ma w ogole żadnej metody, zeby ustawic ten displayslot, tutaj moj kod:

ScoreboardManager boardManager = Bukkit.getScoreboardManager();
	org.bukkit.scoreboard.Scoreboard board = boardManager.getNewScoreboard();
	
	Objective obj = board.registerNewObjective("123", "dummy");

po napisaniu takiego czegos:

obj.setDisplaySlot(DisplaySlot.SIDEBAR);

ide nie wykrywa tego jako metody i wywala bląd i teraz nie wiem, czy to wina paperspigota, czy eclipse, proszę o pomoc

 

od razu zaznaczam, wersja paperspigota:PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest

upewnij się że masz poprawny import 

org.bukkit.scoreboard.Objective

A tak to może wklej cały kod jak coś dalej jest nie tak.

 

 

wszystko działa, za którymś razem ten import załapało, tylko teraz mam inny problem:

 

mam mniej więcej taki kod od animowanego scoreboarda:

public static List<String> messages = Main.getInstance().getConfig().getStringList("scoreboard.names");
    
    public static void makeScoreboard(){
        ScoreboardManager scoreboardManager = Bukkit.getScoreboardManager();
        org.bukkit.scoreboard.Scoreboard scoreboard = scoreboardManager.getNewScoreboard();
        
        Objective obj = scoreboard.registerNewObjective("test", "dummy");
        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
        
        Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable(){
        	int i;
			@Override
			public void run() {
				if(i >= messages.size()){
					i = 0;
				}
				if (i < messages.size()){
					obj.setDisplayName(Main.getInstance().replaceColors(messages.get(i)));
					Score score = obj.getScore(Main.getInstance().replaceColors(messages.get(i)));
					score.setScore(1);
					
				}
				i++;
			}
        	
        
        }, 0, 10);
        for(Player online : Bukkit.getOnlinePlayers()){
            online.setScoreboard(scoreboard);
        }
    }

i teraz, sam title scoreboarda bardzo ładnie się odświeza itd., gorzej z samymi score'ami, mianowicie - te linie ktore zostaly wczesniej ustalone nie "nadpisują" się, przez co z każdą linijką ustawioną w configu automatycznie te linijki nie "odświeżają" się, tylko po prostu dodają się jako nowe, probówalem wiele wariantów, takich jak resetowanie tego scoreboarda, ustawianie innego value score'a, ale po prostu nic nie pomaga.

 

@GotoFinal

 

Nie wiem czy dobrze ten kod rozczytałem, ale spróbuj wstawić 

        for(Player online : Bukkit.getOnlinePlayers()){
            online.setScoreboard(scoreboard);
        }

do tego taska.

 

Bo z tego co widzę ty tylko raz setujesz tego scoreboarda... a CHYBA trzeba za każdym razem. Nie wiem dokładnie bo nigdy scoreboardów nie używałem, no ale na logikę.

­

Moja oficjalna strona! :)

http://socketbyte.pl/ 

Opublikowano

 

 

 

czesc, mam (znowu ffs) problem z scoreboardami, mianowicie po zadeklarowaniu scoreboarda, managera i objectivu, gdy chce ustawic displayslot, nie ma takiej metody, tzn. nie ma w ogole żadnej metody, zeby ustawic ten displayslot, tutaj moj kod:

ScoreboardManager boardManager = Bukkit.getScoreboardManager();
	org.bukkit.scoreboard.Scoreboard board = boardManager.getNewScoreboard();
	
	Objective obj = board.registerNewObjective("123", "dummy");

po napisaniu takiego czegos:

obj.setDisplaySlot(DisplaySlot.SIDEBAR);

ide nie wykrywa tego jako metody i wywala bląd i teraz nie wiem, czy to wina paperspigota, czy eclipse, proszę o pomoc

 

od razu zaznaczam, wersja paperspigota:PaperSpigot-1.8.8-R0.1-SNAPSHOT-latest

upewnij się że masz poprawny import 

org.bukkit.scoreboard.Objective

A tak to może wklej cały kod jak coś dalej jest nie tak.

 

 

wszystko działa, za którymś razem ten import załapało, tylko teraz mam inny problem:

 

mam mniej więcej taki kod od animowanego scoreboarda:

public static List<String> messages = Main.getInstance().getConfig().getStringList("scoreboard.names");
    
    public static void makeScoreboard(){
        ScoreboardManager scoreboardManager = Bukkit.getScoreboardManager();
        org.bukkit.scoreboard.Scoreboard scoreboard = scoreboardManager.getNewScoreboard();
        
        Objective obj = scoreboard.registerNewObjective("test", "dummy");
        obj.setDisplaySlot(DisplaySlot.SIDEBAR);
        
        Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable(){
        	int i;
			@Override
			public void run() {
				if(i >= messages.size()){
					i = 0;
				}
				if (i < messages.size()){
					obj.setDisplayName(Main.getInstance().replaceColors(messages.get(i)));
					Score score = obj.getScore(Main.getInstance().replaceColors(messages.get(i)));
					score.setScore(1);
					
				}
				i++;
			}
        	
        
        }, 0, 10);
        for(Player online : Bukkit.getOnlinePlayers()){
            online.setScoreboard(scoreboard);
        }
    }

i teraz, sam title scoreboarda bardzo ładnie się odświeza itd., gorzej z samymi score'ami, mianowicie - te linie ktore zostaly wczesniej ustalone nie "nadpisują" się, przez co z każdą linijką ustawioną w configu automatycznie te linijki nie "odświeżają" się, tylko po prostu dodają się jako nowe, probówalem wiele wariantów, takich jak resetowanie tego scoreboarda, ustawianie innego value score'a, ale po prostu nic nie pomaga.

 

@GotoFinal

 

Nie wiem czy dobrze ten kod rozczytałem, ale spróbuj wstawić 

        for(Player online : Bukkit.getOnlinePlayers()){
            online.setScoreboard(scoreboard);
        }

do tego taska.

 

Bo z tego co widzę ty tylko raz setujesz tego scoreboarda... a CHYBA trzeba za każdym razem. Nie wiem dokładnie bo nigdy scoreboardów nie używałem, no ale na logikę.

­

 

 

nic to nie daje, niestety.

 

 

 

 

fKJeAI4.jpg

 

 

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...