跳到正文

Starshadow Lib

作者:Starshadow

Starshadow mods library files

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

★ Starshadow Lib

The foundation for Starshadow mods.

Starshadow Lib is a shared widget toolkit and utility library for Minecraft Fabric mods. It provides the building blocks that power Starshadow’s config screens, mod list, and splash screen — and you can use them in your own mods too.

“Widgets, layout, and rendering — the boring parts, done right.”


✨ Features

🎛️ Widget Toolkit

Ready-to-use Minecraft GUI widgets built on vanilla screen components:

| Widget | Description |
|——–|————-|
| ToggleWidget | On/off toggle switch with animation |
| SliderWidget | Numeric slider with configurable range |
| IntStepperWidget | Integer value with +/- buttons |
| EnumCycleWidget | Cycle through enum values with click |
| StarWidget | Base widget class for building custom widgets |

📐 Layout System

Utilities for consistent, responsive GUI layouts:

| Component | Description |
|———–|————-|
| EntryRow | Label + widget row with consistent alignment |
| Spacing | Standardized spacing constants for UI consistency |

📦 Container Widgets

Higher-level containers for organizing content:

| Container | Description |
|———–|————-|
| ScrollablePanel | Scrollable content area with smooth scrolling |
| SectionCard | Card-style container with header and collapsible content |
| VerticalTabBar | Tab strip for multi-section screens |

🎨 Rendering Utilities

| Utility | Description |
|———|————-|
| RenderBridge | Cross-version rendering abstraction layer |
| Colors | Standardized color palette constants |

🔧 Logging Helpers

| Utility | Description |
|———|————-|
| LogLevelHelper | Dynamic Log4j2 level control for debug logging toggles |


📦 Installation

For Mod Developers

Add to your build.gradle.kts:

dependencies {
    modstitchModImplementation("com.starshadow:starshadow-lib:${property("starshadow_version")}")
    include("com.starshadow:starshadow-lib:${property("starshadow_version")}")
}

For Players

Starshadow Lib is bundled inside mods that use it — you typically don’t need to install it separately. If a mod requires it as an external dependency:

  1. Install Fabric Loader for your Minecraft version
  2. Install Fabric API
  3. Drop the Starshadow Lib .jar into your mods/ folder
  4. Launch Minecraft

Supported: Minecraft 1.20.1 · 1.20.4 · 1.21.1 — Fabric only


🔨 Usage Examples

Toggle Widget

ToggleWidget toggle = new ToggleWidget(x, y, width, height,
    Text.literal("Enable Feature"),
    () -> config.isEnabled(),
    value -> config.setEnabled(value));

Slider Widget

SliderWidget slider = new SliderWidget(x, y, width, height,
    Text.literal("Volume"),
    0, 100, config.getVolume(),
    value -> config.setVolume(value));

Scrollable Panel

ScrollablePanel panel = new ScrollablePanel(x, y, width, height);
panel.addChild(new EntryRow(label, widget));
panel.addChild(new EntryRow(label2, widget2));

🧩 Compatibility

| Mod | Compatibility |
|—–|————-|
| Fabric API | ✅ Required |
| Starshadow Config | ✅ Uses Lib for config screen widgets |
| Starshadow Menu | ✅ Uses Lib for mod list UI |
| Starshadow Splash | ✅ Uses Lib indirectly via Config |


📋 Requirements

| Dependency | Required? |
|———–|———–|
| Fabric Loader | ✅ Yes |
| Fabric API | ✅ Yes |

Starshadow Lib has no dependencies beyond Fabric itself — it’s the foundation layer.


🌟 Build Better UIs

Stop reinventing widgets for every mod. Starshadow Lib provides a consistent, tested set of UI components so you can focus on what makes your mod unique.


Made with ❤️ by Ghent Starshadow
Licensed under MPL-2.0 — free to use, share, and modify.

常见问题

Starshadow Lib 支持哪些 Minecraft 版本?

Starshadow Lib 支持 Minecraft Java 版 1.20.1–1.20.6,共 6 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Starshadow Lib 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

Starshadow 的其他作品

查看全部 →