promotional bannermobile promotional banner

Applied Slash

[Slash存储元件]AE2 storage cells for type-heavy workloads — thousands of unique SlashBlades, or any non-stackable items.

Applied Slash — SlashBlade & Unstackable Storage Cells

Storage built for type-heavy workloads. AE2's own storage cells are hard-clamped to 63 types. But SlashBlades, enchanted gear, and worn tools are each their own storage key — 63 is nowhere near enough. Applied Slash adds two ME storage cells with a custom cell inventory that raises the type limit into the thousands and moves the payload into world-side sharded storage.


The two cells

SlashBlade Storage Cell

  • Accepts SlashBlades only — a two-layer test (item tag slashblade:swords + ItemSlashBlade class check) so addon blades are covered too
  • Default limit: 5000 types (configurable 64 – 20000)
  • Always asks this cell first. Incoming blades land here regardless of any other storage's global priority
  • Runtime state is stripped on insert, so the same blade counts as one key no matter what combat state it is in — this is the single most effective way to keep the per-tick network cost down

Unstackable Item Storage Cell

  • Accepts non-stackable items only (getMaxStackSize() == 1)
  • Excludes SlashBlades (they always go to the blade cell — ownership is decided by rules, never by iteration order)
  • Excludes storage cells (no cell-in-cell nesting)
  • Default limit: 2000 types (configurable 64 – 20000)
  • Strips nothing. A tool's durability, enchantments and custom name are its identity — so every differently-worn tool takes one type slot

Compatibility

Component Version
Minecraft 1.21.1
NeoForge 21.1.250+
Applied Energistics 2 19.2.17+ (required to use the cells)
SlashBlade: Resharpened 2.0.7+ (optional — only the blade cell needs it)
Environment Client and dedicated server

Without AE2 nothing is registered (a log line says so). Without SlashBlade the cells still exist but accept nothing — the tooltip states this instead of pretending the cell is empty.


Performance (measured, not estimated)

The per-tick network cache rebuild is what matters, and it scales with the number of distinct keys visible on your whole network. Measured on a dedicated server, single cell:

Types Best-case per-tick cost
200 0.011 ms
1000 0.090 ms
2000 0.292 ms
5000 0.959 ms

The bulk of that cost happens inside AE2's own KeyCounter, not in this mod — so the only real lever is how many distinct keys you keep on the network. That is exactly why the type limits exist, and why they are configurable.

Other measured numbers:

  • Cell item NBT: constant 1089 bytes, no matter how much is stored
  • Payload lives in 16 world-side shards — a single change rewrites only the dirty 1/16
  • Insert: ~4.1 µs per operation at 5000 types
  • 5000 keys sync to the client as ~108 KB

For pack developers

Config option Default Notes
maxTypes 5000 Blade cell type limit. Size it to your server
unstackableMaxTypes 2000 Unstackable cell type limit
stripRuntimeState true Keep this on — it merges the same blade across combat states
acceptBeyondMaxTypes false Leave off. Turning it on removes the only performance guard

Suggestion: on a busy pack, set maxTypes to 1000–2000 (0.09–0.29 ms/tick). 5000 is fine when your tick budget has room.


Known limitations (please read)

  1. Cells cannot be pre-filled, and their payload cannot be moved by copying the item. Blade data lives world-side; the cell item is a key. Copying a cell into another save yields an empty shell, and the world side reports "blade data not found in this save" — stated openly in the tooltip.
  2. No cell-workbench partitioning and no upgrade cards (fuzzy / inverter / equal distribution / void). Deliberate: partitioning is meaningless for a cell that only accepts specific items, and a whitelist with no effect would be a fake feature.
  3. Bundled dependencies are not included — install AE2 (and SlashBlade if you want the blade cell) separately.

The Applied Slash Team

profile avatar
  • 1
    Projects
  • 30
    Downloads