メインコンテンツまでスキップ

Resource Pack Manager FAQ

If your question is not answered here, check the other ResourcePackManager pages in the sidebar first.

What commands does ResourcePackManager currently expose?

The code-backed command surface currently includes:

  • /rspm setup — tells you to edit config files directly (no GUI)
  • /rspm reload — rebuilds and re-hosts the merged pack
  • /rspm itemsadder configure — configures ItemsAdder for RSPM hosting
  • /rspm itemsadder dismiss — permanently dismisses the ItemsAdder warning for your player
  • /rspm data_compliance_request — downloads all remotely stored data for this server

The root command is /resourcepackmanager, with /rspm as its alias. All subcommands require the resourcepackmanager.* permission.

What plugins are currently supported?

ResourcePackManager ships with premade integration entries for these plugins:

  • BackpackPlus
  • BetterHUD
  • EliteMobs
  • FreeMinecraftModels
  • InfiniteVehicles
  • ItemsAdder
  • MegaBlockSurvivors
  • MMOInventory
  • ModelEngine
  • Nexo
  • Nova
  • Oraxen
  • RealisticSurvival
  • ResourcePackManager
  • ValhallaMMO
  • vane-core

These integrations only take effect if the plugin is installed and its configured local path or remote URL is usable.

Each integration has its own YAML config file under plugins/ResourcePackManager/compatible_plugins/. You can customize isEnabled, pluginName, localPath, url, zips, cluster, and reloadCommand per plugin there. The cluster option tells ResourcePackManager to treat the local path as a directory of multiple resource pack sub-folders that should all be merged together.

Is ResourcePackManager compatible with ItemsAdder?

Yes. ResourcePackManager includes a built-in helper and warning flow for ItemsAdder.

If ItemsAdder is installed and still needs to be adjusted for ResourcePackManager hosting, OP players get a clickable warning a few seconds after joining. Players who permanently dismissed the warning do not see it again. From there you can:

  • run /rspm itemsadder configure to set resource-pack.hosting.no-host.enabled: true, disable all three protect-file-from-unzip settings, run /iazip, and then reload ResourcePackManager
  • run /rspm itemsadder dismiss to permanently dismiss that warning for your player UUID

If ItemsAdder is already configured to host its own pack through one of its hosting modes, the helper command does not override that automatically. It tells you to disable ItemsAdder hosting yourself first.

Can I add my own pack to the merge?

Yes. Put your .zip file in:

plugins/ResourcePackManager/mixer

If you want to control which pack wins file conflicts, add the exact filename, including .zip, to priorityOrder in plugins/ResourcePackManager/config.yml.

Example:

priorityOrder:
- ResourcePackManager
- EliteMobs
- MyCustomPack.zip

How does priority work?

priorityOrder is highest priority at the top and lowest priority at the bottom.

For non-mergeable files, the higher-priority pack replaces the lower-priority file. For mergeable JSON files, ResourcePackManager merges the contents instead of blindly replacing them.

The code currently treats these as mergeable:

  • sounds.json
  • language files under lang or languages
  • vanilla item model JSON under minecraft/models/item
  • atlas files
  • font files
  • 1.21.4+ item model definitions under items/

pack.mcmeta is also merged specially: the highest pack_format wins, supported_formats ranges are widened to cover all packs, overlay entries are combined, and non-standard top-level keys (e.g. sodium) are preserved. Overlay entries are also normalized for 1.21.9+ compatibility by adding min_format/max_format fields when missing.

After all packs are merged, ResourcePackManager also merges base atlas sources into overlay atlas files. This prevents overlays from accidentally shadowing base atlas entries when Minecraft activates an overlay.

Other JSON files are replaced instead of merged.

Packs that are not listed in priorityOrder are still included in the merge but receive the lowest priority.

Does ResourcePackManager rebuild automatically when packs change?

Yes. It watches supported pack sources for changes.

When a watched pack stops changing for 3 seconds, ResourcePackManager marks it as stable. Once all watched packs are stable, the remix happens immediately. During that transition, online OP players are notified: "All resource packs are stable. Mixing and sending now."

Does the watchdog account for plugin initialization?

Yes. The watchdog is aware of Magmacore plugin initialization states.

  • It waits for all monitored plugins to finish their Magmacore initialization before starting stability checks.
  • If a plugin reloads while the watchdog is running, the watchdog detects the state change, pauses, resets all stability tracking, and waits for the plugin to finish re-initializing.
  • This prevents false "unstable" detections that would otherwise occur during normal plugin startup or reload sequences.

How do players receive the final pack?

If autoHost is enabled and the merged pack has uploaded successfully, ResourcePackManager sends the hosted pack to joining players automatically.

On Minecraft 1.20.3+, it uses the multi-pack API so it can coexist with other server-sent packs. On older versions it falls back to the older single-pack method, which replaces any existing server resource pack assignment.

If autoHost is disabled or the hosted pack is not ready, the plugin does not send a custom self-hosted URL for you.

Can I self-host instead of using the built-in auto-host?

Yes.

  • Set autoHost: false
  • optionally set resourcePackRerouting to an existing folder path relative to the plugins directory
  • host the generated zip yourself

ResourcePackManager writes the merged pack to:

plugins/ResourcePackManager/output/ResourcePackManager_RSP.zip

If resourcePackRerouting is set, it also writes a copy of that zip to the reroute folder. That reroute path is resolved relative to the plugins directory, and the target folder must already exist.

Is there a command to request stored host data?

Yes. Use:

/rspm data_compliance_request

If auto-hosting has an active remote session, ResourcePackManager downloads the response into:

plugins/ResourcePackManager/data_compliance

If there is no active remote session, the command tells you there is no remote data to request.

What config options are available?

The following settings are available in plugins/ResourcePackManager/config.yml:

  • autoHost — whether ResourcePackManager auto-hosts and sends the merged pack (boolean, default true)
  • priorityOrder — list controlling which packs win file conflicts (highest priority first)
  • resourcePackRerouting — optional folder path (relative to plugins) to write an extra copy of the merged zip
  • forceResourcePack — whether to force players to accept the resource pack (boolean, default false)
  • resourcePackPrompt — the prompt message shown to players when the resource pack is offered (string, default "Use recommended resource pack?")
  • bedrockConversionEnabled — whether to convert the merged Java pack into a Bedrock resource pack for GeyserMC (boolean, default false)
  • bedrockAutoDeployToGeyser — whether to automatically copy the Bedrock pack and mappings into the detected Geyser folder (boolean, default true)
  • bedrockGeyserFolder — manual path to the Geyser folder; leave empty to auto-detect (string, default "")

Can other plugins register their packs through code?

Yes. ResourcePackManager exposes a Java API for programmatic pack registration. See the API page for details.