appliedautomata-1.0.0-neoforge-26.1.2.jar
Curse Maven Snippet
What's new
Applied Automata — Minecraft 26.1.2 (NeoForge)
This is the first release of Applied Automata for Minecraft 26.1.2. Large parts of the mod were rewritten for this version, so this changelog covers everything: first what you'll notice as a player, then a detailed look at how it all works behind the scenes.
Requires: NeoForge 26.1.2.95 or newer, and Applied Energistics 2 26.1.10-beta or newer. This version was tested on AE2 26.1.10-beta. Newer AE2 versions are allowed to load, and the game log says if you're on one that hasn't been tested yet.
Installing: put the jar in the mods folder of the server and of every player's game. Both sides need this exact version of Applied Automata, or players are refused when they try to join.
For players
The Drone Station
- A block that connects to your ME network and builds Litematica schematics using drones. Every block it places comes out of your ME system.
- It uses one ME channel, like other AE2 devices, and cables connect to it as a channel connection.
- Recipe: Deepslate, ME Energy Cell, Formation Core, ME Controller and Annihilation Core.
- Right-click the station to open its screen. Shift-right-click it with the Architect's Wand to link the wand to it.
- Only a real player can place a Drone Station. Deployers, block placers and other machines can't place one or end up owning one.
- The station has no inventory, so hoppers and pipes can't push items into it or pull items out.
Loading a schematic
- Put
.litematicfiles in.minecraft/schematics. They appear in the station's Schematics tab, each with its file size. - Click a file to load it. It's sent to the server and shown to everyone near the station.
- Files can be up to 2 MB. Bigger ones show their size in red with "over 2 MB, can't load" and can't be selected.
- Schematics can be up to 256 blocks on each side and about 8 million blocks in total, for example 256 × 128 × 256.
- Every region of a schematic is used. If you saved it from several selection boxes, they're combined into one build, each in the right position.
- Schematics saved in older Minecraft versions work. Renamed or changed blocks are upgraded automatically, the same way old worlds are.
- Blocks from mods you don't have installed are left out.
Preview hologram and the Architect's Wand
- Press Preview to show a cyan hologram of the build in the world, visible to everyone nearby.
- Architect's Wand (Diamond, Fluix Block and a Stick):
- Shift-right-click a station to link the wand to it.
- Right-click a block to set an anchor, then right-click another block to move the build by that distance.
- Right-click the air to rotate the build 90°.
- Shift-right-click a block to clear the anchor.
- The build can be moved up to 64 blocks from the station, and you can use the wand from up to 128 blocks away.
- Very large builds get a simpler outline that shows their shape and corners. If the build is too big even for that, it's drawn from the bottom layer up as far as it can.
- During a build the hologram stays up, unchanged, from start to finish, and disappears all at once when the build is done.
Building
- Press Build with Drones. The station first surveys the area (shown as a progress bar), then sends out drones.
- The "Blocks in the way" setting decides what happens when something is already where a block should go:
- Don't build: if anything is in the way, the build doesn't start, and chat tells you how many blocks are in the way and where the first one is.
- Build around them (default): those spots are skipped and everything else gets built.
- Clear them: drones remove whatever is in the way first, working from the top down, and what they remove goes into your ME network.
- Things drones never touch, whatever the setting:
- Bedrock and anything else unbreakable. Those spots are skipped and never built over.
- ME network blocks from AE2 or any add-on. They're never cleared and never built over.
- The Drone Station itself.
- Blocks that are already right are left alone. The check ignores things the world changes by itself, such as leaf decay distance, redstone power, crop growth, fence/wall/pane connections, open doors and trapdoors, lit furnaces, waterlogging, stair shapes and double chests. A block only counts as wrong when the block itself or a fixed property (facing, half, slab type, axis...) is different.
- Restricted blocks are never built: command, structure and jigsaw blocks, barriers, bedrock, end portal frames, spawners and Drone Stations. Chat tells you how many were skipped.
- Blocks with no item form, such as fire and portals, are skipped unless you use OP override.
- Doors and beds are placed as a whole and only cost one item.
- Drones place blocks even if a player or mob is standing in the spot.
Clearing and drops
- Blocks removed with Clear them go into your ME network, along with anything that spills out of them, such as the contents of a chest.
- If the network is full, the overflow drops on the ground.
- The
doTileDropsgamerule (now calledblock_drops) is respected. With it off, cleared blocks don't drop themselves, but any items spilling out of them are still collected.
Materials and auto-crafting
- The Materials tab lists:
- every material the build needs, and how much is left
- how much your network has
- whether it can be crafted, and whether it's being crafted right now
- While a build runs, the station orders auto-crafting ahead of time for anything the network is short on, so materials are usually ready before the drones need them.
- Skip button: build without a material. Whatever you have of it still gets used, and blocks that need more are left out instead of the build waiting. Run the build again later to fill in the gaps.
- What blocks cost:
- Most blocks cost their item.
- Double slabs cost 2.
- Candles, sea pickles, turtle eggs, petals and snow layers cost as many as the block shows.
- Farmland and dirt paths cost dirt.
- Water and lava source blocks cost a bucket's worth of fluid from ME storage.
- Waterlogged blocks cost a bucket of water as well.
- When the station is waiting, it tells you why: waiting for items, crafting, no crafting CPU free, can't craft, low power or no channel.
Pausing and resuming
- A build pauses instead of being lost when:
- the server restarts or shuts down during the build
- the station's chunk unloads (when chunk loading is turned off)
- part of the build area can't be loaded
- Resume Build picks up where it stopped: it checks the area again and only places what's still missing. Cancel Build ends it.
- Materials that were in flight when it paused are returned to your network.
Keeping the build area loaded
- By default, the station keeps its own chunk and every chunk it's building in loaded while it builds, so the build keeps going when nobody is nearby. When it finishes, is cancelled or pauses, the chunks are released.
- Server owners can turn this off with
keepBuildAreaLoadedin<world>/serverconfig/appliedautomata-server.toml. With it off, walking away pauses the build until someone comes back and resumes it.
OP override
- Players in creative mode and server operators get a red OP OVERRIDE, BUILD ANYWAY button.
- It builds the whole schematic from nothing: no ME network, items, power or crafting needed, and it includes blocks with no item form. Cleared blocks are deleted without drops, the same as breaking them in creative mode.
- Claim protection and the "Blocks in the way" rules still apply.
- Only a creative-mode player or an operator can resume a paused OP override build.
Floating status display
- Text above the station shows what it's doing:
- IDLE, READY, PREVIEWING or SURVEYING
- BUILDING, CLEARING AREA or BUILDING (OP OVERRIDE), with the schematic's name, a progress bar and the next block
- PAUSED with the reason, or BUILD COMPLETE
- any network problem
- Time left: a live estimate based on how fast the drones have actually been launching recently. It adjusts when crafting or low stock slows the build down.
Ownership and sharing
- The player who places a station owns it. Private (the default) means only the owner and server operators can use it.
- Shared lets anyone use it who your server's claim or protection mod allows to interact with the station block. That includes allies in FTB Teams, Open Parties and Claims and similar mods, without Applied Automata needing to support each of them.
- Drones build as the player who started the build, so claims are respected exactly as if that player placed and broke the blocks by hand.
- Chat messages about a build (blocks skipped, build complete, paused, stopped) go only to the player who started it, never to the whole server.
Under the hood
This part explains how the mod actually works, and why it was built that way.
How a schematic is read
Litematica files are compressed NBT. When you load one, the whole file is sent to the server, which reads it on a dedicated background thread. Neither the server tick nor anyone's frame rate waits on a big file. The same happens on each player's game when it needs to draw the hologram.
Every region is merged into one grid. A Litematica schematic can have several regions (one per selection box), each with its own position, size and block list. A region's size can be negative, which means it extends backwards from its position. The parser works out the box that contains every region, then copies each region into it at the right offset. Each region's block list is merged into one shared list. Where regions overlap, a later region's blocks win, but its empty space never erases blocks from an earlier one.
Old schematics are upgraded. Litematica records which Minecraft version saved the file. If that's older than the version you're running, every block entry goes through Minecraft's own world upgrader before it's read, the same code that upgrades old worlds. Blocks that were renamed or had their properties changed come out correctly. Identical entries are only upgraded once, even across regions.
The build is stored as a compact grid. Every position in the schematic gets a single 2-byte number pointing into the block list, or "empty". The largest schematic allowed (about 8.4 million positions) takes about 16 MB in memory, whatever is in it. Everything else in the mod (the survey, the drones, the hologram) works directly from this grid.
Untrusted input is treated carefully. A schematic file comes from a player, so every size is checked before anything is allocated:
- file size: 2 MB
- unpacked data: capped at 64 MB while reading, so a tiny "zip bomb" file can't unpack into gigabytes
- 256 blocks per side and about 8.4 million blocks in total
- 256 regions
- 16,384 block types per region and in the merged list, and 65,536 entries across all regions
A broken or malicious file is rejected with a message to whoever uploaded it, and only to them. Their game also switches back to the station's previous schematic.
How a build runs
1. Starting. Pressing Build checks that the station is online (connected, powered, has a channel) unless it's an OP override. It records who started the build: every drone action is done in that player's name for the rest of the build. If the station let go of its parsed schematic while idle (see Memory), it reads the file again first and starts by itself as soon as it's ready.
2. Loading the area. If chunk loading is on, the station claims every chunk the build covers, plus its own. A chunk that isn't loaded yet has to be loaded or generated on the spot, which can take a moment, so only 4 of those are added per tick. Chunks that are already loaded are cheap, so up to 64 of those are added per tick. That way, starting a 256 × 256 build doesn't freeze the server.
3. Survey. The station then reads the whole area once, a slice per tick: up to 65,536 positions per tick, with at most 32,768 actual world lookups. Empty positions in the schematic cost nothing unless the station is clearing. For each position it works out:
- whether the right block is already there (see "Already built" below), in which case it's skipped
- whether something is in the way, and what to do about it based on "Blocks in the way"
- whether the spot holds bedrock, another unbreakable block or an ME network block, in which case it's skipped for good
- what the block costs, which is added to the build's materials bill
The results aren't stored per block. The station keeps three sets of on/off markers: "needs clearing", "needs placing" and "was placed by a drone". That's about 1 MB each at the largest size. This is what makes an 8-million-block build cheap to track, and it's why a paused build can be resumed without saving anything huge: resuming simply runs the survey again.
4. Clear phase (with "Clear them" only). Drones remove blocks from the top down, so nothing above is left floating mid-clear. Each removal:
- is checked against claim protection first (the same break event a player would trigger)
- refuses to touch unbreakable or ME blocks
- sends the block's drops and anything that spilled out into the ME network
5. Build phase. Drones launch every 2 ticks (10 per second), working bottom-up so lower layers are always there first. At launch, a drone takes its materials out of the network, and the network pays a little power for every drone in the air. When it's a spot's turn, the station checks it again: if a player built it in the meantime, it's skipped and its materials are no longer counted as needed. If bedrock or an ME block has appeared there, it's skipped. When a drone arrives, it places the block in the starting player's name:
- The block is placed, then the same placement event a player's placement fires is sent. If any claim mod cancels it, the block is put back exactly as it was and the build stops with a message saying why.
- If another mod's code throws an error during placement, the block is also put back and the build stops cleanly instead of crashing the server.
- Doors and beds are placed together with their other half as one placement.
6. Physics phase. During the build, blocks are placed without updating their neighbours. Normal placement would set off a chain of updates for every block (redstone, water flow, rails, connections), and with thousands of blocks a second that would lag the server badly. Once everything is placed, the station goes back through only the blocks its drones placed and updates them, at most 500 per tick. Any block that can't stay where it is (a torch whose wall was skipped, a flower with nothing under it) is broken and its items go into the network.
"Already built": how blocks are compared
A Minecraft block isn't just its type; it has properties. Some are part of what you built: which way stairs face, top or bottom slab, log axis, door hinge. Others are changed by the world all the time: leaf decay distance, redstone power, crop age, whether a fence connects north, whether a furnace is lit, whether a trapdoor is open. Comparing blocks exactly would treat a lit furnace or a grown crop as "wrong" and keep trying to replace it.
The station compares the block type and only the fixed properties. It ignores the properties the world changes by itself, including stair shape and chest pairing, which follow their neighbours. The ignored properties are matched by name, so modded blocks that use the same standard names are handled too.
Clearing, drops and the ME network
Drop capture. When a drone breaks a block, everything that drops into the world during that break and close to the block is caught before it appears. That covers:
- a chest's or furnace's contents
- a modded machine's inventory
- loot some blocks spawn themselves
- the other half of a door or bed
The captured items go into ME storage together with the block's normal drops. Only items that appear during the break, within a couple of blocks, are caught, so nothing else nearby is affected.
Protected blocks. Unbreakable means anything a survival player can't break (it has negative hardness) plus admin-only blocks. ME network blocks are found through AE2's own connection system, the same one cables use to find devices. That means ME blocks from any add-on are protected automatically, without Applied Automata knowing about each one.
Game rules. If block_drops (formerly doTileDrops) is off, broken blocks don't produce their own drops, just like when a player breaks them. Container contents still spill and are still collected.
AE2 integration
- Power: the station draws 1 AE/t while connected, plus 1 AE/t for every drone in the air. If the network can't pay for the drones, the station shows Low power and waits.
- Materials are taken out with AE2's normal powered extraction. Whatever isn't used (a drone that had to give up, a paused or stopped build) goes straight back. Anything that can't be stored drops at the station.
- Crafting planner: a few times a second, the station compares what the rest of the build needs with what the network has and what's already being crafted, and orders the shortfall.
- It runs up to 4 jobs at once, with requests of up to 1,024 items each, and plans at most 2 new jobs per pass.
- Jobs are ordered by which material the build needs soonest, so the bottom layers are crafted first.
- If a plan fails (missing ingredients, no free crafting CPU), it waits 10 seconds before trying that material again, and the station tells you what's wrong.
- Skipped materials are never crafted.
- Cancelling a build cancels that station's crafting jobs.
- Nothing is lost on a reload. Materials that were in flight when the world saved are written to the station and returned to the network after it loads, as soon as the network is back up or after 5 seconds at the latest.
Chunk loading
The station uses NeoForge's official chunk-loading system. Its claims are tied to its position, so they're easy to track and release. They're released when the build finishes, is cancelled, pauses or stops with an error, and when the station is broken. A build that was running when the server stopped comes back paused, so any claims left in the save are dropped as soon as the world loads. A station never holds chunks loaded for a build that isn't running.
If a claimed chunk still isn't loaded when the station needs it, the station waits for it (up to 10 seconds) instead of pausing straight away. It only pauses if the chunk really won't load.
Networking and multiplayer
Why the schematic doesn't travel with the block. Normally a block's data is sent to players inside the chunk data, and that can't be split into smaller pieces. A 2 MB schematic in there would make the chunk data too large and disconnect whoever received it. So the station's normal data only carries small things (name, position, rotation, progress), and the schematic file travels separately in pieces.
Uploads go in 30 KB pieces, under vanilla's size limit for messages from a player to the server, so 2 MB files work on any server, including behind proxies.
- The server checks permission before accepting a single byte.
- It checks every piece arrives in order and is the right size.
- Each player can only have one upload in progress, and an upload that stalls for 30 seconds is dropped.
- After an upload, the station waits before accepting another: at least 1 second, and longer for bigger files (about 13 seconds for 2 MB), because each accepted file has to go out to every player nearby.
Downloads use fingerprints. When a player starts seeing a station, or its schematic changes, the server first sends only a 32-byte fingerprint of the file (SHA-256).
- If the player's game already has a file with that fingerprint, it uses its own copy and nothing is downloaded. That happens from an earlier visit, a chunk reloading, another station using the same file, or a file the player uploaded themselves.
- Otherwise the game asks for the file, and it arrives in 256 KB pieces. Those are small enough to stay under the connection's limit even though the file is already compressed.
- The server only sends a file once per offer, so a player can't make it send files over and over.
- Players' games keep up to 64 MB of recently seen schematics in memory. Because files are looked up by fingerprint, the copy is never out of date.
Drones are animated by each player's game. Each launch sends one tiny message (where from, where to, which block, when). Every player's game then animates the whole flight on its own, so hundreds of drones in the air cost almost no bandwidth.
Every action is checked on the server. Nothing a player's screen sends is trusted. Every action has to pass these checks:
- the player is within 64 blocks of the station (128 for the wand) and allowed to interact there
- the station's Private/Shared setting allows them
- they have a valid session: one is granted when a player really right-clicks the station and no claim mod cancels that click, and it lasts an hour. That's how Shared mode defers to your claim mod without depending on it.
- OP override additionally checks creative mode or operator status
Clean worlds. When a player leaves a world or server, anything left over from that world is cleared, so a station at the same coordinates in the next world never shows the previous world's schematic or materials list. Copying a station with creative pick-block also leaves its schematic and build data behind.
Performance and memory
The hologram is built on a background thread from the compact grid and kept within a budget of 250,000 lines:
- If drawing every block's outline fits the budget, that's what you see.
- If not, the whole build is drawn as one blocky outline showing only its corners and silhouette.
- If even that is too much, it's drawn from the bottom layer up until the budget runs out.
Block shapes are read once per block type. A modded block whose shape can't be read is drawn as a cube instead of crashing the game. Once built, the hologram never looks at the world again, so it costs nothing per tick.
Idle stations free their memory. A big parsed schematic can be 16 MB, and a hologram several more. The server lets go of a station's parsed schematic after 5 minutes of nobody using it, and players' games do the same a minute after the hologram stops showing. The file itself (at most 2 MB) is kept and read again in the background the next time it's needed. A station that's building, paused or finishing up always keeps what it needs.
Everything heavy is spread across ticks or moved to a background thread:
- schematic reading
- the hologram
- the survey
- the physics updates
- chunk loading
- AE2's crafting calculations
Crash protection
The station's whole tick is protected. If anything goes wrong inside it (a bug, another mod, an AE2 change), the error is written to the server log at most once every 10 seconds, and that station's build is stopped cleanly:
- materials in flight go back to the network
- crafting jobs are cancelled
- chunks are released
- the player who started the build is told what happened
Every step of that cleanup is protected separately, and the server keeps running.
Errors from other mods while placing or breaking a block are caught, the block is put back, and the build stops with a message.
Cancelling AE2 crafting jobs no longer crashes the server. AE2 reports back while the cancel is still in progress, which used to change the list the station was working through.
Physics updates are protected block by block, so one misbehaving block can't stop the rest.
Limits at a glance
- Schematic file: 2 MB
- Size per side: 256 blocks
- Total volume: about 8.4 million blocks
- Block types: 16,384 (65,536 entries across all regions)
- Regions: 256
- Build offset from the station: up to 64 blocks in each direction
- Station reach / wand reach: 64 / 128 blocks
- Drone launch rate: 10 per second
- Drones visible to players within: 160 blocks
- Status text visible from: 32 blocks
This mod has no additional files

