mollermethod mollermethod Settings API FAQ Exploit Health Checker Discord

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.
a mollermethod notif
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?
}
Dedicated to Molly the Beagle, 2009-2022