Starshadow Lib

Quick rating

Community listing page, reviews may not be monitored by the author.

Starshadow Lib

By Starshadow

No reviews yet

Starshadow mods library files

Mod Loaders
Minecraft

About

Description

★ 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.