0.2.10+26.3
Compatibility
Required content
Changes
Afterburner 0.2.10 (Fabric 26.3)
Made for weak PCs (2 cores, 4 GB of RAM, Intel graphics). Shader packs: in a test set of 13 popular packs, every shader the game loads now compiles (packs that need OpenGL 4.3 say so on older graphics instead of breaking), with per-entity, block entity and item ids, chunk fade, separate ambient occlusion, block light emission and old lighting as packs ask for them. Worlds and servers: terrain fills about 30% faster, redstone dust contraptions tick about 22% faster, the slowest TNT ticks lose about a third, light updates do 6-11% less work, a player joining costs the server 15-30 ms less, and chunk packets sent to many players are packed once. Each of these was compared with vanilla and gave identical results before it was switched on. New options still being tried are off by default.
New, on by default (each can be switched off in the settings)
- Cached Registry Sync On Join: The registries and tags sent to a player who joins are built once and reused for the next players, until a reload or any change of tags or registries. The packets are the same as the game would build.
- Cheaper Light Queue: The light thread keeps its task list with less copying and fewer objects, and tells the main thread about changed light in one message per round. The light and the packets come out the same as vanilla.
- Cheaper Precipitation: The random freezing and snow tries in each chunk stop early when it is not raining and the top block is not water. Same results as vanilla.
- Compact Scheduled Ticks: Water, lava, redstone and other scheduled block ticks are kept in each chunk in one array instead of a hash set and a queue of objects, and checking for a scheduled tick makes no garbage. Same ticks in the same order as vanilla.
- Comparators Read Once: A comparator told of a change read the container or item frame it measures twice, and a chest is counted slot by slot each time. Now it is read once. Same decision, about a third quicker per comparator; it shows in worlds with many comparators.
- Faster Explosion Drops: The items an explosion's blocks drop are collected into stacks by kind instead of checking every stack so far for each drop. The same stacks in the same order.
- Faster Explosion Exposure: An explosion works out how much of each nearby entity it can see by sending rays through the blocks in between. This looks each block's shape up once instead of at every step of every ray. The same result.
- Faster Explosion Particles: Each explosion particle finds its explosion with a binary search instead of a walk through the list, which helps in chain reactions. The same particles appear.
- Faster Terrain Fill: New land is filled in block by block, with a palette lookup and two height checks for every block. Now a run of the same block down a column is written in one go and the height checks that cannot change anything are left out. Same blocks, same heights, same saved files.
- Fewer Surface Rule Checks: The top layer of new land is chosen by a list of rules (bedrock, ore veins, grass and sand by biome, deepslate) that was asked about every stone block of every column. Now it is worked out from the list itself where each rule can possibly give a block, and a rule is left out at heights where it cannot. A list with a rule this does not know is used the vanilla way. Same blocks as vanilla.
- No Needless Ticket and Clock Saves: The chunk ticket and world clock files are no longer rewritten at every autosave when nothing in them changed. The files are the same.
- Pack Packets Without a Copy: Packets are packed where they lie instead of being copied first. The bytes sent are the same; less garbage.
- Redstone Dust Remembers Its Power: Redstone dust worked out its power again for every neighbour update, mostly with nothing around it changed. Now it keeps the answer until a block in the chunk sections around it changes. Same redstone as vanilla.
- Reused Region Compressor: Chunks saved to region files are compressed with one compressor per thread instead of a new one for every chunk. The saved bytes are the same as the game's own.
- Shared Multi-Player Packets: Light, block entity and block update packets sent to several players are packed once and the same bytes go to each.
New, off by default (still being tried, or no gain measured yet; each can be switched on in the settings)
- Cached Biome Zoom: Which biome a block is in is found from the eight quart corners around it, each nudged by a pseudo-random number. The surface layer of new land worked those numbers out again for every column. Now each corner is worked out once per chunk. Same biomes as vanilla.
- Cap on Eager Chunk Saves: While the server is running late, at most two changed chunks are saved per tick instead of up to twenty; the rest wait. Fewer long ticks; nothing is lost.
- Cheaper Region Compression: Chunks are saved with lighter compression, which costs the saving thread less CPU but makes the world files bigger. Any other tool or game version reads them.
- Containers Skip Empty Comparator Look-Around: A container whose contents changed looked at 8 blocks around it for comparators. Now it skips that when its chunk section has no comparator at all. Same updates; no quicker.
- Count Dropped Item Copies: Only counts and logs how many dropped item stacks are drawn and how many times their models are submitted. Changes nothing you see.
- Entity Shadow Cache: Entity shadows read the blocks under each entity again every frame. This keeps them while nothing around changes. Meant to be the same picture as vanilla, but not yet checked in a real game.
- Explosion Sound Cap: At most 8 explosion sounds a tick; the extra ones in a big chain reaction are not played. Particles and blocks are not affected.
- Faster Inventory Advancement Checks: Picking up or moving an item checks only the advancements that wait for that item, instead of every unfinished recipe unlock. Same advancements, same order as vanilla.
- Kept Mob Count For Spawning: Every tick the game counts all mobs in the world, walking every entity there is, items and experience orbs too. Now it keeps a list of just the mobs and looks each chunk up once. Same counts as vanilla. No measurable gain. Needs Faster Mob Spawning.
- Lazy Nearby-Mob Sorting: A mob's list of living things nearby was sorted by distance at every scan, though most scans nothing reads the order. Now it is sorted when first read, from the distances at the scan. Same order as vanilla. No measurable gain.
- Light Read Once Per Chunk Build: While a chunk section is built, the light data of the sections around it is looked up once and the light of every block is read from that, instead of going through the light engine each time. Same light. Not yet checked in a real game.
- Occlusion Culling With Shaders: Occlusion and entity culling also work while a shader pack is on, using the pack's own depth. Not yet checked on more setups. Hidden mobs still cast their shadows.
- Paced Light Updates: Light updates from the server are applied for about 2.5 ms a frame, the rest in the next frames, in order. Fewer stutters when many chunks arrive; the light is the same once they are done, but a chunk can look dark for a moment.
- Paced Server Packets: Packets from the server are handled for about 5 ms a frame, the rest in the next frames, in order. Fewer stutters after a lag spike; things in a backlog arrive a few frames later.
- Particle Quads Without Garbage: Particles are turned to face the camera with a few reused objects instead of five new ones per particle per frame. Same picture as vanilla, but not yet checked in a real game.
- Rain Column Cache: Rain and snow look up the ground height, the weather and the light of up to 441 columns around you every frame. This keeps the answers while nothing changes. Meant to be the same picture as vanilla, but not yet checked in a real game.
- Redstone Dust Updates Without a Set: A wire whose power changed built a set of 7 positions to update its neighbours in the set's order. Now the same order is worked out without the set. Same updates, same order; no change in tick time.
- Remembered Text Layout: Text drawn from plain strings, such as the F3 screen and many HUD labels, keeps its laid-out letters from frame to frame instead of building them again each frame. Same picture. Not yet checked in a real game; chat, tooltips and names are not covered.
- Resting TNT Memory: A lit TNT lying still remembers how far it can move until something around it changes. It is not shown on a long run yet.
- Shared Entity Packet Compression: An entity packet sent to several players that is big enough to be packed is packed once and the same bytes are sent to each. Most entity packets are too small to be packed, so it rarely does anything.
- Single Screen Clear: The screen is wiped once per frame in the world instead of twice. The picture is the same. Off while a shader pack is active.
- Skip Chunks Hidden In Thick Fog: Chunk sections that lie wholly in fully opaque fog (in lava, powder snow, with blindness or darkness, in the Nether) are not drawn or built. They would show the fog colour anyway. Never with a shader pack. Not yet checked in a real game.
- Skip Re-Hashing Cached Server Packs: A server resource pack kept from an earlier join is not read through and hashed again when a small record next to it matches the file's size and modified time. A pack edited without changing its size and time would go unnoticed.
- Skip Saving Unchanged Player Files: Autosave no longer rewrites a player's statistics or advancements file when it would be exactly the same. The files are the same.
- Still World Behind Blurred Menus: While the pause menu or the options opened from it blur the background, the world is drawn once and kept, and drawn again once a second, instead of every frame. Much lighter on a weak graphics chip, but the world behind the blur stands still. Chat, the inventory and other screens that show the live world are not affected. Off while a shader pack is active.
Everything else is as in 0.2.9.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:o0kOtaIS:p3LXowlt"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:o0kOtaIS:p3LXowlt"
}

