promotional bannermobile promotional banner

MMCMF-MemoryMaster

Server-side heap memory optimization mod.
Back to Files

mmcmf-1.0.0.jar

File namemmcmf-1.0.0.jar
Uploader
mornfiremornfire
Uploaded
Nov 1, 2026
Downloads
14
Size
205.2 KB
Mod Loaders
NeoForge
File ID
9394664
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:mmcmf-memorymaster-1778053:9394664"

Learn more about Curse Maven

What's new

MemoryMaster 1.0.0

First official release. 7 modules, all enabled by default and individually disableable.

Added

  • structures: Structure template cache cap (LRU, default 30); eviction uses reflection to locate the cache, not dependent on mixin taking effect.
  • diagnose: Read-only diagnostic trio — memory pool/GC reports, environment and mod conflict scanning, and in-process JFR-based tracking of 96–128 byte allocation sources (aggregated by "class + allocation site," executed asynchronously).
  • guava: Call count and duplication statistics for ImmutableMap.of(K,V) and three Guava internal constructors.
  • bytepool: 16/32/64/128 KB bucketed pool; weakly references rented-out arrays to prevent data corruption caused by duplicate returns.
  • objpool: Event listener lists pre-allocated by historical peak; peaks written to cache/mmcmf for use on next startup.
  • smallobj: Creation-count statistics for BlockPos / ItemStack / CriterionProgress / AdvancementProgress.
  • secondopt: Mod conflict detection, read-only leak observation, automatic yielding on write-type overlap.

Safety Mechanisms

  • MixinConfigPlugin validates target classes one by one, using only resource lookup and not loading classes.
  • All injections use require = 0; mixin config uses required = false.
  • All optimization logic is wrapped in try-catch; exceptions degrade to vanilla behavior.
  • Two-stage self-check (transform stage + after server startup); behavior-type injection points that fail are automatically downgraded.
  • Mixin config uses priority = 9999, applied after other mods.
  • /mmcmf panic disables everything with one command (effective immediately for the current session, and writes a marker so the next startup does not inject).

Known Boundaries

  • In 1.21.1, BlockPos.of(int,int,int) does not exist; creation goes through the constructor, and Mixin cannot replace the result of new, so no BlockPos interning is done.
  • ItemStack / CriterionProgress / AdvancementProgress are mutable objects; reusing them would corrupt data, so they are only counted.
  • Netty already uses pooled direct buffers; byte[] pooling is only applied to BufferedOutputStream buffers that will not escape.
  • Write-type optimizations that overlap with FerriteCore / ModernFix / C2ME / Clumps are not implemented; instead, they are detected and yielded to.

Configuration

  • config/mmcmf.toml (comments in English, auto-generated on first startup)
  • config/mmcmf.panic (if present, forcibly disables all modules, including mixin injection)

This mod has no additional files