mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-22 15:18:34 +01:00
Finished all page types
This commit is contained in:
parent
5507e2ce60
commit
30849fb304
15 changed files with 301 additions and 15 deletions
|
@ -10,14 +10,37 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.booklet.chapter;
|
package de.ellpeck.actuallyadditions.mod.booklet.chapter;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
|
||||||
import de.ellpeck.actuallyadditions.api.booklet.IBookletEntry;
|
import de.ellpeck.actuallyadditions.api.booklet.IBookletEntry;
|
||||||
import de.ellpeck.actuallyadditions.api.booklet.IBookletPage;
|
import de.ellpeck.actuallyadditions.api.booklet.IBookletPage;
|
||||||
|
import de.ellpeck.actuallyadditions.api.recipe.CoffeeIngredient;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.page.BookletPage;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.page.PageCoffeeMachine;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.items.ItemCoffee;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
//TODO
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class BookletChapterCoffee extends BookletChapter{
|
public class BookletChapterCoffee extends BookletChapter{
|
||||||
|
|
||||||
public BookletChapterCoffee(String identifier, IBookletEntry entry, ItemStack displayStack, IBookletPage... pages){
|
public BookletChapterCoffee(String identifier, IBookletEntry entry, ItemStack displayStack, IBookletPage... pages){
|
||||||
super(identifier, entry, displayStack, pages);
|
super(identifier, entry, displayStack, getPages(pages));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IBookletPage[] getPages(IBookletPage... pages){
|
||||||
|
List<IBookletPage> allPages = new ArrayList<IBookletPage>();
|
||||||
|
allPages.addAll(Arrays.asList(pages));
|
||||||
|
|
||||||
|
for(CoffeeIngredient ingredient : ActuallyAdditionsAPI.COFFEE_MACHINE_INGREDIENTS){
|
||||||
|
BookletPage page = new PageCoffeeMachine(allPages.size()+1, ingredient);
|
||||||
|
if(!(ingredient instanceof ItemCoffee.MilkIngredient)){
|
||||||
|
page.setNoText();
|
||||||
|
}
|
||||||
|
allPages.add(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
return allPages.toArray(new IBookletPage[allPages.size()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,12 +12,30 @@ package de.ellpeck.actuallyadditions.mod.booklet.chapter;
|
||||||
|
|
||||||
import de.ellpeck.actuallyadditions.api.booklet.IBookletEntry;
|
import de.ellpeck.actuallyadditions.api.booklet.IBookletEntry;
|
||||||
import de.ellpeck.actuallyadditions.api.booklet.IBookletPage;
|
import de.ellpeck.actuallyadditions.api.booklet.IBookletPage;
|
||||||
|
import de.ellpeck.actuallyadditions.api.recipe.CrusherRecipe;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.page.BookletPage;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.page.PageCrusherRecipe;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.crafting.CrusherCrafting;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
//TODO
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class BookletChapterCrusher extends BookletChapter{
|
public class BookletChapterCrusher extends BookletChapter{
|
||||||
|
|
||||||
public BookletChapterCrusher(String identifier, IBookletEntry entry, ItemStack displayStack, IBookletPage... pages){
|
public BookletChapterCrusher(String identifier, IBookletEntry entry, ItemStack displayStack, IBookletPage... pages){
|
||||||
super(identifier, entry, displayStack, pages);
|
super(identifier, entry, displayStack, getPages(pages));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IBookletPage[] getPages(IBookletPage... pages){
|
||||||
|
List<IBookletPage> allPages = new ArrayList<IBookletPage>();
|
||||||
|
allPages.addAll(Arrays.asList(pages));
|
||||||
|
|
||||||
|
for(CrusherRecipe recipe : CrusherCrafting.MISC_RECIPES){
|
||||||
|
allPages.add(new PageCrusherRecipe(allPages.size()+1, recipe).setNoText());
|
||||||
|
}
|
||||||
|
|
||||||
|
return allPages.toArray(new IBookletPage[allPages.size()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,7 @@ public abstract class GuiBooklet extends GuiBookletBase{
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.hasBackButton()){
|
if(this.hasBackButton()){
|
||||||
this.buttonBack = new TexturedButton(RES_LOC_GADGETS, -2002, this.guiLeft-12, this.guiTop-2, 36, 54, 18, 10);
|
this.buttonBack = new TexturedButton(RES_LOC_GADGETS, -2002, this.guiLeft-15, this.guiTop-3, 36, 54, 18, 10);
|
||||||
this.buttonList.add(this.buttonBack);
|
this.buttonList.add(this.buttonBack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class GuiMainPage extends GuiBooklet{
|
||||||
for(int i = 0; i < BUTTONS_PER_PAGE; i++){
|
for(int i = 0; i < BUTTONS_PER_PAGE; i++){
|
||||||
if(ActuallyAdditionsAPI.BOOKLET_ENTRIES.size() > i){
|
if(ActuallyAdditionsAPI.BOOKLET_ENTRIES.size() > i){
|
||||||
IBookletEntry entry = ActuallyAdditionsAPI.BOOKLET_ENTRIES.get(i);
|
IBookletEntry entry = ActuallyAdditionsAPI.BOOKLET_ENTRIES.get(i);
|
||||||
this.buttonList.add(new EntryButton(i, this.guiLeft+156, this.guiTop+11+i*16, 115, 10, entry.getLocalizedNameWithFormatting(), null));
|
this.buttonList.add(new EntryButton(i, this.guiLeft+156, this.guiTop+11+i*13, 115, 10, "- "+entry.getLocalizedNameWithFormatting(), null));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -190,7 +190,7 @@ public class GuiPage extends GuiBooklet{
|
||||||
if(chapter != null){
|
if(chapter != null){
|
||||||
int pageIndex = chapter.getPageIndex(page);
|
int pageIndex = chapter.getPageIndex(page);
|
||||||
int pageAmount = chapter.getAllPages().length;
|
int pageAmount = chapter.getAllPages().length;
|
||||||
return pageIndex+1 < pageAmount-1;
|
return pageIndex+1 < pageAmount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
* This file ("PageCoffeeMachine.java") is part of the Actually Additions mod for Minecraft.
|
||||||
|
* It is created and owned by Ellpeck and distributed
|
||||||
|
* under the Actually Additions License to be found at
|
||||||
|
* http://ellpeck.de/actaddlicense
|
||||||
|
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
||||||
|
*
|
||||||
|
* © 2015-2016 Ellpeck
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
|
||||||
|
import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase;
|
||||||
|
import de.ellpeck.actuallyadditions.api.recipe.CoffeeIngredient;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiBooklet;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.items.InitItems;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.fml.client.config.GuiUtils;
|
||||||
|
|
||||||
|
public class PageCoffeeMachine extends BookletPage{
|
||||||
|
|
||||||
|
private final CoffeeIngredient ingredient;
|
||||||
|
|
||||||
|
public PageCoffeeMachine(int localizationKey, CoffeeIngredient ingredient){
|
||||||
|
super(localizationKey);
|
||||||
|
this.ingredient = ingredient;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){
|
||||||
|
super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks);
|
||||||
|
|
||||||
|
gui.mc.getTextureManager().bindTexture(GuiBooklet.RES_LOC_GADGETS);
|
||||||
|
GuiUtils.drawTexturedModalRect(startX+5, startY+10, 0, 74, 117, 72, 0);
|
||||||
|
|
||||||
|
gui.renderScaledAsciiString("(Coffee Maker Recipe)", startX+6, startY+78, 0, false, 0.65F);
|
||||||
|
gui.renderSplitScaledAsciiString("Hover over this to see the effect!", startX+5, startY+51, 0, false, 0.5F, 35);
|
||||||
|
|
||||||
|
PageTextOnly.renderTextToPage(gui, this, startX+6, startY+90);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initGui(GuiBookletBase gui, int startX, int startY){
|
||||||
|
super.initGui(gui, startX, startY);
|
||||||
|
|
||||||
|
gui.addOrModifyItemRenderer(this.ingredient.ingredient, startX+5+82, startY+10+1, 1F, true);
|
||||||
|
|
||||||
|
ItemStack coffee = new ItemStack(InitItems.itemCoffee);
|
||||||
|
ActuallyAdditionsAPI.methodHandler.addEffectToStack(coffee, this.ingredient);
|
||||||
|
gui.addOrModifyItemRenderer(coffee, startX+5+36, startY+10+42, 1F, false);
|
||||||
|
|
||||||
|
gui.addOrModifyItemRenderer(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.CUP.ordinal()), startX+5+37, startY+10+1, 1F, true);
|
||||||
|
gui.addOrModifyItemRenderer(new ItemStack(InitItems.itemCoffee), startX+5+1, startY+10+1, 1F, true);
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,12 +10,41 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase;
|
||||||
import de.ellpeck.actuallyadditions.api.recipe.CrusherRecipe;
|
import de.ellpeck.actuallyadditions.api.recipe.CrusherRecipe;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiBooklet;
|
||||||
|
import net.minecraftforge.fml.client.config.GuiUtils;
|
||||||
|
|
||||||
//TODO
|
|
||||||
public class PageCrusherRecipe extends BookletPage{
|
public class PageCrusherRecipe extends BookletPage{
|
||||||
|
|
||||||
|
private final CrusherRecipe recipe;
|
||||||
|
|
||||||
public PageCrusherRecipe(int localizationKey, CrusherRecipe recipe){
|
public PageCrusherRecipe(int localizationKey, CrusherRecipe recipe){
|
||||||
super(localizationKey);
|
super(localizationKey);
|
||||||
|
this.recipe = recipe;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){
|
||||||
|
super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks);
|
||||||
|
|
||||||
|
gui.mc.getTextureManager().bindTexture(GuiBooklet.RES_LOC_GADGETS);
|
||||||
|
GuiUtils.drawTexturedModalRect(startX+38, startY+6, 136, 0, 52, 74, 0);
|
||||||
|
|
||||||
|
gui.renderScaledAsciiString("(Crusher Recipe)", startX+36, startY+85, 0, false, 0.65F);
|
||||||
|
|
||||||
|
PageTextOnly.renderTextToPage(gui, this, startX+6, startY+100);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initGui(GuiBookletBase gui, int startX, int startY){
|
||||||
|
super.initGui(gui, startX, startY);
|
||||||
|
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.inputStack, startX+38+18, startY+6+2, 1F, true);
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.outputOneStack, startX+38+4, startY+6+53, 1F, false);
|
||||||
|
|
||||||
|
if(this.recipe.outputTwoStack != null){
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.outputTwoStack, startX+38+30, startY+6+53, 1F, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,12 +10,42 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase;
|
||||||
import de.ellpeck.actuallyadditions.api.recipe.EmpowererRecipe;
|
import de.ellpeck.actuallyadditions.api.recipe.EmpowererRecipe;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiBooklet;
|
||||||
|
import net.minecraftforge.fml.client.config.GuiUtils;
|
||||||
|
|
||||||
//TODO
|
|
||||||
public class PageEmpowerer extends BookletPage{
|
public class PageEmpowerer extends BookletPage{
|
||||||
|
|
||||||
|
private final EmpowererRecipe recipe;
|
||||||
|
|
||||||
public PageEmpowerer(int localizationKey, EmpowererRecipe recipe){
|
public PageEmpowerer(int localizationKey, EmpowererRecipe recipe){
|
||||||
super(localizationKey);
|
super(localizationKey);
|
||||||
|
this.recipe = recipe;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){
|
||||||
|
super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks);
|
||||||
|
|
||||||
|
gui.mc.getTextureManager().bindTexture(GuiBooklet.RES_LOC_GADGETS);
|
||||||
|
GuiUtils.drawTexturedModalRect(startX+5, startY+10, 117, 74, 116, 72, 0);
|
||||||
|
|
||||||
|
gui.renderScaledAsciiString("(Empowerer Recipe)", startX+6, startY+85, 0, false, 0.65F);
|
||||||
|
|
||||||
|
PageTextOnly.renderTextToPage(gui, this, startX+6, startY+100);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initGui(GuiBookletBase gui, int startX, int startY){
|
||||||
|
super.initGui(gui, startX, startY);
|
||||||
|
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.modifier1, startX+5+26, startY+10+1, 1F, true);
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.modifier2, startX+5+1, startY+10+26, 1F, true);
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.modifier3, startX+5+51, startY+10+26, 1F, true);
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.modifier4, startX+5+26, startY+10+51, 1F, true);
|
||||||
|
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.input, startX+5+26, startY+10+26, 1F, true);
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.output, startX+5+96, startY+10+26, 1F, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,12 +10,51 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiBooklet;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.FurnaceRecipes;
|
||||||
|
import net.minecraftforge.fml.client.config.GuiUtils;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
//TODO
|
|
||||||
public class PageFurnace extends BookletPage{
|
public class PageFurnace extends BookletPage{
|
||||||
|
|
||||||
|
private final ItemStack input;
|
||||||
|
private final ItemStack output;
|
||||||
|
|
||||||
public PageFurnace(int localizationKey, ItemStack output){
|
public PageFurnace(int localizationKey, ItemStack output){
|
||||||
super(localizationKey);
|
super(localizationKey);
|
||||||
|
this.output = output;
|
||||||
|
this.input = getInputForOutput(output);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){
|
||||||
|
super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks);
|
||||||
|
|
||||||
|
gui.mc.getTextureManager().bindTexture(GuiBooklet.RES_LOC_GADGETS);
|
||||||
|
GuiUtils.drawTexturedModalRect(startX+23, startY+10, 0, 146, 80, 26, 0);
|
||||||
|
|
||||||
|
gui.renderScaledAsciiString("(Furnace Recipe)", startX+32, startY+42, 0, false, 0.65F);
|
||||||
|
|
||||||
|
PageTextOnly.renderTextToPage(gui, this, startX+6, startY+57);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initGui(GuiBookletBase gui, int startX, int startY){
|
||||||
|
super.initGui(gui, startX, startY);
|
||||||
|
|
||||||
|
gui.addOrModifyItemRenderer(this.input, startX+23+1, startY+10+5, 1F, true);
|
||||||
|
gui.addOrModifyItemRenderer(this.output, startX+23+59, startY+10+5, 1F, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ItemStack getInputForOutput(ItemStack output){
|
||||||
|
for(Map.Entry<ItemStack, ItemStack> entry : FurnaceRecipes.instance().getSmeltingList().entrySet()){
|
||||||
|
if(entry.getValue().isItemEqual(output)){
|
||||||
|
return entry.getKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,10 +10,51 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
||||||
|
|
||||||
//TODO
|
import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.util.StringUtil;
|
||||||
|
import net.minecraft.client.gui.GuiButton;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.net.URI;
|
||||||
|
|
||||||
public class PageLinkButton extends BookletPage{
|
public class PageLinkButton extends BookletPage{
|
||||||
|
|
||||||
|
private static final int BUTTON_ID = -12782;
|
||||||
|
private final String link;
|
||||||
|
|
||||||
public PageLinkButton(int localizationKey, String link){
|
public PageLinkButton(int localizationKey, String link){
|
||||||
super(localizationKey);
|
super(localizationKey);
|
||||||
|
this.link = link;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initGui(GuiBookletBase gui, int startX, int startY){
|
||||||
|
super.initGui(gui, startX, startY);
|
||||||
|
|
||||||
|
gui.getButtonList().add(new GuiButton(BUTTON_ID, startX+125/2-50, startY+130, 100, 20, StringUtil.localize("booklet."+ModUtil.MOD_ID+".chapter."+this.chapter.getIdentifier()+".button."+this.localizationKey)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){
|
||||||
|
super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks);
|
||||||
|
PageTextOnly.renderTextToPage(gui, this, startX+6, startY+5);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(GuiBookletBase gui, GuiButton button){
|
||||||
|
if(button.id == BUTTON_ID){
|
||||||
|
if(Desktop.isDesktopSupported()){
|
||||||
|
try{
|
||||||
|
Desktop.getDesktop().browse(new URI(this.link));
|
||||||
|
}
|
||||||
|
catch(Exception e){
|
||||||
|
ModUtil.LOGGER.info("Couldn't open website from Link Button page!", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
super.actionPerformed(gui, button);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,10 +10,29 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
||||||
|
|
||||||
//TODO
|
import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.util.AssetUtil;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraftforge.fml.client.config.GuiUtils;
|
||||||
|
|
||||||
public class PagePicture extends BookletPage{
|
public class PagePicture extends BookletPage{
|
||||||
|
|
||||||
|
private final ResourceLocation resLoc;
|
||||||
|
private final int yTextOffset;
|
||||||
|
|
||||||
public PagePicture(int localizationKey, String pictureLocation, int yTextOffset){
|
public PagePicture(int localizationKey, String pictureLocation, int yTextOffset){
|
||||||
super(localizationKey);
|
super(localizationKey);
|
||||||
|
this.yTextOffset = yTextOffset;
|
||||||
|
this.resLoc = AssetUtil.getBookletGuiLocation(pictureLocation);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){
|
||||||
|
super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks);
|
||||||
|
|
||||||
|
gui.mc.getTextureManager().bindTexture(this.resLoc);
|
||||||
|
GuiUtils.drawTexturedModalRect(startX-6, startY-7, 0, 0, 256, 256, 0);
|
||||||
|
|
||||||
|
PageTextOnly.renderTextToPage(gui, this, startX+6, startY-7+this.yTextOffset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,12 +10,42 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
package de.ellpeck.actuallyadditions.mod.booklet.page;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
|
||||||
|
import de.ellpeck.actuallyadditions.api.booklet.internal.GuiBookletBase;
|
||||||
|
import de.ellpeck.actuallyadditions.api.lens.LensConversion;
|
||||||
import de.ellpeck.actuallyadditions.api.recipe.LensConversionRecipe;
|
import de.ellpeck.actuallyadditions.api.recipe.LensConversionRecipe;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.booklet.gui.GuiBooklet;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.items.InitItems;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.fml.client.config.GuiUtils;
|
||||||
|
|
||||||
//TODO
|
|
||||||
public class PageReconstructor extends BookletPage{
|
public class PageReconstructor extends BookletPage{
|
||||||
|
|
||||||
|
private final LensConversionRecipe recipe;
|
||||||
|
|
||||||
public PageReconstructor(int localizationKey, LensConversionRecipe recipe){
|
public PageReconstructor(int localizationKey, LensConversionRecipe recipe){
|
||||||
super(localizationKey);
|
super(localizationKey);
|
||||||
|
this.recipe = recipe;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void drawScreenPre(GuiBookletBase gui, int startX, int startY, int mouseX, int mouseY, float partialTicks){
|
||||||
|
super.drawScreenPre(gui, startX, startY, mouseX, mouseY, partialTicks);
|
||||||
|
|
||||||
|
gui.mc.getTextureManager().bindTexture(GuiBooklet.RES_LOC_GADGETS);
|
||||||
|
GuiUtils.drawTexturedModalRect(startX+30, startY+10, 80, 146, 68, 48, 0);
|
||||||
|
|
||||||
|
gui.renderScaledAsciiString("(Atomic Reconstructor Recipe)", startX+12, startY+63, 0, false, 0.65F);
|
||||||
|
|
||||||
|
PageTextOnly.renderTextToPage(gui, this, startX+6, startY+88);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initGui(GuiBookletBase gui, int startX, int startY){
|
||||||
|
super.initGui(gui, startX, startY);
|
||||||
|
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.inputStack, startX+30+1, startY+10+13, 1F, true);
|
||||||
|
gui.addOrModifyItemRenderer(this.recipe.outputStack, startX+30+47, startY+10+13, 1F, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,7 @@ public final class StringUtil{
|
||||||
public static void renderSplitScaledAsciiString(FontRenderer font, String text, int x, int y, int color, boolean shadow, float scale, int length){
|
public static void renderSplitScaledAsciiString(FontRenderer font, String text, int x, int y, int color, boolean shadow, float scale, int length){
|
||||||
List<String> lines = font.listFormattedStringToWidth(text, (int)(length/scale));
|
List<String> lines = font.listFormattedStringToWidth(text, (int)(length/scale));
|
||||||
for(int i = 0; i < lines.size(); i++){
|
for(int i = 0; i < lines.size(); i++){
|
||||||
renderScaledAsciiString(font, lines.get(i), x, y+(i*font.FONT_HEIGHT), color, shadow, scale);
|
renderScaledAsciiString(font, lines.get(i), x, y+(i*(int)(font.FONT_HEIGHT*scale+3)), color, shadow, scale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1017,7 +1017,7 @@ booklet.actuallyadditions.chapter.itemFilter.text.1=The <item>Item Filter<r> can
|
||||||
|
|
||||||
booklet.actuallyadditions.chapter.videoGuide.name=A Video Guide
|
booklet.actuallyadditions.chapter.videoGuide.name=A Video Guide
|
||||||
booklet.actuallyadditions.chapter.videoGuide.text.1=If you want to have a <imp>visual introduction<r> to see what <item>Actually Additions<r> has to offer, you can watch this really awesome video by a friend of mine, <imp>Booty Toast<r> (yes, weird name, I know). <n>His video covers most of the main stuff the mod has to offer, however it is <imp>a bit outdated<r> and doesn't cover everything. It's still a <imp>great introduction to the mod<r> though.
|
booklet.actuallyadditions.chapter.videoGuide.text.1=If you want to have a <imp>visual introduction<r> to see what <item>Actually Additions<r> has to offer, you can watch this really awesome video by a friend of mine, <imp>Booty Toast<r> (yes, weird name, I know). <n>His video covers most of the main stuff the mod has to offer, however it is <imp>a bit outdated<r> and doesn't cover everything. It's still a <imp>great introduction to the mod<r> though.
|
||||||
booklet.actuallyadditions.chapter.videoGuide.page.1.button=Watch Video
|
booklet.actuallyadditions.chapter.videoGuide.button.1=Watch Video
|
||||||
|
|
||||||
booklet.actuallyadditions.chapter.shockSuppressor.name=Shock Absorber
|
booklet.actuallyadditions.chapter.shockSuppressor.name=Shock Absorber
|
||||||
booklet.actuallyadditions.chapter.shockSuppressor.text.1=The <item>Shock Absorber<r> is a block that, when supplied with <imp>RF<r>, it will protect an area of <imp>up to <range> blocks around it<r> from any type of <imp>Explosion<r>, be it ghasts, TNT or creepers. <n>Every block that is protected will result in a loss of <imp><rf> RF<r>.
|
booklet.actuallyadditions.chapter.shockSuppressor.text.1=The <item>Shock Absorber<r> is a block that, when supplied with <imp>RF<r>, it will protect an area of <imp>up to <range> blocks around it<r> from any type of <imp>Explosion<r>, be it ghasts, TNT or creepers. <n>Every block that is protected will result in a loss of <imp><rf> RF<r>.
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 5.3 KiB |
Loading…
Reference in a new issue