package ttftcuts.physis.client.gui.journal;
import ttftcuts.physis.common.PhysisItems;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import com.google.common.collect.HashMultimap;
public class PageDefs {
//##### ------------------------------------------------------- #####
public static JournalArticle introduction;
public static JournalArticle test;
public static JournalArticle storytest;
//##### ------------------------------------------------------- #####
public static JournalArticle index;
public static void init() {
articleMap = HashMultimap.create();
//Physis.logger.info("Intro pages");
introduction = new JournalArticle("intro", null//,
//new JournalPageText("intro1"),
//new JournalPageText("intro2")
);
//Physis.logger.info("Pages");
test = new JournalArticleTrowels("testitem", Category.ITEM,
new JournalPageTitle("testitem", "testitem"),
new JournalPageCraftingRecipe(new ItemStack(Items.iron_pickaxe))
).setStack(new ItemStack(Items.apple))
.addRequirement("test", 1);
for (int i=0; i<100; i++) {
new JournalArticle("testitem"+(i+2), Category.ITEM,
new JournalPageTitle("testitem", "testitem")
).setStack(new ItemStack(Blocks.bookshelf));
//.addRequirement("test", 1);
}
storytest = new JournalArticle("racetest", Category.STORY,
new JournalPageTitle("race1", "race1"),
new JournalPageImage("race1", "textures/gui/journal_paintings/mountainfort.png"),
new JournalPageTitle("race2", "race2"),
new JournalPageTitle("race3", "race3"),
new JournalPageTitle("race4", "race4"),
new JournalPageTitle("race5", "race5"),
new JournalPageTitle("test", "test")
).setStack(new ItemStack(PhysisItems.journal));
//Physis.logger.info("Index next");
// these should be last - any articles after here won't be indexed!
index = new JournalArticle("index", null,
new JournalPageText("index"),
new JournalPageIndex(0)
);
//Physis.logger.info("Categories");
// category pages
for(Category category: Category.values()) {
JournalArticle cat = new JournalArticle(category.name, null,
new JournalPageTitle(category.name, category.description)
);
int p = (int)Math.ceil(articleMap.get(category).size() / (double)JournalPageSubIndex.articlesPerPage);
for (int i=0; i<p; i++) {
cat.pages.add(new JournalPageSubIndex(category, i));
}
category.sectionMenu = cat;
}
//Physis.logger.info("Done");
}
//##### ------------------------------------------------------- #####
public static HashMultimap<Category, JournalArticle> articleMap;
public enum Category {
STORY("story", "story"),
ITEM("item", "item"),
DEVICE("device", "device"),
;
public String name;
public String description;
public JournalArticle sectionMenu;
Category(String entryname, String desc) {
this.name = entryname;
this.description = desc;
}
}
}