mollermethod API docs
util
table
The util
table is passed to your plugin with varargs.
local util = ...
The util
table has the following functions:
util.notify(options: { Text: string // RichText is on btw Icon?: string // Defaults to "rbxassetid://7554747376" Duration?: number // In seconds, defaults to 5 App?: string // Defaults to "mollermethod" }) -> void
- Display a notification with the given text.
util.GUI: LayerCollector
- A container to put your GUIs in
util.colors: { ACCENT: Color3, BLACK: Color3, WHITE: Color3, GRAY: Color3[], RED: Color3[], GREEN: Color3[], BLUE: Color3[], YELLOW: Color3[], ORANGE: Color3[], PURPLE: Color3[], }
- A table of colors
util.Snapdragon: import('@rbxts/snapdragon')
- The Snapdragon dragging module
Plugin interface
You return a plugin interface. Here's the TypeScript type since I'm lazy
// Actions display in both Mollybdos and Bracket. interface Action { display?: string // Displayed in Mollybdos. Defaults to the key, with the first letter uppercase. enabled?: () => boolean // Defaults to () => true description: string // Displayed in Bracket autocomplete execute(this: void, player: Player): Promise<unknown> | unknown } // Commands display only in Bracket. interface Command { description: string // Displayed in Bracket autocomplete execute(this: void, args: string[]): void | Promise<unknown> } interface Plugin { // (will be) displayed in mollermethod settings readonly Name: string readonly Author: string // Runs when the user selects a player in Mollybdos. Call `tag` to add a tag to the player. You can call this multiple times to give the tag a "score." readonly Tags?: (player: Player, add: (tag: string) => unknown) => unknown readonly Actions?: Record<string, Action> // The key will be used as the Bracket command name readonly Commands?: Record<string, Command></string> }
Plugin example
Here's an example plugin. It's a simple example, but it's a good starting point.
local util = ... return { Name = "mollermethod+", Description = "mollermethod, but better.", Author = "SunRaysEffect", -- maybe use a Discord ID instead? -- Runs on every player Tags = function(Player, tag) if Player.Name == "SunRaysEffect" or Player.Name == "UIPadding" then tag"Roblox Instance" end end, -- actions are like commands but are used on a player and display in bracket and mollybdos at the same time Actions = { -- key = command name shatter = { description = "star glitcher funny!", -- display = 'Shatter!' -- display is what it would say on Mollybdos, defaults to the command name but with the first letter uppercase -- enabled = function () return math.random() > 0.5 end, -- if this returns false then it doesnt display in mollybdos and is grayed out in bracket, defaults to always true execute = function(player) print("get shattered", player) end, }, }, -- maybe custom commands? }