A new version is up, get it here. This update adds more customization options for mods that implement this factory.

This version does break save compatibility. However, as this update has no effect on vanilla games, there's no need to upgrade yet for most users.

Modders: you will need to remove your existing OmniFac.java and add a line to your mod_info.json pointing to Omnifactory.jar. You can find instructions on how to do this here. No other changes are required, as all the new settings have defaults identical to the way things functioned before.

Changelog:

Quote

Version 1.2 (January 1, 2013)===============================(this version is not save compatible with earlier versions)Moved mod code into a jar (better type-safety, faster loading)The omnifactory can now optionally require fuel, supplies and crew to function.Added warnings when factory requirements are not met.New methods for controlling factory settings (these are all per station): - setShowAddedCargo(boolean showAddedCargo) Sets if 'X added to station' messages appear. Defaults to true. - setShowLimitReached(boolean showLimitReached) Sets if 'Limit for X reached' messages appear. Defaults to true. - setRemoveBrokenGoods(boolean removeBrokenGoods) Sets if buggy goods should be removed from memory. Defaults to false. - setShipProductionTimeModifier(float modifier) Sets ship production time modifier. Defaults to 1.0. - setWeaponProductionTimeModifier(float modifier) Sets weapon production time modifier. Defaults to 1.0. - setRequiredCrew(int requiredCrew) Sets the minimum amount of crew for the factory to function. Defaults to 0. - setRequiredSuppliesPerDay(float suppliesPerDay) Sets factory supply consumption per day. Defaults to 0. - setRequiredFuelPerDay(float fuelPerDay) Sets factory fuel consumption per day. Defaults to 0. - setMaxHullsPerFighter(int maxHulls) Sets how many of each fighter to produce. Retroactive. Defaults to 6. - setMaxHullsPerFrigate(int maxHulls) Sets how many of each frigate to produce. Retroactive. Defaults to 5. - setMaxHullsPerDestroyer(int maxHulls) Sets how many of each destroyer to produce. Retroactive. Defaults to 4. - setMaxHullsPerCruiser(int maxHulls) Sets how many of each cruiser to produce. Retroactive. Defaults to 3. - setMaxHullsPerCapital(int maxHulls) Sets how many of each capital ship to produce. Retroactive. Defaults to 2.Other new methods: - boolean isUnknownShip(FleetMemberAPI ship) Returns true if this station has never encountered this ship's base hull. - boolean isUnknownWeapon(CargoStackAPI stack) Returns true if this station has never encountered this weapon.

Edit: uploaded a quick fix for an issue with the 'missing resources' warnings.

Not 100% sure how the message display deals with line-wrapping, so there might still need to be some cleverness to deal with that, but it'd help cut down on the spamminess of the mod's messages, without actually cutting out information.

Maybe even add a mid level of output, where it just says "Omnifactory constructed new weapons" or the like?

It might also be neat if you could specify supplies or fuel per weapon / ship constructed, rather than per day. Though that might get unreasonably clunky / unintuitive in terms of what order things get constructed in when there aren't enough supplies to build everything at once, so it may not be worth the trouble.

Not 100% sure how the message display deals with line-wrapping, so there might still need to be some cleverness to deal with that, but it'd help cut down on the spamminess of the mod's messages, without actually cutting out information.

Maybe even add a mid level of output, where it just says "Omnifactory constructed new weapons" or the like?

Reducing factory spam is actually what I'm working on right now. addMessage() doesn't support line-wrapping or newlines at all, but I wrote a class to do that sort of thing for us.

Quote

It might also be neat if you could specify supplies or fuel per weapon / ship constructed, rather than per day. Though that might get unreasonably clunky / unintuitive in terms of what order things get constructed in when there aren't enough supplies to build everything at once, so it may not be worth the trouble.

I considered it, but decided it wouldn't work for the reasons you mentioned - also, since there's no way to remove goods from the station's memory right now, it would quickly get too expensive; this is the sort of thing we'd need a menu for. I'll reconsider if/when we get the capability to create our own UI elements.

New version is up. Notifications are organized alphabetically and much less spammy now. Get it here.

Changelog:

Quote

Version 1.3 (January 2, 2013)===============================(this version is not save compatible with earlier versions)This mod now requires LazyLib (included in the download)Omnifactory notifications are more organized and much less spammy now.Fixed rare divide by zero bug with certain modded fighters.New setting: - setMaxStacksPerWeapon(float maxStacks) Sets how many stacks of each weapon to produce. Defaults to 1.0.

New version is up. Notifications are organized alphabetically and much less spammy now. Get it here.

Changelog:

Quote

Version 1.3 (January 2, 2013)===============================(this version is not save compatible with earlier versions)This mod now requires LazyLib (included in the download)Omnifactory notifications are more organized and much less spammy now.Fixed rare divide by zero bug with certain modded fighters.New setting: - setMaxStacksPerWeapon(float maxStacks) Sets how many stacks of each weapon to produce. Defaults to 1.0.

New version is up. Notifications are organized alphabetically and much less spammy now. Get it here.

Changelog:

Quote

Version 1.3 (January 2, 2013)===============================(this version is not save compatible with earlier versions)This mod now requires LazyLib (included in the download)Omnifactory notifications are more organized and much less spammy now.Fixed rare divide by zero bug with certain modded fighters.New setting: - setMaxStacksPerWeapon(float maxStacks) Sets how many stacks of each weapon to produce. Defaults to 1.0.

I am willing to pay again if starfarer will updated at this speed XD

It's a lot more difficult to develop a game compare to modding, especially regarding creating extensive, big free Apis.

Logged

A person who's never made a mistake, never tried anything new- Albert Einstein

As long as we don't quit, we haven't failed- Jamie Fristrom (Programmer for Spiderman2 & Lead Developer for Energy Hook)

New version is up. Notifications are organized alphabetically and much less spammy now. Get it here.

Changelog:

Quote

Version 1.3 (January 2, 2013)===============================(this version is not save compatible with earlier versions)This mod now requires LazyLib (included in the download)Omnifactory notifications are more organized and much less spammy now.Fixed rare divide by zero bug with certain modded fighters.New setting: - setMaxStacksPerWeapon(float maxStacks) Sets how many stacks of each weapon to produce. Defaults to 1.0.

I am willing to pay again if starfarer will updated at this speed XD

The original release was a prototype I threw together in a single afternoon. All these updates have just been putting in the level of polish the mod should have had in the first place.