← Назад к ресурсам

AStudioLib

A library for all AttackStudio's mods and more.

Modrinth management utility

Описание

[![YouTube](https://img.shields.io/badge/Watch%20on-YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://youtube.com/@AttackStudioYT) [![Wiki](https://img.shields.io/badge/Wiki%20-Here-181717?style=for-the-badge&logo=fandom&logoColor=white)](https://astudiolib.fandom.com/wiki/AStudioLib_Wiki) [![GitHub](https://img.shields.io/badge/Github%20-Here-181717?style=for-the-badge&logo=Github&logoColor=white)](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 | ---