Repository navigation
Releases: SecondLifeGaming/MacroMod
Releases · SecondLifeGaming/MacroMod
Release list
MacroMod v0.1.2-beta
MC Macro Mod - Release Notes
Version 0.1.2-beta (Minecraft 26.3)
Modular Free vs Premium Compilation Architecture
- Compile-Time Source Set Separation:
- Restructured the codebase into decoupled Gradle source sets (
src/main,src/free, andsrc/premium). - Free Edition (
src/free): Compiles a standalone binary containing no paywalled classes,.mcmfile parser bytecode or event loop checks. - Premium Edition (
src/premium): Compiles the complete feature suite including multi-line.mcmscript files,ScriptInterpreter,PremiumEventTriggersthreshold checking,WindMouse{LOOKAT}camera automation, and the remote update checker.
- Restructured the codebase into decoupled Gradle source sets (
Modrinth Terms of Service Compliance
- Physical Bytecode Removal:
- Eliminated artificial runtime boolean checks (
IS_PREMIUMflags) in the free JAR. - All proprietary feature bytecode is physically excluded at compile time, ensuring compliance with Modrinth hosting policies for free downloads.
- Eliminated artificial runtime boolean checks (
Git Security & Privacy (.gitignore)
- Configured
.gitignoreto explicitly ignoresrc/premium/while keepingsrc/main/andsrc/free/tracked for GitHub open-source hosting.
Modern PaperMC Adventure Component API Refactoring
- Kyori Adventure API Migration:
- Refactored
MacroModServerPlugin.javato replace deprecatedorg.bukkit.ChatColorwithnet.kyori.adventure.text.ComponentandNamedTextColor. - Replaced deprecated
getDescription().getVersion()with moderngetPluginMeta().getVersion(). - Cleaned up subproject command execution logic to return
falseon unrecognized subcommands for standard Bukkit usage help rendering.
- Refactored
Performance & Memory Optimizations
- Precompiled Regex Patterns:
- Optimized
InlineScriptInterpreterby compiling whitespace regex patterns (\s+) into a static pre-compiledPatternfield, eliminating per-tick allocations. - Refactored tick processing to use
Optional<Boolean>step execution control flow to reduce cognitive complexity.
- Optimized
MacroMod v0.1.1-beta
MC Macro Mod - Release Notes
Version 0.1.1-beta (Minecraft 26.3)
Minecraft 26.3 Refactor & 26.2 Retirement
- Minecraft 26.3 Native Support:
- Fully refactored for Minecraft 26.3 and Fabric Loader 0.19+, compiled targeting Java 25.
- Updated native keyboard input event pipeline to Mojang's
InputConstants.KeyAPI and updatedKeyboardMixin. - Migrated GUI rendering engine extractors to MC 26.3
GuiGraphicsExtractorinterfaces.
- Retirement of Minecraft 26.2:
- Deprecated and retired backward compatibility for Minecraft 26.2 due to breaking Mojang API changes in input, rendering, and Fabric networking.
Human WindMouse LOOKAT & Block Target Verification
- Human-like
WindMouseCamera Movement ({LOOKAT}):- Upgraded
{LOOKAT}camera rotation from instant single-frame snapping to human-like WindMouse physics (curved vector paths, gravity pull, wind disturbance noise, and target approach deceleration).
- Upgraded
- Target Block Type Validation (
expectedBlock):- Supports optional block validation argument:
{LOOKAT x y z [expectedBlock]}(e.g.{LOOKAT 100 64 -200 blast_furnace}). - Validates block state at target coordinates before turning; halts macro and warns if block type doesn't match.
- Supports optional block validation argument:
- Target Inner Depth Margin (
innerMargin):- Supports optional inner margin depth ratio argument (
0.0to0.45, default0.1). Calculates target vector inside the block face bounding box with natural Gaussian center weighting.
- Supports optional inner margin depth ratio argument (
- Crosshair Raycast Verification:
- Verifies that player crosshair raycast (
hitResult) has locked onto targetBlockPosbefore advancing script execution.
- Verifies that player crosshair raycast (
- Human Look Angle Commands (
{HLOOK},{HLOOKRANGE},{HLOOKRANDOM}):- Introduced
{HLOOK yaw pitch},{HLOOKRANGE}, and{HLOOKRANDOM}for human-like WindMouse camera rotation targeting explicit yaw and pitch angles, reserving{LOOK}for instant 1-tick snapping.
- Introduced
Interface & GUI Verification
- Screen & Interface Verification (
{VERIFYSCREEN}):- Added
{VERIFYSCREEN expectedInterface}/{VERIFYINTERFACE expectedInterface}action command. Verifies active screen title or container type matches expected target (e.g.furnace,chest,vault) before interacting.
- Added
- Dynamic Interface State Variables:
- Added
$screentitle,$screenclass,$containertype,$isfurnaceopen,$ischestopen,$iscraftingopen,$isanvilopen. - Upgraded
{GETCONTAINERTITLE varName}to dynamically read active GUI screen titles and menu types.
- Added
MacroMod v0.1.0-beta
MC Macro Mod - Release Notes
Version 0.1.0-beta
🛡️ Modrinth Policy Compliance & Protocol-Level Server Discovery
- Modrinth Section 3.3 & Content Rules Audit:
- Dynamically removed non-compliant UI tabs (Event Triggers & Scripts) in the Free Edition configuration screen.
- Protocol-Level Server Discovery (
macromod:hello):- Replaced legacy
/macromod-infochat command execution with Fabric's nativeClientPlayNetworkingcustom payload packet (macromod:hello). - Fixed
Unknown commanderrors and unprompted chat messages when joining vanilla or non-plugin Minecraft servers.
- Replaced legacy
MacroMod v0.0.6
MC Macro Mod - Release Notes
Version 0.0.6
🚀 Package Migration, Type-Safe Scripting Engine & Library Overhaul
- Package Namespace Migration:
- Migrated all Java classes, plugin descriptors (
fabric.mod.json,plugin.yml,paper-plugin.yml,bungee.yml,velocity-plugin.json), and build configurations fromcom.github.westkevin12.macromodtocom.github.secondlifegaming.macromod.
- Migrated all Java classes, plugin descriptors (
- Type-Safe Variable Engine (
ScriptValue):- Replaced separate disconnected variable maps (
userVars,userStringVars,userArrays) with a unified, type-safeScriptValuemodel (NUMBER,STRING,BOOLEAN,ARRAY), eliminating variable shadowing bugs.
- Replaced separate disconnected variable maps (
- Parameterized
INC&DEC:- Updated
incanddecparsing and execution to support optional custom step values:inc counter 5,inc counter $step,dec health 10.
- Updated
- Native Arithmetic Instructions:
- Added native math operations:
add <var> <val>,sub/subtract,mul/multiply,div/divide,mod.
- Added native math operations:
- String & Array Utility Functions:
- Added string statements:
concat(target, s1, s2),substr(var, start, len),length(target, var),lower(var),upper(var). - Added array management:
arraypush(arr, val),arraypop(arr, [target]),arrayclear(arr),arraycontains(arr, val, target).
- Added string statements:
MacroMod v0.0.5
MC Macro Mod - Release Notes
Version 0.0.5
Note
Status: Version 0.0.5 marks the final alpha development milestone. The plugin and companion server ecosystem are fully feature-complete and feature-locked, preparing for upcoming public Beta releases.
🚀 Enhancements, Inventory Automation & Engine Lifecycle Stability
- Automated Container Stashing:
- Introduced
{STASHALL}keyword: automatically deposits main player inventory items into open container/vault screens while protecting hotbar tools (pickaxes & shovels).
- Introduced
- Screen Lifecycle & Container Sync Fixes:
- Refactored
{CLOSESCREEN}to callScreen.onClose()on the active GUI screen, properly triggering screen cleanup handlers and dispatching container close packets. - Resolved container desynchronization and screen overlay lockups when running automated container sequences (such as
/pvvault macros). - Pinned outbound commands (
sendCommand) and chat messages (sendChat) to Minecraft's main client execution thread (client.execute). - Added single-slot click actions
{SLOTCLICK},{SHIFTCLICK},{CTRLSHIFTCLICK},{QUICKMOVE},{QUICKMOVEALL slot}, and{CONTAINERCLICK}for granular container manipulation.
- Refactored
- Hotbar Slot Packet Synchronization:
- Updated
{SLOT 1..9}to convert 1-based hotbar numbers (1..9) to 0-based indices (0..8) and send explicitServerboundSetCarriedItemPacketnetwork packets to synchronize selected hotbar slots with the server.
- Updated
- File Array Operations & Chat Formatting:
- Introduced
{READFILE "file.txt" arrayVar},{ARRAYSIZE arrayVar targetVar}, and{GETARRAY arrayVar index targetVar}for reading and indexing text file arrays from.mcmscripts. - Added
{CHAT message}command with color section sign translation (&a->§a) for rich chat logging and command dispatching.
- Introduced
Version 0.0.4
🚀 Enhancements, Security & Server Policy Integration
-
Security & Sandbox Hardening:
- Audit and enforcement blocking user-supplied strings starting with dangerous reflection/process lookup prefixes (
java.,javax.,sun.,com.sun.,Runtime,ProcessBuilder). - Added
Throwablecatch wrapping inScriptInterpreter.tick()to gracefully isolate failing script instances without crashing the client tick loop. - Added friendly syntax error handling during script parsing.
- Audit and enforcement blocking user-supplied strings starting with dangerous reflection/process lookup prefixes (
-
New Event Triggers & Movement Options:
- Implemented
onItemPickupandonInventoryChangetriggers viaInventoryMixin. - Implemented
onWorldLoadtrigger viaWorldLoadMixin. - Extended durability threshold checking to cover off-hand items.
- Implemented script execution pause/resume suspension for priority event triggers.
- Implemented
-
Script Engine API Extensions & DSL Enhancements:
- Added read-only getters for
$isburning,$isswimming,$eyeheight. - Added inventory query actions:
{INVENTORYGETSLOT},{GETHELDITEM},{GETCONTAINERTITLE},{SWAPSLOT}. - Added
breakandcontinuekeyword support forwhileandforloops. - Enhanced condition evaluation to support string equality comparisons (e.g.
if $dimension == "minecraft:the_nether").
- Added read-only getters for
-
Companion Server Plugin & Network Enforcement:
- Created
ServerPermissionHandlercustom payload network listener formacromod:policypackets. - Initialized
macromod-servercompanion server multi-module plugin for Paper, Folia, Velocity, and BungeeCord. - Added LuckPerms meta-key integration (
macromod.<flag>) allowing per-player or per-group policy overrides. - Implemented unmanaged server discovery ping (
/macromod-info).
- Created
-
Build Pipeline & Version Bumping:
- Multi-artifact automated build pipeline (
scripts/build.sh) producingmacromod-0.0.4-free.jar,macromod-0.0.4-premium.jar, andmacromod-server-0.0.4.jar. - Automated version bump script (
scripts/bump-version.sh) and un-gated update checker for all users.
- Multi-artifact automated build pipeline (