KrejzolekPRO 600 Opublikowano 22 lipca 2017 Udostępnij Opublikowano 22 lipca 2017 Wie ktoś co robie źle? Brak errorów w konsoli, ale sb się nie pokazuje. package pl.krejzolekpro.minecastsb; import net.dzikoysk.funnyguilds.basic.User; import net.dzikoysk.funnyguilds.basic.util.RankManager; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Score; public class Main extends JavaPlugin implements Listener{ private Objective ob; public void onEnable(){ getServer().getPluginManager().registerEvents(this, this); } public void onJoin(PlayerJoinEvent e){ refresh(e.getPlayer()); } private void refresh(final Player p){ Bukkit.getScheduler().runTaskTimer (this, new Runnable(){ public void run(){ if(p.getPlayer().isOnline()){ User user = User.get((p)); ob.setDisplayName("§eMINECAST.PL"); ob.setDisplaySlot(DisplaySlot.SIDEBAR); Score s1 = ob.getScore(Bukkit.getOfflinePlayer("")); s1.setScore(10); Score s2 = ob.getScore(Bukkit.getOfflinePlayer("§7Nick: §e" + user.getName())); s2.setScore(9); if(user.getGuild() != null){ Score s3 = ob.getScore(Bukkit.getOfflinePlayer("§7Gildia: §e" + user.getGuild())); s3.setScore(8); }else{ Score s3 = ob.getScore(Bukkit.getOfflinePlayer("§7Gildia: §eBrak gildii")); s3.setScore(8); } Score s4 = ob.getScore(Bukkit.getOfflinePlayer("§7Punkty: §e" + user.getRank().getPoints())); s4.setScore(7); Score s5 = ob.getScore(Bukkit.getOfflinePlayer("§7Zabojstwa: §e" + user.getRank().getKills())); s5.setScore(6); Score s6 = ob.getScore(Bukkit.getOfflinePlayer("§7Zgony: §e" + user.getRank().getDeaths())); s6.setScore(5); Score s7 = ob.getScore(Bukkit.getOfflinePlayer("§7Pozycja: §e" + RankManager.getInstance().getPosition(user))); s7.setScore(4); } } }, 0, 40); } } gnomsy 1 Odnośnik do komentarza https://skript.pl/temat/20182-scoreboard-sidebar/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 insertt 39 Opublikowano 22 lipca 2017 Udostępnij Opublikowano 22 lipca 2017 scoreboard sie nie pojawia, bo nie tworzysz dla gracza scoreboarda i go nie ustawiasz, a jedynie edytujesz objective, który też nie jest przypisany do żadnego scoreboarda. ps: if(p.getPlayer().isOnline()){ jeżeli robisz to w listenerze eventu PlayerJoinEvent, to ten warunek jest zbędny new Runnable(){ java 8 wprowadza lambdy, używaj ich : < Bukkit.getOfflinePlayer("") musisz pobierać jeszcze jego nazwe, bo tak to zwróci Ci referencje do tego obiektu, a nie jego nazwe. if(user.getGuild() != null){ Score s3 = ob.getScore(Bukkit.getOfflinePlayer("§7Gildia: §e" + user.getGuild())); s3.setScore(8); }else{ Score s3 = ob.getScore(Bukkit.getOfflinePlayer("§7Gildia: §eBrak gildii")); s3.setScore(8); } użyj ternary operatora. no i tworzenie taska jest zbędne, bo nie masz tutaj żadnego timera, scoreboard odświeżaj tylko przy aktualizacji informacji, nie obciążaj serwera zbędnymi taskami. KrejzolekPRO 1 Odnośnik do komentarza https://skript.pl/temat/20182-scoreboard-sidebar/#findComment-136849 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
KrejzolekPRO 600
Wie ktoś co robie źle?
Brak errorów w konsoli, ale sb się nie pokazuje.
package pl.krejzolekpro.minecastsb; import net.dzikoysk.funnyguilds.basic.User; import net.dzikoysk.funnyguilds.basic.util.RankManager; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Score; public class Main extends JavaPlugin implements Listener{ private Objective ob; public void onEnable(){ getServer().getPluginManager().registerEvents(this, this); } public void onJoin(PlayerJoinEvent e){ refresh(e.getPlayer()); } private void refresh(final Player p){ Bukkit.getScheduler().runTaskTimer (this, new Runnable(){ public void run(){ if(p.getPlayer().isOnline()){ User user = User.get((p)); ob.setDisplayName("§eMINECAST.PL"); ob.setDisplaySlot(DisplaySlot.SIDEBAR); Score s1 = ob.getScore(Bukkit.getOfflinePlayer("")); s1.setScore(10); Score s2 = ob.getScore(Bukkit.getOfflinePlayer("§7Nick: §e" + user.getName())); s2.setScore(9); if(user.getGuild() != null){ Score s3 = ob.getScore(Bukkit.getOfflinePlayer("§7Gildia: §e" + user.getGuild())); s3.setScore(8); }else{ Score s3 = ob.getScore(Bukkit.getOfflinePlayer("§7Gildia: §eBrak gildii")); s3.setScore(8); } Score s4 = ob.getScore(Bukkit.getOfflinePlayer("§7Punkty: §e" + user.getRank().getPoints())); s4.setScore(7); Score s5 = ob.getScore(Bukkit.getOfflinePlayer("§7Zabojstwa: §e" + user.getRank().getKills())); s5.setScore(6); Score s6 = ob.getScore(Bukkit.getOfflinePlayer("§7Zgony: §e" + user.getRank().getDeaths())); s6.setScore(5); Score s7 = ob.getScore(Bukkit.getOfflinePlayer("§7Pozycja: §e" + RankManager.getInstance().getPosition(user))); s7.setScore(4); } } }, 0, 40); } }Odnośnik do komentarza
https://skript.pl/temat/20182-scoreboard-sidebar/Udostępnij na innych stronach
1 odpowiedź na to pytanie
Rekomendowane odpowiedzi