InventoryGui createMiniMessageGui(JavaPlugin plugin, InventoryHolder holder, String title, String[] guiSetup) { InventoryGui.InventoryCreator miniMessageInventoryCreator = new InventoryGui.InventoryCreator( (gui, viewer, type) -> Bukkit.createInventory(new InventoryGui.Holder(gui), type, MiniMessage.miniMessage().deserialize(gui.replaceVars(viewer, gui.getTitle()))), (gui, viewer, size) -> Bukkit.createInventory(new InventoryGui.Holder(gui), size, MiniMessage.miniMessage().deserialize(gui.replaceVars(viewer, gui.getTitle())))); BiConsumer miniMessageNameSetter = (itemMeta, name) -> { if (name != null) { itemMeta.displayName((MiniMessage.miniMessage().deserialize(name)); } }; BiConsumer> miniMessageLoreSetter = (itemMeta, lore) -> { if (lore != null) { List loreComponents = new ArrayList<>(); for (String line : lore) { loreComponents.add(MiniMessage.miniMessage().deserialize(line)); } itemMeta.lore(loreComponents); } }; return new InventoryGui(plugin, miniMessageInventoryCreator, miniMessageNameSetter, miniMessageLoreSetter, holder, title, guiSetup); }