
Bento GUI
The expressive GUI library from Bento Box
53 загрузок0 подписчиковLGPL-3.0-onlyfabric
Обновлён 30 марта 2026 г. · опубликован 21 марта 2026 г.
Bento GUI
Bento GUI is an expressive GUI library that makes building dynamic screens fast and easy. It is a replacement for Minecraft’s UI widgets that is inspired by HTML and CSS.
Features:
- Many UI elements provided out of the box
- Build elements using the builder pattern
- Robust layout engine with min/max and auto-computed dimensions
- Customizable element rendering
Bento GUI is documented in-code with JavaDocs and on my wiki.
@Environment(EnvType.CLIENT)
public class MyScreen extends Screen {
public MyScreen() {
super(Text.literal("My Screen"));
}
@Override
protected void init() {
Window window = client.getWindow();
int width = window.getScaledWidth();
int height = window.getScaledHeight();
// The root panel that will contain everything
Panel root = Panel.builder()
.dimensions(width, height)
.spacing(1)
.build();
// Add elements to root
Label title = Label.builder()
.text(Text.literal("My Screen"))
.dimensions(true, 32)
.build();
ScrollPanel body = ScrollPanel.ofMenu()
.dimensions(true, true)
.alignCenter()
.padding(10, 0)
.spacing(10)
.build();
Panel footer = Panel.builder()
.dimensions(true, 32)
.alignCenter()
.alignMiddle()
.padding(20, 0)
.spacing(8)
.flowAxis(FlowAxis.HORIZONTAL)
.build();
root.addChild(title);
root.addChild(body);
root.addChild(footer);
// Add elements to footer
TextField<String> searchField = TextField.ofString()
.palceholder(Text.literal("Search..."))
.width(true)
.maxWidth(200)
.build();
Button doneButton = Button.builder()
.text(Text.literal("Done"))
.onPress(self -> close())
.build();
footer.addChild(searchField);
footer.addChild(doneButton);
// Add root as drawable child
addDrawableChild(root);
}
}
Версии
| Версия | Канал | Игра | Загрузчики | Дата | Скачать |
|---|---|---|---|---|---|
| 0.1.0+1.21 | Бета | 1.21, 1.21.1 | fabric | 30 марта 2026 г. | .jar (398 КБ) |
Комментарии
Загружаем…