promotional bannermobile promotional banner

Texture Pack Manager

Manage compatible texture-pack mods with ordered priorities, per-texture fallback and a native administrator menu.

Texture Pack Manager

Manage compatible texture-pack mods from one native Hytale menu. Enable the packs you want, arrange their priority, and apply the result without merging texture files by hand.

Manager only — no texture pack is included.

Texture Pack Manager provides a central place to enable, prioritize and apply compatible texture-pack mods. To change textures, install a compatible texture-pack mod or create your own using the developer API documented below.

My first texture pack for Texture Pack Manager is coming soon.

Server-wide textures

With Hytale's server-hosted asset model, this Manager's current pack selection is server-wide. The server administrator chooses the active packs and their priority, and all players on that server receive the same resulting texture set. Individual players cannot currently choose their own separate texture packs through this Manager.

How priority works

Open /texturepacks, enable your packs, use Up / Down to order them, then choose Apply / Reload. The topmost enabled pack that supplies a texture wins that path. Lower packs fill missing textures; uncovered paths keep their captured original.

For example, a grass-only pack above a grass/dirt/stone pack supplies grass while the lower pack supplies dirt and stone. Reorder the two and the shared grass winner changes. A mod-specific style patch can also replace another installed mod's existing texture paths.

Native administrator menu with independently registered test packs

Native English interface. Developer test packs are shown to demonstrate ordering; those diagnostic packs are not included in this download.

Features

  • Enable several compatible packs together and reorder them with Up / Down.
  • Resolve overlaps per texture path and restore the captured baseline when a replacement is no longer selected.
  • Save desired activation/order across restarts; press Apply after editing settings.
  • Submit native asset reloads for connected players. Representative blocks, tools, NPC, armor, water/lava and selected effects have been tested; some consumers may still need re-emission or rejoining.
  • Register textures from a pack mod's own JAR through the provided Java API, keeping Hytale's native Common directory structure.
  • Support patches for existing mod-owned PNG paths, with the source content mod installed.
  • Choose Auto / Deutsch / English for the manager UI, saved per player.

Enabled texture packs and per-path winner counts

Enlarged crop of the real active-pack menu

Detail crop from the full screenshot above, enlarged for readability.

Installation and first use

  1. Install texture-pack-manager-0.3.1.jar in your server's mods/ folder. For a local world, install and enable the plugin through Hytale's mod/world workflow.
  2. Install texture-pack mods specifically built for this Manager API. Their own required dependencies must also be installed. Ordinary asset packs do not automatically register with the manager.
  3. Start/restart the server. Grant administrators vitja.texturepacks.admin through your permission system.
  4. Run /texturepacks, enable a registered pack, choose its order, and press Apply / Reload. New pack IDs start disabled; saved settings for an existing ID are retained.

The menu can be empty until compatible packs register. Joining players receive the server's effective native assets; they do not need the server Java plugin JARs. A normal browser download does not automatically install missing dependencies.

Supported manifest range: Hytale 0.7.x (>=0.7.0 <0.8.0). Tested: Hytale 0.7.7. The manager has no additional third-party mod dependency. Dedicated-server behavior is tested; the local-world installation path is described for users, without claiming a separate singleplayer startup acceptance test.

Commands

All controls require vitja.texturepacks.admin.

Command Action
/texturepacks Open the administrator menu.
/tpm List registered pack IDs and desired state.
/tpm enable &lt;id&gt; / /tpm disable &lt;id&gt; Save activation changes.
/tpm raise &lt;id&gt; / /tpm lower &lt;id&gt; Move a pack one row.
/tpm apply Apply the saved selection/order.
/tpm reset Disable registered packs and apply baseline restoration.

The menu's Disable all (then Apply) button saves disabled state; choose Apply afterwards. Keep the manager's data directory when updating; do not delete existing settings to replace a JAR.

For texture-pack authors

A pack mod supplies PNG resources and registers them once during setup, then unregisters on shutdown. Reference pack plugins need no tick loops, polling, private networking or background threads. Pack resources may mirror Common/… directly, using Common-relative targets in the API.

Declare Vitja:TexturePackManager as a required runtime manifest dependency and use IncludesAssetPack: false so the manager controls selection. Compile against this manager JAR without embedding its API/classes. On CurseForge, each pack release file must additionally list the Manager project as Required Dependency; content-mod patches also require their target mod. Verify the intended installer's dependency behavior before promising automatic installation.

The complete Developer API Guide and a buildable Texture Pack Starter are available on the dedicated documentation website and public example repository linked below. The Starter is a separate diagnostic example; no texture pack is bundled with this Manager download.

Current scope and limits

Version 0.3.1 is the first public foundation release with an experimental native-definition adapter. PNG overrides target existing registered paths. Selected native tests do not imply every visual asset or multiplayer setup is certified.

  • Original official character clothing, hair and cosmetics, and all audio replacement, are outside the intended pack scope. Direct identified cosmetic PNG targets are rejected. Armor remains in scope.
  • Model/animation files, arbitrary custom shaders and a general lighting/camera editing API are not implemented.
  • Optional native JSON adapters replace whole definitions rather than merging individual visual fields. They are experimental and are not a visual-only sandbox; use reviewed compatible definitions.
  • Image dimensions, UVs, atlases, alpha modes and native material rules still matter. Some scaled tool textures were rejected; use native dimensions as the starting point.
  • Registration validates all installed pack resources and retains encoded PNG bytes even for disabled packs. Many large packs can increase server startup/RAM; large active textures can add client/GPU/rebuild cost. No unlimited-pack or zero-cost guarantee.
  • The captured baseline can include a prior override from another mod. Unrelated live asset writers are not centrally coordinated.
  • Apply submission is not a client rendering acknowledgement. Only one Apply runs at a time; joining players may need to wait/retry during an Apply. Full concurrent-multiplayer and broad renderer qualification remain open.

No items, placeable blocks or recipes are added by the manager, so it needs no Creative/workbench category of its own.

Developer API Guide and Example

Read the complete API guide — API v1, native Common paths, registration, supported visuals, limits, priority/fallback and CurseForge dependencies.

The standalone build needs JDK 25+, Python 3.9+, your HytaleServer.jar and the separate Manager JAR. The demo contains no Manager/SDK classes and adds no gameplay or background tasks. It registers during setup and unregisters on shutdown. Its diagnostic images are separate from my upcoming full texture pack. The Manager implementation remains proprietary.


Feedback and Suggestions

Feedback, suggestions and bug reports are welcome! Please leave a comment below or send me a private message through my CurseForge profile. Include your Hytale, manager and pack versions, exact target path/pack IDs, active order and reproduction steps.

License and Custom Versions

Copyright © 2026 Vitja. All rights reserved.

This mod is proprietary. Its source code is not publicly available. Copying, modifying, redistributing, or publishing derivative versions without my prior written permission is not allowed, except where applicable law or platform terms permit otherwise. Downloading and using the official release is permitted under the applicable platform terms.

For a custom version or individual permission request, contact me through my CurseForge profile or project page.


Support my Mods

If you enjoy my mods and would like to support their continued development and maintenance, you can leave a donation. Your support helps me keep improving, updating, and maintaining my mods. Thank you!

Support my Mods on PayPal

Texture Pack Manager Team

profile avatar
Owner
  • 1
    Followers
  • 10
    Projects
  • 2.9K
    Downloads

More from IVitjaIView all