NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

commit c99dbcfa6cc822b036ef51a938ce448b308de094
parent 3e0cf3ce3355f765ea81d5617b202162598cf525
Author: night0721 <[email protected]>
Date:   Mon,  4 Jul 2022 00:07:27 +0100

Added WitherChest, Interactive GUI

Diffstat:
Msrc/main/java/com/night/nullvalkyrie/Main.java | 1+
Asrc/main/java/com/night/nullvalkyrie/MenuListener.java | 37+++++++++++++++++++++++++++++++++++++
Asrc/main/java/com/night/nullvalkyrie/WitherChest.java | 9+++++++++
Msrc/main/java/com/night/nullvalkyrie/commands/MenuCommand.java | 4+++-
4 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/src/main/java/com/night/nullvalkyrie/Main.java b/src/main/java/com/night/nullvalkyrie/Main.java @@ -40,6 +40,7 @@ public final class Main extends JavaPlugin implements Listener { BarStyle.SEGMENTED_12 ); Bukkit.getPluginManager().registerEvents(this, this); + Bukkit.getPluginManager().registerEvents(new MenuListener(), this); } @EventHandler diff --git a/src/main/java/com/night/nullvalkyrie/MenuListener.java b/src/main/java/com/night/nullvalkyrie/MenuListener.java @@ -0,0 +1,37 @@ +package com.night.nullvalkyrie; + +import com.night.nullvalkyrie.commands.MenuCommand; +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; +public class MenuListener implements Listener { + + @EventHandler + public void onClick(InventoryClickEvent e) { + if(e.getInventory().equals(MenuCommand.inv) && e.getCurrentItem() != null) { + e.setCancelled(true); + Player player = (Player) e.getWhoClicked(); + switch (e.getRawSlot()) { + case 0: + break; + case 20: + player.setHealth(0); + player.sendMessage(ChatColor.RED + "又做兵 抵死"); + break; + case 22: + break; + case 24: + player.closeInventory(); + player.openInventory(WitherChest.witherchest); + return; + default: + return; + } + + + player.closeInventory(); + } + } +} diff --git a/src/main/java/com/night/nullvalkyrie/WitherChest.java b/src/main/java/com/night/nullvalkyrie/WitherChest.java @@ -0,0 +1,9 @@ +package com.night.nullvalkyrie; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.inventory.Inventory; + +public class WitherChest { + public static Inventory witherchest = Bukkit.createInventory(null,54, ChatColor.DARK_AQUA + "Whiter Chest"); +} diff --git a/src/main/java/com/night/nullvalkyrie/commands/MenuCommand.java b/src/main/java/com/night/nullvalkyrie/commands/MenuCommand.java @@ -14,11 +14,13 @@ import org.bukkit.inventory.meta.ItemMeta; import java.util.Arrays; public class MenuCommand implements CommandExecutor { + public static Inventory inv = Bukkit.createInventory(null, 45, ChatColor.DARK_BLUE.toString() + ChatColor.BOLD + "Valkyrie Menu"); @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if(sender instanceof Player) { Player player = (Player) sender; - Inventory inv = Bukkit.createInventory(player,45, ChatColor.DARK_BLUE.toString() + ChatColor.BOLD + "Valkyrie Menu"); + inv = Bukkit.createInventory(player,45, ChatColor.DARK_BLUE.toString() + ChatColor.BOLD + "Valkyrie Menu"); ItemStack KYS = new ItemStack(Material.WOODEN_SWORD); ItemMeta KYSmeta = KYS.getItemMeta();