[1.3] [KV] Infinite Storage [ModSync RW]

Started by Kiame, December 16, 2017, 07:45:52 PM

Previous topic - Next topic

Kiame

Got energy?
Need storage space?
Infinite Storage is right for you!

Infinite Storage
-Build Menu: Misc
-Size: 1x1
-Cost: 100 Metallic + 4 components
-Research: Multi Analyzer & Infinite Storage
-Stores: Everything except food
-Power: 1 W per stored kg  -  this can be adjusted in Options->Mod Settings->Infinite Storage

Textile Storage
-Build Menu: Misc
-Size: 1x1
-Cost: 50 wood/stone/steel
-Stores: Textiles

Body Part Storage
-Build Menu: Misc
-Size: 1x1
-Cost: 50 wood/stone/steel
-Stores: Body Parts & Medicines

Silver Storage
-Build Menu: Misc
-Size: 1x1
-Cost: 50 wood/stone/steel
-Stores: Silver

Infinite Storage requires energy to compress and make available the stored items. The amount of energy required increases linearly as the weight stored increases. If Infinite Storage is not powered, nothing can be added or removed from it. For that reason it may not be a bad idea to keep some extra components, steel, and wood in an out-of-the-way stockpile.

I have decided that Infinite Storage will not break down - in case all components are stored within as that would suck.

There are two 'specialty' storage units: Body Parts and Textiles. These units are capable of storing Body Parts & Medicine and Leather/Wool without energy.

Supports:
This mod should support/hold all items added by other mods.

Unsupported:

  • Architect Sense - When trying to build with stored stuff it'll say no materials were found
  • Smart Medicine - Prevents doctors from getting medicine out of storage before tending to wounds. Operations will work correctly

Known Interesting Behaviors
-Pawns will continue to try to deliver things to Infinite Storage even when it's out of power. I am looking into this.
-At times these storage containers may place items on the ground for no reason. I have hopefully addressed most cases where this happens. Be aware if a pawn tries to start crafting and is interrupted, materials will still pop out of the storage units.


For those coming from Body Part Storage or Textile Storage follow these instructions before enabling this mod.
-Select each Body Part/Textile storage and 'deconstruct' each of them. You'll now have piles of body parts/textiles.
-Save
-Disable/Unsub from Body Part Storage and Textile Storage.
-Enable Infinite Storage
-Restart
-Reload the saved game. There will be some errors given at the beginning which can be ignored as they will not show up again.

Direct Download
1.3

B18
B19
1.0
1.2

Use ModSync RW to know if/when there's an update


Steam

Github (code only)
https://github.com/KiameV/rimworld-infinitestorage/

Translators:
Vaniat - Chinese
Чей-то друг - Russian

(More screenshots on the Steam page)



Like my mods? Consider supporting me!


[attachment deleted by admin: too old]

Kiame


Kiame

Added ModSync support and Chinese translations - thanks VaniatD!

Canute

#3
Kiame,
great work, but since is your first mod with research you miss something.

Add
   <researchViewX>11</researchViewX>
   <researchViewY>0.5</researchViewY>
to the ResearchProjects.xml
Since Multi-analyser is ViewX 10, it should show now behind that research.

And i think you should remove the "allow rotten" from the default filter setting.

Edit:
On an existing colony, i researched and build the storage.
But even after a restart i am geting error msg. and an annoying flickering.
https://gist.github.com/c21766a115f76e1007e9b2c81f7d8937

Object reference not set to an instance of an object
at Verse.ReachabilityUtility.CanReach (Verse.Pawn,Verse.LocalTargetInfo,Verse.AI.PathEndMode,Verse.Danger,bool,Verse.TraverseMode) <0x0000a>
at InfiniteStorage.Patch_StoreUtility_TryFindBestBetterStoreCellFor.Postfix (bool&,Verse.Thing,Verse.Pawn,Verse.Map,RimWorld.StoragePriority,RimWorld.Faction,Verse.IntVec3&,bool) <0x0012e>
at (wrapper dynamic-method) RimWorld.StoreUtility.TryFindBestBetterStoreCellFor_Patch1 (Verse.Thing,Verse.Pawn,Verse.Map,RimWorld.StoragePriority,RimWorld.Faction,Verse.IntVec3&,bool) <0x00403>
at RimWorld.StoreUtility.IsInValidBestStorage (Verse.Thing) <0x000c5>
at RimWorld.ListerHaulables.ShouldBeHaulable (Verse.Thing) <0x00094>
at RimWorld.ListerHaulables.Check (Verse.Thing) <0x00014>
at RimWorld.ListerHaulables.ListerHaulablesTick () <0x0022e>
at Verse.Map.MapPreTick () <0x0003e>
at Verse.TickManager.DoSingleTick () <0x000c7>
at Verse.TickManager.TickManagerUpdate () <0x000b0>
at Verse.Game.UpdatePlay () <0x00015>
at Verse.Root_Play.Update () <0x0004c>


Kiame

