Files
Marvin 542021b360 fix: update MelonInfo version references to use global::gregCore.PublicApi.greg.Version
feat: enhance Hardware and Economy classes in hook_groups.json with additional entries
2026-04-24 17:57:30 +02:00

144 lines
9.3 KiB
JSON

{
"Automation": {
"description": "Scripting, auto-management, monitoring tools",
"classes": ["MainGameManager", "TimeController", "SaveSystem"],
"methods": ["SetAutoSaveInterval", "SetAutoSaveEnabled", "AutoSave", "OnEndOfTheDay", "Tick"]
},
"ClientsContracts": {
"description": "New client types, contract mechanics, revenue systems",
"classes": ["Customer", "CustomerManager", "Contract", "ContractManager", "MainGameManager"],
"methods": ["AddCustomer", "RemoveCustomer", "UpdateCustomer", "GetFreeVlanId", "AssignContract", "CompleteContract"]
},
"Facility": {
"description": "Building layouts, room expansions, floor designs",
"classes": ["RoomManager", "BuildingManager", "FacilityManager", "FloorManager", "Wall", "PushTrolleyHandle", "TrolleyTrigger", "GateLever"],
"methods": ["AddRoom", "RemoveRoom", "ExpandRoom", "PlaceObject", "RemoveObject", "UnlockArea", "OpenWall", "OnHoverOver", "ObjectAdded", "OpenGate", "CloseGate", "TruckComing"]
},
"Hardware": {
"description": "Custom servers, racks, switches, equipment",
"classes": ["Server", "Rack", "RackMount", "Switch", "Item", "ShopItemSO", "AssetManagement", "TechnicianManager", "SFPBox", "SetIP", "InputManager", "Technician", "SFPModule"],
"methods": ["PowerButton", "SetIP", "UpdateCustomer", "UpdateAppID", "IsBroken", "RepairDevice", "BuyNewItem", "AddDevice", "RemoveDevice", "Connect", "Disconnect", "AssignJob", "RequestJobDelayed", "RotateTowardsGoal", "SendToContainer", "SetHandIKWeight", "InsertDirectlyIntoPort", "SlideIntoPort"]
},
"Networking": {
"description": "Cable routing, packet visualization, network configs",
"classes": ["NetworkMap", "CableManager", "PacketComponent", "CableIDComponent"],
"methods": ["AddDevice", "RemoveDevice", "Connect", "Disconnect", "RegisterCableConnection", "RemoveCableConnection", "IsIpAddressDuplicate"]
},
"PowerCooling": {
"description": "Power management, UPS systems, cooling solutions",
"classes": ["PowerManager", "UPSManager", "CoolingManager", "PowerUnit"],
"methods": ["SetPower", "EnableUPS", "SetCooling", "GetPowerUsage", "OverheatWarning"]
},
"Economy": {
"description": "Player economy, XP, shop transactions",
"classes": ["Player", "ComputerShop", "BalanceSheet", "BalanceSheetRow", "CustomerBase", "CustomerBaseDoor", "CustomerCard", "CustomerColor", "ShopCartItem"],
"methods": ["UpdateCoin", "UpdateXP", "UpdateReputation", "ButtonCheckOut", "UpdateCartTotal", "AddRow", "AddSalaryRow", "AddSectionTitle", "AddTotalRow", "RegisterSalary", "TrackFinances", "AddAppPerformance", "AppText", "SetUpApp", "SetUpBase", "InteractOnHover", "OpenDoorAndSetupBase", "SetCustomer", "GetColorForCustomerId", "GetTotalAppSpeed", "GetSubnetsPerApp", "GetVlanIdsPerApp", "GetOrCreateRecord", "RestoreRecord", "InstantiateRow"]
},
"Persistence": {
"description": "Save/Load game state",
"classes": ["SaveSystem", "SaveData", "ColorSerializationSurrogate", "FCP_Persistence"],
"methods": ["SaveGame", "LoadGame", "AutoSave", "Load", "SaveGameData", "LoadGameData", "GetObjectData", "SetObjectData", "GenerateID"]
},
"VisualUI": {
"description": "Interface overhauls, themes, visual enhancements",
"classes": ["MainMenu", "PauseMenu", "UIManager", "HUDManager", "AssetManagement", "AssetManagementDeviceLine", "ButtonExtended", "FlexibleColorPicker", "OSK_Keyboard", "OSK_Key", "OSK_GlyphHandler", "OSK_Keymap", "OSK_Receiver", "OSK_AccentConsole", "OSK_GamepadHelper", "OSK_UI_InputReceiver", "OSK_UI_Keyboard", "SettingsGraphics", "SettingsControls", "TMP_TextEventHandler", "TMP_TextSelector_B", "RecyclableScrollRect", "HorizontalRecyclingSystem", "VerticalRecyclingSystem", "RecyclingSystem", "AutoScrollRect", "StaticUIElements"],
"methods": ["Continue", "NewGame", "Settings", "OpenPanel", "ClosePanel", "SetTheme", "OnPointerClick", "OnPointerEnter", "OnPointerExit", "OnSelect", "OnSubmit", "OnDeselect", "ChangeMode", "GetColor", "SetColor", "ParseHex", "RGBToHSV", "HSVToRGB", "PickColor", "SetMarker", "GetValue", "IsValidHexChar", "GetNormalizedPointerPosition", "GetSanitizedHex", "Initialize", "OnValueChangedListener", "SetRecyclingBounds", "SetTopAnchor", "ScrollAuto"]
},
"Lifecycle": {
"description": "Scene, load, pause, time events",
"classes": ["LoadingScreen", "PauseMenu", "TimeController", "PlayerManager", "Objectives", "CommandCenter"],
"methods": ["LoadGameScenes", "LoadLevel", "UnLoadLevel", "Pause", "Resume", "OnApplicationQuit", "SpawnOperatorsForLevel", "DestroyOperatorsForLevel", "SpawnOperatorsForSingleLevel", "ToggleClearWarningAuto"]
},
"Audio": {
"description": "Audio management, music, sound effects",
"classes": ["AudioManager", "FootSteps", "SettingsVolume"],
"methods": ["FadeIn", "FadeOut", "FadeOut_FadeIn", "SetEffectsVolume", "SetMasterVolume", "SetMusic", "SetMusicVolume", "SetRacksVolume"]
},
"Character": {
"description": "AI, NPCs, character movement and expressions",
"classes": ["AICharacterControl", "AICharacterExpressions", "FirstPersonController", "MouseLook", "WaypointInitializationSystem", "RayLookAt", "ThirdPersonCharacter"],
"methods": ["AgentReachTarget", "AnimSit", "GotoNextPoint", "moveBack", "SetTarget", "Start", "MouthShape", "Talk", "Talking", "GetInput", "GetMouseLook", "OnControllerColliderHit", "ProgressStepCycle", "UpdateCameraPosition", "UpdateNormalFov", "LookAt"]
},
"World": {
"description": "Environment, props, interactables",
"classes": ["Dumpster", "EnvMapAnimator", "CheckIfTouchingWall", "CarController", "ActionKeyHint", "UsableObject", "Rope", "viperInput", "TerrainDetector"],
"methods": ["InteractOnHover", "DelayedOverlapCheck", "SetRenderersEnabled", "OnCollisionEnter", "ResetingTrollerPosition", "CustomKey", "DelayedAppDoorOpening", "AutoDisable"]
},
"Input": {
"description": "Player input handling",
"classes": ["InputManager", "viperInput"],
"methods": ["GetInput", "OnInput", "OnKeyDown", "OnKeyUp", "OnMouseMove"]
},
"Steam": {
"description": "Steam integration, leaderboards",
"classes": ["SteamManager", "SteamLeaderboards"],
"methods": ["InitOnPlayMode", "Init", "OnLeaderboardFound", "RequestUserEntry"]
},
"Settings": {
"description": "Game settings and options",
"classes": ["SettingsControls", "SettingsGameplay", "SettingsVolume", "SettingsSingleton", "RectExtensions"],
"methods": ["InvertY", "SetPacketType", "SetRouteEvalInterval", "OnLanguageDropDownChange", "DisableOnAfterFirstSettingUp"]
},
"CustomImport": {
"description": "Mod loading and custom asset importing",
"classes": ["ModLoader", "ObjImporter"],
"methods": ["GetModPrefab", "GetModPrefabByFolder", "CreateMaterial", "ImportOBJ"]
},
"Interaction": {
"description": "Player interaction with world objects",
"classes": ["Interact"],
"methods": ["LabelActionOnClick", "SecondActionOnClick", "IsAllowedToDoSecondAction", "OnHoverOver"]
},
"Tutorials": {
"description": "Tutorial system integration",
"classes": ["Tutorials"],
"methods": ["PlayVideo", "ShowTutorial", "StopTutorial", "OnEnable"]
},
"DevTools": {
"description": "Developer tools and debug features",
"classes": ["GODMOD"],
"methods": ["StartGodMod", "GODMOD_delayed", "OnEnable", "OnDisable"]
},
"Maintenance": {
"description": "Technician dispatch and repair jobs",
"classes": ["Technician", "TechnicianManager"],
"methods": ["AssignJob", "RequestJobDelayed", "RotateTowardsGoal", "SendToContainer", "SetHandIKWeight", "EnqueueDispatch", "GetActiveJobs", "GetQueuedJobs", "ProcessDispatchQueue", "RequestNextJob", "RestoreJobQueue"]
},
"GameState": {
"description": "Game state and persistence",
"classes": ["CommandCenter", "FCP_Persistence"],
"methods": ["SpawnOperatorsForLevel", "DestroyOperatorsForLevel", "SpawnOperatorsForSingleLevel", "ToggleClearWarningAuto", "GenerateID", "OnEnable", "OnDisable"]
},
"Steam": {
"description": "Steam integration, leaderboards",
"classes": ["SteamManager", "SteamLeaderboards"],
"methods": ["InitOnPlayMode", "Init", "OnLeaderboardFound", "RequestUserEntry"]
},
"Serialization": {
"description": "Type registry, serialization helpers",
"classes": ["AssemblyTypeRegistry"],
"methods": ["BoxedGetHashCode", "Equals", "SetSharedStaticTypeIndices"]
},
"Ignored": {
"description": "Unity engine internals, TMP examples, and internal artifacts - do not patch",
"classes": [
"Il2CppTMPro_Examples", "ObjectPrivateAbstractSealedInVo0",
"Benchmark01", "Benchmark02", "Benchmark03", "Benchmark04",
"ObjectSpin", "SimpleScript", "TextConsoleSimulator", "TextMeshProFloatingText",
"TextMeshSpawner", "VertexJitter", "VertexShakeA", "VertexShakeB", "VertexZoom",
"WarpTextExample", "CameraController", "SkewTextExample", "GetCurrentVersion",
"_PrivateImplementationDetails_"
],
"methods": []
},
"UnityEngine": {
"description": "Unity Standard Assets and engine wrappers - generally not needed for mods",
"classes": ["MouseLook", "RayLookAt", "FootSteps", "StaminaOverlayOnEnable", "PositionIndicator", "PulsatingText", "AutoDisable", "HRSystem", "UserReport", "OpenURL", "GamepadIcons", "Localisation", "LocalisedText"],
"methods": []
},
"Misc": {
"description": "Other utilities and catch-all hooks",
"classes": [],
"methods": []
}
}