Описание
[](https://youtube.com/@AttackStudioYT) [](https://astudiolib.fandom.com/wiki/AStudioLib_Wiki)
[](https://github.com/AttackStudios/AStudioLib)
---
# 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 |
---