Trigary / Iodine

A Minecraft mod - server plugin pair that adds custom GUIs and overlays. No more inventory and chat menus!
GNU General Public License v3.0
24 stars 0 forks source link

(Suggestion) Server-side rendering #24

Closed NickAcPT closed 4 years ago

NickAcPT commented 4 years ago

My suggestion is to implement server side control rendering, where custom controls can be made (just like how, for example maps can be done).

The idea behind this is to let plugin developers implement their own controls without needing to introduce a new client mod version.

Examples of usage:

Trigary commented 4 years ago

Is this actual server-side rendering? Does the server-side of the codebase need to be able to render this stuff? Based on the description, that's not the case.

Plugin developers can use the TextureGuiElement to display custom content independent of the mod. This custom content is delivered through resource packs currently. An alternative is to use RectangleGuiElement, which is simply a colored rectangle. Both of these elements are clickable and I believe by using multiple of them, by using these two types together you can create your own elements. I don't think it is a goal for the API to make this process easier, it could be a separate project, an add-on library though.

Canvases can be made by creating a huge grid of RectangleGuiElements.

If you believe this API could benefit from "native" support for custom elements, please describe how it should work.