Coder Social home page Coder Social logo

oni-mods's Introduction

Someone (aka test447)'s Mods for Oxygen Not Included

master branch last updated to game version RP-383949

Discord

Check out the Oxygen Not Included Discord here for general game and mod discussion.

List of Mods

  • Tiny Worlds: Allows you to make smaller worlds in scale from 25% area up to default 100% area. Includes balance tweaks to make smaller world sizes playable and not crash world gen. Preview it on Github here
  • Pipsqueak Ice Sculpture: Adds another variant to the Ice Sculpture that is a statue of the pipsqueak. Looks like the style of the hatch ice sculpture. Preview it on Github here
  • Mineralizer: Adds a Mineralizer building that is the opposite of the Desalinator. It produces salt water from water and salt. Preview it on Github here
  • Roller Sakes: Adds a new critter species called Roller Snakes to the game. They are snakes that curl up into loops and roll around to move. Additionally has two new plants called Spiky Succulent and Aqua Bulb. These are all found in a new biome called the Desert or can be obtained in care packages on existing maps. The Desert biome is spawned in a new asteroid called Tetrament. Preview it on Github here
  • Ethanol Geyser: Adds a guaranteed chilled ethanol geyser spawn to the rust biome. Preview it on Github here
  • Infinite Liquid/Gas Sources: Adds infinite sources and sinks for liquids and gasses. Useful for sandbox mode testing. Preview it on Github here.
  • Advanced Storage: Adds a higher tier of storage containers to the game that all share the same inventory and that can infinitely compress their contents. Makes late game liquid and gas manage somewhat simpler for a heavy resource investment. Preview it on Github here.

List of Deprecated Mods

These mods are not updated to the latest version. They were last updated for the game version LU-353781

  • Insulated Jacket: Adds a new clothing type called the insulated jacket that highly increases duplicant scalding threshold and highly decreases duplicant thermal conductivity. Made out of insulation. Preview it on Github here
  • Professional Attire: Adds 10 new clothing styles - one for each duplicant skill that provide a bonus to the corresponding skill of duplicants that wear them. E.g. the farmer's outfit will provide +2 to the duplicant's agriculture skill. Preview it on Github here

Instructions

Please install and use the mods through the steam community workshop links provided in the List of Mods. Building the mods from the source code provided here is not supported. If you have questions or are interested in how the source code for my mods works please reach out to me on the Oxygen Not Included Discord here or make an issue on this repository.

License

All code in this repository is licensed under the MIT license.

Code License

Copyright 2020 Davis Cook

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Asset License

Please ask for permission before using other assets included in this repository. I.e. art and animations may not be used without permission.

Special Thanks

  • To @Cairath for patience and wisdom in mod-development and for some config handling code.
  • To Klei for making such an amazing game in the first place and being supportive of the modding community.
  • To the (un)official Oxygen Not Included Discord modding community for support and discussions.

More Mods

oni-mods's People

Contributors

daviscook477 avatar plcoluccio avatar tzer0 avatar wideopenspaces avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

oni-mods's Issues

Infinite Gas/Liquid Sources - Crash

When building an Infinite Gas Source the game crashes as soon as construction is finished. (I had the building selected too)

Here is the output in the ONI log:

