Coder Social home page Coder Social logo

workshop's Introduction

OSE Workshop - KIS Addon

This is the repository for the OSE Workshop mod for Kerbal Space Program

OSE Workshop is the original work of ObiVanDamme and Enceos

You can find the official repo of this mod on Github.

Mod Description

The Ose Workshop mods adds a Workshop Part to the game, that allows the creation of Parts during missions. The Workshop requires Electric Charge and MaterialKits to build Items.

Required Mods

(OSE Workshop will not work without these mods)

Installation Instructions

  • Download and Install KIS
  • Download the file from GitHub
  • Unzip the file and copy the content of the GameData folder to the GameData folder in your KSP Installation

License

OSE Workshop is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license, which means

  • You are permitted to use, copy and redistribute my work as-is.
  • You may remix your own derivatives (new models, alternative textures, etc.) and release them under your own name.
  • You may not use the material for any commercial purposes.
  • You must use the same license as the original work.
  • You must credit the following people when publishing your derivatives in the download and forum posts: ObiVanDamme and Enceos (OSE Workshop), KospY and winn75(Kerbal Attachment System).

Credits and Thanks!

  • The included plugin Module Manager, CommunityResourcePack and Firespitter are distributed under it's own license.
  • KAS and KIS is the original work of KospY! - Thank you for creating this awesome mods.

workshop's People

Contributors

angel-125 avatar enceos avatar real-gecko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

workshop's Issues

Create Part Definition

Create a part definition forthe Workshop Part, that includes a Model, Basic Configuration, KASModuleContainer and the OseModuleWorkshop.

Implement recycling module

It does the same thing as the workshop in the other direction. It will take items from an inventory and recycles it into RocketParts

Request: Look for KAS container on part with workshop module first

This is a great mod and I like how it adds completed parts to a KAS container. But vessels with lots of KAS containers make finding the new part a needle in a haystack. It would be really convenient if the physical part with the 3D printer had a KAS container, and the 3D printer put the completed part in the container unless full, in which case it looks for the first available part in the ship that can hold the part. Confusing, so here is a pseudo config file:

module
{
Name = KASContainer //the 3DPrinter will look for this container first for available space before looking anywhere else in the vessel
...
}

Module
{
Name = 3DPrinter //will look for the above KAS container module to put conpleted parts in before looking elsewhere
...
}

Some parts get double-recipes

Crew cabins have a ModuleScienceExperiment and a ModuleCommand, so they get patched by both patches in MM_Workshop.cfg. You should add some logic to make them exclusive (e.g. add ":HAS[!OSE_PartRecipe]" -- although that may be tricky, since usually the "!" syntax is looking for something with a "name" variable, which your recipes don't have -- or use % "edit-or-create" syntax).

Paused Production

"The Workshop will put items into its own inventory only. If it is full, the item will be hold in queue and production is paused" - Build notes 0.4.0..

I've added a MM cfg to increase the volume from 2 to 2000, build a part and it pauses on completion. It's not moving it into the inventory.
screenshot6

Toolboxes

Might want too change the description's from reading as "Spare Parts" to "Rocket Parts" since spare parts are also in the CRP and are used in different mods: MKS/OKS and Dangit!

won't finish if there's exactly enough space

If there's exactly enough space for an item, the workshop won't finish printing it. This matters for RoverDude's MKS parts, which have volumeOverride=1000 so they'll exactly fit in the small KIS containers.

WorkshopUtils.HasFreeSpace() should have a "<=" instead of a "<"

Freezing

The game freezes after the Workshop UI has been opened with a large number of parts available. Seems to be some kind of memory leak.

Recipes balance

The new math price-mass make strange values for some parts, better solution is add exoticminerals and raremetals to all recipes for have a better balance weight-prices

OSE_DefaultRecipe
{
name = part
RESOURCES
{
MaterialKits = 10
RareMetals = 1
ExoticMinerals = 1
}
}

@part[*]:HAS[@module[ModuleScienceExperiment]]:FOR[Workshop]
{
OSE_PartRecipe
{
MaterialKits = 10
RareMetals = 10
ExoticMinerals = 10
}
}

@part[*]:HAS[@module[ModuleCommand]]:FOR[Workshop]
{
OSE_PartRecipe
{
MaterialKits = 10
RareMetals = 10
ExoticMinerals = 1
}
}

@part[*]:HAS[@module[ModuleEnginesFX]]:FOR[Workshop]
{
OSE_PartRecipe
{
MaterialKits = 10
RareMetals = 1
ExoticMinerals = 10
}
}

Next/Prev buttons in recycler don't work

In version 1.0.8, when you have more parts to recycle than fit on one page, the next/prev buttons don't work, it still keeps showing the items from the first page.

Workshop ignores volumeOverride

Workshops ignore ModuleKISItem's volumeOverride when checking if a part can be assembled. This becomes a problem when assembling inflatable parts from MKS.

Update Required Mods list

Took me a bit to figure out why none of the workshop items were showing up. I don't have RoverDude's OKS/MKS mod installed and your using Model's from the Kolonization/Assets directory.

Or get RoverDude's Permission to include his Model in your Assets Folder. It's not like he doesn't bundle other people's mods with his mods. :)

