Individual Signs

Individual Signs

Wyświetla tekst na znakach indywidualnie dla każdego gracza, który na nie patrzy.

0 polubień • 0 pobrań
Dostępne pliki
26
Obsługiwane wersje
25
Najnowszy plik
07.09.2024

Opis

Ta wtyczka wyświetla tekst na znakach dla każdego gracza indywidualnie inaczej.

Domyślnie ta wtyczka zastępuje tylko [PLAYER] na znakach ich nazwą oraz [DISPLAY] ich nickiem gracza patrzącego na nie.
Uprawnienia do tworzenia znaków zawierających te tagi to insigns.create.player oraz insigns.create.display.

Jednak InSigns zawiera także API dla deweloperów innych wtyczek, umożliwiające łatwe dodanie własnych treści znaków związanych z graczem.

Ta wtyczka może na przykład służyć do indywidualnych znaków powitalnych na twoim spawnie. Twoi gracze będą zachwyceni widząc swoje imię na znaku!

WAŻNE

Ta wtyczka wymaga ProtocolLib, aby działać.
Upewnij się, że zainstalowałeś odpowiednią wersję ProtocolLib.
Ta wtyczka powinna być kompatybilna z kolejnymi wersjami Minecraft i Bukkit tak długo, jak ProtocolLib nie będzie musiał nic zmieniać w swoim API, na którym InSigns polega, a protokół Minecraft nie będzie wprowadzał zmian związanych ze znakami.

Szybka prezentacja od VariationVault

 

Dla twórców wtyczek: łatwe w użyciu API

Oto krótki przykład, jak możesz użyć tego w swojej własnej wtyczce, aby wyświetlać wartości specyficzne dla gracza na znakach.
1.) Po pierwsze: dodaj jar IndividualSigns do swojej ścieżki budowy (dokładnie tak, jak robisz to z bukkit.jar)
2.) Następnie możesz stworzyć nasłuchiwacz, który nasłuchuje na SignSendEvent (tak jak tworzysz nasłuchiwaczy dla zdarzeń Bukkit): To zdarzenie wywoływane jest za każdym razem, gdy serwer ma zamiar zaktualizować treść znaku dla gracza.
3.) Zdarzenie udostępnia proste metody do pobierania bieżącego tekstu znaku i jego zmiany:

  • getPlayer() - Zwraca gracza, który odbiera pakiet znaku.
  • getLocation() - Zwraca lokalizację znaku, którego tekst jest wysyłany.
  • getLine(int index) - Zwraca linię tekstu na podanym indeksie (0-3). Linie mają format JSON.
  • setLine(int index, String line) - Ustawia linię tekstu na podanym indeksie. Musi być w poprawnym formacie JSON.
  • isModified() - Czy to zdarzenie było zmodyfikowane przez jakiś plugin.
  • setCancelled(boolean cancelled) - Jeśli zdarzenie zostanie anulowane, zawartość znaku nie zostanie zaktualizowana dla dotkniętego gracza, pozostawiając ją aktualną (pusta, jeśli wszystkie SignSendEvent zostaną anulowane).
  • isCancelled() - Sprawdza, czy to zdarzenie zostało już anulowane przez jakiś plugin.

Przykładowe użycie zdarzenia do zastąpienia "[PLAYER]" nazwą gracza:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
public class SignSendListener implements Listener {

    public SignSendListener(Plugin plugin) {
        Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
    }

    @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
    public void onSignSend(SignSendEvent event) {
        for (int i = 0; i < 4; i++) {
            String line = event.getLine(i);
            if (line.contains("[PLAYER]")) {
                event.setLine(i, line.replace("[PLAYER]", event.getPlayer().getName()));
            }
        }
    }
}

That's it. The InSigns-Plugin will handle all the needed packet manipulation for you.

Some other useful utilities provided by InSigns are:

  • The SimpleChanger class which can be used to easily create a listener for simple key->value replacements and permission checks during sign creation. Example for the built-in [PLAYER] -> playerName replacement:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
@Override
public void onEnable() {
    Plugin insignsPlugin = getServer().getPluginManager().getPlugin("InSigns");
    if ((insignsPlugin != null) && insignsPlugin.isEnabled()) {
        // Replaces "[PLAYER]" with the player's name on signs and checks for the 'insigns.create.player' permission whenever a player tries to create a sign with "[PLAYER]" on it
        new SimpleChanger(this, "[PLAYER]", "insigns.create.player") {
            @Override
            public String getValue(Player player, Location location) {
                return player.getName();
            }
        };
        getLogger().info("Plugin 'InSigns' found. Using it now.");
    } else {
        getLogger().info("Plugin 'InSigns' not found. Additional sign features disabled.");
    }
}

 

