[1.0] Miniaturisation

Started by hwfanatic, June 04, 2016, 09:01:33 AM

Previous topic - Next topic

hwfanatic

Enables core game mechanics of miniaturisation for more than just furniture.
v1.0.0 update
Now with 100% more patching! :)



Introduction:
I like to build modular bases and most often than not I am re-purposing rooms as my base progresses. Moving production benches comes at a great cost without any practical reason, so I decided to create this mini-mod.

About:
The core game already has mechanics to allow for uninstalling/reinstalling (moving) furniture and some buildings. My mini-mod enables this mechanics for most benches and some other small buildings as well. That's it. No new mechanics. Pure XML. Full list of movable buildings:

TorchLamp
OrbitalTradeBeacon*
MoisturePump
CommsConsole
TableSculpting*
TableButcher*
HandTailoringBench*
ElectricTailoringBench*
FueledSmithy*
ElectricSmithy*
TableMachining*
ElectricStove*
FueledStove*
TableStonecutter*
Brewery*
DrugLab*
ElectricSmelter*
BiofuelRefinery
FabricationBench
SimpleResearchBench*
HiTechResearchBench
HydroponicsBasin
DeepDrill
PassiveCooler
Cooler

*) Movable in the vanilla game since B19.

Compatibility:
This mini-mod is 100% save game compatible as long as you do not leave any uninstalled buildings before disabling it or unsubscribing.

Download:
Miniaturisation-1.0.0 Link MD5: AA8A385BA3ADED30E0D50715B3849667

Old versions:
Miniaturisation-0.19.0 Link MD5: 3B3C519447558019CC87FDB4A5C7CB70
Miniaturisation-0.18.0 Link MD5: 6769A6C3B64A7571291663C2B5F33F01
Miniaturisation-0.17.2 Link MD5: 72486FDFD1FDDB6C699F1281B289652F
Miniaturisation-0.16.2 Link MD5: 5A507676DA0FFC6522EFC69B0AD8580D
Miniaturisation-0.15.0 Link MD5: 56E0AC363CDBF7F4BD38AD17E0F4E5C3
Miniaturisation-0.14.2 Link MD5: 0FEA2CBDACB42BC7182CAC0008C614BC

Changelog:
v1.0.0 2018/11/03
- Updated for final version
- Added BiofuelRefinery
- Added FabricationBench
- Added HiTechResearchBench

v0.19.0 2018/09/02
- Updated for Beta 19
- Removed orbital trade beacon
- Removed component assembly bench
- Removed hi-tech research bench
- Added thingCategories where needed

v0.18.0 2017/11/11
- Updated for Beta 18

v0.17.2 2017/05/28
- Adjusted xpath to increase loading performance as per community guidelines: https://ludeon.com/forums/index.php?topic=32874.0
- Adjusted mass of hi-tech research bench to match that of component assembly bench
- Added rudimentary preview image

v0.17.1 2017/05/27
- Reworked for new patching feature
- Adjusted mass values slightly

v0.17.0 2017/05/09
- Updated for Alpha 17
- Added arbitrary mass to all movable buildings

v0.16.2 2017/01/16
- Added passive cooler to the list

v0.16.1 2016/12/26
- Added moisture pump to the list

v0.16.0 2016/12/21
- Updated for Alpha 16
- Added refinery to the list
- Added component assembly bench to the list
- Added deep drill to the list

v0.15.0 2016/08/28
- Updated for Alpha 15

v0.14.2 2016/07/29
- Added abstract definitions as per community guidelines: https://ludeon.com/forums/index.php?topic=19499

v0.14.1 2016/07/18
- Added torch to the list

v0.14.0 2016/07/16
- Initial release


Steam Workshop:
http://steamcommunity.com/sharedfiles/filedetails/?id=726372052

License:
Can modpack makers include your mod in their modpack? Yes.
Can other modders make derivative mods based on yours? Yes.

Oga88


hwfanatic

Adds the ability to uninstall stuff other than just furniture and batteries. List included. Uses core functionality.

notfood

I needed this so badly. Thank you! Why can pawns move huge sculptures yet they couldn't move simple tables? hmm-

Under HardcoreSK these tables are really expensive to make, I hope this mod works with that pack. Next run I'm trying it.

hwfanatic

#4
I am a beginner (and I also do not use mods that change Core significantly) so I haven't made such considerations yet. It would be interesting to know what you find out about (HardcoreSK) compatibility. I can tell you this: you should be able to safely enable/disable this mod as long as you do not save while there are uninstalled stuff lying around.

Nemesis688

I'm fairly certain it wont do to much for the HardcoreSk pack since the pack overwrites most (if not all) the vanilla items by adding new ingredients to the objects. I use the modpack myself but I've tweaked it a bit and one of the things I did was make just about everything minifiable.

hwfanatic

There you have it. Thanks for the info.

hwfanatic


hwfanatic

Released on Steam Workshop as well. Although, to be honest, if it weren't for the in-game option, I would have absolutely no idea how to do that.

kaptain_kavern

#9
About the code :
Have you consider to just add the minified tag to the Parents entity BenchBase ?

like this

  <ThingDef Name="BenchBase" ParentName="BuildingBase" Abstract="True">
    <castEdgeShadows>true</castEdgeShadows>
    <staticSunShadowHeight>0.20</staticSunShadowHeight>
    <minifiedDef>MinifiedFurniture</minifiedDef>
  </ThingDef>


That way each time the Game call Benchbase, they inherit the minified attribute. That's how i do in my game.
And i think that's how it's done in Core for FurnitureBase and HighQualityFurnitureBase in Buildings_Furniture.xml

Also there is a torch now in A14, it's handy to be able to move them too. And i personally added it to the comm. Console too

Man don't get me wrong i like the mod (in fact i was doing the same on my play since a while) and it's nice to share it

hwfanatic

Thank you very much for your input. I have considered it and have tried that in A13, but the game told me I cannot do it for abstract classes. But maybe I made a mistake the first time. I will try it again tomorrow. And the torch, too.

The reason I omitted CommsConsole is that it cannot be reinstalled in one step, but rather you have to uninstall it and reinstall it manually, which got me scared a bit about compatibility.


hwfanatic

Adding the node to the parent class does not have the desired effect, at least not for BenchBase. No errors or warnings raised, but no effect as well. I'm still trying to figure out what the difference is, but in the mean time my method, if not elegant, at least works. :)

Dave-In-Texas

great, i was editing the source files :)

Porter

was wondering if this could be applied to the 'cooler' (air conditioning) unit?

hwfanatic

It should be possible (basically for all buildings) but I will have to test it thoroughly to make sure it doesn't interact with walls in a weird way.