Public testing. Packforge is downloadable and running on EGW with promising results so far, but it has not been through a full season on a live server. Read the known limits in the admin guide and take a world backup before putting it on anything you care about.
What it is
Packforge is the EGW ecosystem’s own content host. It serves your Java resource pack, puts your Bedrock and Geyser artifacts where Geyser reads them, and — the part that matters — checks all three agree before anything ships.
Packforge checks the Java pack, Bedrock pack and Geyser mappings together. It reports mismatched states, models and sounds with the files involved. Warnings do not block otherwise usable content; conflicts that would damage the served pack or installed content are refused.
What it is not
Packforge is EGW’s crossplay content host. It supplies items and their components, custom blocks, recipes, music discs, pack delivery, shared menus, player heads and chat glyphs. Java and Bedrock support are built into the same workflow.
Three things it will never do:
- Generate Bedrock assets from Java ones. You supply the
.mcpack. Auto-porting handles most assets and then costs you a day on the rest, inside a code path harder to debug than doing it by hand. - Merge anything. Two contents shipping the same vanilla file with different bytes are refused by name, not silently resolved.
- Rebuild on boot. Both build commands are operator-run, so a bad edit never reaches players on its own.
The shape of it
Drop your three artifacts into one folder and run two commands.
plugins/Packforge/ drop/ you put the Java assets, the .mcpack and the Geyser mappings here contents/ the Java index. move/ empties drop/ into here output/pack.zip the pack players download
/pf move files each artifact where it belongs — Geyser’s packs and custom mappings
folders, and Packforge’s own content index. It is additive and safe to run as often as you like.
/pf zip packages the pack, hashes it, and re-sends it to players already online.
Crossplay, not Java with Bedrock bolted on
- Bedrock players get a real Bedrock pack, served as you supplied it. Nothing is converted.
- Bedrock players are never sent the Java pack and never kicked by it. A Java pack is something a Bedrock client cannot accept, and a required pack then throws the player off before they see spawn.
- Menus can be native Bedrock forms rather than a chest window translated across, for plugins that ask Packforge for its shared menu service.
- It is built to go easy on Geyser. Custom blocks carry more translation cost than content that can stay native or server-side, so the design keeps custom block states down.
Packforge is a server-owner tool. There are no player commands and nothing for players to install — if you are a player, the only thing it changes is that your pack arrives before you join.
Operator guide — install, commands, config ↗
What players get
Packforge serves Java resource packs and supplies Bedrock packs and mappings to Geyser. Custom items, blocks, equipment, recipes and music discs belong to the same crossplay content system.
Java players already online can receive a rebuilt pack. Bedrock receives its resource packs through Geyser when connecting; changing those packs requires reconnecting.
Menus, heads and chat
The shared menu service supports touch-friendly native forms for plugins using it. Player-head support keeps a shared head pool for crossplay menus. Glyphs include rank badges, icons, emoji and the EGW font; compatible glyphs can appear in chat and on signs.
Packforge and BladeFX
BladeFX requires Packforge and does not work with third-party pack-host plugins. It supplies the configured visuals, custom projectiles and effect-driven abilities. Ordinary armour, clothing and other pack items do not need BladeFX simply to display or be equipped.
Emoji shortcut sheet — pictures, chat codes and font settings ↗