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

[Problem][Java][Bukkit] Scorebordy


Gość kacpi2442

Rekomendowane odpowiedzi

Opublikowano

Zrobiłem taki kod że po wpisaniu komendy gracz widzi życie innych graczy nad ich głowami, lecz po wpisaniu tej komendy ukrywa się inny scoreboard na sidebarze (Zrobiony komendą /scoreboard).

Oto mój dotychczasowy kod:

package pl.kacpi24421.serverid;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;
 
public class main extends JavaPlugin {
        public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args) {
                if(cmd.equalsIgnoreCase("qwerty123")) {
                        if(sender instanceof Player) {
                                Player p = (Player) sender;
                                Scoreboard boards1 = Bukkit.getScoreboardManager().getNewScoreboard();
                                boards1.registerNewObjective("showhealth", "health");
                                Objective objective1 = boards1.getObjective("showhealth");
                                objective1.setDisplaySlot(DisplaySlot.BELOW_NAME);
                                objective1.setDisplayName("Zycia");
                         
                                Scoreboard boards2 = Bukkit.getScoreboardManager().getNewScoreboard();
                                boards2.getObjective("sh"); //To ten ręcznie zrobiony scoreboard
                                p.setScoreboard(boards2);
                                p.setScoreboard(boards1);
                        }
                }
                return false;
        }
}

Screeny:

 

EuHoLCb.png

1XhKTSP.png

Opublikowano

Po 1 (jak w większości zauważyłem) nazwę klasy piszemy dużą literą. A po 2 może spróbuj zrobić tą z włączeniem życia nad graczem w innej klasie a ten drugi scoreboard w 2 ja bym tak zrobił :P

 

Wyślij jeśli możesz cały kod z klasą Main w pastebin to ci bardziej doradzę ;)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...