The mod needs some more love!

Obi, we'd appreciate if you looked at Angel's issue about making certain containers a priority for storing parts.

Latest fix for pages made only two pages available in one category.

After the latest fix for workshop category pages, which reverts categories to the first page after switching between them, I have only 2 pages in my category menus. Usually Utitlity and Structural categories have 5 pages on my install. "Next Page" button for pages 3 and further appears only after closing and reopening the UI.

"Operation is not valid due to the current state of the object" from Workshop.OseModuleWorkshop.ExecuteManufacturing

Hit a bug on my station.  Both of my workshops were stuck at 0/100 (one 3-D Printing Lab, one MK3 Fabricator), and the log is spammed with:

[EXC 10:52:46.985] InvalidOperationException: Operation is not valid due to the current state of the object
    System.Linq.Enumerable.First[WorkshopResource] (IEnumerable`1 source, System.Func`2 predicate, Fallback fallback)
    System.Linq.Enumerable.First[WorkshopResource] (IEnumerable`1 source, System.Func`2 predicate)
    Workshop.OseModuleWorkshop.ExecuteManufacturing ()
    Workshop.OseModuleWorkshop.ProcessItem ()
    Workshop.OseModuleWorkshop.OnUpdate ()
    UnityEngine.Debug:LogException(Exception)
    Workshop.OseModuleWorkshop:OnUpdate()
    Part:ModulesOnUpdate()
    Part:Update()
[ERR 10:52:47.061] [OSE] - OseModuleWorkshop_OnUpdate

Logs and persistent.sfs (the affected ship is "TC2 Station"): https://www.dropbox.com/sh/7vb7lnuihz2nrbv/AABqwFZcD3b33TcdclP7CNGta?dl=0

Here's the relevant module info:

ProcessedItem
                    {
                        Name = truss-octo-hub-01
                    }                   
ProcessedBlueprint
                    {
                        Funds = 0
                        WorkshopResource
                        {
                            Name = MaterialKits
                            Units = 499.999976251275
                            Processed = 499.999976277351
                        }
                    }


ProcessedItem
                    {
                        Name = C3.Kontainer.KIS.03
                    }
                    ProcessedBlueprint
                    {
                        Funds = 0
                        WorkshopResource
                        {
                            Name = MaterialKits
                            Units = 10399.9991245568
                            Processed = 10399.999124567
                        }
                    }

If I had to guess, my ship didn't have enough space for the "C3.Kontainer.KIS.03", but it had finished, and got stuck in some weird state.

I changed "Processed =" to 498 and 109398, reloaded, and both parts finished.  Both workshops then went into the next item in the queue and worked fine.

My guess is this line is the problem:

var resourceToConsume = _processedBlueprint.First(r => r.Processed < r.Units);

Since both my blueprints had Processed>Units somehow, there were no "Processed<Units" blueprints.

3D Printer Hatch is obstructed

ose_hatch

I can't get my kerbals out of the 3D printer (going in is OK). Game says "Hatch is obstructed, can't exit.".

CLS installed but "Allow crew unrestricted transfers" is enabled.

Implement cancelation of production

The production of the current item should be canceled and refund the spend RocketParts to some extend. The cancelation process should take the same amount of time as the production took already.

Selection of target inventory

The Workbench Window should display a list of all available inventories on the craft and allow the player to select the prefered one. All Items will be placed in this inventory when they are done. The player needs to select what happens in case the prefered inventory has not enouhg space. There are two options.

  1. Wait until there is enough space
  2. Place it in anoither

In both cases the player needs to be informed through a message on the screen

Duplicate resource displays on surface scanner part

OSE Workshop patches the stock "Surface Scanning Module" to have resource scanners for Dirt, ExoticMinerals, and RareMetals. However, recent versions of CommunityResourcePack already patch the surface scanner to show all the resources. OSE bundles an old version of CRP which doesn't do that, but for players who've installed a newer CRP (e.g. bundled with other mods), the surface scanner ends up having duplicate displays for those resources:

ose-duplicate-resources

After updating the bundled CommunityResourcePack to a newer version, the @PART[SurfaceScanner] patch in MM_Workshop.cfg ought to be removed.

On a related note, OSE also patches the stock orbital resource scanner for the same three resources, but this seems to have no effect, and the orbital resource scanner shows all resources anyway. I think this patch is a hold-over from KSP 1.1 (before KerbNet, when the orbital resource scanner worked differently), and it should probably be removed too.

Add all workshop parts to the same category.

Since we decided to make a separate category for Workshop parts in editor, lets fill it with all the parts of this mod, namely containers. Currently I can see only the Mobile Processing Lab and the 3D Printing Lab in there.
P.S. Is there a way to assign a custom icon for this category? I could draw one.

Old bundled CRP

CRP is currently at 4.1, you have 3.3 in your package. :( I just delete the CRP from your archive. this is just a FYI.

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.