Skip to content

Releases: northwood-studios/LabAPI

1.1.6

24 Mar 21:29

Choose a tag to compare

Additions

  • Updated the plugin loader to search for DLL files in all subdirectories, not just the top-level directory. This allows plugins and dependencies to be organised in nested folders. (Thanks Xname7 for the public merge request!)
  • Implemented automatic adding of descriptions for plugins into the build info
  • The source generator will now copy the [Obsolete] attribute from the event declaration to the invoker method and CustomEventsHandler
  • Added PlayerInspectingItem and PlayerInspectedItem events
  • Added Door.Get(DoorName). Allowing developers to get to the door by their DoorName easily
  • Added a mechanism to force pause a spawn wave's timer at any point
  • Added IsReloading, IsUnloading and IsReloadingOrUnloading getters to the FirearmItem.
  • Added an extra check to FirearmItem::CanReload to prevent CanReload from being true even though the base game wouldn't allow for reloading to happen (Thanks OMEGA3065 for the public merge request!)
  • Added SCP-1507 item and pickup wrapper
  • Added OnPlayerProcessingScp1509Message, OnPlayerProcessedScp1509Message, OnPlayerScp1509Resurrecting and OnPlayerScp1509Resurrected events
  • Added optional owner parameter to Ragdoll.SpawnRagdoll(...)

Technical Changes

  • Optimised all filtered Player list accessors for reduced memory footprint
  • Refactored Player::Gravity to allow setting it even on non-FPC roles

Bug Fixes

  • Fixed RespawnWave::TimeLeft returning incorrect time (Thanks Crous for the public merge request!)
  • Fixed UsableItem::IsUsing setter not working as intended (Thanks michcio for the public merge request!)
  • Fixed some player related events missing IPlayerEvent implementation (Thanks TTrouble for the public merge request!)
  • Fixed the config of the plugin being nullable
  • Fixed RoleExtensions.TryGetRandomSpawnPoint() throwing NullReferenceException if called on a class without spawnpoint
  • Fixed Player::RemoveItem(ItemType, int) not working properly

Note that this changelog covers purely LabAPI wise changes. The base game changelog contains huge changes for modding as well!

1.1.5

12 Jan 13:56

Choose a tag to compare

1.1.5 Release

Changelog:

  • Cassie class has been made obsolete due to base game namespace conflict. There is now a new Announcer class which will be used for later updates aswell.
  • Fixed CheckpointDoor::SubDoors returning null in unwanted case.
  • Clarified TimedGrenadeProjectile.SpawnActive(..) docs about negative time behaviour.

Nuget should be released soon.

1.1.4

24 Oct 19:17
e200890

Choose a tag to compare

Additions

Plugin::RequiredApiVersion

This feature is now properly working, and it introduces a comprehensive version compatibility system to ensure plugins are built for the correct API version. The system includes multiple safeguards and configuration options:

  • Major version mismatch prevention: The API now checks that plugins are built for a compatible major version, preventing potential crashes or unexpected behaviour from version incompatibilities.
  • Global override setting: A new property in the LabAPI config allows server administrators to load plugins built for unsupported major versions at their own risk.
  • Per-plugin override: Individual plugins can specify their own loading behaviour through a property in their properties.yml configuration, overriding the global setting.

Player::Emotion

Provides a simple way to modify the player emotion.

Events

  • OnBlastDoorStateChanged / ing
  • OnRoomLightEnabled / ing
  • OnRoomColorChanged / ing
  • OnDoorLockChanged / ing
  • OnCheckpointDoorSeqeunceChanged / ing
  • OnDoorDamaged / ing
  • OnDoorRepaired / ing
  • OnElevatorSequenceChanged
  • OnScp939FocusChanged
  • OnScp939EnviromentMimicked / ing
  • OnScp049Attacking / ed
  • OnScp049SenseLostTarget
  • OnScp049SenseKilledPlayer
  • OnScp173Snapped / ing
  • OnPlayerHitmarkerChecked / ing
  • OnPlayerHitmarked
  • OnPlayerHumeShieldBroken
  • OnServerFactionInfluenceModified / ing
  • OnServerMilestoneAchieved / ing
  • OnServerDeadmanSequenceActivated / ing
  • OnServerShutdown

Fixes

  • Fixed a bug that caused having multiple command handlers in a command, only to register the first.

Full Changelog: 1.1.3...1.1.4

1.1.3

17 Oct 10:48

Choose a tag to compare

What's Changed

Full Changelog: 1.1.2...1.1.3

1.1.2

13 Sep 23:30

Choose a tag to compare

What's Changed

  • Common fix by @SlejmUr in #239
  • IsAbstract plugin check + separate embedded dependency resolving pass by @Axwabo in #212
  • Make Player.GameObject nullable and null check ReferenceHub before accessing it. by @xCynDev in #144

And more: https://docs.google.com/document/d/1zv6iT-MNWEccRMveDTmnxfEWY_uUbZ2QYkyHl84rIi0/edit?usp=sharing

Full Changelog: 1.1.1...1.1.2

1.1.1

01 Aug 21:53

Choose a tag to compare

What's Changed

  • feat: player factions by @LumiFae in #184
  • Fix: Load Config before commands by @LilNesquuik in #134
  • Fixed a token name error by @CCrous in #69
  • fix: DropAllAmmo would modify the dictionary it was iterating over by @blankochan in #200
  • Add LifeId property to Player class by @Xname7 in #79
  • Make CASSIE SCP termination event include damage handler. by @matrixidot in #114
  • Player stuff + Move Server.cs by @Misfiy in #204
  • Yaml | Redundant Code by @Misfiy in #203

https://docs.google.com/document/d/1_S7sA5uXl16YiulL1gdOc8fpz5nlF6cHTFPeO61D8bM/edit?usp=sharing

New Contributors

Full Changelog: 1.1.0...1.1.1

1.1.0

27 Jun 11:36
329f3bb

Choose a tag to compare

What's Changed

Full Changelog: 1.0.2...1.1.0

1.0.2

17 May 20:47
9e6f8f7

Choose a tag to compare

What's Changed

Full Changelog: 0.7.0...1.0.2

LabAPI 0.7.0

07 May 23:24

Choose a tag to compare

Changelog

Full Changelog: 0.6.0...0.7.0

LabAPI 0.6.0

25 Apr 21:27

Choose a tag to compare

Changelog

Full Changelog: 0.5.0...0.6.0