47 downloads 85 views Feb 19, 2026
profile

Tamperer 2.0 by Fatboychummy

Updated Feb 19, 2026
project thumbnail

Tamperer 2.0

Tamperer is a menu driver for ComputerCraft that allows you to create interactive settings menus for your programs with ease.

NOTE

This is a complete rewrite of the original Tamperer and as such is not compatible with the original version's table loading system.

If you need the original version, you can find it here.

Features

  • Easy to use API for creating menus and settings.
  • Support for various input types (boolean, number, string, lists, files, and more).
  • Customizable appearance.
  • Navigation using keyboard.

Installation through other installers

Since this is on its own just a library, you will probably be wanting to install it as a dependency for another program. All Fatboychummy-CC installers use a standardized format that allow you to install dependencies easily. That format is simply to run the main installer with the following two arguments:

  1. Path to where you want the library installed.
  2. (Optional) the branch of installer you want to use.

So, if you wanted to install Tamperer to $(current_dir)/lib/tamperer.lua, you would run the following command:

wget run https://raw.githubusercontent.com/Fatboychummy-CC/Tamperer/refs/heads/better/installer.lua lib

Now, Tamperer does come with multiple branches (all and no_ccryptolib). If you specify one or the other as the second argument, it will install the version you specified. If you don't specify one, it will ask the user, which may or may not be what you want.

wget run https://raw.githubusercontent.com/Fatboychummy-CC/Tamperer/refs/heads/better/installer.lua lib all

The above would, for example, lock the user out of selecting no_ccryptolib and just install the full version right away. This is useful if your program makes use of the password fields in Tamperer, which require ccryptolib to work.

Usage

To use Tamperer in your program, simply require the tamperer module and create a new menu instance. You can then add settings to the menu and display it to the user.

In order to catch changes to values, you can provide a callback function that will be called whenever a value is changed.

local tamperer = require("tamperer")
local menu = tamperer.new("Main Menu")

menu:add_number("volume", "Volume", "Volume of the music", 50, 0, 100)
menu:add_boolean("fullscreen", "Fullscreen", "Enable fullscreen mode", false)
-- ...

menu:set_on_change(function(menu, selection)
  print("selection " .. selection.i_label .. " changed to " .. tostring(selection.value))
  print("selection is part of menu " .. menu.options.title)
end)

menu:run()

See the wiki for detailed documentation and guides on using Tamperer. The wiki is still under construction, but contains a full reference page for all Tamperer methods and objects.

wget run https://pinestore.cc/d/220
Git Repository
project screenshot project screenshot
comments
You can login with Discord to leave comments and reply to others!
There are no comments yet