RUMBLE does not support other mod managers. If you want to use a manager, you must use the RUMBLE Mod Manager, a manager specifically designed for this game.
| Last updated | 15 hours ago |
| Total downloads | 2225 |
| Total rating | 5 |
| Categories | Mods |
| Dependency string | tacoslayer36-NameBending-2.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
UlvakSkillz-RumbleModdingAPI
API to Help Modders Get Started and to remove the necessity of GameObject.Find
Preferred version: 5.1.5README
Installation
- Install MelonLoader v0.7.2+
- Drop
ModsandUserDatafolders into Rumble Source Directory - Play the game
Description
This mod allows you to set your username and title to anything you like. No more character limits or boring, static names.
Your custom username and title will only show up to others who also have the mod!
Features
- Much higher character limit (~8,000)
- Variations: Automatically switch between variations every scene load
- Animation: Cycle through different frames in real time
- Custom fonts: Choose from 11 preset fonts
- Alt text: Text to show to those who do not have the mod
- Standard limits apply (static, 1-71 characters)
- Does not work on titles
- Images:
- Insert image links to have them show up
- Must be verified in the Discord first
Usage
Simple Configuration
- Open the UI (F9 on the keyboard)
- Go to the
Simple Configtab - Make sure the
Enable Simple Configbox is checked - Input the values you want to change
- Refresh your name
Advanced Configuration
- Rename the provided JSON files to remove the word TEMPLATE (
UserData/NameBending/customBentNameTEMPLATE.jsonandUserData/NameBending/customBentTitleTEMPLATE.json) - Open them in your favorite text editor and replace the default values with your specifications
You can preview your customizations by going to the Name Plate category in the UI and enabling Nameplate Preview.
Changes you make with this mod will only show up in certain places (name plates, the MatchInfo board, RumbleHUD plates) and not on in others: (park board, leaderboard, friends list).
If you change your custom name or title while the game is open, press N to update it. This hotkey can be changed in the UI settings.
JSON Format
The provided JSON file templates should get you started in the JSON files. Here is a comprehensive guide to the formatting:
customBentName.json/customBentTitle.json
doRandomVariations: false
Whether to choose variations randomly, or in ordervariations
The different possibilities of names/titles to show up when names are refreshed (such as on scene loads)weight: "1"
Formatted as a string, but is a number that represents the liklihood of a variation to be randomly chosen relative to all the other weights. If set to `HOST`, will be equivalent to a value of 1 when user is the host, and 0 if client. `CLIENT` produces opposite resultsaltText: ""
Only available for names. The text that users who do not have the mod will see on your nameplate, as well as some other places such as the MatchInfo board or RumbleHUD platesprohibitSaving: false
If set to true, others will not automatically save your name to a file (overriding the `Save Names To File` advanced setting)frameDuration: 1000
An integer that describes how long each frame of your animation will last. Set in milliseconds, so `1000` is equivalent to 1 frame per secondloopFrames: true
When disabled, your animation will play once and freeze on the final frameinterpolation: false
When enabled, fields that are set within frames will interpolate their values to smoothly animate between themloopInterpolation: true
When enabled along with `interpolation` and `loopFrames`, will allow the final frame to interpolate back to the first frameenableFields: true
Enables field processingautoScaling: true
Can be disabled to prevent the automatic squishing that is applied to text in nameplates when it gets to longframes
See Framesfonts
See Fontsfields
See Fieldsdepths
See Depthsimages
See ImagesYou can make sure your JSON is correct with a validator like JSON Lint
Frames
Frames are used to create animations. They are defined with an index (the part of the animation they appear in) and a string (the frame itself). Each frame is like a regular name, but the mod will cycle through them to create an animation. The index numbers are usually defined in order (0, 1, 2, 3...) but they can skip numbers to hold on frames for longer.
Frames Example
{
"altText": "Frame Guy",
"frameDuration": 500,
"frames":
{
"0": "A",
"1": "AL",
"2": "ALP",
"3": "ALPH",
"4": "ALPHA",
"15": "ALPHA S",
"16": "ALPHA SH",
"17": "ALPHA SHA",
"18": "ALPHA SHAL",
"19": "ALPHA SHALE",
"30": "ALPHA SHALE",
}
}
This will display an animation as if the letters are appearing one after the other, but pausing after each full word
Fonts
Fonts can be specified in a "fonts" object formatted similarly to "frames" (requiring an index number and a font). Place it in the same place as the frames, within a variation. Not every font has to have a corresponding frame, and not every frame has to have a corresponding font.
The available fonts are as follows:
- Arial
- ChineseRocks
- ComicSans
- Crumble
- Impact
- Minecraft
- Roboto
- SGA
- TimesNewRoman
- Tumble
- TokiPona
- Avasinistral
- Wingdings
- Papyrus
- Cascadia
- Hollywood
- HighwayGothic
- GoodDogPlain (Default)
Fonts Example
{
"altText": "Font Guy",
"frameDuration": 500,
"frames":
{
"0": "Do you like...",
"4": "Arial?",
"5": "Chinese Rocks?",
"6": "Comic Sans?",
"7": "CRUMBLE?",
"8": "Impact?",
"9": "Minecraft?",
"10": "Roboto?",
"11": "Times New Roman?",
"12": "TUMBLE?",
"16": "No?",
"20": "Then we'll stick with Good Dog Plain",
"28": "Then we'll stick with Good Dog Plain"
},
"fonts":
{
"0": "GoodDogPlain",
"4": "Arial",
"5": "ChineseRocks",
"6": "ComicSans",
"7": "Crumble",
"8": "Impact",
"9": "Minecraft",
"10": "Roboto",
"11": "TimesNewRoman",
"12": "Tumble",
"16": "GoodDogPlain"
}
}
This will cycle between fonts as the animation plays.
Fields
Fields are like variables, allowing you to store, edit, reuse, and animate between values. There are also Factory Fields which allow you to use procedural values, such as random numbers.
You create a field with an identifier and a default value. When the identifier is used within a frame (surrounded by curly braces {}), it will be replaced with the field's current value.
Simple Fields Example
{
"frameDuration": 600,
"fields":
{
"c": "<#F00>"
},
"frames":
{
"0": "{c}Red",
"1": "{c}Fox",
"2": "{c}Red Fox",
"15": "{c}Red Fox"
}
}
Here, a field called c is used to store a color, then applied to each frame. The first frame {c}Red will be interpreted as <#F00>Red. This allows for the user to easily change the color and have it apply to every frame.
Dynamic Fields Example
{
"frameDuration": 300,
"interpolation": true,
"fields":
{
"a": "#F80",
"b": "#F30"
},
"frames":
{
"0": "<{a=#F80}>Rumble <{b=#F30}>Guy!",
"1": "<{a=#F30}>Rumble <{b=#F80}>Guy!"
}
}
Field values can be changed dynamically within frames by using an equal sign = after the identifier, then the new value. Here, the interpolation property has been enabled, so the colors will smoothly fade between the two frames.
Factory Fields Example
{
"fields":
{
"pos_x": "RANDOM|-0.2|0.2",
"pos_y": "RANDOM|-0.5|0.2",
"rot": "RANDOM|-5|5",
},
"frames":
{
"0": "<space={pos_x}><voffset={pos_y}><rotate={rot}>A"
}
}
This example uses the Factory Field RANDOM to produce a random value every time the frame is drawn. The field's value is defined with the Factory Field in all capital letters, followed by the minimum and maximum values separated by vertical bars |. Every time a Rumble frame is rendered, a random value between the min and max will be used. All Factory Fields are listed below:
- RANDOM: A random value between the first and second parameter is pulled every Rumble frame
- FRAME_: A modifier to be combined with RANDOM; pulls a random value every frame of your animation instead
- INSTANCE_: A modifier to be combined with RANDOM; pulls a different random value for each instance of the field
^ These can be combined with underscores _ (e.g: INSTANCE_RANDOM or FRAME_RANDOM or FRAME_INSTANCE_RANDOM)
- FRAME_PROGRESS: A value between 0 and 1 based on how far along the current frame is. When a frame is first shown, this value is 0. When a frame is just about to change to the next one, this value is ~1. This can be mapped between any two values using the parameters (e.g:
FRAME_PROGRESS|10|15) - LOOP_PROGRESS: Same as
FRAME_PROGRESSbut applies across the entire current loop instead of one frame - FRAME: The index of the current frame. Parameters used for this field define Dilation instead of Remapping, meaning the first parameter is the starting value, and the second parameter is a multiplier (e.g:
FRAME|10|3will start with 10 on the first frame, then go up by 3 every frame) - TIMER: The time in seconds since the name was first loaded. Dilates similar to
FRAME.
Nested Fields Example
{
"frameDuration": 500,
"autoScaling": false,
"fields":
{
"pos_x": "INSTANCE_RANDOM|-0.1|0.1",
"pos_y": "INSTANCE_RANDOM|-0.1|0.1",
"rot": "INSTANCE_RANDOM|-5|5",
"c": "<space={pos_x}><voffset={pos_y}><rotate={rot}>A</cspace></voffset></rotate>",
},
"frames":
{
"0": "<scale=1.05><pos=0.1>{c}{c}{c}{c}{c}{c}{c}{c}{c}{c}{c}{c}"
}
}
In this example, fields are used within other fields. The previous fields example (of a vibrating letter A) is used, but everything is encapsulated into one field c. This field can then be used many times to simplify the process. INSTANCE_RANDOM is also used so that each letter A has different random values.
Formatted Fields Example
{
"frameDuration": 500,
"fields":
{
"a|.0": "TIMER|0|10"
}
"frames":
{
"0": "{a}"
}
}
Fields can be formatted to control how they appear. Formatting options are defined along with the identifier, separted by a vertical bar |. Available formats are as follows:
- None: no formatting is specified
- Significant Figures: The amount of 0's after a decimal in the formatting definition determines the amount of digits that will appear for decimal numbers (e.g:
"a|0.00"could show something like3.14) - Round: The value of the number before the a decimal specifies that the output will be a multiple of that number (e.g:
"a|2"would be able to show values 2, 4, 6, 8...) - Hex: The value is interpreted in hexidecimal. This can be combined with Significant Figures (e.g:
"a|#|2"could show something like0F)
Advanced Fields Example
{
"frameDuration": 50,
"autoScaling": false,
"fields":
{
"g1|#|2": "INSTANCE_FRAME_RANDOM|150|200",
"g2|#|2": "INSTANCE_FRAME_RANDOM|50|120",
"c1": "<#FF{g1}00>",
"c2": "<#FF{g2}00>"
},
"frames":
{
"0": "<scale=0.87%>{c1}T{c1}a{c1}c{c1}o{c2}S{c2}l{c2}a{c2}y{c2}e{c2}r"
}
}
In this example, fields are used to randomize colors. The green value of a color specified in the c1 and c2 is randomized between two specified extremes, then included in the rest of the color code.
Depths
Depths are formatted similarly to frames and fonts, but with a number specified for each index. This number will push the text forward/backward off the nameplate, and can be animated per frame.
Images
Images are supported through links. If an image is on the internet and can be accessed directly with a link, it can be used. If you'd like to upload your own image, I recommend using Dropbox (instructions for this can be found here: https://dev.to/devded/how-to-host-images-with-dropbox-43hi)
They are defined in their own section, just like Frames, Fonts, and Fields. Each image has 7 parameters:
- link: The image link provided to you by a moderator once your image has been approved
- token: The password-like token provided to you by a moderator once your image has been approved
- x: the horizontal location of the image on your nameplate
- y: the vertical location of the image on your nameplate
- w: the width to scale the image to
- h: the height to scale the image to
- z: the forward/backward depth the image uses to be layered above/below other images or the nameplate itself
Images but be verified by moderators in the RUMBLE Modding Discord before they will be visible
This can be done by posting a link to your image in the #image-verification channel under the Mod Resources tab in the Rumble Modding Discord server. A moderator will reply to you with the link and token you need to use (as specified above). If either the link or the token don't match exactly, or the image hosted at the link changes at all, the image will not show.
There is a setting to allow yourself to see any images, even if they haven't been verified. This requires you to accept a disclaimer outlining the risks within the UI.
Help And Other Resources
Get help and find other resources in the Modding Discord: https://discord.gg/fsbcnZgzfa