nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
Bento GUI

Bento GUI

Mod

The expressive GUI library from Bento Box

Client Library

28 downloads
0 followers

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:

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);
   }
}

External resources


Project members

Chai

Member


Technical information

License
LGPL-3.0-only
Client side
required
Server side
unsupported
Project ID