Yamipa

Yamipa

Kolejny dodatek do umieszczania obrazów w Minecraft

0 polubień • 5 pobrań
Dostępne pliki
28
Obsługiwane wersje
26
Najnowszy plik
09.08.2025

Yamipa to wtyczka Spigot, która pozwala graczom umieszczać obrazy (nawet animowane!) na dowolnej powierzchni na twoim serwerze Minecraft bez konieczności instalowania lokalnego moda klienckiego.

Została zaprojektowana z myślą o wydajności i kompatybilności, więc nawet najbardziej skromne serwery z niższą specyfikacją powinny dać radę ją uruchomić.

 

Placing and removing image Works with animated images too! Placing and removing image item Optimized to work in low-spec servers

Instalacja

Pobierz plik JAR dla najnowszego wydania najnowsze wydanie i skopiuj go do katalogu "plugins" twojego serwera Minecraft, tak jak to robisz z każdą inną wtyczką. To wszystko!

Wymagania

Przed zainstalowaniem Yamipa upewnij się, że spełniasz następujące wymagania:

  • CraftBukkit, Spigot lub PaperMC 1.16 lub nowszy
  • ProtocolLib v5.3.0 lub wyższy

Oto dystrybucje Minecraft, na których Yamipa powinna działać:

Wersja Minecraft CraftBukkit Spigot PaperMC
1.16.x ✅ ✅ ✅
1.17 & 1.17.1 ✅ ✅ ✅
1.18 & 1.18.x ✅ ✅ ✅
1.19 & 1.19.x ✅ ✅ ✅
1.20 & 1.20.x ✅ ✅ ✅
1.21 & 1.21.x ✅ ✅ ✅

 

 

Konfiguracja

Yamipa działa od razu po wyjęciu z pudełka. Domyślnie tworzy następujące pliki i katalogi w katalogu plugins/YamipaPlugin:

  • cache: katalog zawierający zapamiętane obrazy, aby przyspieszyć renderowanie. Nie powinieneś modyfikować jego zawartości.
  • images: To katalog, do którego wrzucasz pliki obrazów, które chcesz umieścić w twoim świecie Minecraft.
  • images.dat: plik zawierający listę i właściwości (np. współrzędne) wszystkich umieszczonych obrazów na twoim serwerze. Nie powinieneś modyfikować jego zawartości.

Możesz zmienić ścieżkę do tych plików, tworząc plik config.yml w katalogu konfiguracji wtyczki. Poniżej znajdują się domyślne wartości konfiguracji, jeśli ich nie podasz:

verbose: false           # Ustaw na "true", aby włączyć bardziej szczegółowe logowanie
animate-images: true     # Ustaw na "false", aby wyłączyć obsługę GIF-ów
images-path: images      # Ścieżka do katalogu z obrazami
cache-path: cache        # Ścieżka do katalogu cache
data-path: images.dat    # Ścieżka do pliku bazy danych umieszczonych obrazów
allowed-paths: null      # Ustaw jako RegExp, aby ograniczyć dostępne obrazy dla graczy
max-image-dimension: 30  # Maksymalna szerokość lub wysokość w blokach dozwolona w obrazach

Więcej informacji o tym, jak ustawić inną wartość allowed-paths lub max-image-dimension dla gracza, zobacz sekcję Zmienne graczy.

 

Dozwolone ścieżki

Zmienna allowed-paths to wyrażenie regularne, które określa, czy gracz ma prawo zobaczyć lub pobrać plik obrazu. Jeśli żądana ścieżka względem katalogu z obrazami pasuje do tego wyrażenia, gracz może kontynuować.

Jeśli allowed-paths jest pustym łańcuchem ("") lub null, gracz może odczytać dowolny plik obrazu lub pobrać na dowolną ścieżkę w katalogu z obrazami.

To wyrażenie regularne musi odpowiadać składni używanej przez Java. Możesz wcześniej przetestować swoje wyrażenie za pomocą narzędzia online takiego jak regex101. Dodatkowo możesz skorzystać z następujących specjalnych tokenów:

  • #player#: Nazwa gracza
  • #uuid#: UUID gracza (z myślnikami)

Na przykład, jeśli chcesz, aby każdy gracz miał własny podkatalog do przechowywania plików, do którego dostęp mają tylko oni, oraz wspólny publiczny katalog, możesz użyć następującej wartości allowed-paths:

