Releases: Timberborn-Modding-Central/TimberAPI
v0.5.4.0
Updated versions
v0.5.3.2
Updated versions
v0.5.3.1
TimberAPI v0.5.3.1
Hotfix
Changes
- Changed console monitor shortcut to Backslash
V0.5.0.0
TimberAPI v0.5.0.0 - The Rework
TimberAPI has been fully reworked to have more flexibility on new features and control to the end user. Within this release we have removed the dependency of BepInEx but we are still compatible with it.
NEW:
- Loader system
- Bootstrap
- Mod loader
- InGame console
- Config system
- Compatability checker
- Version system (compatible with ingame version x.x.x.x)
- Shader fixer (With new shader fixes thanks to @TobbyTheBobby)
- Specification generation
- BuildingSpecification, modify power, recipes & science (Thanks to @hytonhan)
- Thirdy part licenses notice
REWRITTEN:
- AssetSystem
- ConfiguratorSystem
- Logging
- DependencyContainer
UNTOUCHED/MINOR CHANGES:
- Specification system
- UIBuilder
- EntityLinker
- File lang
REMOVED:
- EventListener
- lang registery in code
- Entity action system
Things you need to change as modder
- create mod.json
- Add [Configurator(SceneEntrypoint.InGame)] On the top of a configurator class. For multiple entrypoint [Configurator(SceneEntrypoint.InGame) | SceneEntrypoint.MapEditor]
- If you need patches create a class that implements IModEntrypoint
Special thanks to:
@KYPremco, Rewritten API
@hytonhan, Addition functionality & code reviews
@TobbyTheBobby, Adding more shader fixes
@hawkfalcon, code reviews
v0.5.0.0-rc.2
TimberAPI v0.5.0.0-rc.2 - The Rework
TimberAPI has been fully reworked to have more flexibility on new features and control to the end user. Within this release we have removed the dependency of BepInEx but we are still compatible with it.
NEW:
- Loader system
- Bootstrap
- Mod loader
- InGame console
- Config system
- Compatability checker
- Version system (compatible with ingame version x.x.x.x)
- Shader fixer (With new shader fixes thanks to @TobbyTheBobby)
- Specification generation
- BuildingSpecification, modify power, recipes & science (Thanks to @hytonhan)
REWRITTEN:
- AssetSystem
- ConfiguratorSystem
- Logging
- DependencyContainer
UNTOUCHED/MINOR CHANGES:
- Specification system
- UIBuilder
- EntityLinker
- File lang
REMOVED:
- EventListener
- lang registery in code
- Entity action system
Things you need to change as modder
- create mod.json
- Add [Configurator(SceneEntrypoint.InGame)] On the top of a configurator class. For multiple entrypoint [Configurator(SceneEntrypoint.InGame) | SceneEntrypoint.MapEditor]
- If you need patches create a class that implements IModEntrypoint
Special thanks to:
@KYPremco, Rewritten API
@hytonhan, Addition functionality & code reviews
@TobbyTheBobby, Adding more shader fixes
@hawkfalcon, code reviews
v0.5.0.0-rc.1
TimberAPI v0.5.0.0 - The Rework
TimberAPI has been fully reworked to have more flexibility on new features and control to the end user. Within this release we have removed the dependency of BepInEx but we are still compatible with it.
NEW:
- Loader system
- Bootstrap
- Mod loader
- InGame console
- Config system
- Compatability checker
- Version system (compatible with ingame version x.x.x.x)
- Shader fixer (With new shader fixes thanks to @TobbyTheBobby)
- Specification generation
- BuildingSpecification, modify power, recipes & science (Thanks to @hytonhan)
REWRITTEN:
- AssetSystem
- ConfiguratorSystem
- Logging
- DependencyContainer
UNTOUCHED/MINOR CHANGES:
- Specification system
- UIBuilder
- EntityLinker
- File lang
REMOVED:
- EventListener
- lang registery in code
- Entity action system
Things you need to change as modder
- create mod.json
- Add [Configurator(SceneEntrypoint.InGame)] On the top of a configurator class. For multiple entrypoint [Configurator(SceneEntrypoint.InGame) | SceneEntrypoint.MapEditor]
- If you need patches create a class that implements IModEntrypoint
Special thanks to:
@KYPremco, Rewritten API
@hytonhan, Addition functionality & code reviews
@TobbyTheBobby, Adding more shader fixes
@hawkfalcon, code reviews
v0.4.0
The ALL NEW TimberAPI 0.4 is released!
- NEW: Specifications
Add or modify game specifications! Completely JSON-based, this is our first no-code feature.
Specifications have a large range of usage. For example, you can make new or edit existing: Factions, Goods, Needs, Recipes and more. The specifications are automatically loaded within the specification folder relative to your mod location.
More info: https://timberapi.com/specifications/
- NEW: Improved Documentation
Lots of great new guides on https://timberapi.com
- REMOVED: Object Registry
This has been replaced with using Specifications to add GameObjects
Download
https://timberborn.thunderstore.io/package/Timberborn_Central/TimberAPI/
Example
https://timberborn.thunderstore.io/package/Timberborn_Central/TimberAPIExample/
NuGet Dependency
https://www.nuget.org/packages/TimberAPI/0.4.0
v0.3.0
The long awaited TimberAPI 0.3 is released!
- NEW: Dependency Container
A new way to retrieve any dependency directly
TimberAPI.DependencyContainer.GetInstance<UIBuilder>();
Our first feature to make harmony use easier, you don't need constructor access.
- NEW: Entity Linker
Provides a 2 way connection between entities to pass or access data on other buildings/components. It's preinstalled, all you have to do is CreateLink on the EntityLinker component
- NEW: Object Registry
Add objects/buildings to our own TimberAPI object collection. You can use this to easily inject buildings.
TimberAPI.CustomObjectRegistry.AddGameObject(customObject);
- IMPROVED: DependencyRegistry
Add multiple configurators at the same time with DependencyRegistry.AddConfigurators
Ensure early load order if necessary (e.g. for ObjectRegistry) with
DependencyRegistry.AddConfiguratorBeforeLoad
- INTERNAL IMPROVEMENT: Logging
Unified the logging within TimberAPI to all use BepInEx's logger
Download
https://timberborn.thunderstore.io/package/Timberborn_Central/TimberAPI/
Example
https://timberborn.thunderstore.io/package/Timberborn_Central/TimberAPIExample/
NuGet Dependency
https://www.nuget.org/packages/TimberAPI/0.3.0
TimberAPI v0.1.0 Beta
Last release before launch
TimberAPI
Unofficial API to enable easier Timberborn modding
Currently supported features:
- Bind your code easily with depencency injection
- Event listening of any event to get triggered on in game actions
- A comprehensive UI component builder
- Asset injection, provide your own icons or even unity bundles
- Labels and localization support
More Information can be found on the wiki
TimberAPI Documentation
Provided Sample Plugin with API examples
TimberAPI v0.1.0 Alpha
First release
EVERYTHING IS SUBJECT TO CHANGE. THIS IS AN ALPHA RELEASE!
Two features to start:
- Dependency Injection
TimberAPI.Dependencies.AddConfigurator(new ExampleConfigurator());
- Event Listening
Class : Listener { [OnEvent]...
See the WIKI
There's also a working example which just prints a lot of things to console at the moment
https://github.com/Timberborn-Modding-Central/TimberAPI/blob/main/TimberAPIExample/TimberApiExamplePlugin.cs