bybystandardlib
BSL (Byby Standard Library) is a Fabric mod that adds APIs similar to Quilt, allowing developers to use Quilt-like features on Fabric. It improves compatibility, reduces code duplication, and serves as a shared backend for mods.
介绍
# bsl (byby standard library) – Fabric Helper Library Documentation
## Overview
bsl is a lightweight helper library designed to supplement Fabric mod development by providing convenient APIs for UI buttons, keybindings, client tick events, resource reload handling, and JSON config management. It aims to help mod developers easily add features common to Fabric mods, enabling feature parity closer to Quilt and other mod loaders.
—
## Integration
### 1. Using bsl as part of your mod source code
If you are developing your Fabric mod and want to use bsl directly within the same project (recommended for easy debugging and iteration):
– Include the entire `bsl` source code inside your project’s `src/main/java` directory under the `bsl` package.
– In your mod code, import and use bsl normally:
“`java
import bsl.bsl;
public class MyModClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
// Register a button on a specific screen
bsl.addButton(SomeScreen.class, “Click me!”, 10, 10, 100, 20, () -> {
System.out.println(“Button clicked!”);
});
// Register client tick event
bsl.onClientTick(() -> {
// Your tick logic here
});
}
}
No special build setup is needed beyond standard Fabric Loom configuration.
2. Using bsl as a separate JAR dependency
If you want to distribute bsl as a standalone library for reuse in multiple projects or keep it modular:
Build bsl into a JAR file.
Add it to your mod’s libs folder or publish it to a Maven repository.
Add the dependency in your build.gradle file:
dependencies {
modImplementation files(‘libs/bsl.jar’)
// or if published:
// modImplementation ‘com.byby:bsl:1.0.0’
}
Import bsl in your mod code as usual:
import bsl.bsl;
Make sure the Fabric API and Minecraft dependencies are consistent across your mod and bsl builds.
Features
Screen Button Registry
Easily register buttons on any Minecraft screen.
bsl.addButton(SomeScreen.class, “Button Text”, x, y, width, height, () -> {
// Button pressed action
});
Client Tick Events
Register callbacks that run every client tick.
bsl.onClientTick(() -> {
// Tick logic
});
Resource Reload Events
Register callbacks for resource reload events.
bsl.onResourceReload(manager -> {
// Reload logic
});
Keybinding API
Register and query keybindings simply.
KeyBinding myKey = bsl.registerKey(“key.my_mod.my_key”, GLFW.GLFW_KEY_K);
if (bsl.isKeyPressed(myKey)) {
// Do something when key is pressed
}
JSON Config API
Save/load JSON config files in the config folder.
MyConfig cfg = bsl.loadConfig(“myconfig.json”, MyConfig.class, new MyConfig());
bsl.saveConfig(“myconfig.json”, cfg);
Important Notes
bsl depends on Fabric API and Minecraft classes and must be compiled with Fabric Loom and appropriate mappings.
When including bsl source in your mod project, make sure your IDE and build system recognize the package structure correctly.
When building bsl as a JAR, ensure that the target Minecraft and Fabric API versions match those of your mod to avoid runtime incompatibilities.
Some @Shadow warnings during compilation may appear if the target methods or fields are missing in the Minecraft version used; these usually do not prevent the mod from working but should be addressed for clean builds.
Example: Basic usage in a mod client initializer
package mymod;
import bsl.bsl;
import net.fabricmc.api.ClientModInitializer;
import net.minecraft.client.gui.screen.TitleScreen;
public class MyModClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
bsl.addButton(TitleScreen.class, “Hello bsl!”, 10, 10, 100, 20, () -> {
System.out.println(“Button clicked!”);
});
}
}
常见问题
bybystandardlib 支持哪些 Minecraft 版本?
bybystandardlib 支持 Minecraft Java 版 1.20–1.21.8,共 16 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
bybystandardlib 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
bobbydeveloper 的其他作品
查看全部 →bybyshader
轻量级光影,为游戏增添鲜艳色彩、柔和泛光、细微色差和轻柔胶片颗粒感。经过优化,运行流畅,同时展现 Minecraft 的独特魅力。
fsrmine
FSR 是 AMD 的超分辨率技术,可提升 FPS。相关模组能将 FSR 引入 Minecraft,让更多显卡也能享受更流畅的画面。
msf
轻量级Minecraft光影,呈现平滑的蓝色虹膜光晕与细微脉动,比BSL更美观且性能更友好。
beauderful
轻量级 Minecraft 光影,可营造平滑的蓝色虹膜光效和细微脉动,比 BSL 更美观,也更省性能。
评论
登录后评论和评分