package com.songoda.epicheads.oldmenu.mode; import org.bukkit.entity.Player; public enum InvModeType { GET(GetMode.class), REMOVE(RemoveMode.class), RENAME(RenameMode.class), COST(CostMode.class), CATEGORY_COST(CategoryCostMode.class), CATEGORY_COST_REMOVE(CategoryCostRemoveMode.class), ID(IdMode.class); private Class clazz; private InvModeType(Class clazz) { this.clazz = clazz; } public Class getInvModeClass() { return clazz; } public InvMode open(Player player) { try { return clazz.getConstructor(Player.class).newInstance(player); } catch (Exception e) { throw new RuntimeException(e); } } }