package joshie.harvest.knowledge;
import joshie.harvest.animals.HFAnimals;
import joshie.harvest.animals.item.ItemAnimalSpawner.Spawner;
import joshie.harvest.animals.item.ItemAnimalTreat.Treat;
import joshie.harvest.api.core.ITiered.ToolTier;
import joshie.harvest.api.knowledge.Category;
import joshie.harvest.api.knowledge.Note;
import joshie.harvest.buildings.HFBuildings;
import joshie.harvest.cooking.CookingHelper;
import joshie.harvest.cooking.HFCooking;
import joshie.harvest.cooking.block.BlockCookware.Cookware;
import joshie.harvest.cooking.item.ItemMeal.Meal;
import joshie.harvest.core.HFCore;
import joshie.harvest.core.block.BlockStorage.Storage;
import joshie.harvest.core.lib.HFModInfo;
import joshie.harvest.core.util.annotations.HFLoader;
import joshie.harvest.knowledge.gui.stats.notes.render.NoteRenderCursedTools;
import joshie.harvest.knowledge.gui.stats.notes.render.NoteRenderRepairing;
import joshie.harvest.knowledge.gui.stats.notes.render.NoteRenderUpgrading;
import joshie.harvest.mining.HFMining;
import joshie.harvest.mining.block.BlockElevator.Elevator;
import joshie.harvest.mining.block.BlockOre.Ore;
import joshie.harvest.tools.HFTools;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import static joshie.harvest.api.knowledge.Category.*;
import static joshie.harvest.core.lib.HFModInfo.MODID;
@HFLoader
public class HFNotes {
public static final Note BLUEPRINTS = registerNote(TOWNSHIP, "blueprints");
public static final Note SHOPPING = registerNote(TOWNSHIP, "shops");
public static final Note CROP_FARMING = registerNote(FARMING, "farming");
public static final Note SICKLE = registerNote(FARMING, "sickle");
public static final Note SHIPPING = registerNote(TOWNSHIP, "shipping");
public static final Note MAILBOX = registerNote(TOWNSHIP, "mailbox");
public static final Note SUPERMARKET = registerNote(TOWNSHIP, "supermarket");
public static final Note CHICKEN_CARE = registerNote(FARMING, "care.chickens");
public static final Note COW_CARE = registerNote(FARMING, "care.cows");
public static final Note SHEEP_CARE = registerNote(FARMING, "care.sheep");
public static final Note ANIMAL_HAPPINESS = registerNote(FARMING, "care.happiness");
public static final Note ANIMAL_STRESS = registerNote(FARMING, "care.stress");
public static final Note HAMMER = registerNote(ACTIVITIES, "hammer");
public static final Note AXE = registerNote(ACTIVITIES, "axe");
public static final Note MINING = registerNote(ACTIVITIES, "mining");
public static final Note UPGRADING = registerNote(TOWNSHIP, "upgrading");
public static final Note COOKING = registerNote(ACTIVITIES, "cooking");
public static final Note RECIPES = registerNote(ACTIVITIES, "recipes");
public static final Note RECIPE_BOOK = registerNote(ACTIVITIES, "recipebook");
public static final Note KITCHEN_COUNTER = registerNote(ACTIVITIES, "counter");
public static final Note FRIDGE = registerNote(ACTIVITIES, "fridge");
public static final Note OVEN = registerNote(ACTIVITIES, "oven");
public static final Note MIXER = registerNote(ACTIVITIES, "mixer");
public static final Note POTPAN = registerNote(ACTIVITIES, "potpan");
public static final Note ELEVATOR = registerNote(ACTIVITIES, "elevator");
public static final Note SHIPPING_BASKET = registerNote(TOWNSHIP, "shipping.basket");
public static final Note TREES = registerNote(FARMING, "trees");
public static final Note REPAIRING = registerNote(TOWNSHIP, "repairing");
public static final Note SECRET_CURSED_TOOLS = registerNote(ACTIVITIES, "secret.cursed").setSecretNote();
public static final Note SECRET_CHICKENS = registerNote(FARMING, "secret.chickens").setSecretNote();
public static final Note SECRET_RELATIONSHIPS = registerNote(FARMING, "secret.relationships").setSecretNote();
public static final Note SECRET_LIVESTOCK = registerNote(FARMING, "secret.livestock").setSecretNote();
@SideOnly(Side.CLIENT)
public static void preInitClient() {
UPGRADING.setRender(new NoteRenderUpgrading());
REPAIRING.setRender(new NoteRenderRepairing());
SECRET_CURSED_TOOLS.setRender(new NoteRenderCursedTools());
}
@SideOnly(Side.CLIENT)
@SuppressWarnings("unused")
public static void postInitClient() {
BLUEPRINTS.setIcon(HFBuildings.BLUEPRINTS.getStackFromObject(HFBuildings.CARPENTER));
CROP_FARMING.setIcon(new ItemStack(Items.CARROT));
SHIPPING.setIcon(HFCore.STORAGE.getStackFromEnum(Storage.SHIPPING));
MAILBOX.setIcon(HFCore.STORAGE.getStackFromEnum(Storage.MAILBOX));
CHICKEN_CARE.setIcon(HFAnimals.ANIMAL.getStackFromEnum(Spawner.CHICKEN));
COW_CARE.setIcon(HFAnimals.ANIMAL.getStackFromEnum(Spawner.COW));
SHEEP_CARE.setIcon(HFAnimals.ANIMAL.getStackFromEnum(Spawner.SHEEP));
HAMMER.setIcon(HFTools.HAMMER.getStack(ToolTier.BASIC));
AXE.setIcon(HFTools.AXE.getStack(ToolTier.BASIC));
SICKLE.setIcon(HFTools.SICKLE.getStack(ToolTier.BASIC));
MINING.setIcon(HFMining.ORE.getStackFromEnum(Ore.COPPER));
COOKING.setIcon(HFCooking.MEAL.getStackFromEnum(Meal.SALAD));
RECIPES.setIcon(CookingHelper.getRecipe("salad"));
RECIPE_BOOK.setIcon(new ItemStack(HFCooking.COOKBOOK));
KITCHEN_COUNTER.setIcon(HFCooking.COOKWARE.getStackFromEnum(Cookware.COUNTER));
FRIDGE.setIcon(HFCooking.COOKWARE.getStackFromEnum(Cookware.FRIDGE));
OVEN.setIcon(HFCooking.COOKWARE.getStackFromEnum(Cookware.OVEN_OFF));
MIXER.setIcon(HFCooking.COOKWARE.getStackFromEnum(Cookware.MIXER));
POTPAN.setIcon(HFCooking.COOKWARE.getStackFromEnum(Cookware.POT));
ELEVATOR.setIcon(HFMining.ELEVATOR.getStackFromEnum(Elevator.JUNK));
SUPERMARKET.setIcon(HFBuildings.STRUCTURES.getStackFromObject(HFBuildings.SUPERMARKET));
REPAIRING.setIcon(new ItemStack(Blocks.ANVIL));
UPGRADING.setIcon(HFModInfo.ICONS, 0, 48);
SECRET_CURSED_TOOLS.setIcon(HFTools.SICKLE.getStack(ToolTier.CURSED));
SECRET_LIVESTOCK.setIcon(HFAnimals.TREATS.getStackFromEnum(Treat.COW));
SECRET_CHICKENS.setIcon(HFAnimals.TREATS.getStackFromEnum(Treat.CHICKEN));
SHIPPING_BASKET.setIcon(HFCore.STORAGE.getStackFromEnum(Storage.BASKET));
TREES.setIcon(HFModInfo.ICONS, 0, 64);
}
public static Note registerNote(Category category, String name) {
return new Note(category, new ResourceLocation(MODID, name));
}
}