Guest User

Untitled

a guest
Jul 17th, 2023
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. package me.brekfst.tokenforge.managers;
  2.  
  3. import me.brekfst.tokenforge.menusystem.Menu;
  4. import me.brekfst.tokenforge.utilitys.PlayerMenuUtility;
  5. import org.bukkit.Material;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.inventory.ItemStack;
  8.  
  9. import java.lang.reflect.Constructor;
  10. import java.lang.reflect.InvocationTargetException;
  11. import java.util.HashMap;
  12. import java.util.Map;
  13.  
  14. public class ToolMenuManager {
  15.  
  16. public static Map<Material, Class<? extends Menu>> getToolMenus() {
  17. return toolMenus;
  18. }
  19.  
  20. private static final Map<Material, Class<? extends Menu>> toolMenus = new HashMap<>();
  21.  
  22.  
  23. public static void openToolMenu(PlayerMenuUtility playerMenuUtility) {
  24. Player player = playerMenuUtility.getOwner();
  25. ItemStack selectedTool = playerMenuUtility.getSelectedTool();
  26. if (selectedTool != null) {
  27. Material toolMaterial = selectedTool.getType();
  28. Class<? extends Menu> menuClass = toolMenus.get(toolMaterial);
  29. if (menuClass != null) {
  30. try {
  31. Constructor<? extends Menu> constructor = menuClass.getDeclaredConstructor(PlayerMenuUtility.class);
  32. Menu menu = constructor.newInstance(playerMenuUtility);
  33. player.playSound(player.getLocation(), "block.anvil.break", 1, 1);
  34. menu.open();
  35. } catch (NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. }
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment