Mods / Auto-Sifter

Category: #Technology
Author: OmegaHaxors
Side: Both
Created: Aug 22nd 2022 at 4:17 AM
Last modified: Nov 15th 2022 at 8:10 AM
Downloads: 2329
Follow Unfollow 57

Latest file:
autosifter.zip


Adds vanilla-balanced auto-sifters which run on mechanical power. One windmill will produce items slightly slower than a player panning themselves, however you'll also gain the same items had you panned them yourself, and you can feed more power to make it even faster.

Recipe:
12 durability on a soldering iron and 12 solder (one for each plate)
2 plates of Brass as a rust-resistant trim and also internal workings
2 plates of Iron for each side provides a chassis for the machine
1 set of Bronze/Iron/Meteoric/Steel chain will allow the machine to work
and finally a toggle to provide precussive force that makes it all happen

Feed the device mechanical power and place panning blocks above it and items will fall out the bottom. The faster the MP input is, the faster it will process. It uses the same calculation as the helvehammer, so be sure to give it lots of power to get the most out of it. The sifter will scan up the stack so you can place a line of pannable blocks into the sky and it will pan them from the top. The device will still consume MP even when no blocks are being processed, however it will be half as much as if it were. Attach it to a clutch to turn it off when you don't need it.

The device will make three noises:
You'll hear a "thunk" every now and then. This is the sound of the toggle impacting the inside and producing vibration
After about 4 thunks, you'll then hear the glorious sound of sand sifting through the seive, potentially meaning sweet loot
If you got lucky to find a drop, you'll hear a final noise of the item dropping out the bottom onto the ground, ready to be picked up by either you or your hopper.

The "speed" of the device is infinite. If you produce items faster than a tick can handle, it will just produce multiple items within that tick. I plugged it into my giant wall of gears and it cleared an entire stack of bony in one tick. Good luck getting that much power in the real game, though.

The level of chain you use determines which auto-sifter you get. Higher tier auto-sifters can support more blocks on top of it before the chain will break. Bronze can only support one, Iron supports two, Meteoric can support four, and Steel can support eight. You won't lose any material if the chain breaks (it will drop metal bits when this happens) but you will need to smith the chain again. Obviously a machine without chain won't work at all. If you want to tweak the values or liked the old unlimited steel chain, you can adjust these values in the tieredautosifter JSON. You can also add your own tiered autosifter by adjusting the metal varient groups, setting its maxblocks attribute and providing the textures.

No animations or particles yet since I couldn't get them to work, but the rest of the mod works perfectly fine.

Attention modders: Want to dip your toes into the MP system? The decomp of this mod is a perfect place to get started.
Don't feel bad about copying most if not all of the code in here. It's all copied from the main game anyway.

Version For Game version Downloads Release date Changelog Download
v1.1.0 1033 Nov 15th 2022 at 8:10 AM Show autosifter.zip
v1.0.2 195 Nov 7th 2022 at 7:22 AM Show autosifter.zip
v1.0.1 833 Aug 31st 2022 at 2:01 AM Show autosifter.zip
v1.0.0 234 Aug 22nd 2022 at 4:17 AM Show AutoSifter.zip

19 Comments (oldest first | newest first)

💬 Just_a_cat, 22 hours ago

May be i find a bug...

If you leave the area, where sifter installed, and chunks are unloaded, then, when you return to sifter, it will drop bunch of items. But not from bottom, but on top of nearest north block

💬 SalazarWindriver, Jan 28th at 1:35 AM

any way of having the config setting out of the zip into the modconfig folder?

💬 OmegaHaxors, Nov 15th 2022 at 8:14 AM

Something I should have done from the beginning: Auto-Sifters now have tiers.
Bronze can only support one block at a time, iron two, meteoric four and steel can support eight.
If you exceed the limit of pannable blocks over the sifter, it will break the chain into metal bits.
You won't lose any material but you will need to smelt the bits back into a new chain.

The recipe for auto-sifters has been tweaked to be slightly cheaper on chain, now that they can break.
Don't worry about that massive pile of blocks you put over your old sifter. It will still retain its old stats.
Only sifters created in this version will use the new tier system. Old sifters remain unbreakable.

You can tweak the maximum amount of blocks the sifters can support in the tieredautosifter JSON.

💬 OmegaHaxors, Nov 7th 2022 at 7:24 AM

I got tired of waiting for the devs to fix the issue with item substitution, so I created a work-around.
Now there's a seperate recipe for both versions of chain, with both taking each type of solder.

💬 OmegaHaxors, Sep 20th 2022 at 4:05 AM

l33tmaan
It does, it's just the current game version won't handle recipe substitutions properly.
Instead of adding 4 recipes to cover each substituion, it only adds 2.
If you have issues, use the other type of soldier or chain.

💬 l33tmaan, Sep 20th 2022 at 12:43 AM

Just to confirm before I download: This current release doesn't actually work in survival mode?

💬 OmegaHaxors, Sep 16th 2022 at 6:26 PM

Brotherlui
Thanks for reporting the issue, seems to be an issue on my end as well.
Going to try to fix the issue, it's probably just a case of bad JSON somewhere.

I figured it out. It's a glitch in the main game. The way it handles substitutions, you have to use the other kind of soldier.
Steel only works with one kind of soldier and Meteoric only works with the other.
Will forward this to the developers so that they can fix it on their end.

You're not going to lose any gamer cred for throwing away the items and using /giveitem autosifter:autosifter-ns

💬 Brotherlui, Sep 15th 2022 at 4:29 PM

Hi, using 1.17.3 stable all parts in the crafting grid but no Auto-Sifter. Update necessary?

💬 OmegaHaxors, Sep 1st 2022 at 1:14 AM

Had to reupload the latest update since it had a broken lang JSON.

💬 Zaldaryon, Aug 31st 2022 at 11:07 PM

@OmegaHaxors gotcha. No worries. I understand the current point of not being "fully automated". I like the way it is too :D

💬 OmegaHaxors, Aug 31st 2022 at 9:15 PM

Not willing to do that. The whole point of the auto sifter is to reward the player for building out how to run it.
If you could just put a hopper on it and call it a day, it would just become a braindead sand->metal converter.
One thing worth knowing is that you can stack multiple panning blocks and it will draw from the top of the pile.
Another option is to top it up as it runs, see if you can work a schedule to keep the device running at all times.
I designed it around the helvehammer, where your work alongside your machine, but it can work on its own too.
Just like with the helvehammer, your input is inputting the work material and picking up the drops when they're done.
Zaldaryon

💬 Zaldaryon, Aug 31st 2022 at 3:20 PM

@OmegaHaxors I'd love if you could feed the blocks from a chest on the top with a hopper or a chute, like the quern.

💬 OmegaHaxors, Aug 31st 2022 at 3:56 AM

bluelightning32
Already addressed. JSON will load in the dev environment but then refuse to load in the main game.
It's insufferable because you'll make a perfectly good mod and when you go to ship, everything falls apart.
As part of my completely blind "change everything and hope it works" that JSON issues on ship forces you to do to in order to get a timely release, the file is now all lowercase. Make sure to delete the old one.

💬 bluelightning32, Aug 31st 2022 at 3:29 AM

v1.0.0 worked, but v1.0.1 crashes during start up:

20:28:39 [Server Notification] Entering runphase WorldReady
Game Version: v1.17.0-rc.8 (Unstable)
8/30/2022 8:28:39 PM: Critical error occurred
Loaded Mods:
System.NullReferenceException: Object reference not set to an instance of an object
at Vintagestory.ServerMods.ModStdWorldGen.LoadGlobalConfig (Vintagestory.API.Server.ICoreServerAPI api) [0x00050] in <7184b6136735497d8d8eade88f301110>:0
at Vintagestory.ServerMods.GenSnowLayer.initWorldGen () [0x00000] in <7184b6136735497d8d8eade88f301110>:0
at Vintagestory.Server.ServerSystemSupplyChunks.LoadWorldgenHandlerAndSpawnChunks () [0x000a6] in <de92e11e138b4846accc12709ee431b0>:0
at Vintagestory.Server.ServerSystemLoadAndSaveGame.OnBeginWorldReady () [0x00000] in <de92e11e138b4846accc12709ee431b0>:0
at Vintagestory.Server.ServerMain.EnterRunPhase (Vintagestory.API.Server.EnumServerRunPhase runPhase) [0x000cf] in <de92e11e138b4846accc12709ee431b0>:0
at Vintagestory.Server.ServerMain.Launch () [0x00256] in <de92e11e138b4846accc12709ee431b0>:0
at Vintagestory.Server.ServerProgram.Main2 () [0x000e5] in <42e5d5b64f154c1eb771d6ffa3ac5643>:0
at Vintagestory.ClientNative.CrashReporter.Start (System.Threading.ThreadStart start) [0x00007] in <de92e11e138b4846accc12709ee431b0>:0
Crash written to file at "./../live_data/Logs/server-crash.txt"

