Initial stab at documentation
This commit is contained in:
parent
70f4c117d7
commit
8d5e9c125b
9 changed files with 201 additions and 2 deletions
|
@ -115,7 +115,7 @@ public class Constants
|
|||
public static final String DOMAIN = MODID.toLowerCase(Locale.ENGLISH) + ":";
|
||||
public static final String NAME = "Blood Magic: Alchemical Wizardry";
|
||||
public static final String VERSION = "@VERSION@";
|
||||
public static final String DEPEND = "after:JEI@[2.23.0,)";
|
||||
public static final String DEPEND = "after:JEI@[2.23.0,);after:guideapi";
|
||||
}
|
||||
|
||||
public static final class Gui
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
package WayofTime.bloodmagic.compat.guideapi;
|
||||
|
||||
import WayofTime.bloodmagic.compat.ICompatibility;
|
||||
import WayofTime.bloodmagic.compat.guideapi.guide.GuideBloodMagic;
|
||||
|
||||
public class CompatibilityGuideAPI implements ICompatibility {
|
||||
|
||||
@Override
|
||||
public void loadCompatibility(InitializationPhase phase) {
|
||||
if (phase == InitializationPhase.PRE_INIT)
|
||||
GuideBloodMagic.initGuide();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModId() {
|
||||
return "guideapi";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean enableCompat() {
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
package WayofTime.bloodmagic.compat.guideapi.guide;
|
||||
|
||||
import WayofTime.bloodmagic.api.altar.EnumAltarTier;
|
||||
import WayofTime.bloodmagic.api.registry.AltarRecipeRegistry;
|
||||
import WayofTime.bloodmagic.api.registry.OrbRegistry;
|
||||
import WayofTime.bloodmagic.compat.guideapi.guide.page.PageAltarRecipe;
|
||||
import WayofTime.bloodmagic.registry.ModBlocks;
|
||||
import WayofTime.bloodmagic.registry.ModItems;
|
||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||
import amerifrance.guideapi.api.GuideAPIItems;
|
||||
import amerifrance.guideapi.api.GuideRegistry;
|
||||
import amerifrance.guideapi.api.abstraction.CategoryAbstract;
|
||||
import amerifrance.guideapi.api.abstraction.EntryAbstract;
|
||||
import amerifrance.guideapi.api.abstraction.IPage;
|
||||
import amerifrance.guideapi.api.base.Book;
|
||||
import amerifrance.guideapi.api.util.PageHelper;
|
||||
import amerifrance.guideapi.category.CategoryItemStack;
|
||||
import amerifrance.guideapi.entry.EntryItemStack;
|
||||
import amerifrance.guideapi.page.PageIRecipe;
|
||||
import lombok.Getter;
|
||||
import net.minecraft.client.resources.model.ModelResourceLocation;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class GuideBloodMagic {
|
||||
|
||||
@Getter
|
||||
private static Book bloodMagicGuide;
|
||||
|
||||
public static List<CategoryAbstract> categories = new ArrayList<CategoryAbstract>();
|
||||
|
||||
public static void initGuide() {
|
||||
bloodMagicGuide = new Book();
|
||||
bloodMagicGuide.setAuthor("guide.BloodMagic.book.author");
|
||||
bloodMagicGuide.setUnlocBookTitle("guide.BloodMagic.book.title");
|
||||
bloodMagicGuide.setUnlocDisplayName("guide.BloodMagic.book.display");
|
||||
bloodMagicGuide.setUnlocWelcomeMessage("guide.BloodMagic.book.welcome");
|
||||
bloodMagicGuide.setBookColor(new Color(0xFF100F));
|
||||
|
||||
addArchitect();
|
||||
|
||||
bloodMagicGuide.setCategoryList(categories);
|
||||
|
||||
GuideRegistry.registerBook(bloodMagicGuide, null);
|
||||
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT)
|
||||
ModelLoader.setCustomModelResourceLocation(GuideAPIItems.guideBook, GuideRegistry.getIndexOf(bloodMagicGuide), new ModelResourceLocation(new ResourceLocation("guideapi", "ItemGuideBook"), "type=book"));
|
||||
}
|
||||
|
||||
private static void addArchitect() {
|
||||
List<EntryAbstract> entries = new ArrayList<EntryAbstract>();
|
||||
|
||||
List<IPage> introPages = new ArrayList<IPage>();
|
||||
introPages.addAll(PageHelper.pagesForLongText(TextHelper.localize("guide.BloodMagic.entry.architect.intro.1"), 315));
|
||||
entries.add(new EntryItemStack(introPages, "guide.BloodMagic.entry.architect.intro", new ItemStack(Items.writable_book)));
|
||||
|
||||
List<IPage> bloodAltarPages = new ArrayList<IPage>();
|
||||
bloodAltarPages.add(new PageIRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.altar), "a a", "aba", "cdc", 'a', "stone", 'b', Blocks.furnace, 'c', "ingotGold", 'd', new ItemStack(ModItems.monsterSoul))));
|
||||
bloodAltarPages.add(new PageIRecipe(new ShapedOreRecipe(new ItemStack(ModItems.sacrificialDagger), "aaa", " ba", "c a", 'a', "blockGlass", 'b', "ingotGold", 'c', "ingotIron")));
|
||||
bloodAltarPages.addAll(PageHelper.pagesForLongText(TextHelper.localize("guide.BloodMagic.entry.architect.bloodAltar.1"), 340));
|
||||
bloodAltarPages.add(new PageAltarRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.diamond), OrbRegistry.getOrbStack(ModItems.orbWeak), EnumAltarTier.ONE, 2000, 2, 1)));
|
||||
bloodAltarPages.addAll(PageHelper.pagesForLongText(TextHelper.localize("guide.BloodMagic.entry.architect.bloodAltar.2")));
|
||||
entries.add(new EntryItemStack(bloodAltarPages, "guide.BloodMagic.entry.architect.bloodAltar", new ItemStack(ModBlocks.altar)));
|
||||
|
||||
categories.add(new CategoryItemStack(entries, "guide.BloodMagic.category.architect.name", new ItemStack(ModBlocks.altar)));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
package WayofTime.bloodmagic.compat.guideapi.guide.page;
|
||||
|
||||
import WayofTime.bloodmagic.api.altar.EnumAltarTier;
|
||||
import WayofTime.bloodmagic.api.registry.AltarRecipeRegistry;
|
||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||
import amerifrance.guideapi.api.abstraction.CategoryAbstract;
|
||||
import amerifrance.guideapi.api.abstraction.EntryAbstract;
|
||||
import amerifrance.guideapi.api.base.Book;
|
||||
import amerifrance.guideapi.api.base.PageBase;
|
||||
import amerifrance.guideapi.api.util.GuiHelper;
|
||||
import amerifrance.guideapi.gui.GuiBase;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class PageAltarRecipe extends PageBase {
|
||||
|
||||
public ItemStack input;
|
||||
public ItemStack output;
|
||||
public EnumAltarTier tier;
|
||||
public int bloodRequired;
|
||||
|
||||
public PageAltarRecipe(AltarRecipeRegistry.AltarRecipe recipe) {
|
||||
this.input = recipe.getInput();
|
||||
this.output = recipe.getOutput();
|
||||
this.tier = recipe.getMinTier();
|
||||
this.bloodRequired = recipe.getSyphon();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void draw(Book book, CategoryAbstract category, EntryAbstract entry, int guiLeft, int guiTop, int mouseX, int mouseY, GuiBase guiBase, FontRenderer fontRenderer) {
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation("bloodmagicguide" + ":textures/gui/altar.png"));
|
||||
guiBase.drawTexturedModalRect(guiLeft + 42, guiTop + 53, 0, 87, 146, 104);
|
||||
|
||||
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.bloodAltar"), guiLeft + guiBase.xSize / 2, guiTop + 12, 0);
|
||||
|
||||
int inputX = (1 + 1) * 20 + (guiLeft + guiBase.xSize / 7) + 1;
|
||||
int inputY = (20) + (guiTop + guiBase.ySize / 5) - 1; //1 * 20
|
||||
GuiHelper.drawItemStack(input, inputX, inputY);
|
||||
if (GuiHelper.isMouseBetween(mouseX, mouseY, inputX, inputY, 15, 15)) {
|
||||
guiBase.renderToolTip(input, mouseX, mouseY);
|
||||
}
|
||||
|
||||
if (output == null) {
|
||||
output = new ItemStack(Blocks.barrier);
|
||||
}
|
||||
int outputX = (5 * 20) + (guiLeft + guiBase.xSize / 7) + 1;
|
||||
int outputY = (20) + (guiTop + guiBase.xSize / 5) - 1; // 1 * 20
|
||||
GuiHelper.drawItemStack(output, outputX, outputY);
|
||||
if (GuiHelper.isMouseBetween(mouseX, mouseY, outputX, outputY, 15, 15)) {
|
||||
guiBase.renderToolTip(output, outputX, outputY);
|
||||
}
|
||||
|
||||
if (output.getItem() == Item.getItemFromBlock(Blocks.barrier)) {
|
||||
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("text.furnace.error"), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6, 0xED073D);
|
||||
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.tier", tier.toInt()), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 15, 0);
|
||||
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.lp", bloodRequired), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 30, 0);
|
||||
}
|
||||
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.tier", tier.toInt()), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6, 0);
|
||||
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.lp", bloodRequired), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 15, 0);
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@ package WayofTime.bloodmagic.registry;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import WayofTime.bloodmagic.compat.guideapi.CompatibilityGuideAPI;
|
||||
import net.minecraftforge.fml.common.Loader;
|
||||
import WayofTime.bloodmagic.compat.ICompatibility;
|
||||
import WayofTime.bloodmagic.compat.jei.CompatibilityJustEnoughItems;
|
||||
|
@ -17,6 +18,7 @@ public class ModCompatibility
|
|||
compatibilities.add(new CompatibilityJustEnoughItems());
|
||||
compatibilities.add(new CompatibilityWaila());
|
||||
compatibilities.add(new CompatibilityThaumcraft());
|
||||
compatibilities.add(new CompatibilityGuideAPI());
|
||||
}
|
||||
|
||||
public static void loadCompat(ICompatibility.InitializationPhase phase)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue