HomeJavaModsUpstack
Upstack
ModsJava

Upstack

by FlyInEly · on Modrinth

Stack size configuration for common items. Free Minecraft Java mod for 1.21.1.

⬇ Download on Modrinth
Upstack — screenshot 1Upstack — screenshot 2

Upstack

An open-source mod which makes the max stack size of common items configurable. Patches bugs that occur when some items are made stackable.

Disclaimer: This mod is a passion project, so support for any particular version or feature is not guaranteed. Feedback and feature requests (without expectation) are welcome.

Compatibility

Upstack must be installed on both the client and the server to function properly (its patches are dual-side).

Version Support

MC NeoForge Fabric
1.21.1

Dependencies

NeoForge Fabric
Required None Fabric API
Forge Config API Port
Recommended None Mod Menu (for in-game configuration)

Mod Integration

Configuration

Upstack can be configured in-game through the mods button (requires Mod Menu on Fabric) or by manually editing config/upstack-common.toml.

Max Stack Size

Max stack sizes can be configured for items and item tags listed in the config. Changes do not apply until the server is restarted.

The default configuration increases the max stack size of several commonly desired items, including water buckets (1 → 16) and music discs (1 → 64). Set an item's max stack size to 0 to preserve its original value.

The value set for an individual item overrides the value set for any of its tags. For instance, the stack size of item minecraft:bucket (default: 64) overrides the value of its tag #c:buckets (default: 16). If one item is included in two different-valued tags using a datapack, one of the values will take precedence, but which one does so is undefined.

Use Cooldown

Use cooldowns can be configured for items listed in the config. Changes apply immediately.

The default configuration adds modest cooldowns to snowballs (5 ticks) and throwable potions (10 ticks) to balance their increased stack sizes. Set an item's use cooldown to 0 to remove its cooldown completely.

How does Upstack work?

On server startup, Upstack modifies the max stack size component of each configured item. Items set to values outside [1, 99] are not modified.

In most cases, modifying an item's stack size doesn't change its expected behavior. However, there are several known exceptions, each resulting in different issues:

  1. Multiple saddles can be equipped to one horse/donkey/mule (redundant).
  2. Multiple banner patterns can be placed in a loom at a time, even though banner patterns non-consumable (redundant).
  3. Placing one powder snow bucket deletes all remaining items in the stack (bug).
  4. Combining a stack of X items with a stack of Y enchanted books in an anvil violates item conservation (bug, exploit).
    1. Enchants all X items, even if there aren't enough enchanted books to do so (Y < X).
    2. Consumes all Y enchanted books, even if there are fewer items to enchant (X < Y).
    3. Costs Y times the experience of enchanting one item, even if the actual number of items enchanted differs (X /= Y).
  5. Throwing splash potions, lingering potions, eggs, and snowballs has no cooldown, even though this could cause balance issues (balance issue).

Upstack injects the following patches to address these issues:

  1. Set the max stack size of the horse/donkey/mule's saddle slot to 1.
  2. Set the max stack size of the loom's banner pattern slot to 1.
  3. When a powder snow bucket is placed, decrement the stack size instead of deleting the stack.
  4. When a stack of X items is combined with a stack of Y enchanted books:
    1. Enchant only 1 item at a time.
    2. Consume only 1 enchanted book at a time.
    3. Cost the experience of enchanting one item.
  5. Add optional, configurable cooldowns to splash potions, lingering potions, eggs, and snowballs.

Feature Roadmap

Planned

Considering

Not Planned

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more