💬 OmegaHaxors, Aug 31st 2022 at 2:02 AM

People were struggling WAY more than anticipated on obtaining steel.
Now the recipe allow you to use Meteoric Iron chain as a substitution.
That change should make the mod just a little bit more accessible.

💬 OmegaHaxors, Aug 23rd 2022 at 3:56 AM

Check out Harp's Mechanical Revolution which adds new MP sources to run the autosifter with.

💬 OmegaHaxors, Aug 22nd 2022 at 5:01 AM

Should work now bluelightning32

💬 OmegaHaxors, Aug 22nd 2022 at 4:31 AM

slight issues for some reason that meme of "it worked in the dev environment" is actually happening here.
Hold tight while I work on a solution.
EDIT Turns out the mod asset folder must share the same capitalization as the mod itself. Fix soon.

💬 bluelightning32, Aug 22nd 2022 at 4:27 AM

v1.0.0 fails to start up with v1.17.0-rc.5 on Linux. First, this error appears in the console:

21:26:08 [Server Error] Exception thrown during handling event OnSaveGameLoaded: System.Exception: Can't create itemstack without item!
at Vintagestory.API.Common.ItemStack..ctor (Vintagestory.API.Common.Item item, System.Int32 stacksize) [0x0001f] in <dd02eb3223a5453a83e1fa3625df3e8b>:0
at Vintagestory.GameContent.ModSystemAuction.Event_SaveGameLoaded () [0x0001b] in <7b1d3b86d4794c5fbefa65fa3ab35337>:0
at (wrapper delegate-invoke) <Module>.invoke_void()
at Vintagestory.Server.ServerEventManager.TriggerSaveGameLoaded () [0x0000a] in <f5f10b0f67c94dd6a5c07b0c00e2f868>:0

 

Then this error appears:

21:26:08 [Client Fatal] System.NullReferenceException: Object reference not set to an instance of an object
at Vintagestory.ServerMods.ModStdWorldGen.LoadGlobalConfig (Vintagestory.API.Server.ICoreServerAPI api) [0x00050] in <7b1d3b86d4794c5fbefa65fa3ab35337>:0
at Vintagestory.ServerMods.GenSnowLayer.initWorldGen () [0x00000] in <7b1d3b86d4794c5fbefa65fa3ab35337>:0
at Vintagestory.Server.ServerSystemSupplyChunks.LoadWorldgenHandlerAndSpawnChunks () [0x000a6] in <f5f10b0f67c94dd6a5c07b0c00e2f868>:0
at Vintagestory.Server.ServerSystemLoadAndSaveGame.OnBeginWorldReady () [0x00000] in <f5f10b0f67c94dd6a5c07b0c00e2f868>:0
at Vintagestory.Server.ServerMain.EnterRunPhase (Vintagestory.API.Server.EnumServerRunPhase runPhase) [0x000c3] in <f5f10b0f67c94dd6a5c07b0c00e2f868>:0
at Vintagestory.Server.ServerMain.Launch () [0x00256] in <f5f10b0f67c94dd6a5c07b0c00e2f868>:0
at Vintagestory.Client.ClientProgram.ServerThreadStart () [0x000b0] in <b9cdf349ac844cf2ad1f5d8ef396f19f>:0

(edit comment delete)