Tessellate

Quick rating

Community listing page, reviews here may not be monitored by the author.

Tessellate

No reviews yet

Improves Minecraft server performance by isolating loaded regions, ticking independent areas in parallel, and throttling only the region causing lag.

Performance & Optimization
Mod Loaders
NeoForge
Fabric
Minecraft

Community voices

Reviews

List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Show per page
10
25
50
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
tessellate-neoforge-1.2.12.jar

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

About

Description

Tessellate

Tessellate is a NeoForge/Fabric performance mod for Minecraft 1.21.1. It groups distant loaded areas into independent regions and lets them run on different CPU cores. If one region gets too expensive, Tessellate can slow it down without dragging the rest of the server with it.

Situation What Tessellate does
Several distant bases are busy Runs their regions concurrently
One region exceeds the server budget Reduces only that region's simulation rate
Two regions become close enough to interact Merges them before they tick
A worker reaches unsafe shared state Falls back to serial ticking for the session

This works best when players or forced-loaded areas are spread out. One dense base, mob farm, or machine cluster is still one region, so Tessellate cannot split that work across several cores. It also doesn't replace single-thread optimizers such as Lithium.

Requirements and installation

  • Minecraft 1.21.1
  • NeoForge 21.1.x
  • Java 21
  • No required optimization-mod dependencies

Drop the JAR into the server's mods folder. The client install is optional. Players who have it get the GPU-rendered region map and boundary overlay, while everyone else can still use the particle fallback.

Performance

For a concrete comparison, we benchmarked four forced-loaded regions 2,048 blocks apart with 1,200 persistent zombies in each region. Parallel ticking cut median MSPT by 61.2% and p95 MSPT by 62.5%.

Mode Median MSPT Median p95 Regions at 20 TPS Slowest region
Serial regional ticking 40.55 ms 50.80 ms 0/4 and 1/4 10.0-10.6 TPS
Parallel regional ticking 15.75 ms 19.05 ms 4/4 in both runs 20.0 TPS

Both modes ran on Minecraft 1.21.1, NeoForge 21.1.248, Java 21, and the same nine-mod setup. This test is deliberately built around several separate regions. It is not a promise of the same speedup everywhere. Hardware, region layout, entity count, and installed mods all matter.

How it works

Tessellate divides the loaded world into 4x4-chunk sections. Nearby entity-ticking sections join into a region before they run, which keeps areas that could interact on the same worker. Separate regions can run in parallel. Packets, lifecycle callbacks, saves, and other shared work still go through the main thread.

The region map changes with the world. Regions form, merge, split, and disappear as chunks load and unload.

Regional TPS: slicing instead of skipping

Tessellate measures every region each tick. If the server is about to miss its tick-time target, the most expensive region gets a tick divisor. A divisor of 4 runs that region at 5 TPS while unaffected regions can stay at 20.

Running the whole region once every fourth tick would produce the right average rate, but it feels awful in play. Tessellate spreads that work across every tick instead:

Gated every fourth tick Sliced across every tick
Bystander TPS 19.6 20.0
Mean MSPT 20.5 ms 23.7 ms
p95 MSPT 210.9 ms 32.9 ms

The trade-off

Throttling has an intentional cost. When a region exceeds its share, everything inside it runs slower. Mobs move more slowly, farms produce less, and hoppers move fewer items. That is useful for containing a lag machine, but Tessellate cannot tell one apart from a legitimately busy base.

If you would rather let the whole server fall below 20 TPS, disable adaptive throttling:

[regions]
adaptiveThrottling = false

Region tracking, parallel ticking, and diagnostics remain available.

Configuration

Settings are stored in config/tessellate-common.toml.

Option Default Purpose
regions.enabled true Enables region tracking; disabling it makes the mod inert
regions.adaptiveThrottling true Enables regional TPS control
regions.budgetMillis 25.0 Minimum budget retained for region work
regions.targetTickMillis 45.0 Tick-time target; raise it to intervene later
regions.maxTickDivisor 16 Slowest allowed region rate, 1.25 TPS
regions.minThrottleMillis 2.0 Regions cheaper than this are never slowed
regions.sectionShift 2 Region grid granularity, 4x4 chunks
regions.parallelTicking true Runs independent regions on worker threads
regions.directWorkerChunkReads true Resolves loaded worker chunk reads directly
regions.parallelNaturalSpawning true Runs owner-region spawn searches concurrently
regions.shardEntityStorage true Enables storage isolation required by parallel ticking
regions.asyncRegionLoops true Lets regions run without a per-tick global join
regions.scopedScheduledTicks true Uses region-owned block and fluid tick schedulers
regions.scopedBlockEvents true Uses region-owned block-event queues
compatibility.rulesEndpoint Public rules service Downloads reviewed compatibility rules; blank disables the check
compatibility.rulesApiKey Public key Read-only key used to download rules
compatibility.reportEndpoint Blank Optional compatibility reporting service; blank disables uploads
compatibility.reportApiKey Blank Public key used only when reporting is enabled

