Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.brekfst.tokenforge.managers;
- import me.brekfst.tokenforge.menusystem.Menu;
- import me.brekfst.tokenforge.utilitys.PlayerMenuUtility;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.ItemStack;
- import java.lang.reflect.Constructor;
- import java.lang.reflect.InvocationTargetException;
- import java.util.HashMap;
- import java.util.Map;
- public class ToolMenuManager {
- public static Map<Material, Class<? extends Menu>> getToolMenus() {
- return toolMenus;
- }
- private static final Map<Material, Class<? extends Menu>> toolMenus = new HashMap<>();
- public static void openToolMenu(PlayerMenuUtility playerMenuUtility) {
- Player player = playerMenuUtility.getOwner();
- ItemStack selectedTool = playerMenuUtility.getSelectedTool();
- if (selectedTool != null) {
- Material toolMaterial = selectedTool.getType();
- Class<? extends Menu> menuClass = toolMenus.get(toolMaterial);
- if (menuClass != null) {
- try {
- Constructor<? extends Menu> constructor = menuClass.getDeclaredConstructor(PlayerMenuUtility.class);
- Menu menu = constructor.newInstance(playerMenuUtility);
- player.playSound(player.getLocation(), "block.anvil.break", 1, 1);
- menu.open();
- } catch (NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment