EpicHeads/main/java/com/songoda/epicheads/oldmenu/mode/InvModeType.java

33 lines
800 B
Java

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<? extends InvMode> clazz;
private InvModeType(Class<? extends InvMode> clazz) {
this.clazz = clazz;
}
public Class<? extends InvMode> getInvModeClass() {
return clazz;
}
public InvMode open(Player player) {
try {
return clazz.getConstructor(Player.class).newInstance(player);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}