AStudioLib

A library for all AttackStudio's mods and more.

298

AStudioLib

YouTube Wiki

---

AStudioLib

A lightweight, general-purpose Fabric mod library built by AttackStudio. AStudioLib handles all the boilerplate that every mod needs — config persistence, GUI rendering, sound helpers, inventory queries, a tick scheduler, keybinding registration, and more — so it never has to be written twice.

> For players: Drop the JAR in your mods folder alongside any mod that requires it. AStudioLib has no visible effect on its own.

---

What's Included

Config

JSON config persistence backed by Gson. One-line save and load, automatic file location, pretty-printing, and silent error handling.

GUI Rendering

A full set of `DrawContext` helpers for the AttackStudio dark-theme UI: panel backgrounds, pulsing borders, corner brackets, animated shimmer sweeps, progress bars, tooltip boxes, scrollbars, and fade edges for scrollable regions.

Easing

Frame-rate-independent easing functions: ease-out, ease-out-back, ease-in-out, sine pulse, ease-out bounce, and linear lerp. All inputs are clamped automatically.

Color Utilities

ARGB color packing, alpha blending, two-color lerp, a `healthColor` gradient (red → yellow → green), HSV-to-RGB conversion, and an animated rainbow helper.

Math Utilities

`clamp`, `remap`, `approach`, `smoothLerp`, `wrap`, and `nearlyEqual` — the numeric helpers that Java forgot to include.

Text Helpers

Minecraft `Text` builders: hex-colored text, toggle labels (`"Feature: ON/OFF"`), join-with-separator, and vanilla `Formatting` application.

Tick Scheduler

Client-side deferred and repeating task scheduler. Schedule a one-shot action after N ticks or a repeating pulse every N ticks — no background threads, no boilerplate.

Inventory Utilities

Full-inventory queries including offhand: item count, presence checks, first-slot search, and held-item detection.

Sound Utilities

One-liner sound playback — fixed volume/pitch, custom pitch, or randomized pitch within a range.

Toast Notifications

One-liner Minecraft system toast notifications (top-right corner), with or without a body message.

Keybinding Registration

Thin wrapper around Fabric's keybinding API. Register a key in one line, poll with `isHeld()` or `consumePress()`. Auto-ticked each client frame.

/studiolib Command

A shared client command registry. Any mod can register subcommands under `/studiolib` during init — AStudioLib assembles the full tree automatically.

---

For Mod Developers

1. Publish to Maven local: ``` git clone https://github.com/AttackStudios/AStudioLib.git cd AStudioLib ./gradlew publishToMavenLocal ```

2. Add to `build.gradle`: ```groovy repositories { mavenLocal() } dependencies { modImplementation "net.attackstudioyt:astudiolib:1.1.0" } ```

3. Declare in `fabric.mod.json`: ```json "depends": { "astudiolib": "*" } ```

---

Requirements

| | | |---|---| | Minecraft | 1.21.11 or higher | | Fabric Loader | ≥ 0.18.4 | | Fabric API | 0.141.3+1.21.11 | | Java | 21 |

---

Disclaimer

This mod was made with help of Claude CLI and may have imperfections due to GenAI code.

ADS