Skip to content

Repository files navigation

Experimentation Table - (Works 26.1.2 and 26.2)

Version Minecraft Fabric Java License

An independent Auto Experiment mod for Minecraft 26.2 / Fabric (client-side only) It solves all three Experimentation Table games automatically — Chronomatron, Ultrasequencer and Superpairs — with no GUI of its own. Everything is configured in-game via /experiment commands.

Features

  • Chronomatron — records the revealed (foil) note each round, then replays the whole sequence in order.
  • Ultrasequencer — reads the revealed notes (dyes / lapis / bone meal), orders them by their count label, and replays them in order.
  • Superpairs — tracks revealed pairs (by item + name) and clicks both slots of each match — can be disabled with /experiment superpairs off while Chronomatron / Ultrasequencer keep running.
  • Human-like Timing — automated Gaussian intervals, 2D cursor distance scaling, and reaction delays.
  • No GUI — the feature is toggled and configured entirely through /experiment commands; settings persist to config/lyn1-experiment.json.
  • Game identification is purely client-side: the open screen title selects the solver, and clicks use standard PICKUP (Left Click) container interactions.

Commands

Command Effect
/experiment Show current status, superpairs setting, baseline ping, and current ping
/experiment on / off Enable / disable the solver
/experiment superpairs on / off Enable / disable Superpairs auto-matching
/experiment ping Check current detected server ping and baseline delay
/experiment ping <ms> Set baseline ping delay buffer (01000 ms, default 0)

Confirmation example (green in chat):

[Lyn1-Experiment] Baseline ping delay set to 150 ms        (in-game, shown in green)

Configuration

Settings are saved to config/lyn1-experiment.json:

{
  "basePing": 0,
  "enabled": true,
  "superpairs": true
}
Field Type Range Default Description
basePing integer 0–1000 0 Minimum baseline ping buffer in milliseconds
enabled boolean true Solver on/off
superpairs boolean true Superpairs auto-matching on/off

Usage

  1. Install Fabric Loader 0.19.3+ for Minecraft 26.1.2 or 26.2 and drop lyn1-experiment-0.1.0.jar plus Fabric API into your mods/ folder.
  2. Launch the game, join Hypixel SkyBlock and place your Experimentation Table on your island (or use the Community Center one).
  3. Open the table — the mod starts solving automatically (it is enabled by default; disable with /experiment off if needed).

Building from source

Requirements: JDK 25 and an internet connection.

git clone <repo-url>
cd lyn1-experiment
./gradlew build

The built jar is at build/libs/lyn1-experiment-0.1.0.jar.

How it works

  1. Every client tick, if the open screen is a ContainerScreen, its title is read and mapped to a game mode (Chronomatron / Ultrasequencer / Superpairs (…); … Stats titles are ignored.
  2. A snapshot of all container slots (item id, count, foil, name) feeds the solver.
  3. The solver decides the next click:
    • Chronomatron: slot 49 control; during the demonstration phase (non-clock, e.g. glowstone), notes light up with foil/glint and are recorded into sequence memory; when the control switches to clock, the full sequence is clicked back in order.
    • Ultrasequencer: slot 49 control; glowstone = reveal: notes in slots 9–44 are sorted by their count label (count − 1 = replay index); clock = replay: click the mapped slots in order.
    • Superpairs: revealed items (not glass / clock / glowstone / black dye, with a name) are paired by item+name; both slots of each pair are clicked.
  4. Clicks are spaced by dynamic humanized delays and sent via gameMode.handleContainerInput(..., ContainerInput.PICKUP, ...).

Human-like Timing & Click Randomization

The mod features a behavioral simulation engine to avoid metronome-like inputs:

  • Standard Input Packets: Clicks use standard ContainerInput.PICKUP Left Click packets (button = 0), matching normal human player interactions.
  • Glowstone $\rightarrow$ Clock Reaction Delay: When the game transitions from the reveal phase (glowstone) to the input phase (clock), the mod simulates human perception time using a Gaussian curve ($\mu = 330\text{ ms}, \sigma = 40\text{ ms}$, clamped to $[250, 480]\text{ ms}$).
  • Spatial Distance Scaling (Fitts's Law): Calculates the 2D Euclidean distance between successive slots on the $9 \times 6$ inventory grid, adding $16\text{–}24\text{ ms}$ per grid unit so distant slots take naturally longer to reach than adjacent ones.
  • Gaussian Jitter: Every click interval incorporates standard normal variance ($\mathcal{N}(0, 25^2)\text{ ms}$, clamped to $[-45, +65]\text{ ms}$) on top of the configured base delay.
  • Contextual Hesitation:
    • Superpairs: Introduces a $160\text{–}290\text{ ms}$ visual search pause when locating a new matching pair, followed by rapid pair confirmation.
    • Sequence Recall: Adds a 10% chance of a micro-hesitation ($45\text{–}95\text{ ms}$) during extended sequence playback.
  • Network Ping Compensation: Automatically samples real-time server latency from packet headers (PlayerInfo.getLatency()) and adds max(configuredBaseline, detectedPing) to click intervals, guaranteeing the server has acknowledged and rendered prior slot updates before issuing subsequent clicks on high-ping or laggy connections.
  • Screen Open Orientation: Pauses $300\text{–}500\text{ ms}$ upon opening any table GUI before initiating inputs.

Project structure

src/main/java/dev/lyn1/experiment/
├── Lyn1ExperimentMod.java       # entrypoint: config load, tick hook, /experiment commands
├── AutoExperimentFeature.java   # tick pipeline: screen -> solver -> click
├── ExperimentConfig.java        # delay / enabled + JSON persistence
└── ExperimentSolver.java        # pure solver: Chronomatron / Ultrasequencer / Superpairs
src/test/java/dev/lyn1/experiment/  # solver unit tests (7 tests)

Verification baseline

  • 6 unit tests pass (ExperimentSolverTest).
  • Release jar: build/libs/lyn1-experiment-0.1.0.jar
  • SHA-256: 0CFFE52DF06E21B6A5BA736D0D58C303EBF106760AA33317F689BABF08111102

Disclaimer

This mod automates in-game input for the Experimentation Table minigames. Automated play may be against the rules of Hypixel or other servers — check the server rules and use it at your own risk. This is an independent educational project, not affiliated with Hypixel Inc. or Mojang Studios.

License

MIT

About

Skyblock macro for 26.1.2 and 26.2 that automates experimentation table.

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages