-
Notifications
You must be signed in to change notification settings - Fork 0
GUI
Gio edited this page Apr 30, 2023
·
1 revision

Main File
package be.moondevelopment.example;
import be.moondevelopment.moonapi.framework.gui.GUIHolder;
import be.moondevelopment.moonapi.framework.gui.legacy.LegacyGUI;
import be.moondevelopment.moonapi.framework.utils.ConfigUtil;
import be.moondevelopment.moonapi.framework.utils.YamlConfigUtil;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class ExamplePlugin extends JavaPlugin implements Listener {
private static ExamplePlugin instance;
private YamlConfigUtil config;
@Override
public void onEnable() {
instance = this;
config = ConfigUtil.get(this, "config.yml");
// Register GUIHolder and LegacyGUI
GUIHolder.init(this);
LegacyGUI.init(this);
// Register Test Event
Bukkit.getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onMove(PlayerMoveEvent e) {
new ExampleGUI().open(e.getPlayer());
}
@Override
public void onDisable() {
}
public static ExamplePlugin getInstance() {
return instance;
}
public YamlConfigUtil getConfig() {
return config;
}
}GUI
package be.moondevelopment.example;
import be.moondevelopment.moonapi.framework.gui.legacy.LegacyGUI;
import org.bukkit.Material;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.inventory.ItemStack;
public class ExampleGUI extends LegacyGUI {
public ExampleGUI() {
super(
ExamplePlugin.getInstance().getConfig().getString("gui.title"),
ExamplePlugin.getInstance().getConfig().getInt("gui.size")
);
}
@Override
protected void setContents() {
inventory.setItem(0, new ItemStack(Material.DIAMOND_SWORD));
}
@Override
protected void clickAction(InventoryClickEvent inventoryClickEvent) {
if (inventoryClickEvent.getSlot() == 0) {
inventoryClickEvent.getWhoClicked().sendMessage("You clicked on the diamond sword!");
inventoryClickEvent.getWhoClicked().closeInventory();
}
}
@Override
protected void closeAction(InventoryCloseEvent inventoryCloseEvent) {
}
}