From c14a51df30a3c1b689a5e16bbf6237af67bc46fe Mon Sep 17 00:00:00 2001 From: bmgjet <50484759+bmgjet@users.noreply.github.com> Date: Sat, 31 Jan 2026 23:00:57 +1300 Subject: [PATCH 1/2] NavalUpdate Hooks Object OnDeepSeaTeleport(TriggerDeepSeaPortal portal, BaseEntity ent) Used to detect when something is going to trigger, Useful for transfering objects between zones. Object CanTeleportToMainIsland(BaseEntity ent) Object CanTeleportToDeepSea(BaseEntity ent) Used for condition based movement of things between zones where you dont want every item of that type to be allowed with the transfere whitelist. Void OnCloseDeepSea(DeepSeaManager deepsea) Used for teleporting stuff out of deepsea before its destroyed Void OnOpenDeepSea(DeepSeaManager deepsea) Used to determin if deepsea is opening again to teleport stuff into it. --- resources/Rust.opj | 123 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 122 insertions(+), 1 deletion(-) diff --git a/resources/Rust.opj b/resources/Rust.opj index b417698e0..fd1eb773b 100644 --- a/resources/Rust.opj +++ b/resources/Rust.opj @@ -9005,6 +9005,127 @@ "HookCategory": "Vehicle" } }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 110, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this, l0.ent", + "HookTypeName": "Simple", + "Name": "OnDeepSeaTeleport", + "HookName": "OnDeepSeaTeleport", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "TriggerDeepSeaPortal", + "Flagged": false, + "Signature": { + "Exposure": 3, + "Name": "OnEntityEnter", + "ReturnType": "System.Void", + "Parameters": [ + "BaseEntity" + ] + }, + "MSILHash": "jqosGPyU0QmR5d+tXoEUo5LyDcTOuHCGrREL2fZdrE4=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "a0", + "HookTypeName": "Simple", + "Name": "CanTeleportToMainIsland", + "HookName": "CanTeleportToMainIsland", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "DeepSeaManager", + "Flagged": false, + "Signature": { + "Exposure": 2, + "Name": "CanTeleportToMainIsland", + "ReturnType": "System.ValueTuple", + "Parameters": [ + "BaseEntity" + ] + }, + "MSILHash": "wabPT8a6L+67C8IuLOvPb7D5dQ1/bET+1samC7zjqk0=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "a0", + "HookTypeName": "Simple", + "Name": "CanTeleportToDeepSea", + "HookName": "CanTeleportToDeepSea", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "DeepSeaManager", + "Flagged": false, + "Signature": { + "Exposure": 2, + "Name": "CanTeleportToDeepSea", + "ReturnType": "System.ValueTuple", + "Parameters": [ + "BaseEntity" + ] + }, + "MSILHash": "l748ee1+RFOhvpXKKb328pnHx6lI43F0AxxeHt9fiII=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 0, + "ArgumentBehavior": 4, + "ArgumentString": "this", + "HookTypeName": "Simple", + "Name": "OnCloseDeepSea", + "HookName": "OnCloseDeepSea", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "DeepSeaManager/d__106", + "Flagged": false, + "Signature": { + "Exposure": 0, + "Name": "MoveNext", + "ReturnType": "System.Boolean", + "Parameters": [] + }, + "MSILHash": "rGTLM2vuOiMrxud/2qEB/Ov0WUva157iN3MrN9FjePU=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 0, + "ArgumentBehavior": 4, + "ArgumentString": "this", + "HookTypeName": "Simple", + "Name": "OnOpenDeepSea", + "HookName": "OnOpenDeepSea", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "DeepSeaManager/d__104", + "Flagged": false, + "Signature": { + "Exposure": 0, + "Name": "MoveNext", + "ReturnType": "System.Boolean", + "Parameters": [] + }, + "MSILHash": "iTZfGQuJjp2xiGbgpXY8SGTzX+900ANx3hEgQo79LJc=", + "HookCategory": "Naval" + } + }, { "Type": "Simple", "Hook": { @@ -53627,4 +53748,4 @@ "Fields": [] } ] -} \ No newline at end of file +} From 231da2faf26ae3c8771b5954c4f1596e987c79f3 Mon Sep 17 00:00:00 2001 From: bmgjet <50484759+bmgjet@users.noreply.github.com> Date: Sun, 1 Feb 2026 03:47:28 +1300 Subject: [PATCH 2/2] More Naval Hooks OnPlayerBoatCollision - Control collisions CanStartEditing - Control Editing Boats CanSwitchToConstruction - Control Switching Between Boat And Construction CanSwitchToVehicle - Control Switching Between Construction And Boat CanSmallEngineTurnOff - Control Switching Off Boat Engine CanSmallEngineTurnOn - Controll Switching On Boat Engine CanCannonLightFuse - Control Cannon Fire CanCannonReload - Control Reloading Cannon OnSpawnBoatGroup - Control Patrol Boats Spawning At Ghost Ship Event And Around Rigs. --- resources/Rust.opj | 221 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) diff --git a/resources/Rust.opj b/resources/Rust.opj index fd1eb773b..fc3dc363f 100644 --- a/resources/Rust.opj +++ b/resources/Rust.opj @@ -9005,6 +9005,227 @@ "HookCategory": "Vehicle" } }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this, a0, a1, a2, a3", + "HookTypeName": "Simple", + "Name": "OnSpawnBoatGroup", + "HookName": "OnSpawnBoatGroup", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "BoatGroupSpawner", + "Flagged": false, + "Signature": { + "Exposure": 2, + "Name": "SpawnBoatGroup", + "ReturnType": "System.Void", + "Parameters": [ + "System.Collections.Generic.HashSet`1", + "BoatAI/AILoadMode", + "System.Boolean", + "ScientistBoatOilrigManager" + ] + }, + "MSILHash": "g//WWZ4wY7EUgxKgltGgkYuaz8uaM1XdNDe1NmIAoYo=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 23, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this, l0", + "HookTypeName": "Simple", + "Name": "CanCannonReload", + "HookName": "CanCannonReload", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "BallistaGun", + "Flagged": false, + "Signature": { + "Exposure": 0, + "Name": "SERVER_ReloadStart", + "ReturnType": "System.Booleen", + "Parameters": [ + "BaseEntity/RPCMessage" + ] + }, + "MSILHash": "Kq6+DFDeS3NXy8+L4UoRGifPLXyNJz9VztOJh+PePyk=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this", + "HookTypeName": "Simple", + "Name": "CanCannonLightFuse", + "HookName": "CanCannonLightFuse", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "Cannon", + "Flagged": false, + "Signature": { + "Exposure": 0, + "Name": "CanLightFuse", + "ReturnType": "System.Booleen", + "Parameters": [] + }, + "MSILHash": "G3SYT72A7lDJuI7ML+012gUeUCYq46ejcPf5FwtFgNg=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this", + "HookTypeName": "Simple", + "Name": "CanSmallEngineTurnOn", + "HookName": "CanSmallEngineTurnOn", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "SmallEngine", + "Flagged": false, + "Signature": { + "Exposure": 2, + "Name": "TurnOn", + "ReturnType": "System.Void", + "Parameters": [] + }, + "MSILHash": "Tfh2dRnPJnkfAwMq/1vTWP1ky70rYp0f2V8meE4g8Qw=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this", + "HookTypeName": "Simple", + "Name": "CanSmallEngineTurnOff", + "HookName": "CanSmallEngineTurnOff", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "SmallEngine", + "Flagged": false, + "Signature": { + "Exposure": 2, + "Name": "TurnOff", + "ReturnType": "System.Void", + "Parameters": [] + }, + "MSILHash": "f4XZl6f/N8brHec7xHpf2NkrCT62VAEg1+AGo1UOZ6M=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this", + "HookTypeName": "Simple", + "Name": "CanSwitchToVehicle", + "HookName": "CanSwitchToVehicle", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "PlayerBoat", + "Flagged": false, + "Signature": { + "Exposure": 2, + "Name": "SwitchToVehicle", + "ReturnType": "System.Void", + "Parameters": [ + "System.Boolean" + ] + }, + "MSILHash": "xkBZ4MMVo85D3p1gv7L4A9ixWpCuA36msgUZlDuZDpQ=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 0, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this", + "HookTypeName": "Simple", + "Name": "CanSwitchToConstruction", + "HookName": "CanSwitchToConstruction", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "PlayerBoat", + "Flagged": false, + "Signature": { + "Exposure": 2, + "Name": "SwitchToConstruction", + "ReturnType": "System.Void", + "Parameters": [] + }, + "MSILHash": "RehXZJOgRWcCgBrsdrzeNfv0fJ+jSmtpzSS/Z/I9QrA=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 38, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this, a0", + "HookTypeName": "Simple", + "Name": "CanStartEditing", + "HookName": "CanStartEditing", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "PlayerBoat", + "Flagged": false, + "Signature": { + "Exposure": 2, + "Name": "CanStartEditing", + "ReturnType": "System.Boolean", + "Parameters": [ + "BasePlayer", + "System.Boolean" + ] + }, + "MSILHash": "EJY0A5JGrPSDY0Uf1+povJVi32IA929ef/HsUfG8FRc=", + "HookCategory": "Naval" + } + }, + { + "Type": "Simple", + "Hook": { + "InjectionIndex": 21, + "ReturnBehavior": 1, + "ArgumentBehavior": 4, + "ArgumentString": "this,l0, a0", + "HookTypeName": "Simple", + "Name": "OnPlayerBoatCollision", + "HookName": "OnPlayerBoatCollision", + "AssemblyName": "Assembly-CSharp.dll", + "TypeName": "PlayerBoat", + "Flagged": false, + "Signature": { + "Exposure": 0, + "Name": "ProcessCollision", + "ReturnType": "System.Void", + "Parameters": [ + "UnityEngine.Collision" + ] + }, + "MSILHash": "VjAaPx3X19+F58KZu7BGU5zMmdB9UhV1a5kRz5wuFi4=", + "HookCategory": "Naval" + } + }, { "Type": "Simple", "Hook": {