Back to 9Minecraft
Wiki 9Minecraft Wiki 9Minecraft

ImproperUI Mod FAQ

10 questions players actually ask, answered.

How do I start creating a UI with ImproperUI?
Initialize the ImproperUI API in your mod, then create a script file using the CSS-inspired syntax to define your UI structure with elements like buttons, labels, and panels. Load the script when you want the UI to appear, and it will render on screen.
Can I make buttons that actually do something when clicked?
Yes—attach event handlers to buttons by linking them to callback functions in your script. When a player clicks the button, the callback fires and you can execute any code, like opening inventories, sending commands, or updating UI values.
What's the difference between ID and class selectors in ImproperUI?
IDs are unique identifiers for individual elements (use them to target one specific button or input), while classes are reusable labels for multiple elements (use them to style or query groups of similar elements at once).
How do I make a list that players can scroll through?
Create a scrollable panel or container element in your script and populate it with child elements like labels or buttons. ImproperUI handles the scroll behavior automatically—players can drag or use the scroll wheel to navigate the content.
Can I save what the player enters into text inputs?
Yes—use the configuration support system to bind input values to modular config keys, then call the save method to persist them. On the next game load, you can retrieve those saved values and restore them to the UI.
Why isn't my UI appearing on screen?
Check that you've initialized the ImproperUI API correctly, that your script file syntax is valid, and that you're calling the render or display method at the right time in your mod's lifecycle (usually during a screen open event).
Can I use ImproperUI with other UI mods?
ImproperUI is designed to work alongside other mods, but avoid rendering multiple UIs to the same screen space at the same time to prevent overlap or input conflicts.
How do I query or find UI elements after they're created?
Use the helper methods to search for elements by their ID or class name—this lets you update their properties, read their values, or attach new event handlers dynamically without recreating the entire UI.
Will using ImproperUI slow down my game?
ImproperUI is optimized for performance, but creating very large UIs with hundreds of elements or frequent re-renders can impact frame rate; keep element counts reasonable and avoid updating the UI every single tick.
Can I style my UI to look like the default Minecraft GUI?
Yes—ImproperUI's CSS-inspired system lets you define colors, sizes, fonts, and positioning; you can match Minecraft's default palette and textures by setting the appropriate style properties in your script.