ArgumentException: An item with the same key has already been added. Key: Unbreathable
  at System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x000c1] in <e1319b7195c343e79b385cd3aa43f5dc>:0 
  at System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in <e1319b7195c343e79b385cd3aa43f5dc>:0 
  at FilterSideScreen.Configure (Filterable filterable) [0x000cc] in <a8d8cafbcd164cda9f477d36796bfc75>:0 
  at FilterSideScreen.SetTarget (UnityEngine.GameObject target) [0x00087] in <a8d8cafbcd164cda9f477d36796bfc75>:0 
  at DetailsScreen.<Refresh>b__41_0 (DetailsScreen+SideScreenRef scn) [0x00074] in <a8d8cafbcd164cda9f477d36796bfc75>:0 
  at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x00024] in <e1319b7195c343e79b385cd3aa43f5dc>:0 
  at DetailsScreen.Refresh (UnityEngine.GameObject go) [0x002ad] in <a8d8cafbcd164cda9f477d36796bfc75>:0 
  at RootMenu.OnSelectObject (System.Object data) [0x00086] in <a8d8cafbcd164cda9f477d36796bfc75>:0 
  at EventSystem.Trigger (UnityEngine.GameObject go, System.Int32 hash, System.Object data) [0x000fe] in <1dcc11867b524f7cb2488468843e982e>:0 
  at KMonoBehaviour.Trigger (System.Int32 hash, System.Object data) [0x00026] in <1dcc11867b524f7cb2488468843e982e>:0 
  at SelectTool.Select (KSelectable new_selected, System.Boolean skipSound) [0x0012f] in <a8d8cafbcd164cda9f477d36796bfc75>:0 
  at SelectTool+<DoSelectNextFrame>d__18.MoveNext () [0x00035] in <a8d8cafbcd164cda9f477d36796bfc75>:0 
  at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00027] in <a35d771e78bd4d75a6f3aedeaad4d1ed>:0 

It appears to me that something about the sidescreen code for this mod is broken after the July 7th update?

Crashes game on startup

Professional Attire mod crashes the game on startup
Have tried to run without any other mods and it still crashes so it's def this mod.

Bug with Fan Block tiles

When placing fan tiles {basic yellow fan block} next to an airflow tile, the fan block give a message "Gas Vent Obstructed".
I was under the impression that airflow tiles still allowed air to pass through them?

much needed Advanced Storage fixes

the biggest problem with advanced storage is that because the save file for the storage is stored in the mod directory directly, it gets wiped every time the game updates mods.

this can be easily fixed by just storing the saves in the mods/config directory instead of the steam/mod folder directly. a few other mods already do this, i believe duplicant settings manager by Ony does this.

also, since the output never contains germs in the first place, you can simply remove the germs entirely from the save, would save some file size and prevent bugs caused by the number of germs in the fluids getting too high.

Missing Anim?

Getting a new error with the newest automation update.

[00:52:44.709] [1] [WARNING] Missing Anim: [0x5C844BA3]. You may have to run Collect Anim on the Assets prefab
NullReferenceException: Object reference not set to an instance of an object
at KAnimControllerBase.set_AnimFiles (KAnimFile[] value) [0x0000f] in <79d2d4d3b2c24823adbee3657342b590>:0
at BuildingLoader.Add2DComponents (BuildingDef def, UnityEngine.GameObject go, System.String initialAnimState, System.Boolean no_collider, System.Int32 layer) [0x00076] in <79d2d4d3b2c24823adbee3657342b590>:0
at BuildingLoader.CreateBuildingComplete (UnityEngine.GameObject go, BuildingDef def) [0x000fe] in <79d2d4d3b2c24823adbee3657342b590>:0
at BuildingConfigManager.RegisterBuilding (IBuildingConfig config) [0x00090] in <79d2d4d3b2c24823adbee3657342b590>:0
at (wrapper dynamic-method) GeneratedBuildings.LoadGeneratedBuildings_Patch1(System.Collections.Generic.List1<System.Type>) at LegacyModMain.LoadBuildings (System.Collections.Generic.List1[T] types) [0x00050] in <79d2d4d3b2c24823adbee3657342b590>:0
at LegacyModMain.Load () [0x00042] in <79d2d4d3b2c24823adbee3657342b590>:0
at Assets.CreatePrefabs () [0x00000] in <79d2d4d3b2c24823adbee3657342b590>:0
at Assets.OnPrefabInit () [0x0031c] in <79d2d4d3b2c24823adbee3657342b590>:0
at KMonoBehaviour.InitializeComponent () [0x00068] in <09361503fe78444bb96d3e5d114feeb8>:0
Rethrow as Exception: Error in GameAssets(Clone).Assets.OnPrefabInit
at KMonoBehaviour.InitializeComponent () [0x000b1] in <09361503fe78444bb96d3e5d114feeb8>:0
at KMonoBehaviour.Awake () [0x00008] in <09361503fe78444bb96d3e5d114feeb8>:0
UnityEngine.Object:Internal_InstantiateSingleWithParent_Injected(Object, Transform, Vector3&, Quaternion&)
UnityEngine.Object:Internal_InstantiateSingleWithParent(Object, Transform, Vector3, Quaternion)
UnityEngine.Object:Instantiate(Object, Vector3, Quaternion, Transform)
UnityEngine.Object:Instantiate(GameObject, Vector3, Quaternion, Transform)
Util:KInstantiate(GameObject, Vector3, Quaternion, GameObject, String, Boolean, Int32)
Util:KInstantiate(GameObject, GameObject, String)
LaunchInitializer:Update()

