Begin GuideAPI integration

This commit is contained in:
Nicholas Ignoffo 2016-06-03 16:56:13 -07:00
parent d0c0700fda
commit 93623a6687
18 changed files with 482 additions and 3 deletions

View file

@ -0,0 +1,70 @@
package WayofTime.bloodmagic.compat.guideapi.page;
import WayofTime.bloodmagic.api.registry.AltarRecipeRegistry;
import WayofTime.bloodmagic.util.helper.TextHelper;
import amerifrance.guideapi.api.impl.Book;
import amerifrance.guideapi.api.impl.Page;
import amerifrance.guideapi.api.impl.abstraction.CategoryAbstract;
import amerifrance.guideapi.api.impl.abstraction.EntryAbstract;
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;
import java.util.List;
public class PageAltarRecipe extends Page {
public List<ItemStack> input;
public ItemStack output;
public int tier;
public int bloodRequired;
public PageAltarRecipe(AltarRecipeRegistry.AltarRecipe recipe) {
this.input = recipe.getInput();
this.output = recipe.getOutput();
this.tier = recipe.getMinTier().toInt();
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("alchemicalwizardry" + ":textures/gui/guide/altar.png"));
guiBase.drawTexturedModalRect(guiLeft + 42, guiTop + 53, 0, 87, 146, 104);
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("text.recipe.altar"), 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.get(0), inputX, inputY);
if (GuiHelper.isMouseBetween(mouseX, mouseY, inputX, inputY, 15, 15)) {
guiBase.renderToolTip(input.get(0), 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("bm.string.tier") + ": " + String.valueOf(tier), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 15, 0);
guiBase.drawCenteredString(fontRenderer, "LP: " + String.valueOf(bloodRequired), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 30, 0);
}
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("text.recipe.altar.tier", String.valueOf(tier)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6, 0);
guiBase.drawCenteredString(fontRenderer, TextHelper.localize("text.recipe.altar.bloodRequired", String.valueOf(bloodRequired)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 15, 0);
}
}