Wtyczki korzystające z InSigns

Daj mi znać, jeśli Twoja wtyczka używa InSigns i chcesz, aby została tutaj wymieniona.

Statystyki

Ta wtyczka używa bStats do zbierania anonimowych statystyk użytkowania, aby określić, ile serwerów korzysta z wtyczki i z jakimi wersjami Minecraft jest ona najczęściej używana. Wszystkie zebrane informacje można publicznie przeglądać tutaj: https://bstats.org/plugin/bukkit/InSigns

Możesz wyłączyć bStats dla wszystkich wtyczek na Twoim serwerze, edytując plik plugins/bStats/config.yml, lub alternatywnie wyłączyć go tylko dla IndividualSigns, ustawiając 'metrics-stats' na 'false' w konfiguracji InSigns.

Darowizny

Jeśli podoba Ci się ta wtyczka, rozważ wsparcie jej rozwoju poprzez dokonanie darowiznę.
Z góry dziękujemy!

Opis projektu pochodzi z CurseForge i został udostępniony po polsku. Szczegóły konfiguracji, zależności oraz aktualne komunikaty autora sprawdź na w źródłowym katalogu CurseForge.

Stabilne IndividualSigns v2.9.2
IndividualSigns-2.9.2.jar 07.09.2024 115 KB
Stabilne IndividualSigns v2.9.1
IndividualSigns-2.9.1.jar 07.01.2022 56 KB
Stabilne IndividualSigns v2.9.0
IndividualSigns-2.9.0.jar 04.01.2022 56 KB
Stabilne IndividualSigns v2.8.0
IndividualSigns-2.8.0.jar 08.08.2021 50 KB
Stabilne IndividualSigns v2.7.0
IndividualSigns-2.7.0.jar 17.06.2019 43 KB
Stabilne IndividualSigns v2.6.0
IndividualSigns-2.6.0.jar 27.09.2018 42 KB
Stabilne IndividualSigns v2.5
IndividualSigns-2.5.jar 22.12.2016 30 KB
Stabilne IndividualSigns v2.4
IndividualSigns-2.4.jar 15.05.2016 27 KB
1.9
Stabilne IndividualSigns v2.3
IndividualSigns-2.3.jar 26.01.2015 19 KB
Stabilne IndividualSigns v2.2
IndividualSigns-2.2.jar 24.01.2015 19 KB
Stabilne IndividualSigns v2.1
IndividualSigns_v2.1.jar 02.01.2015 19 KB
Stabilne IndividualSigns v2.0
IndividualSigns_v2.0.jar 14.01.2014 19 KB
Stabilne IndividualSigns v1.5
IndividualSigns_v1.5.jar 18.12.2013 10 KB
Stabilne InSigns v1.4
InSigns_v1.4.jar 04.05.2013 11 KB
Stabilne InSigns v1.3
InSigns_v1.3.jar 20.04.2013 11 KB
Stabilne InSigns v1.2
InSigns_v1.2.jar 30.03.2013 15 KB
Stabilne InSigns v1.1
InSigns_v1.1.jar 05.03.2013 15 KB
Stabilne InSigns v1.0
InSigns_v1.0.jar 15.02.2013 15 KB
Stabilne InSigns v0.9
InSigns_v0.9.jar 15.02.2013 14 KB
Stabilne InSigns v0.8
InSigns_v0.8.jar 28.12.2012 7 KB
Stabilne InSigns v0.7
InSigns_v0.7.jar 19.12.2012 10 KB
Stabilne InSigns v0.6
InSigns_v0.6.jar 09.11.2012 9 KB
Stabilne InSigns v0.5
InSigns_v0.5.jar 20.10.2012 8 KB
Stabilne InSigns v0.4
InSigns_v0.4.jar 13.10.2012 8 KB
Stabilne InSigns v0.2
InSigns.jar 20.09.2012 6 KB
Stabilne InSigns v0.1
InSigns.jar 18.09.2012 6 KB
Przed instalacją

Jak bezpiecznie sprawdzić ten plugin

Wybierz zgodny plik

Oznaczenia wersji pochodzą z metadanych autora. Dobierz również właściwe oprogramowanie serwera i Javę.

Zachowaj kopię

Przed pierwszym startem skopiuj świat, konfigurację oraz dane pozostałych pluginów.

Przeczytaj log

Po uruchomieniu sprawdź brakujące zależności i pierwszy błąd związany z nazwą pluginu.

Zobacz pełną instrukcję instalacji