package sourcecoded.quantum.discovery;
import sourcecoded.quantum.api.discovery.DiscoveryCategory;
import sourcecoded.quantum.api.discovery.DiscoveryItem;
import sourcecoded.quantum.discovery.category.CategoryBasics;
import sourcecoded.quantum.discovery.category.CategoryBlocks;
import sourcecoded.quantum.discovery.category.CategoryItems;
import sourcecoded.quantum.discovery.category.CategoryTools;
import sourcecoded.quantum.discovery.item.*;
public class QADiscoveries {
public static enum Category {
BASICS(new CategoryBasics()),
BLOCKS(new CategoryBlocks()),
ITEMS(new CategoryItems()),
TOOLS(new CategoryTools()),
;
private DiscoveryCategory category;
Category(DiscoveryCategory cat) {
this.category = cat;
}
public DiscoveryCategory get() {
return category;
}
}
public static enum Item {
LORE(new DItemLoreBasic(), Category.BASICS.get()),
BIOME(new DItemLoreBiomes(), Category.BASICS.get()),
DISCOVERY(new DItemDiscovery(), Category.BASICS.get()),
RF(new DItemLoreRF(), Category.BASICS.get()),
POTATO(new DItemLorePotato(), Category.BASICS.get()),
DYEABLES(new DItemBlockDyeable(), Category.BLOCKS.get()),
NODE(new DItemBlockEnergy(), Category.BLOCKS.get()),
NODE_ADV(new DItemBlockEnergyAdvanced(), Category.BLOCKS.get()),
ARRANGEMENT(new DItemBlockArrangement(), Category.BLOCKS.get()),
JEWEL(new DItemJewel(), Category.ITEMS.get()),
JEWEL_CHARGED(new DItemJewelCharged(), Category.ITEMS.get()),
STRING(new DItemInjectedString(), Category.ITEMS.get()),
STICK(new DItemInjectedStick(), Category.ITEMS.get()),
ETCHED_STONE(new DItemBlockEtched(0), Category.BLOCKS.get()),
ETCHED_CORNER(new DItemBlockEtched(1), Category.BLOCKS.get()),
INJECTION(new DItemBlockInjector(), Category.BLOCKS.get()),
INJECTION_BLOCKS(new DItemBlockInjected(), Category.BLOCKS.get()),
INJECTION_ADV(new DItemBlockInjectorAdvanced(), Category.BLOCKS.get()),
FURNACE(new DItemBlockRiftFurnace(), Category.BLOCKS.get()),
CHAOS(new DItemBlockChaos(), Category.BLOCKS.get()),
SHELF(new DItemBlockShelf(), Category.BLOCKS.get()),
VACUUM(new DItemVacuum(), Category.BLOCKS.get()),
VACUUM_INSTABILITY(new DItemVacuumInstability(), Category.BLOCKS.get()),
ENCHANT(new DItemVacuumEnchant(), Category.BLOCKS.get()),
MANIPULATION(new DItemBlockManipulation(), Category.BLOCKS.get()),
PLAYER(new DItemBlockPlayer(), Category.BLOCKS.get()),
STAR(new DItemEntropicStar(), Category.ITEMS.get()),
MAGNET(new DItemMagnet(), Category.ITEMS.get()),
MAGNETISM(new DItemEnchantMagnetism(), Category.BLOCKS.get()),
DECEPTION(new DItemEnchantDeception(), Category.BLOCKS.get()), //This
SYNC(new DItemBlockSync(), Category.BLOCKS.get()),
TOOLS(new DItemToolRod(), Category.TOOLS.get()),
PICKAXE(new DItemTools(0), Category.TOOLS.get()),
AXE(new DItemTools(1), Category.TOOLS.get()),
SHOVEL(new DItemTools(2), Category.TOOLS.get()),
SWORD(new DItemTools(3), Category.TOOLS.get()),
BOW(new DItemTools(4), Category.TOOLS.get()),
ARMOR(new DItemToolArmor(), Category.TOOLS.get()),
PENCIL(new DItemToolPencil(), Category.TOOLS.get()),
;
private DiscoveryItem item;
private DiscoveryCategory category;
Item(DiscoveryItem cat, DiscoveryCategory category) {
this.item = cat;
this.category = category;
}
public DiscoveryItem get() {
return item;
}
public DiscoveryCategory getCategory() {
return category;
}
public void registerItem() {
category.addDiscoveryItem(item);
item.init();
}
}
}