Included content
| Name | Version | |
|---|---|---|
Sushi Bar is now known as Bento Box, with a broader scope of expressive GUIs, declarative configs, and more down the road, wrapped up in a modular package. If you the developer only need just the GUI library and nothing else, you can do that! As for users, they can download just the Bento Box mod to keep their mod lists clean. It's a win-win for both!
Just a simple general utility library. Its main features is a fully-featured Color class that can parse many formats, and a nifty integration with Placeholder API that lets you use it within language translation files!
To activate QuickText formatting, surround a string with square brackets. You can use translation slots with the new <%s n> tag!
"text.bento_gui.checkbox.on": ["<gray>[<green>✔<gray>]</*> <%s 1>"]
An expressive GUI library inspired by HTML that I built from scratch using the builder pattern. No more will you have to suffer dealing with Minecraft's UI widgets. Simply build your elements, add them as children to panels, and the system will automatically lay them out according to their constraints like min/max dimensions and alignments.
Label title = Label.builder()
.text(Text.translatable("config." + config.getModId() + ".title"))
.dimensions(true, 32) // Fixed height of 32, width expands to fill
.build();
Panel body = Panel.ofMenu()
.dimensions(true, true) // Width and height expand to fill
.alignCenter()
.padding(10, 0) // Padding of 10 on the X axis
.spacing(10) // Spacing of 10 between children
.displayAxis(Panel.DisplayAxis.HORIZONTAL)
.build();
Panel footer = Panel.builder()
.dimensions(true, 32) // Fixed height of 32, width expands to fill
.alignCenter()
.alignMiddle()
.padding(20, 0) // Padding of 20 on the X axis
.spacing(8) // Spacing of 8 between children
.displayAxis(Panel.DisplayAxis.HORIZONTAL)
.build();
A declarative configuration system built on top of Bento GUI. Simply declare your options in a class file, progressively enhance them with annotations, and then optionally register it to Modmenu!
public class TestConfig extends BentoConfig<TestConfig> {
public boolean spawn_creepers = true;
@Range(min = 1, max = 10)
public int spawn_amount = 3;
@Percentage
public float spawn_chance = 0.5f;
public Item creeper_loot = Items.GUNPOWDER;
@Regex("[a-z]{1,10}")
public String creeper_name = "creeper";
}
| Name | Version | |
|---|---|---|
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:tr2Mv6ke:zIo0JeU9"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:tr2Mv6ke:zIo0JeU9"
}