Releases

  • April Fools' update

    NorbiPeti 7 months ago 2 commits to master since this release

    This update brings compatibility for Techblox 2022.04.01.10.32 and adds new features and fixes. This update is backwards compatible with mods that work with TechbloxModdingAPI 2.0.

    Additions/changes:

    • Added Block.Mass, Cluster.Mass, Block.Complexity (CPU/power) properties
    • Made Player.LocalPlayer return null if the player doesn't exist (instead of throwing an exception)
    • Added ObjectID class and some WheelRig properties

    Fixes:

    • Fixed Block.GetLastPlacedBlock() and Block.BlockGroup
    • Fixed getting Engine properties (which are internal)

    Deprecated the Player.Mass and SimBody.Mass properties as it doesn't seem to be possible to get them clientside and I don't want to add serverside support until 3.0.

    Known issues:

    • Changing too many existing blocks’ material/flipped state at once can (still) cause a crash
    • Seat entering/leaving and other direct actions are (still) broken: we can only send inputs during simulation
    • Serialization is (still) broken; an error in Harmony or one of its dependencies has forced us to partially disable it.
     
  • Mods > multiplayer

    NorbiPeti 9 months ago 11 commits to master since this release

    This update brings compatibility for Techblox 2022.01.25.15.52 and adds new features and fixes. This update is backwards compatible with mods that work with TechbloxModdingAPI 2.0.

    Additions:

    • Added patches for anticheat, so that the game can be modded
    • Added player join/leave events
    • Added support for pressing buttons in a popup
    • Added error handling for API initialization
    • Added methods to spawn and despawn the player's vehicle in simulation mode
    • Added support for a player state property, which returns whether the player's machine is spawned or if the player is in a seat
    • Added method to get the ghost block of a player (the local player, most likely)

    Fixes:

    • Fixed crash when adding an event handler multiple times
    • Further delayed the Game.Enter event until the local player joins
    • Fixed toggling time mode, which now means connecting to a (likely local) server
    • Fixed closing popups opened via the API
    • Fixed the player ID being 0 in certain cases
    • Removed workaround for duplicate block place/remove events as it's not needed anymore
    • Fixed async tests not being handled properly (waiting in a test would fail because of this)
    • Fixed the handling of multiple ECS objects with the same ID
    • Made the Game.GetAllBlocksInGame() not actually return all of the blocks in-game, since the Game object refers to a machine save
    • Finally fixed the block visuals not being updated after a change (#7)
    • Fixed updating the color of a block

    Known issues:

    • Seat entering/leaving and other direct actions are broken: we can only send inputs during simulation
     
  • Hold on to your objects and listen

    NorbiPeti 11 months ago 55 commits to master since this release

    This update brings compatibility for Techblox 2021.12.13.16.53 and adds new features and fixes. This update is backwards compatible with mods that work with TechbloxModdingAPI 2.0.

    Additions:

    • (Mostly) automatically generating block classes
      • Takes a block name and some entity components minimum and creates the corresponding class
    • Added ECS object tracking which allows for reusing the objects returned by the API and emitting events to these objects
      • Added the Seat.Enter and Seat.Exit events for specific seats using this
    • Added support for entering and exiting seats from code
    • Implemented support for existing mod commands as the game's code is no longer present
    • Added the following block classes (well, re-added mostly):
      • LogicGate
      • Motor
      • Piston
      • Seat
      • Servo
      • WheelRig
    • Added support for getting the wire the player is looking at

    Fixes:

    • Made the Game.Enter event only fire when the game has finished loading
    • Fixed a crash inside an event handler preventing other handlers from being called
    • ToggleTimeMode() now triggers the full switch animation as the player wasn't positioned correctly otherwise
    • Fixed the Block.Static property

    Known issues:

    • Changing an existing block's flipped state or material may cause the game to crash
    • Block visuals don't update after moving/scaling/etc.
     
  • This tech is for the Blox game

    NorbiPeti 1 year ago 74 commits to master since this release

    This is the first full release for Techblox, adding compatibility for version 2021.06.10.15.03. This is not backward compatible with GamecraftModdingAPI but makes a best-effort attempt to keep a similar API. It contains the changes from the preview release with a few fixes and additions.

    This update will be available on TBMM or it's available the manual way if you want.

    Changelog

    • Updated to newer Techblox version
    • Fixed a crash when simulation is started through the API without any blocks placed
    • Updated some block properties
    • Added support for activating the screenshot taker from code

    Known Issues

    • Serialization is broken; an error in Harmony or one of its dependencies has forced us to partially disable it.
     
  • Pre-Release v2.0.0 c1c226ef2a

    Totally Techblox

    NGnius 1 year ago 79 commits to master since this release

    This is a preview release for the migration to Techblox. This release is intended for developers and enthusiastic players so that they can get started. This is not backwards compatible with GamecraftModdingAPI, but makes a best-effort attempt to keep a similar API.

    Changelog

    • Move from Gamecraft to Techblox (big thanks to NorbiPeti for this one)
    • Redesign how ECS objects are handled through the API (thanks to NorbiPeti)
    • Many automatic testing improvements (NorbiPeti)
    • Added support for static blocks (NorbiPeti)
    • Convert IMGUI style to Techblox
    • Removed deprecated event system

    Many thanks to NorbiPeti for doing the migration work! I'm starting to feel inadequate over here -- my spare time has been occupied elsewhere.

    Known Issues

    • Serialization is broken; an error in Harmony or one of it's dependencies has forced us to partially disable it.
     
  • Custom blocks

    NGnius 1 year ago 127 commits to master since this release

    This update is backwards compatible with mods that work with GamecraftModdingAPI v1.0 and later but with new features. This version adds support for Gamecraft's 2020.12.16.14.19 release.

    This update is available on GCMM or the manual way if you really want.

    Changelog

    • Added support for custom blocks
      • Custom blocks can be interacted with like regular blocks
      • Refer to CustomBlock and the attribute for usage
      • Persistence is still WIP
    • Added a GUI style similar to Gamecraft's style using Unity's IMGUI system
      • Text input, labels, and buttons are supported right now
      • Refer to the IMGUI namespace for usage
      • Advanced GUI elements are WIP and will be made available when ready
    • Reworked Utility.Audio due to FMOD 2.0 breaking changes

    Congrats to NorbiPeti for getting custom blocks to a working state! Also many thanks for keeping this project going while I've been swamped by university.

     
  • Blueprints, blueprints everywhere

    NorbiPeti 2 years ago 150 commits to master since this release

    This update is backwards compatible with mods that work with GamecraftModdingAPI v1.0 and later but with new features. This version adds support for Gamecraft's 2020.11.13.16.44 release.

    This update is available on GCMM or the manual way if you really want.

    Changelog

    • Showing a custom error dialog if patching failed
    • Added support for blueprints and block groups
      • Blueprints can be created, selected, their contents can be updated, they can be placed
      • Block groups can be created while placing blocks with the API, the game will calculate their position/rotation and they can be picked by the player
    • Added block.Copy<Block>() method to create a copy of the block in the game, preserving properties, stats and wires
    • Added property to get the player's current building mode and the current game's mode/type
    • Fixed moving/rotating blocks right after they were placed
     
  • A spring update for a light update

    NGnius 2 years ago 162 commits to master since this release

    This update is backwards compatible with mods that work with GamecraftModdingAPI v1.0 and later but with new features. This version adds a block that was overlooked in previous updates.

    This update is available on GCMM or the manual way if you really want.

    Changelog

    • Added damped spring block class
     
  • A sound update for a light update

    NorbiPeti 2 years ago 163 commits to master since this release

    This update is backwards compatible with mods that work with GamecraftModdingAPI v1.0 and later but with new features. This version adds support for Gamecraft's 2020.10.01.14.28 release.

    This update is available on GCMM or the manual way if you really want.

    Changelog

    • Added API for SFX blocks
    • Block color additions (Index and RGBA properties)
    • Added Player.LocalPlayer property and methods for SimBody and Cluster to get contained blocks and others
    • Various fixes and some performance improvements
     
  • Wicked Wires

    NGnius 2 years ago 171 commits to master since this release

    This update is backwards compatible with mods that work with GamecraftModdingAPI v1.0 and later but with new features. This version adds support for Gamecraft v2020.08.21.09.46 release.

    Please note that this update coincides with some breaking changes to GCIPA, so old mods will cause errors through no fault of GamecraftModdingAPI. I'd recommend doing a full mod re-install by deleting all mods, verifying game files in Steam, and then using GCMM to repatch Gamecraft and reinstall mods.

    This update is available on GCMM or the manual way if you really want.

    Changelog

    • Added support for wiring and converted some existing blocks for wiring
    • Added some block damage functionality
    • Added Logic Gate block
    • Fixed some API bugs