Discord
Wiki - Pluginy

Oraxen - niestandardowe przedmioty i bloki

Oraxen pozwala tworzyć zupełnie nowe przedmioty, bloki, meble, czapki i narzędzia na serwerach Minecraft bez wymagania modów po stronie gracza. Wykorzystuje resource packi i CustomModelData do wyświetlania niestandardowych modeli 3D.

Czas czytania: ~6 min Platforma: Paper / Spigot / Purpur

Co to jest Oraxen

Oraxen to plugin, który umożliwia tworzenie niestandardowych przedmiotów, bloków, mebli i wyposażenia na serwerach Minecraft. Nie wymaga modów po stronie klienta - zamiast tego generuje resource pack, który automatycznie wysyła graczom przy połączeniu.

Plugin korzysta z mechanizmu CustomModelData (od Minecraft 1.14) i item components (1.20.5+), aby istniejące przedmioty vanilla wyglądały jak zupełnie nowe elementy. Serwerowo każdy niestandardowy przedmiot to nadal item Minecrafta (np. drewniany miecz z CustomModelData 1001), ale klient wyświetla go z niestandardową teksturą i modelem 3D.

Oraxen jest open-source i dostępny na GitHub. Można go pobrać ze SpigotMC lub Modrinth.

Jak działa pod spodem

Oraxen łączy trzy mechanizmy Minecrafta:

  • CustomModelData / Item Components - pozwala przypisać niestandardowy model 3D do istniejącego przedmiotu. Klient widzi model z resource packa zamiast domyślnego
  • Resource pack - Oraxen automatycznie generuje paczkę zasobów z teksturami i modelami. Serwer hostuje ją i wymusza pobranie przy połączeniu
  • Note Block / Mushroom Block states - niestandardowe bloki wykorzystują nieużywane stany bloków note block lub mushroom block do wyświetlania unikatowych tekstur

Dzięki temu podejściu gracz nie musi instalować żadnych modów - wystarczy zaakceptować resource pack serwera. Plugin jest w pełni kompatybilny z klientem vanilla Minecraft.

Tworzenie przedmiotów

Niestandardowe przedmioty definiuje się w plikach YAML w plugins/Oraxen/items/:

# ruby_sword.yml
ruby_sword:
  displayname: "&cRubiowy miecz"
  material: DIAMOND_SWORD
  Pack:
    generate_model: true
    parent_model: item/handheld
    textures:
      - ruby_sword.png
  Mechanics:
    durability:
      value: 2000
  AttributeModifiers:
    attack_damage:
      amount: 12
      slot: MAINHAND
    attack_speed:
      amount: 1.6
      slot: MAINHAND

Umieszczasz teksturę ruby_sword.png w plugins/Oraxen/pack/textures/, a Oraxen automatycznie:

  1. Tworzy model JSON z podanej tekstury
  2. Przypisuje unikalne CustomModelData
  3. Generuje resource pack z modelem
  4. Rejestruje przedmiot w systemie

Dawanie przedmiotów graczom: /oraxen give [gracz] ruby_sword. Można też dodawać je do kitów, sklepów i loot tables za pomocą Oraxen API lub placeholderów.

Niestandardowe bloki i meble

Oraxen obsługuje cztery typy niestandardowych bloków:

  • NoteBlock - bloki pełnowymiarowe z własnymi teksturami (wykorzystuje stany note blocka). Mogą mieć hardness, drop i narzędzie wymagane do zniszczenia
  • StringBlock - transparentne bloki (np. kwiaty, trawa, dekoracje) wykorzystujące tripwire
  • Furniture - meble 3D oparte na display entities (1.19.4+) lub armorstandach. Krzesła, stoły, lampy, telewizory - dowolne modele
  • MushroomBlock - starszy system bloków, kompatybilny z wcześniejszymi wersjami

Przykład definicji mebla:

lamp:
  displayname: "&eLampa"
  material: PAPER
  Pack:
    generate_model: true
    textures:
      - lamp.png
  Mechanics:
    furniture:
      type: DISPLAY_ENTITY
      hitbox:
        width: 1
        height: 2
      light: 14
      placeable_on:
        - FLOOR

Gracz stawia meble prawym klikiem z przedmiotem w ręce. Meble mogą emitować światło, mieć hitboxy do interakcji i animacje.

Resource pack

Oraxen automatycznie generuje i dystrybuuje resource pack. Konfiguracja w settings.yml:

Pack:
  generation:
    auto-generated: true          # automatyczne generowanie
    compression: BEST_COMPRESSION # kompresja paczki
  upload:
    type: polymath               # hosting paczki
  dispatch:
    send_pack: true              # wysyłanie graczom
    mandatory: true              # wymuszenie pobrania

Opcje hostingu resource packa:

  • Polymath - darmowy hosting od Oraxen (domyślny)
  • Self-host - własny serwer HTTP
  • Amazon S3 / DigitalOcean Spaces - chmura

Po każdej zmianie tekstur lub przedmiotów uruchom /oraxen reload all - plugin przebuduje paczkę i wyśle zaktualizowaną wersję graczom.

Porady i integracje

  • Modele 3D - Oraxen obsługuje niestandardowe modele JSON z Blockbench. Eksportuj model jako Java Block/Item, umieść w pack/models/
  • Receptury craftingu - definiuj niestandardowe receptury bezpośrednio w konfiguracji przedmiotu
  • Integracja z MythicMobs - niestandardowe przedmioty Oraxen jako drop z bossów
  • Integracja ze sklepami - ShopGUI+ i inne pluginy sklepowe obsługują przedmioty Oraxen
  • Kompatybilność - Oraxen współpracuje z ProtocolLib dla starszych wersji i natywnie z Paper 1.20.5+

Alternatywy: Nova (framework do niestandardowej zawartości), ItemsAdder (płatny, podobna funkcjonalność). Oraxen wyróżnia się open-source charakterem i aktywnym rozwojem.