Fixes for Create bugs that have been open for a long time, in one addon you can add to a pack and forget about. Every fix has its own switch, and each one turns itself off on the first Create version that fixes the bug itself.
Not affiliated with the Create team. Please report bugs here.
Fixes
Crafters drop their result after a reload (#4510)
A mechanical crafter whose output inventory is full holds on to its result and waits. After you leave and rejoin, the result lies on the ground next to the crafter. Barrels, chests, drawers and deployers are affected, belts and depots aren't.
On load, the crafter tries to deliver in its very first tick, before it has looked up the inventory in front of it. It finds nothing, decides the target is gone and throws the result out. Now it looks the inventory up first, and while the target's chunk isn't loaded yet it simply keeps waiting.
Switch: crafterKeepsOutput
Factory gauges order too much (#9987)
A gauge set to keep 5 stacks in stock ends up with 8 or 10. It clears its promises before the items have really arrived, then orders the same items again.
The packager next to the stock link counted items as "arrived" that weren't new. This happened in three ways:
- its record of the inventory pointed at the inventory's own items, so the record changed whenever those items were taken out;
- in singleplayer, arrivals were counted twice;
- when the packager couldn't see its inventory for a moment, everything in it counted as new afterwards.
The first is fixed and on by default. The other two are fixed behind experimental switches that start off, because they don't have a test yet: turn on gaugeSingleplayerCountOnce if gauges in singleplayer clear promises twice as fast as items arrive, and gaugeForgetStockWhileBlind if a gauge reorders everything after its inventory block was replaced or updated. They'll be switched on by default once they're tested.
One smaller cause remains. The network only updates its stock once a second, so a gauge can now and then send one extra batch while it waits for that update.
Switches: gaugeNoOverRequest, plus the experimental gaugeSingleplayerCountOnce and gaugeForgetStockWhileBlind
Weighted ejectors refuse brass funnels (#7681)
A brass funnel set to hand over more than one item can't feed a weighted ejector placed right under it, and one item at a time works. An empty ejector works out how much it can take from the stack size of the item it holds. Holding nothing, that comes out as 1 since Minecraft 1.21. Now an empty ejector takes up to a full stack.
Switch: ejectorTakesStacks
Redstone links stop working after chunks reload (#5009), experimental
A receiver in another chunk stops following its transmitter after the chunks have been unloaded and come back, until you replace it or switch it to transmitter and back. Probable cause: when a frequency changes, Create drops every link that isn't fully loaded at that moment from the frequency for good. A link whose chunk is only briefly half loaded keeps its block entity, so it never joins again.
The switch keeps such links on their frequency. It is off by default, because no test reproduces the bug yet. A test does check that with it on, links behave exactly as before. If your receivers lose their transmitter after chunk reloads, turn it on and tell us whether it helps.
Switch: linkKeepsWaitingLinks (experimental)
Config
config/create_fix_pack.properties has a switch for each fix. Fixes without a passing test start switched off and say so.
If a Create update changes the code a fix hooks into, that fix switches itself off and the rest keep working. It never stops your game from loading.
FAQ
Client or server? The server needs it (or your game, in singleplayer). Players don't need it to join.
Does it need anything else? Create 6.0 for Minecraft 1.21.1, on NeoForge.
Does it include your other Create fixes? No. Factory Gauge Reload Fix, Stock Link Priority Fix, Steam Engine Shaft Fix and Phantom Stress Fix stay separate mods, so nothing gets patched twice. New fixes go in here.
How is it tested? Every fix has a game test, and a control that runs the same setup with the fix switched off and has to show the bug.
- Crafter: the control drops the planks after a reload. With the fix they stay in the crafter, and are delivered once the barrel has room.
- Ejector: an empty, charged ejector is offered 16 ingots at once. The control refuses 15; with the fix it takes all 16.
- Gauge: a barrel holds 15 ingots and 10 of them are sent away, so nothing new arrives. The control still clears 5 of 64 promised ingots; with the fix all 64 stay promised.
Can I use it in my modpack? Yes, go ahead, no need to ask.
MIT. Developed with AI assistance. Source: https://github.com/traelmyx/create-fix-pack