wow i totally spaced on the research positioning. ill take a look at the pawn errors too

Kiame

#5
Update:

  • Repositioned Infinite Storage's position in research
  • Fixed a bug that could cause screen flickering
  • Removed 'allow rotten'
  • When Infinite Storage loses power it can no longer empty or collect items. This also means anything stored will not be available in trades until power is restored

Canute

#6
Ok, it's working now, but the storage allways throw addional minified items out.
I got one minified standing lamp inside the storage.
Another standing lamp which tried to stored inside get thrown out.
Other minified furniture (dinning chair,armchair) geting thrown out too.

Looks like the storage only can hold 1 minified, all other addional minified item geting thrown out, doesn't matter if they are different or same.

Same happen to appareal.

geesh, the storage use good amount of power (still 1w each kg), compared to the Quantum storage (old A16 version)
Quantum pad 250W can hold 4 stacks each tile, with 4 tiles.
That are
1200 steel ore = 600 kg = 600W.
1200 cloth = 36 kg = 36W
6400 chemfuel = 320W
But after viewing the stats, i think 1W each kg is still an aceptable ratio (yes i know i can modify it at the options).

Kiame

hmm i had not tried minified objects yet. I'll take a look and see what's going on

Canute

Another issue,
pawn don't access the storage for refueling jobs.
I got 3000 chemfuel inside, but can't refuel generator or launchpads.

And pawn't don't restock stockpiles with higher priority from the storage.

Kiame

Quote from: Canute on December 17, 2017, 05:31:30 PM
Another issue,
pawn don't access the storage for refueling jobs.
I got 3000 chemfuel inside, but can't refuel generator or launchpads.

And pawn't don't restock stockpiles with higher priority from the storage.

I'll look into the refueling jobs. In the meantime consider using the down arrow from the Infinite Storage's View to drop them.

As for the stockpile priorities i'll need to figure out where that happening... So i can reproduce the priority issue. Is it that pawns are taking to the Infinite Storage instead of a normal stockpile that has higher priority?

BlackSmokeDMax

Quote from: Canute on December 17, 2017, 05:31:30 PM
Another issue,
pawn don't access the storage for refueling jobs.
I got 3000 chemfuel inside, but can't refuel generator or launchpads.

And pawn't don't restock stockpiles with higher priority from the storage.

LOL, that could create quite the quandary. Storing fuel and supplies to build a new generator inside this device and then the generator you are using dies due to lack of fuel. Now, you can't fuel your generator to generate electricity to get your fuel out.

Kiame

Quote from: BlackSmokeDMax on December 17, 2017, 05:51:37 PM
Quote from: Canute on December 17, 2017, 05:31:30 PM
Another issue,
pawn don't access the storage for refueling jobs.
I got 3000 chemfuel inside, but can't refuel generator or launchpads.

And pawn't don't restock stockpiles with higher priority from the storage.

LOL, that could create quite the quandary. Storing fuel and supplies to build a new generator inside this device and then the generator you are using dies due to lack of fuel. Now, you can't fuel your generator to generate electricity to get your fuel out.

Indeed. I realized in my playthough i had switched to geothermal by the time i had built my infinite storage  :-[

BlackSmokeDMax

Quote from: Kiame on December 17, 2017, 06:04:50 PM
Quote from: BlackSmokeDMax on December 17, 2017, 05:51:37 PM
Quote from: Canute on December 17, 2017, 05:31:30 PM
Another issue,
pawn don't access the storage for refueling jobs.
I got 3000 chemfuel inside, but can't refuel generator or launchpads.

And pawn't don't restock stockpiles with higher priority from the storage.

LOL, that could create quite the quandary. Storing fuel and supplies to build a new generator inside this device and then the generator you are using dies due to lack of fuel. Now, you can't fuel your generator to generate electricity to get your fuel out.

Indeed. I realized in my playthough i had switched to geothermal by the time i had built my infinite storage  :-[

I kind of like that it is in there. Gives you reason to plan ahead properly. And if you don't, you need to start scavenging other things to put together a quick electricity generating device to solve the issue.

Kiame

Update:
-Infinite/Textile/Body Part Storage now auto-collect unreserved dropped items to keep the area around them clean.
--Whether there is auto-collect and the time interval can be changed in the Mod Settings
-Fuel will now be dropped when requested
-Fixed the left hand tally to tally only the things that should be tallied.

Canute

Quote from: Kiame on December 17, 2017, 05:49:08 PM
As for the stockpile priorities i'll need to figure out where that happening... So i can reproduce the priority issue. Is it that pawns are taking to the Infinite Storage instead of a normal stockpile that has higher priority?
Infinite Storage got prefered, contained 57 component
a 1x1 stockpile got critical, contained 13 component
Noone is useing components.

Newly created components get hauled to the Infinite Storage.
If i remove componets from the Infinite Storage, it get hauled ti the 1x1 stockpile.

And no job get created to move components from the Infinite Storag to the stockpile to restock it.