HomeJavaModsStarshadow Lib
Starshadow Lib

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

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more