(Filename: <79d2d4d3b2c24823adbee3657342b590> Line: 0)

Infinite Source/Sink expansion - Power and Solids

Request
Sources and sinks for solids and power

Solution
A source storage bin that supply (generates) a selected solid (units or mass) per second
A sink storage bin that requests (and destroy) a selected solid (unit or total mass)
A source generator that suppy a constant Watt
A sink appliance that consumes a constant Watt

Random NullReferenceException

Describe the bug
There is a random crash. Happens mostly when I pause and unpause the game. Though i've not been able to reliably reproduce. I don't even have the building from this down when it crashes.

Output log
NullReferenceException: Object reference not set to an instance of an object at TeleStorage.TeleStoragePatches/SimpleInfoScreen_RefreshStorage_Patch.Postfix (SimpleInfoScreen,UnityEngine.GameObject,UnityEngine.GameObject,System.Collections.Generic.Dictionary2<string, UnityEngine.GameObject>&) <0x0008a>
at (wrapper dynamic-method) SimpleInfoScreen.RefreshStorage_Patch1 (object) <0x00fff>
at SimpleInfoScreen.Refresh (bool) <0x001cb>
at SimpleInfoScreen.OnRefreshData (object) <0x0001e>
at SimpleInfoScreen.m__5 (SimpleInfoScreen,object) <0x00023>
at EventSystem/IntraObjectHandler1<SimpleInfoScreen>.Trigger (UnityEngine.GameObject,object) <0x0018a> at EventSystem.Trigger (UnityEngine.GameObject,int,object) <0x00179> at KMonoBehaviour.Trigger (int,object) <0x000ad> at DetailsScreen.OnRefreshData (object) <0x000eb> at DetailsScreen.<OnRefreshDataDelegate>m__3 (DetailsScreen,object) <0x00023> at EventSystem/IntraObjectHandler1.Trigger (UnityEngine.GameObject,object) <0x0018a>
at EventSystem.Trigger (UnityEngine.GameObject,int,object) <0x00179>
at KMonoBehaviour.Trigger (int,object) <0x000ad>
at CellSelectionObject.UpdateValues () <0x00216>
at CellSelectionObject.OnObjectSelected (object) <0x000f0>
at DetailsScreen.Refresh (UnityEngine.GameObject) <0x00098>
at RootMenu.OnSelectObject (object) <0x001f2>
at EventSystem.Trigger (UnityEngine.GameObject,int,object) <0x00354>
at KMonoBehaviour.Trigger (int,object) <0x000ad>
at SelectTool.Select (KSelectable,bool) <0x003e1>
at SelectTool.OnLeftClickDown (UnityEngine.Vector3) <0x0010e>
at PlayerController.OnKeyDown (KButtonEvent) <0x0030e>
at KInputHandler.HandleKeyDown (KButtonEvent) <0x0009f>
at KInputHandler.HandleKeyDown (KButtonEvent) <0x001b2>
at KInputHandler.HandleEvent (KInputEvent) <0x0005e>
at KInputController.Dispatch () <0x00069>
at KInputManager.Dispatch () <0x00060>
at KInputManager.Update () <0x00088>
at GameInputManager.Update () <0x00031>
at Global.Update () <0x00020>
`

New Game World with Diff Name Has Same Liquids as Old World

Have all the same liquids as I had in my old world in my new world with a diff name. I might just have to unsub resub to wipe it right? But it would wipe my old save, which I probably won't ever play again. Advanced Storage mod updated.

Incompatibility with Solar System mod

Is your feature request related to a problem? Please describe.
When used with the mod, ONI gives the error "ArgumentException: An item with the same key has already been added. Key: LightBugOrange"

Describe the solution you'd like
It would be nice to have both at the same time

Describe alternatives you've considered
You both seems to try to overwrite the same to get your map on a specific order. Maybe not doing it? I know nothing about the implications, I fear.

Additional context
Seems that the mod creator, Pholith, it's open to get some way to resolve this issue

Thanks a lot! :D

Roller Snakes: Cactus flesh anim broken.

[02:12:14.085] [1] [WARNING] Missing Anim: [0x7D98DAE4]. You may have to run Collect Anim on the Assets prefab
[02:12:14.085] [1] [ERROR] Assert failed: First anim file for CactusFlesh needs to be non-null.
Assert failed: First anim file for CactusFlesh needs to be non-null.

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 45)

[02:12:14.093] [1] [ERROR] GameAssets(Clone) Error in GameAssets(Clone).Assets.OnPrefabInit
System.NullReferenceException: Object reference not set to an instance of an object
at KAnimControllerBase.set_AnimFiles (KAnimFile[] value) [0x0004c] in :0
at EntityTemplates.ConfigBasicEntity (UnityEngine.GameObject template, System.String id, System.String name, System.String desc, System.Single mass, System.Boolean unitMass, KAnimFile anim, System.String initialAnim, Grid+SceneLayer sceneLayer, SimHashes element, System.Collections.Generic.List1[T] additionalTags, System.Single defaultTemperature) [0x00050] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at EntityTemplates.CreateBasicEntity (System.String id, System.String name, System.String desc, System.Single mass, System.Boolean unitMass, KAnimFile anim, System.String initialAnim, Grid+SceneLayer sceneLayer, SimHashes element, System.Collections.Generic.List1[T] additionalTags, System.Single defaultTemperature) [0x00010] in :0
at EntityTemplates.CreateLooseEntity (System.String id, System.String name, System.String desc, System.Single mass, System.Boolean unitMass, KAnimFile anim, System.String initialAnim, Grid+SceneLayer sceneLayer, EntityTemplates+CollisionShape collisionShape, System.Single width, System.Single height, System.Boolean isPickupable, System.Int32 sortOrder, SimHashes element, System.Collections.Generic.List1[T] additionalTags) [0x00000] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at CactusFruit.CactusFleshConfig.CreatePrefab () [0x00024] in <4d8e2449e4604a58be477be97c3f06cc>:0 at EntityConfigManager.RegisterEntity (IEntityConfig config) [0x00000] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at (wrapper dynamic-method) EntityConfigManager.LoadGeneratedEntities_Patch9(object,System.Collections.Generic.List1<System.Type>)
at LegacyModMain.LoadEntities (System.Collections.Generic.List1[T] types) [0x00000] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at LegacyModMain.Load () [0x0004d] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at Assets.CreatePrefabs () [0x00000] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at Assets.OnPrefabInit () [0x0031c] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at KMonoBehaviour.InitializeComponent () [0x00068] in <1dcc11867b524f7cb2488468843e982e>:0 Error in GameAssets(Clone).Assets.OnPrefabInit System.NullReferenceException: Object reference not set to an instance of an object at KAnimControllerBase.set_AnimFiles (KAnimFile[] value) [0x0004c] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at EntityTemplates.ConfigBasicEntity (UnityEngine.GameObject template, System.String id, System.String name, System.String desc, System.Single mass, System.Boolean unitMass, KAnimFile anim, System.String initialAnim, Grid+SceneLayer sceneLayer, SimHashes element, System.Collections.Generic.List1[T] additionalTags, System.Single defaultTemperature) [0x00050] in :0
at EntityTemplates.CreateBasicEntity (System.String id, System.String name, System.String desc, System.Single mass, System.Boolean unitMass, KAnimFile anim, System.String initialAnim, Grid+SceneLayer sceneLayer, SimHashes element, System.Collections.Generic.List1[T] additionalTags, System.Single defaultTemperature) [0x00010] in <a8d8cafbcd164cda9f477d36796bfc75>:0 at EntityTemplates.CreateLooseEntity (System.String id, System.String name, System.String desc, System.Single mass, System.Boolean unitMass, KAnimFile anim, System.String initialAnim, Grid+SceneLayer sceneLayer, EntityTemplates+CollisionShape collisionShape, System.Single width, System.Single height, System.Boolean isPickupable, System.Int32 sortOrder, SimHashes element, System.Collections.Generic.List1[T] additionalTags) [0x00000] in :0
at CactusFruit.CactusFleshConfig.CreatePrefab () [0x00024] in <4d8e2449e4604a58be477be97c3f06cc>:0
at EntityConfigManager.RegisterEntity (IEntityConfig config) [0x00000] in :0
at (wrapper dynamic-method) EntityConfigManager.LoadGeneratedEntities_Patch9(object,System.Collections.Generic.List1<System.Type>) at LegacyModMain.LoadEntities (System.Collections.Generic.List1[T] types) [0x00000] in :0
at LegacyModMain.Load () [0x0004d] in :0
at Assets.CreatePrefabs () [0x00000] in :0
at Assets.OnPrefabInit () [0x0031c] in :0
at KMonoBehaviour.InitializeComponent () [0x00068] in <1dcc11867b524f7cb2488468843e982e>:0

(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 45)

Advance Storage crashing after newest update

Describe the bug
Crashes game upon start.
To Reproduce
Steps to reproduce the behavior:
Start game with Advance Storage mod enabled
Expected behavior
Game crashes out

Screenshots

Additional context

Output log
"Exception in RegisterBuilding for type TeleStorage.TeleStorageGasConfig from TeleStorage
System.NullReferenceException: Object reference not set to an instance of an object
at Util.PreInit (UnityEngine.GameObject go) [0x00011] in :0
at (wrapper dynamic-method) BuildingLoader.BuildingLoader.CreateBuildingComplete_Patch1(BuildingLoader,UnityEngine.GameObject,BuildingDef)
at (wrapper dynamic-method) BuildingConfigManager.BuildingConfigManager.RegisterBuilding_Patch0(BuildingConfigManager,IBuildingConfig)
at (wrapper dynamic-method) GeneratedBuildings.GeneratedBuildings.LoadGeneratedBuildings_Patch49(System.Collections.Generic.List`1<System.Type>)"

Tiny Worlds - Bug with unknown tiles on labs

Describe the bug
Using Tiny Worlds, sometimes I got an unknown tile that is undiggable and undiscoverable.

To Reproduce
Steps to reproduce the behavior:
Load the savegame. On the right, above the AETN, there is such a tile.

I have digged around, moved everywhere around the tile but to no avail.

Expected behavior
The tile should have been explored when one of the rooms around was explored.

Radical Burrow.zip

ONI v364722 updated affected mod ProfessionalAttire

ONI v364722 changelog which about mods:

Mod should supply an 'anim' directory structured like our 'game/Assets/anim' directory. 
The game will look for a *_anim.bytes, *_build.bytes, and *.pngs for textures. The folder name dictates the animation name. If an existing animation is modded, the one in game is replaced; otherwise a new animation is added.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.