All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Material Rule Compiler

Material Rule Compiler

by ZenXArch • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Keep Android Open | Contact Regulators to stop Google's lockdown of Android

Material Rule Compiler is an experimental worldgen optimization mod, that works to improve surface builder times by compiling material rules into static functions.

Does the mod change world generation? The mod maintains vanilla parity, including with any datapacks. Do keep in mind, Vanilla non-determinism.

Can I use custom worldgen mods with this? Yes, the mod will fallback to normal execution where it encounters modded content. Though, it is possible to have mod incompatibilites. I do test against major worldgen mods like terratonic etc.

Note Fast Noise is needed for optimal speed

Material Rule Compiler is part of Reverie Projects, check out our other mods as well.

Available on codeberg Available on curseforge Available on modrinth

How does this mod work?

Material rule compiler compiles material rules into classfiles using asm library, optimized for every unique set of biomes. It also reduces allocations for random splitters in material rules and predicts biomes for material rules.

How fast is it?

About 30-40% decrease in surface builder execution times.

Socials

Chat with me on mastodon Chat with us on Gitter

Credits

  • Ishland for suggesting method handle api
  • Taumc members for discussing compat and surface rules
  • DJ for testing and benchmarking

Reverie Projects

Consider joining the Reverie Projects for sneak peeks and updates on development! By joining, you can:

  • Get installation help and technical support for alot of awesome projects
  • Get the latest updates about development
  • Talk with and collaborate with our team
  • And just hang out with the rest of our community!

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.x
Fabric Quilt
1d ago 1
1.21.11
Fabric Quilt
1d ago 1
26.1.x
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.1.x
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.3
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3-rc-3
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3-rc-3
Fabric Quilt
1d ago 1
26.3-rc-2
Fabric Quilt
1d ago 1
26.3-rc-1
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3-pre-3
Fabric Quilt
1d ago 1
26.3-pre-3
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3-pre-2
Fabric Quilt
1d ago 1
26.2
Fabric Quilt
1d ago 1
26.3-pre-2
Fabric Quilt
1d ago 1
26.3-pre-1
Fabric Quilt
1d ago 1
26.3-snapshot-10
Fabric Quilt
1d ago 1
26.3-snapshot-7
Fabric Quilt
1d ago 1
  • backport 1.1.2

  • its properly working now

  • fix crashes and other issues (w/ lithostitched)

  • fix bandlands rule

  • backport 1.1.1

  • perf: optimize includedBiomes enumeration

  • backport 1.0.0

  • backport 1.1.0

## Fixes:
  • revert depth based cutoff compile (fixes rare crashes)

# Performance
  • only compile after a material rule is requested certain no. of times
  • pack biome collection to avoid non existent biomes in surface builder

  • add config entries for new optimizations

  • backport 1.0.0

We are stable now

  • add max depth config entry
  • rename cache size config entry
  • speed up mod by limiting the depth of generated programs

  • reduce time spent inside sync blocks
  • speedup key gen a bit

  • First release candidate
  • Speed up class generation
  • compile all static conditions into a single class one time instead of generating every time

  • fix water condition
  • reduce cache key size by 4x

  • rework class gen to be faster (to generate and run)
  • known issue: probably high memory usage w/ lithostitched rules

  • rework class generation to be faster (to generate and run)
  • known issues: lithostitched datapacks may cause ooms

  • fix crash in production

  • fix crash in production

  • use flattened material rule to speed up compilation/reduce memory usage

  • use flatten material rule to speedup class gen/ properly cache compiled rules

  • switch to asm bytecode gen instead of using method handles
  • minor opt to biome predicates

  • generate classes at runtime using asm
  • minor opt biome predicates (a bit of rework/cleanup)

  • migrate biome opt to zmatcomp

  • migrate biome opt into material rule compiler

Material Rule Compiler Icon
Download Material Rule Compiler
Select game version
Select platform