Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Y4NGZCore
Shared library for Y4NGZ mods. Adds nothing on its own.
| Date uploaded | 2 days ago |
| Version | 1.0.12 |
| Download link | Y4NGZ313-Y4NGZCore-1.0.12.zip |
| Downloads | 618 |
| Dependency string | Y4NGZ313-Y4NGZCore-1.0.12 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2305TeamXiaolan-DawnLib
A modern API for Lethal Company content and all sizes of mods [V81]
Preferred version: 0.9.25README
Y4NGZCore

I am Y4NGZ, an up and coming rapper out of NYC/Detroit. All of my mods are inspired by the music I write. If you are interested in knowing more about me, check out my SoundCloud: https://soundcloud.com/y4ngz
Generative AI usage
The entire code base of this mod was created with generative AI. Assets are free, licensed, paid for, or generated with AI tools. If you do not wish to play with AI-generated content, do not install this mod.
What Y4NGZCore does
Y4NGZCore is a shared library for the Y4NGZ packages. It adds no items, enemies, UI or gameplay by itself. Your mod manager installs it when a package needs it. It has no settings of its own.
Requirements
Your mod manager installs these automatically:
- BepInExPack
- DawnLib
Compatibility
Independent installation: Y4NGZCore needs only the libraries listed under Requirements. These packages require it:
| Mod | What it adds |
|---|---|
| Contracted | Required. Objective placement. |
| LethalCCTV | Required. Camera and stash placement. |
| Y4NGZ Monitor Takeover | Required. Ship monitors. |
| Y4NGZ Ship Systems | Required. Ship fuel and battery, optional terminal and ship refits. |
| Y4NGZUI | Required. Theme and HUD prompts. |
GitHub
Source code: https://github.com/y4ngz313/Y4NGZCompany-public
Bugs
Report bugs at https://github.com/y4ngz313/Y4NGZCompany-public/issues.
CHANGELOG
Y4NGZCore changelog
1.0.12
- Round-end XpRank: the Hairline tier tint now overrides colour tags that Y4NGZUpgrades writes into the rank text (#1523).
- The round-end prefab view gains per-tile reveal beats and optional
Revealing/RevealN/ConfirmNAnimator parameters; bundles without them show the settled report as before (#1523). - Added the scan-node label override contract (
ScanNodeLabelOverrides,ScanNodeLabel) so a plugin can supply scan label text and colour to the Y4NGZUI scan renderer (#1523). - Added
UiThemeState.IsPublishedandUiPalette.ForHue, so a reader can tell Core's unpublished defaults from a theme Y4NGZUI published; Core's own refresh fallback no longer counts as a publish (#1560). - Added neutral HUD theme contracts for the optional Y4NGZUI:
HudTheme,HudSurface,UiSkin, theUiThemeStateskin signal (CurrentHudTheme,Skin,SkinChanged), the per-surfaceHudSurfaceOwnershipresolver and theIHudSettingsHostsettings seam (#1523). - Added the HUD theme-package contract (
HudThemePackage,HudSurfaceRenderer,HudSurfaceAttachment,HudMotionCue, theHudThemePackagesregistry and theHudSurfaceSlothelper),UiThemeState.RequestedHudThemeand 12 moreHudSurfacevalues (24 in all, for the Contracted card and belt, the CCTV arcs and markers and the Upgrades surfaces).CurrentHudThemeis now the effective theme: a theme other than Vanilla draws only while its package is registered and available, and the saved choice is kept meanwhile (#1523). - Retired unused Terminal Upgrades lifecycle identities and friend access, and clarified Ship Systems and Core sales ownership (#1525).
- Added the prefab HUD contract for the optional Y4NGZUI: the bind-point table and check (
HudPrefabContract), the bundle seam (IHudPrefabSource), theIHudVitalsView/IHudHotbarView/IHudClockViewsetters, their prefab renderers and a hide-only renderer for surfaces a prefab already covers (#1523). - G2 fixes: the HUD prefab contract drops Utility/Key, Container/Leaves, Container/Profit and Slot[n]/Locked, allows ContentSizeFitter, and the hotbar view takes the unlocked slot count only (#1523).
- Added
VanillaFonts, which finds the game's true distance-field 3270 font by render mode and glyph coverage, for plugins that draw HUD text (#1614). - Added the group 2 prefab HUD contract for the optional Y4NGZUI: Scan, Notifications, ControlTips and ContractCard bind points, views and prefab renderers, the Contracted card seam (
IHudContractCardSource,HudContractCardState), per-theme required prefab sets, the card's content-driven height (PreferredHeight, the prefab's laid-outHeaderplusRows) and the notification lane alpha (SetLaneAlpha) (#1523). - Added
PinnedScanNodes, which keeps up to 4 scan nodes on the local scan HUD for a set time through vanilla's own scan assignment, so stock and Y4NGZUI scan renderers both draw them; pins clear on ship leave and scene unload (#1614). - Added the Chat prefab key and view, and optional Vitals
MicandHitFlashbind points (#1523). - Added
HudSettingsControl.VisibleForThemes, so a settings row can show only under chosen HUD themes, and an optional timed fade on HUD suppression (Suppress,ReleaseandReleaseAlloverloads withfadeSeconds, driven byHudSuppressionFader; the old signatures stay instant) (#1631). - Added the
HudCriticalPromptseam (Begin/End/Active), so a plugin can keep a critical prompt visible when the player hides control tips (#1631). - Added
HudSurface.PlanetCard(24) andHudSurface.Loading(25) (HudSurfaces.Count26) and typed prefab renderers for the quota banners, desk sale, planet card and loading screen (HudQuotaBannersPrefabRenderer,HudDeskSalePrefabRenderer,HudPlanetCardPrefabRenderer,HudLoadingPrefabRenderer) (#1523). - Themed contract cards fade the check in when an objective completes, and the shared palette follows the HUD theme: the colour preset applies under Vanilla, other themes read the Default palette (#1523).
- The Hairline contract card's plate fits its text: Core sizes it to the widest line in 40 px steps from 320 px to 560 px on the card's layout pass, keeps its right edge, only grows while one card shows and starts afresh on a new title or source bind. The card's header bind points move under a new
HeaderDock(Header,Header/IconandHeader/TitlebecomeHeaderDock/Header,HeaderDock/Header/IconandHeaderDock/Header/Title) andFramebecomes a bind point, so a Y4NGZUI bundle from before this change leaves the whole Hairline theme unavailable (#1523). - Added the
RoundEndprefab key with its bind points (theReport,Fines,XpRankandFiredpanels, four report rows, six report footer cells that can carry Contracted's bottom row with the grade pinned right, each a label over a value over a muted qualifier line, the all-dead cover) and theIHudRoundEndViewsetter view (SetFooterCellstakes the footer;HudRoundEndFooterCell.Qualifierempty hides the line) (#1523). - Added the round-end prefab seam for the optional Y4NGZUI:
HudRoundEndState,IHudRoundEndSource,HudRoundEndVanillaSource(reads vanilla's report, fines and fired screens and takes a Contracted override),HudRoundEndPrefabRendererandHudRoundEndStock, which mount one sharedRoundEndcard and show the panel that matches vanilla's visible page (#1523). - Added the
QuotaBanners,DeskSale,PlanetCardandLoadingprefab keys with their bind points, Animator parameters and setter views (IHudQuotaBannersView,IHudDeskSaleView,IHudPlanetCardView,IHudLoadingView); Y4NGZUI's Hairline binds and requires all four since the G3d renderers below (#1523). - Prefab HUD labels enable rich text at bind so vanilla and mod colour tags render instead of printing literally, including the Hairline round-end rank and XP (#1523).
- The Hairline chat prefab's width fits its text: Core narrows it to the widest log line plus the layout's side padding, never under the hint line, in 16 px steps up to the prefab's authored width, keeping its left edge (#1523).
- The
RoundEndreport's footer cells become meter tiles atReport/Meters/Cell0..5, the all-dead group moves under the rows (Report/Rows/AllDead), and a newReport/Outcomestamp bind point withIHudRoundEndView.SetOutcomeshows the contract outcome thatHudRoundEndVanillaSource.SetReportOverridenow carries; a Y4NGZUI bundle from before this change leaves the Hairline theme unavailable (#1523). - The
Loadingprefab key swapsBackdropfor the letterbox bandsTopBandandBottomBandand addsTopBand/MoonandTopBand/WeatherwithIHudLoadingView.SetMoon/SetWeather; while bound, the loading renderer hides vanilla's LoadingText children and hands them back on release (#1523). - The round-end prefab view gains optional
XpRank/GainandXpRank/Nexttext bind points (hidden while their value is unknown) and optionalXpShow/PromoteAnimator parameters, fired when the card reaches the XP panel (not again when a theme switch re-attaches it mid-XP) and once per XP entry when the rank rises there; a reveal begun over a running one hides its tiles again (#1523). - The round-end XP state carries the shift's gain, the next rank, the XP still needed, the rank tier and whether the rank rose, captured from vanilla's levelling or published by another mod through
HudRoundEndRank(#1523). - The shared round-end card now stays hidden once no page shows it (it re-asserts its hide when a hide was dropped or undone), ends its report and XP panels at ship leave, ship reset and disconnect, and logs each Show, Advance, Hide and hide re-assert (#1523).
- Removed the terminal-session repaint (
PresentationBroker.RefreshActiveTerminalSession,ITerminalSessionCoordinator.RefreshActiveSession); the liveness reads stay. Teardown slot 300 is nowModuleTeardownOrder.ThemeObservers(#1523).
1.0.11
- Removed the retired fuel-source members from the ship-fuel routing contract:
ShipFuelRouteQuote.HasFuelSourceandIShipFuelRoutingService/ShipFuelRoutingServicesSourceFillCountandFilledPumpFuelAmount(#914). - Interior placement: new free-standing floor-prop mode (room-centred, clearance ring, doorway path) for creature props such as the Cook cauldron (Monsters#304, #1443).
- The debug mob-ignore switch is now answered per player, so a Y4NGZDebugTools dummy that shares the host's id is no longer ignored along with the host (Y4NGZPerformance#48).
- Added
CoreDiagnostics.PerformanceTimingLoggingProviderandCoreDiagnostics.PerformanceTimingLogging, so diagnostics held to Core's rules can honor a plugin's Performance Timing Logging switch (#1405).
1.0.10
- Interior placement treats the tile a facility entrance stands in as reachable, and a tall tile's reachability probe now reaches its floor (#1271).
- Added shared camera profiles and counted effect leases so CCTV and objective hints restore camera settings without overriding one another (#1219).
- Added an optional spatial objective contract with stable identity, a live object handle, and an area/object distinction. Contracted and LethalCCTV candidates require Core 1.0.10 (#1061).
- Interior placement makes a fixture whose floor sits outside the elevation band of the facility entrances prove a complete walking route from an entrance to its interaction point before it is placed (#1156).
- The debug mob-ignore switch is now read from one shared place, so a plugin that asks whether a player has been switched off gets the same answer as every other one (#1159).
- Added a performance-report restyle seam, so a report that lands after the first restyle pass is still themed (#1160).
- Interior placement never puts anything in the Rubber Rooms padded cells, and a plugin that picks its own tiles can ask the same question (#874).
- Shared fuel quantity formatting for Ship Systems and Contracted (#885).
- An isolated battery-warning render slot for Ship Systems (#890).
- An empty fixture registry reports infinite distance; zero now unambiguously identifies a fixture at the same horizontal position (#686).
- Placement requests can keep fixture separation mandatory while relaxing other geometric preferences, so Contracted exhausts separated bomb placements before accepting a crowded fallback (#686).
- Added
QuotaUnlockCategories.Moon, the neutral unlock category for quota-locked moons; with no quota progression installed every moon stays unlocked (#862).
1.0.6
Added
- Neutral UI signals other Y4NGZ plugins read without depending on Y4NGZUI: the shared theme's write calls, the gameplay HUD visibility gate, the HUD motion offset, and the presentation callbacks a contract plugin hands to the UI layer. This is what lets Contracted run without Y4NGZUI installed.
- GeneralImprovements Better Monitors screens can now be painted individually by a single presentation, so a plugin can show different content on different monitors of the same wall instead of one shared picture. Screens a presentation does not address keep showing its main content.
1.0.5
Fixed
- Screens no longer stay stuck on old takeover or reward content after a presentation ends: every monitor not carrying the reward screens returns to normal.
- GeneralImprovements Better Monitors no longer wash Y4NGZ monitor content out to a flat glow.
1.0.4
Added
- New cross-plugin seams for the #666 Ship Systems split: the ship upgrade-state and route-fuel capabilities, the power/status signal hub, and the Core-held monitor presentation scopes, so the split fuel/power and terminal/upgrades plugins coordinate whichever subset is installed.
- Terminal + Upgrades lifecycle identities (Harmony owner, module id, tick and teardown slots).
- GeneralImprovements Better Monitors small screens can now be addressed by name, so plugins can host readouts on a chosen screen.
Fixed
- Announcements on GeneralImprovements Better Monitors now cover all three large lower monitors instead of two.
1.0.3
Fixed
- Bumped the package version so the shipped payload unambiguously contains
SplitAssemblyDiagnostics: the 1.0.2 payload changed meaning mid-version (a stale pre-diagnostics 1.0.2 build TypeLoadExceptioned every split module). Core now bumps with every change until the split set ships to Thunderstore. - GeneralImprovements Better Monitors screens no longer flood white under Y4NGZ monitor content: the shared GI property-block binding forced a white HDR emissive color onto materials whose emissive-map keyword a property block cannot enable, so the content texture was never sampled while the white emission was. The emissive push is now gated on the material actually sampling an emissive map (#659).
- Updated dependent package staging, readmes, and docs to require Y4NGZCore 1.0.3.
1.0.2
Added
- Module manifests and compatibility handshakes used by independently shipped Y4NGZ modules.
- Deterministic module tick and teardown ordering, capability registration, and diagnostics.
- Shared monitor-surface arbitration and ship-layout notifications.
- Neutral contracts for objectives, quota progression, presentation, sales, environment, and Ship Systems providers.
- Named-message registration guards and reconnect-safe network lifecycle helpers.
Fixed
- Assigned the post-split Core API surface a fresh package version so mod managers cannot substitute an older 1.0.1 DLL that lacks
ModuleHandshakeService. - Updated dependent package staging to require Y4NGZCore 1.0.2.