You are viewing a potentially older version of this package. View all versions.
NAinfini-ForgeCore-0.1.0 icon

ForgeCore

Public GTFO mod foundation: asset bundles, logging, settings, pools, networking, input leases, local saves and calls into the game's own systems.

Date uploaded 3 days ago
Version 0.1.0
Download link NAinfini-ForgeCore-0.1.0.zip
Downloads 47
Dependency string NAinfini-ForgeCore-0.1.0

This mod requires the following mods to function

BepInEx-BepInExPack_GTFO-3.2.4 icon
BepInEx-BepInExPack_GTFO

BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.

Preferred version: 3.2.4
GTFOModding-GTFO_API-0.6.1 icon
GTFOModding-GTFO_API

Modding API for GTFO

Preferred version: 0.6.1

README

ForgeCore

A library other GTFO mods depend on. It does nothing on its own: install it when a mod asks for it (r2modman does this for you).

It gives mods one shared base for talking over the network (a player running a different version of a mod is refused on both sides and told), taking over keys, logging, keeping settings and local progress, pooling objects, and calling the game's own damage, explosion, gear and data block systems.

Report bugs on GitHub, or find me on the GTFO Modding Discord as nainfini.

Installation

Install with r2modman or the Thunderstore Mod Manager. The only dependency is BepInExPack_GTFO.

For mod authors

The quick start and the list of public types are in the developer guide.

License

MIT.

CHANGELOG

Changelog

0.1.0

  • Modules: Log, Settings, Store, Pool, Assets, Frame, Patches (first-use and lazy patching), Net (handshake by format fingerprint, NetDelivery, lobby values, world epoch), InputLease, CameraLease, GameEvents, GameHooks / Bracket, Enemies, EnemyAlert, EnemySpawn, Level, Combat, Gear, Items, SoloDrop, DataBlocks, PlayerHits, PlayerNoise, Puppets, WorldStates, HoldPoint, Compact, ChunkLog, fingerprints and hashes.
  • GameHooks patches the game methods several packages read once and hands each call to every subscriber (Before, After, Around). GameHooks.SentryLifecycle covers the seven sentry methods that move a sentry in or out of its owner's backpack and the world (SentryStep, SentryCall).
  • Level.PlayerByLookup / Level.IsPlayer find the in-level player agent of a network player.
  • Combat.ShooterRay is the bullet ray that steps over the shooter's own colliders.
  • HoldPoint.Disable / Enable shut a timed hold point and keep it shut when the game switches it on again, without a per-frame check.
  • GameEvents.ExpeditionSelected is raised on the host and on clients.
  • Logging writes errors only.
  • ModLog.ErrorOnce(message) writes an exact message once; errors log the whole exception. Net.StaleMessages and ModLog.Count are removed.