InventoryGui createMineDownGui(JavaPlugin plugin, InventoryHolder holder, String title, String[] guiSetup) { InventoryGui.InventoryCreator mineDownInventoryCreator = new InventoryGui.InventoryCreator( (gui, viewer, type) -> Bukkit.createInventory(new InventoryGui.Holder(gui), type, MineDown.parse(gui.replaceVars(viewer, gui.getTitle()))), (gui, viewer, size) -> Bukkit.createInventory(new InventoryGui.Holder(gui), size, MineDown.parse(gui.replaceVars(viewer, gui.getTitle())))); BiConsumer mineDownNameSetter = (itemMeta, name) -> { if (name != null) { itemMeta.displayName(MineDown.parse(name)); } }; BiConsumer> mineDownLoreSetter = (itemMeta, lore) -> { if (lore != null) { List loreComponents = new ArrayList<>(); for (String line : lore) { loreComponents.add(MineDown.parse(line)); } itemMeta.lore(loreComponents); } }; return new InventoryGui(plugin, mineDownInventoryCreator, mineDownNameSetter, mineDownLoreSetter, holder, title, guiSetup); }