Create: Re-Packager Fix
ModFixes a duplication exploit in Create's Re-Packager.
Type
Mod
Modrinth Downloads
333
Modrinth ID
Hki0MblJ
Last Updated
Sep 27, 2026
Description
Create: Re-Packager Fix
A server-side fix mod for Create that patches a duplication exploit in the Re-Packager. When a fragmented package carries insufficient inventory to fulfill the crafting recipes of its order, the Re-Packager still generates a package entry with a quantity of 0 — which the packager's output logic then ejects as a real physical package containing a full copy of the recipe materials, allowing attackers to duplicate recipe materials infinitely. This mod patches PackageRepackageHelper.repackBasedOnRecipes via Mixin, eliminating the duplication at its root without affecting normal packaging behavior.
The Vulnerability
Affected versions: Create 6.0.8 (1.20.1), 6.0.10 (1.21.1), and the Create Fly ports (1.21.11 / 26.2).
- Crafting arrangements configured on the Factory Gauge are not bound by inventory validation — recipe materials are not required to match the requested items (Create only checks this consistency in the Redstone Requester path; the Factory Gauge path misses this check entirely).
- When inventory is insufficient, repackBasedOnRecipes still generates a package entry with packagesToCreate == 0.
- (The core issue) The packager's output logic PackagerBlockEntity.tick() copies the package out before checking its count (heldBox = entry.stack.copy() precedes count--), so a count-0 package is emitted as a real one — an empty inventory produces a package containing a full set of recipe materials out of thin air, infinitely exploitable via the Factory Gauge's recurring restock requests.
Related upstream issues (all still open): #8082, #8046, #8155. Upstream commit 3e662789 only fixed the oversized recipe-material variant (copyWithCount(1)); the core defect remains unfixed.
The Fix
Mixin patch on PackageRepackageHelper.repackBasedOnRecipes using a two-phase validation:
- Check first — verify all recipe materials are available (NBT-exact match); if any is missing, abort the whole round without consuming anything.
- Consume second — only after everything is confirmed available, deduct the inventory uniformly; no partial consumption, so players never lose invested materials.
- Zero-count guard — when packagesToCreate == 0 (inventory cannot support even a single craft), no package is generated.
All normal behavior (sufficient stock, multi-recipe orders, etc.) remains fully identical to vanilla.
Features
- Server-side only — clients can join without installing it
- Does not affect normal packaging / re-packaging
- Materials are returned (via regular repackaging) instead of being swallowed when partially insufficient
- Coexists with other fix mods
Verification
Feed the Re-Packager an anomalous package (empty inventory + a crafting order claiming 64 crafts):
- Without this mod: 1 package containing a full set of recipe materials is output (duplication)
- With this mod: 0 packages are output (fixed)
Test package commands are documented in TEST_PACKAGES.md in the repository.
Compatibility
Mod Loaders
Game Versions
Recommended Gear
AffiliateHardware and extras that pair well with this mod.
As an Amazon Associate I earn from qualifying purchases.
Similar Mods
LlpswLib
LLPSW’s mod library, including the original animation modules and octree modules
Stay Still
Removes Skeleton Strafing
Tinkers' Reposession
An addon for Tinkers' Construct that adds a way to dissasemble regular tools into parts and reclaim metals from ancient...
Frozen Stalker
The Frozen Stalker is a frozen in ice version of the corpse stalker, a mod by Flamc04
Glyphborn
action RPG loot system - randomized gear stats, deep build diversity, and smooth character progression. Highly compatibl...
LegendWatch
A Hoplite mod that shows any legendary a player has craft in their nametag