KeyStrokes Overlay With Lua
ModMIT

KeyStrokes Overlay With Lua

A highly customizable keystrokes overlay for Fabric that uses Lua scripts for dynamic visual themes and real-time design editing

3.3K
Downloads
3
Followers
3 months ago
Updated
📦
1
Versions

📖About KeyStrokes Overlay With Lua

⌨️ KeyStrokes Overlay With Lua

A powerful and flexible keystrokes display mod for Minecraft Fabric, featuring a unique Lua-based engine for deep visual customization.

✨ Key Features:

  • Lua-Powered Themes: All visual styles (Classic, Modern, Apple, and Lunar) are handled via external Lua scripts. Create your own unique look by adding .lua files to config/keystrokes/ThemeManager/.
  • Live Hot-Reloading: Modify your theme scripts while the game is running and see the changes instantly using the "Reload Lua" button in the settings menu.
  • Intuitive In-Game Menu: Press the 'K' key to open the settings interface.
  • Full RGB Customization: Real-time color sliders that sync directly with your Lua scripts for ultimate control.
  • Flexible UI: Independently drag and reposition the keyboard and mouse overlays. Support for custom scaling (Auto, Fixed, or Slider-based).

🚀 Installation:

  1. Ensure you have Fabric Loader installed for Minecraft 1.20 or higher.
  2. Download the mod and place the .jar file into your mods folder.
  3. Launch Minecraft and press 'K' to open the settings.
  4. Explore the config/keystrokes/ThemeManager/ folder to tweak the default scripts or add new ones.

📜 Scripting Guide: Create Your Own Theme

Creating a theme is easy. Just create a .lua file in the config/keystrokes/ThemeManager/ folder. Here is a starter template:

-- Save this as "my_custom_theme.lua" in config/keystrokes/ThemeManager/

-- Optional: This runs once when the theme is loaded or selected
function onThemeLoad()
    -- Sets the default color of the menu sliders (R, G, B, A)
    setMenuColor(255, 165, 0, 255) -- Default to Orange
end

-- This runs every frame for every key and mouse button
-- Parameters: label (String), isPressed (Boolean), x, y, w, h (Position/Size), r, g, b, a (Menu Colors)
function renderKey(label, isPressed, x, y, w, h, r, g, b, a)
    -- Combine the R, G, B, A values from the menu into a single color
    local menuColor = bit.bor(bit.lshift(a, 24), bit.lshift(r, 16), bit.lshift(g, 8), b)
    
    if isPressed then
        -- Draw a solid background using the menu color
        fill(x, y, w, h, menuColor)
        -- Tell the mod to draw the text in Black
        setTextColor(0xFF000000) 
    else
        -- Draw a semi-transparent black background when not pressed
        fill(x, y, w, h, 0x80000000)
        -- Tell the mod to draw the text in White
        setTextColor(0xFFFFFFFF)
    end
end