I created this API to Help others get into the Modding Scene for Rumble.
##Video Guide
How to Include the API in your Project:
- Install MelonLoader Version 0.5.7
- Run Game (This initialized MelonLoader) (Close at T-Pose)
- Put RumbleModdingAPI.dll in your Mods Folder
- Add RumbleModdingAPI.dll as a Reference in your Project.
- Add "using RumbleModdingAPI;" at the top of your code / with the other "using"s
- Add "private Calls calls = new Calls();" at the top of your Class (alongside other variables)
- Add "calls.OnSceneWasLoaded(buildIndex, sceneName);" at the top of your Mod's OnSceneWasLoaded Override
- Add "calls.OnFixedUpdate();" at the top of your Mod's OnFixedUpdate Override
- Call Methods Supplied By Typing "calls." followed by the Method Name (Visual Studios Supplies the List)
In-Depth How to Setup a Project to Use the API:
-
Drag the Mods Folder into the RUMBLE Folder
-
Click Create New Project
-
Select Class Library (.NET Framework)
-
Name Project
-
Add References (Browse to "RUMBLE\MelonLoader\Managed" for Rumble References)
- Add MelonLoader.dll (Managed Folder)
- Add RUMBLE.Runtime.dll (Managed Folder)
- Add RumbleModdingAPI.dll (Mods Folder)
-
Open Properties Dropdown and Open (double click) "AssemblyInfo.cs"
-
In AssemblyInfo.cs, Add Usings at the Top:
- using MelonLoader;
- using YourModsName;
- After the Usings, Put:
- [assembly: MelonInfo(typeof(Class1), "YourModsName", "1.0.0", "YourName")]
- [assembly: MelonGame("Buckethead Entertainment", "RUMBLE")]
-
Open Class File (default class name is "Class1")
-
Add usings at the Top:
- using MelonLoader;
- using RumbleModdingAPI;
-
Add " : MelonMod" after the Class Name
-
Inside the Class Add: (This is the API)
- private Calls calls = new Calls();
- Below that New Calls Line, Add 2 Functions:
- public override void OnSceneWasLoaded(int buildIndex, string sceneName) {}
- public override void OnFixedUpdate() {}
- Inside the Function OnSceneWasLoaded, Add: (This will Update the Scenes in the API)
- calls.OnSceneWasLoaded(buildIndex, sceneName);
- Inside the Function OnFixedUpdate, Add (This will Allow Retrying of Scene Change Object Grabbers in the API)
- calls.OnFixedUpdate();
- if (calls.SceneChangeStarted()) { calls.SceneChangeDone(); }
- (Optional Test) Add this Line right before "calls.SceneChangeDone();": (On Gym Load, it'll output the player's name)
- if (sceneName == "Gym") { MelonLogger.Msg(calls.GetPlayerManager().localPlayer.Data.GeneralData.PublicUsername); }
-
Build Project
-
Open File Explorer to "C:\Users\YOURUSER\source\repos\YOURPROJECT\YOURPROJECT\obj\Debug"
- Copy YOURPROJECT.dll into the Rumble Mods Folder (RUMBLE/Mods)
-
Open Rumble and Load into the Gym. Then Look at the Console (Black Window)
-
Subscribe to UlvakSkillz (and Like this Mod)
##Calls:
- Able to be Called Anytime:
- bHaptics
- PhotonHandler
- GameManager
- AudioManager
- SteamAudioManager
- PoolManager
- Pool GameObjects (Structures + Shiftstones)
- NetworkManager
- PlayerManager
- InputManager
- SceneManager
- NotificationManager
- StackManager
- QualityManager
- SocialHandler
- SlabManager
- RecordingCamera
- CombatManager
- UI Game Object
- AllPlayers
- LocalPlayer
- PlayerController
- EnemyPlayers
- ClosestPlayer (from a location)
- Player by Controller Type (Local or Remote)
- Player by Actor Number
- LocalHeathbar GameObject
- Able to be Called in the Gym:
- Mail Tube
- MatchmakingConsole
- RegionSelector GameObject
- BeltRack
- GymFriendBoard
- GymParkBoard
- ParkBoardGymVarient
- Howard
- PoseGhostHandler
- DailyLeaderboard
- RankStatusSlab
- CommunitySlab
- GymShiftstoneQuickswapper
- ShiftstoneCabinet
- Gondola GameObject
- Ranks GameObject
- GymSpawnPointHandler
- GymMatchmakingHandler
- Able to be Called in the Park:
- ParkSpawnPointHandler
- ParkInstance
- ParkFriendBoard
- ParkParkboard
- ParkParkboardParkVariant
- ParkShiftstoneQuickswapper
Help And Other Resources
Get help and find other resources in the Modding Discord:
https://discord.gg/fsbcnZgzfa