For a serial diagnostic mode:

[regions]
parallelTicking = false
asyncRegionLoops = false

Commands

  • /tessellate regions: shows the region map, cost, tick rate, and execution mode
  • /tessellate phases: reports worker/main-thread boundaries, timing, failures, and queue depth
  • /tessellate violations: reports thread-ownership violations; this should remain empty
  • /tessellate visualize: toggles the region map and boundary visualization

Compatibility

We tested independent region loops with:

  • NeoForge alone
  • Lithium 0.15.4
  • Mekanism and Mekanism Generators 10.7.19.85
  • Naturalist 2.0.3, Citadel 2.7.1, Friends & Foes 4.0.27, Resourceful Lib 3.0.12, and ScalableLux 0.3.0-alpha.0.8
  • C2ME 0.4.0-alpha.0.120 with the full mod set above

Lithium needs a little special handling, so Tessellate replaces two of its level-wide caches with worker-safe equivalents. C2ME is optional. Tessellate runs without it and has no hard dependency on it.

Compatibility reports and automatic fixes

Parallel ticking can expose problems in mods that assume every entity or block entity runs on the main server thread. When Tessellate detects one of these failures, it falls back to a safer execution mode and records the details in the normal server log.

Server owners can also choose to send a small compatibility report. The goal is to find repeatable mod conflicts without asking people to upload entire logs or spend hours testing different configuration changes.

A report may include:

  • The Minecraft, Tessellate, and mod loader versions
  • Installed mod IDs and versions
  • The part of Tessellate that encountered the problem
  • The failure class
  • The suspected mod and one relevant code location
  • The entity or block entity type involved, when known

Reports do not include raw server logs, server addresses, world names, player names, chat, coordinates, or player data.

The upload service does not store your IP address with the report. It creates a one-way rate-limit value so one server cannot flood the database.

Reports are treated as clues, not automatic decisions. A report cannot block a mod or create a compatibility rule. Reports are grouped and reviewed by the Tessellate maintainer first. A confirmed problem can then be fixed upstream, patched in Tessellate, or added as a version-specific compatibility rule.

For example, if a mob is broken in mod version 1.1 but fixed in 1.2, the rule can apply only to 1.1. Players using 1.2 will keep normal parallel ticking.

Compatibility rules can:

  • Move a specific entity or block entity to the main thread
  • Prevent entity tick bodies from overlapping
  • Disable parallel natural spawning for a specific mod
  • Use serial region ticking when the problem cannot be isolated further

Remote rules can only reduce concurrency. They cannot enable features, change worlds, run commands, or upload data.

Opting out

Compatibility reporting is off by default. When reportEndpoint is blank, nothing is uploaded and failures are only written to the local server log.

To explicitly disable reporting:

[compatibility]
reportEndpoint = ""
reportApiKey = ""

Remote compatibility rules are separate from reporting. Tessellate checks a public, read-only rules list at startup so known problems can be handled automatically.

To disable the remote rules check:

[compatibility]
rulesEndpoint = ""
rulesApiKey = ""

If the compatibility service is unavailable, Tessellate continues starting normally and uses the local configuration. A failed report upload also has no effect on the server.

What we tested

Check Result
JVM regression suite 106 tests passed
Tessellate-only NeoForge GameTests All 7 required tests passed
Scheduled ticks 30 minutes, 422 rebuild cycles, no failure or queued work left
Block events 30 minutes, 1,001,984 callbacks, packets stayed on the main thread
Natural spawning Parallel overlap confirmed; global and local caps held
Deferred writes 6,947 level writes and 2,592 entity callbacks replayed exactly
Full-mod save/unload 1,200 entities survived a 49-chunk unload/reload exactly
Main-thread boundaries 8,519 deferred operations balanced with zero pending work

What it cannot do

  • Tessellate protects the shared state it knows about, but another mod can still introduce a race through its own global state. Tessellate falls back to serial ticking when it detects an ownership violation.
  • C2ME 0.4.0-alpha.0.120 passes live benchmarks, save/unload, restart, and shutdown testing, but its natural-spawning GameTest fails in both serial and parallel regional modes.
  • One hot connected region cannot use another core under the current ownership model.
  • Benchmark results are workload-specific and hardware-specific.

Incompatible

  • Bukkit-Neoforge/Fabric Hybrids (ex Arclight) - it will load but support is limited as bukkit has very very bad threaded support.

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works