Pular para o conteúdo principal

ResourcePackManager (RSPM)

O ResourcePackManager descobre, une, hospeda e distribui resource packs de plugins suportados e de packs fornecidos manualmente. Ele também pode converter o pack Java unificado em um resource pack Bedrock, para que jogadores via GeyserMC vejam o mesmo conteúdo personalizado que os jogadores Java, e oferece suporte de primeira classe para redes com proxy BungeeCord, Waterfall e Velocity.

O Que Ele Faz

  • descobre packs de plugins suportados e os une de acordo com priorityOrder
  • executa seu próprio servidor HTTP integrado para fazer self-host do pack unificado (sem necessidade de um host de arquivos externo)
  • pode recorrer à hospedagem gratuita do MagmaGuy (auto-host) quando o self-host não for viável
  • pode forçar ou opcionalmente solicitar o uso do pack
  • monitora alterações nos packs e refaz a união automaticamente quando as fontes se estabilizam
  • converte o pack Java unificado em um resource pack Bedrock para o GeyserMC
  • funciona em redes com proxy: cada backend produz seu próprio pack Bedrock, o plugin do proxy os busca, os une e serve o resultado por meio do Geyser

Arquitetura em Resumo

O RSPM v2 é um build Maven multi-módulo, mas é distribuído como um único jar: ResourcePackManager.jar. Esse único jar contém o plugin Bukkit/Paper, o plugin Velocity e o plugin BungeeCord/Waterfall, todos de uma só vez — o Minecraft carrega o ponto de entrada que corresponder à plataforma em que está rodando. Não existem mais arquivos ResourcePackManager-Velocity.jar / ResourcePackManager-BungeeCord.jar separados, nem pasta proxy-extension/.

O mesmo jar desempenha dois papéis, dependendo de onde você o coloca:

  • Como plugin de backend (em cada backend Paper/Spigot) — mescla packs Java, executa o conversor Bedrock, hospeda o pack, expõe um pequeno servidor HTTP e envia packs aos clientes Java.
  • Como plugin de proxy (em um proxy Velocity ou BungeeCord/Waterfall) — busca o pack Bedrock e os mappings de cada backend, une-os em um único pack válido para toda a rede e o serve a clientes Bedrock por meio do Geyser do proxy.

Um servidor standalone só precisa do jar no backend. Uma rede com proxy precisa do mesmo jar em cada backend E de uma cópia no proxy.

Quando o backend detecta uma instalação local do Geyser-Spigot, ele também coloca um ResourcePackManager-GeyserBridge.jar empacotado em Geyser-Spigot/extensions/ (uma extensão do Geyser, não um plugin separado), para que o Geyser consiga renderizar as entidades Bedrock personalizadas do RSPM.

Opções de Hospedagem

Três caminhos de entrega, escolhidos automaticamente nesta ordem quando autoHost: true:

  1. Self-host primeiro (preferSelfHost: true, padrão) — o RSPM inicia seu próprio servidor HTTP, executa uma cadeia de checagens de sanidade (endereço não-LAN, self-probe em localhost, probe de alcançabilidade externa via magmaguy.com) e anuncia a URL local aos clientes. Custo zero de banda para o MagmaGuy.
  2. Fallback de auto-host remoto — se alguma checagem de self-host falhar, o RSPM faz upload do pack para a CDN do MagmaGuy em magmaguy.com/rsp/ e anuncia essa URL.
  3. Self-host forçado (selfHostForce: true) — pula ambos os probes e o upload remoto por completo. Principalmente para testes.

Se autoHost: false, o RSPM grava o zip unificado em plugins/ResourcePackManager/output/ e você o pega a partir dali.

Consulte Self-hosting para a árvore de decisão completa de entrega, resolução de portas e detecção de host externo.

Conversão Java-para-Bedrock

O conversor Bedrock não é mais exclusivo do FreeMinecraftModels. Ele percorre todo arquivo de definição de itens 1.21.4+ (assets/<namespace>/items/*.json) no pack unificado e produz geometria Bedrock, attachables e ícones de inventário, independentemente do plugin que os tenha enviado:

  • Jogadores Bedrock veem itens 3D, armaduras personalizadas e equipamentos modelados de qualquer plugin cujo pack use o formato de definição de itens 1.21.4+.
  • Texturas de armadura personalizadas são renderizadas em jogadores Bedrock usando a geometria de armadura vanilla, com a textura Java como camada visível.
  • Ícones de inventário para itens 3D são renderizados por software a partir do modelo Java por meio da transformação display.gui.
  • O pack Bedrock é servido ao vivo por sessão Bedrock via API do Geyser, de modo que ajustes de textura e modelo chegam ao próximo jogador Bedrock que entrar sem reiniciar o servidor. Mapeamentos de itens personalizados ainda exigem reinício, pois o Geyser os registra na inicialização.
  • Doze parâmetros ajustáveis pelo usuário para offsets de exibição de itens segurados (seis de primeira pessoa, seis de terceira pessoa) em bedrock_display_offsets.yml.

Integrações Atuais

O ResourcePackManager já vem com entradas de integração prontas para estes plugins:

  • BackpackPlus
  • BetterHUD
  • BetterStructures
  • CannonRTP
  • EliteMobs
  • EternalTD
  • FreeMinecraftModels
  • InfiniteVehicles
  • ItemsAdder
  • MegaBlockSurvivors
  • MMOInventory
  • ModelEngine
  • Nexo
  • Nova
  • Oraxen
  • RealisticSurvival
  • ResurrectionChest
  • ValhallaMMO
  • vane-core

Cada integração só é ativada se o plugin estiver instalado e seu caminho local ou URL remota configurados forem utilizáveis. O plugin também detecta o Geyser (Geyser-Spigot em um backend, Geyser-Velocity / Geyser-BungeeCord em um proxy) na inicialização e conecta a entrega do pack Bedrock àquele que encontrar.

Para Onde Ir Agora