День 2.
Сегодня хочется поговорить о неотъемлемой части Майнкрафта и модов GUI. Их достаточно сложно делать и продумывать, хочется, чтобы интерфейсы можно было писать буквально в несколько строчек, и вот я решил своровать некий прием в программировании, который активно используется в пайтоне и его библиотеках, он называется виджет-ориентированный подход. Если просто объяснять, этот прием выглядит так: мы обращаемся к элементу, говорите ему, как он должен себя вести, через ряд уже заготовленных параметров. Например, то, что вы видите на видео, сделано очень просто:
public class ExampleUI {
public static void open() {
UIScreen screen = new UIScreen();
String complexText = "§fПривет! Это §b§lПончик§r.\n\n" +
"§7• §aПоддержка цветов§r Комти работает, он очень крутой, я его фанат.\n" +
"§7• §eСкроллбар§r Комти работает, он очень крутой, я его фанат.\n" +
"§7• §dРесайз§r Комти работает, он очень крутой, я его фанат.\n" +
"§7• §nТекст§r Комти работает, он очень крутой, я его фанат.\n\n";
UITextWindow textWindow = new UITextWindow(30, 30, 220, 160, complexText);
textWindow.setDraggable(true);
textWindow.resizable = true;
screen.addElement(textWindow);
Minecraft.getInstance().setScreen(screen);
}
}
Конечно же, за этим стоит очень много кода, но то, что человек без глубоких знаний программирования, пользуясь документацией, может спокойно создавать интерфейсы и использовать их в своих проектах, поражает. Сейчас доступны отрисовки геометрических фигур, создание окон, кнопок, картинок, чекбоксов, слайдеров, текста.
Хочется услышать мнение об такой функции и стоит ли ее развивать, если да, то через недельку можно это дропать и хайповать жестко.