^(private/#player#|public)/

W ten sposób gracz o nazwie "john" będzie mógł zobaczyć plik obrazu w lokalizacji "private/john/something.jpg", ale "jane" nie będzie mógł.

WAŻNE!
Zwróć uwagę, że te ograniczenia mają również zastosowanie do innych encji, takich jak NPC-y, bloki poleceń lub konsola serwera. Jednak specjalne tokeny będą zawsze dopasowywać się w kontekstach niezależnych od gracza (np. "#player#" będzie interpretowane jako ".+").

bStats

Ta biblioteka używa bStats do anonimowego raportowania liczby instalacji. Jeśli Ci to nie odpowiada, możesz wyłączyć to w dowolnym momencie, dodając enabled: false do pliku konfiguracyjnego pliku konfiguracyjnego bStats (spoko, bez urazy).

Użytkowanie

Ta wtyczka dodaje następujące komendy:

  • /image clear <x z world> <r> [<placed-by>]: Usuń wszystkie umieszczone obrazy w promieniu r bloków wokół punktu początkowego.
  • /image describe: Pokaż szczegółowe informacje o umieszczonym obrazie.
  • /image download <url> <filename>: Pobierz obraz z adresu URL i umieść go w katalogu images.
  • /image give <player> <filename> <amount> <w> [<h>] [<flags>]: Daj przedmioty obrazu graczowi, które można później umieścić.
  • /image list [<page>]: Wyświetl listę wszystkich dostępnych plików w katalogu images.
  • /image place <filename> <w> [<h>] [<flags>]: Umieść obraz o rozmiarze wxh bloków.
  • /image remove: Usuń umieszony obraz ze świata bez usuwania pliku obrazu.
  • /image top: Wyświetl listę graczy z największą liczbą umieszczonych obrazów.

Przykłady

  • Pokaż pomoc
    /image
  • Pobierz obraz z adresu URL i zapisz go pod inną nazwą
    /image download "https://www.example.com/a/b/c/1234.jpg" imagename.jpg
  • Daj 10 przedmiotów obrazu graczowi "TestPlayer" dla obrazu "test.jpg" o wymiarach 3x5 bloków
    /image give TestPlayer test.jpg 10 3 5
  • Daj 10 przedmiotów obrazu graczowi="TestPlayer", które po usunięciu nie będą upuszczać przedmiotu obrazu
    /image give TestPlayer test.jpg 10 3 5 -DROP
  • Rozpocznij dialog, aby umieścić obraz o szerokości 3 bloków i automatycznej wysokości
    /image place imagename.jpg 3
  • Rozpocznij dialog, aby umieścić obraz o szerokości 3 bloków i wysokości 2 bloków
    /image place imagename.jpg 3 2
  • Rozpocznij dialog, aby umieścić obraz, który świeci w ciemności
    /image place imagename.jpg 3 2 +GLOW
  • Rozpocznij dialog, aby usunąć umieszony obraz, zachowując oryginalny plik
    /image remove
  • Usuń wszystkie umieszczone obrazy w promieniu 5 bloków wokół spawn
    /image clear 0 0 world 5
  • Usuń wszystkie obrazy umieszczone przez "EvilPlayer" w promieniu 100 bloków w netherze
    /image clear 50 70 world_nether 100 EvilPlayer
  • Usuń wszystkie starsze obrazy (bez metadanych „placed by”)
    /image clear 0 0 world 9999999 00000000-0000-0000-0000-000000000000

Uprawnienia

Jeśli chcesz mieć większą kontrolę nad tym, którzy gracze mogą używać określonego zestawu poleceń, uprawnienia są właściwym rozwiązaniem!

Yamipa definiuje następujące uprawnienia:

Polecenie Domyślnie Opis
yamipa.command.clear OP-y Aby użyć polecenia /image clear
yamipa.command.describe OP-y Aby użyć polecenia /image describe
yamipa.command.download OP-y Aby użyć polecenia /image download
yamipa.command.give OP-y Aby użyć polecenia /image give
yamipa.command.list OP-y Aby użyć polecenia /image list
yamipa.command.place OP-y Aby użyć polecenia /image place
yamipa.command.remove OP-y Aby użyć polecenia /image remove
yamipa.command.remove.own OP-y Tak jak poprzednie, ale tylko dla obrazów umieszczonych przez tego samego gracza
yamipa.command.top OP-y Aby użyć polecenia /image top
yamipa.item.place Wszyscy gracze Aby umieszczać przedmioty obrazu
yamipa.item.remove Wszyscy gracze Aby usuwać przedmioty obrazu (które mają flagę REMO)
yamipa.item.remove.own Wszyscy gracze Tak jak poprzednie, ale tylko dla obrazów umieszczonych przez tego samego gracza

 

Note that permissions work as a tree. This means that if you grant a permission, by default its children will also be granted. For instance, you can grant access to all commands with yamipa.command.*. Similarly, if you grant the yamipa.command.remove, the permission yamipa.command.remove.own will also be granted.

Możesz zmienić, które role lub gracze mają przydzielone te polecenia, używając wtyczki uprawnień, takiej jak LuckPerms lub GroupManager. Obie te wtyczki zostały przetestowane pod kątem współpracy z Yamipa, chociaż każda podobna powinna działać równie dobrze.

 

Zmienne graczy

Niektóre wtyczki z uprawnieniami, takie jak LuckPerms, pozwalają operatorom serwera przypisywać encjom pary klucz-wartość, tak jak uprawnienia. To przydatne przy przyznawaniu różnych możliwości różnym graczom lub grupom.

Yamipa szuka następujących zmiennych, które po znalezieniu nadpisują domyślną wartość konfiguracji przypisaną wszystkim graczom:

Zmienna (klucz) Nadpisuje Opis
yamipa-allowed-paths allowed-paths Wyrażenie regularne ograniczające, które ścieżki w katalogu z obrazami są dostępne
yamipa-max-image-dimension max-image-dimension Maksymalna szerokość lub wysokość obrazów i przedmiotów obrazu wydawanych przez tego gracza lub grupę

Na przykład, jeśli chcesz ograniczyć rozmiar obrazu do 5x5 bloków wyłącznie dla gracza "test", możesz uruchomić następujące polecenie:

# Using LuckPerms
/lp user test meta set yamipa-max-image-dimension 5

# Using GroupManager
/manuaddv test yamipa-max-image-dimension 5

Chronienie obszarów

Na dużych serwerach pozwalanie graczom na umieszczanie i usuwanie obrazów gdziekolwiek chcą może nie być najlepszym pomysłem. W takich przypadkach Yamipa współpracuje z innymi wtyczkami Bukkit, które umożliwiają tworzenie i zarządzanie obszarami świata. Jeśli masz jedną lub więcej takich wtyczek, Yamipa automatycznie zastosuje odpowiednie uprawnienia i zezwoli graczom na umieszczanie lub usuwanie obrazów tylko w miejscach, gdzie mogą stawiać lub usuwać bloki, bez dodatkowej konfiguracji.

Obsługiwane wtyczki to:

Flagi

Obrazy z tej wtyczki mają zestaw atrybutów logicznych zwanych „flagami”, które modyfikują ich zachowanie. Możliwe wartości to:

  • ANIM (animowalny): Czy obraz powinien być animowany, czy nie, przydatne, gdy nie chcesz, aby obraz GIF odtwarzał się.
  • REMO (usuwalny): Czy obraz może być usunięty przez dowolnego gracza po kliknięciu go lewym przyciskiem myszy.
  • DROP (zrzucany): Czy usunięty obraz upuszcza przedmiot obrazu.
  • GLOW (świecący): Czy obraz świeci w ciemności (działa tylko na Minecraft 1.17 i wyższych).

Domyślnie obrazy umieszczane komendą "/image place" mają tylko flagę ANIM. Podobnie przedmioty obrazu wydawane komendą "/image give" mają flagi ANIM, REMO i DROP.

Domyślne flagi można modyfikować za pomocą argumentu "flags". Aby dodać flagę do domyślnych, użyj +{FLAG_NAME} (np. +GLOW), a aby ją usunąć, użyj -{FLAG_NAME} (np. -ANIM). Możesz modyfikować wiele flag, oddzielając je przecinkami (np. +GLOW,-ANIM).

Jak to działa?

Jak zapewne zgadłeś, Minecraft nie obsługuje umieszczania plików obrazów. Yamipa obejmuje to ograniczenie, korzystając z dwóch wbudowanych funkcji (ramki na przedmioty i mapy) do renderowania własnych obrazów.

Jednakże, ponieważ ramki na przedmioty są encjami (co powoduje znaczne opóźnienia serwera), Yamipa nie tworzy faktycznych encji w twoim świecie. Zamiast tego oszukuje klientów graczy, aby myśleli, że na miejscu znajduje się umieszczona ramka na przedmiot, której faktycznie nie ma, wysyłając spreparowane pakiety sieciowe.

WAŻNE!
Ponieważ Yamipa przechowuje w pamięci buforowaną kopię obrazu w razie potrzeby ponownego wysłania go bez utraty wydajności, twój serwer musi mieć trochę wolnej pamięci RAM, aby to obsłużyć.

Zasada ogólna to 100K na unikalny załadowany obraz (1MB dla obrazów animowanych). Unikalny oznacza, że ten sam obraz o tych samych wymiarach umieszczony wielokrotnie liczy się tylko jako jeden egzemplarz.

Licencja

Yamipa jest licencjonowana na podstawie Licencji MIT.

 

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 v1.3.2
YamipaPlugin-1.3.2.jar 13.10.2024 320 KB
Stabilne v1.3.1
YamipaPlugin-1.3.1.jar 02.03.2024 146 KB
Stabilne v1.3.0
YamipaPlugin-1.3.0.jar 06.01.2024 145 KB
Beta v1.3.0-SNAPSHOT
YamipaPlugin-1.3.0-SNAPSHOT.jar 31.12.2023 143 KB
Stabilne v1.2.13
YamipaPlugin-1.2.13.jar 26.12.2023 134 KB
Stabilne v1.2.12
YamipaPlugin-1.2.12.jar 14.10.2023 134 KB
Stabilne v1.2.11
YamipaPlugin-1.2.11.jar 17.06.2023 134 KB
Stabilne v1.2.10
YamipaPlugin-1.2.10.jar 07.05.2023 133 KB
Stabilne v1.2.9
YamipaPlugin-1.2.9.jar 25.03.2023 132 KB
Stabilne v1.2.8
YamipaPlugin-1.2.8.jar 02.02.2023 132 KB
Stabilne v1.2.7
YamipaPlugin-1.2.7.jar 17.12.2022 130 KB
Stabilne v1.2.6
YamipaPlugin-1.2.6.jar 29.10.2022 129 KB
Stabilne v1.2.5
YamipaPlugin-1.2.5.jar 16.08.2022 129 KB
Stabilne v1.2.4
YamipaPlugin-1.2.4.jar 12.08.2022 129 KB
Beta v1.2.4-SNAPSHOT-b2
YamipaPlugin-1.2.4-SNAPSHOT-b2.jar 02.08.2022 128 KB
Beta v1.2.4-SNAPSHOT
YamipaPlugin-1.2.4-SNAPSHOT.jar 08.07.2022 129 KB
Stabilne v1.2.3
YamipaPlugin-1.2.3.jar 15.06.2022 126 KB
Stabilne v1.2.2
YamipaPlugin-1.2.2.jar 29.01.2022 125 KB
Stabilne v1.2.1
YamipaPlugin-1.2.1.jar 05.01.2022 124 KB
Stabilne v1.2.0
YamipaPlugin-1.2.0.jar 04.12.2021 111 KB
Beta v1.2.0-SNAPSHOT
YamipaPlugin-1.2.0-SNAPSHOT.jar 17.10.2021 110 KB
Stabilne v1.1.1
YamipaPlugin-1.1.1.jar 10.07.2021 97 KB
Stabilne v1.1.0
YamipaPlugin-1.1.0.jar 02.07.2021 97 KB
Beta v1.1.0-SNAPSHOT
YamipaPlugin-1.1.0-SNAPSHOT.jar 19.06.2021 96 KB
Stabilne v1.0.4
YamipaPlugin-1.0.4.jar 17.04.2021 477 KB
Stabilne v1.0.3
YamipaPlugin.jar 30.03.2021 473 KB
Stabilne v1.0.2
YamipaPlugin.jar 26.02.2021 471 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