diff --git a/src/main/java/techreborn/blocks/BlockComputerCube.java b/src/main/java/techreborn/blocks/BlockComputerCube.java index 6e3026dd6..f38ad8778 100644 --- a/src/main/java/techreborn/blocks/BlockComputerCube.java +++ b/src/main/java/techreborn/blocks/BlockComputerCube.java @@ -22,7 +22,7 @@ public class BlockComputerCube extends BlockMachineBase implements IAdvancedRota public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if (!player.isSneaking()) - player.openGui(Core.INSTANCE, GuiHandler.pdaID, world, x, + player.openGui(Core.INSTANCE, GuiHandler.manuelID, world, x, y, z); return true; } diff --git a/src/main/java/techreborn/client/GuiHandler.java b/src/main/java/techreborn/client/GuiHandler.java index aa245c8b9..04bb77aad 100644 --- a/src/main/java/techreborn/client/GuiHandler.java +++ b/src/main/java/techreborn/client/GuiHandler.java @@ -6,7 +6,7 @@ import net.minecraft.world.World; import net.minecraftforge.fml.common.network.IGuiHandler; import techreborn.client.container.*; import techreborn.client.gui.*; -import techreborn.pda.GuiManual; +import techreborn.manual.GuiManual; import techreborn.tiles.*; import techreborn.tiles.fusionReactor.TileEntityFusionController; import techreborn.tiles.generator.TileDieselGenerator; @@ -32,7 +32,7 @@ public class GuiHandler implements IGuiHandler { public static final int industrialGrinderID = 7; public static final int implosionCompresserID = 8; public static final int matterfabID = 9; - public static final int pdaID = 10; + public static final int manuelID = 10; public static final int chunkloaderID = 11; public static final int assemblingmachineID = 12; public static final int dieselGeneratorID = 15; @@ -121,7 +121,7 @@ public class GuiHandler implements IGuiHandler { } else if (ID == chemicalReactorID) { return new ContainerChemicalReactor( (TileChemicalReactor) world.getTileEntity(new BlockPos(x, y, z)), player); - } else if (ID == pdaID) { + } else if (ID == manuelID) { return null; } else if (ID == destructoPackID) { return new ContainerDestructoPack(player); @@ -217,7 +217,7 @@ public class GuiHandler implements IGuiHandler { } else if (ID == chemicalReactorID) { return new GuiChemicalReactor(player, (TileChemicalReactor) world.getTileEntity(new BlockPos(x, y, z))); - } else if (ID == pdaID) { + } else if (ID == manuelID) { return new GuiManual(); } else if (ID == destructoPackID) { return new GuiDestructoPack(new ContainerDestructoPack(player)); diff --git a/src/main/java/techreborn/init/ModItems.java b/src/main/java/techreborn/init/ModItems.java index 47923db4e..47863fe86 100644 --- a/src/main/java/techreborn/init/ModItems.java +++ b/src/main/java/techreborn/init/ModItems.java @@ -41,7 +41,7 @@ public class ModItems { public static Item lithiumBattery; public static Item omniTool; public static Item lapotronicOrb; - public static Item manuel; + public static Item manual; public static Item uuMatter; public static Item plate; public static Item crushedOre; @@ -122,8 +122,8 @@ public class ModItems { omniTool = PoweredItem.createItem(ItemOmniTool.class); GameRegistry.registerItem(omniTool, "omniTool"); - manuel = new ItemTechPda(); - GameRegistry.registerItem(manuel, "techmanuel"); + manual = new ItemTechManual(); + GameRegistry.registerItem(manual, "techmanuel"); uuMatter = new ItemUUmatter(); GameRegistry.registerItem(uuMatter, "uumatter"); reBattery = PoweredItem.createItem(ItemReBattery.class); diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index 4e1534a55..b7c80ccdd 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -1237,7 +1237,7 @@ public class } static void addIc2Recipes(){ - CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.manuel), TechRebornAPI.recipeCompact.getItem("plateiron"), Items.book); + CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.manual), TechRebornAPI.recipeCompact.getItem("plateiron"), Items.book); CraftingHelper.addShapedOreRecipe( ItemParts.getPartByName("machineParts", 16), diff --git a/src/main/java/techreborn/items/tools/ItemTechPda.java b/src/main/java/techreborn/items/tools/ItemTechManual.java similarity index 76% rename from src/main/java/techreborn/items/tools/ItemTechPda.java rename to src/main/java/techreborn/items/tools/ItemTechManual.java index 943d6e31b..89bc0c058 100644 --- a/src/main/java/techreborn/items/tools/ItemTechPda.java +++ b/src/main/java/techreborn/items/tools/ItemTechManual.java @@ -8,18 +8,18 @@ import techreborn.client.GuiHandler; import techreborn.client.TechRebornCreativeTab; import techreborn.items.ItemTextureBase; -public class ItemTechPda extends ItemTextureBase { +public class ItemTechManual extends ItemTextureBase { - public ItemTechPda() { + public ItemTechManual() { setCreativeTab(TechRebornCreativeTab.instance); - setUnlocalizedName("techreborn.pda"); + setUnlocalizedName("techreborn.manual"); setMaxStackSize(1); } @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - player.openGui(Core.INSTANCE, GuiHandler.pdaID, world, + player.openGui(Core.INSTANCE, GuiHandler.manuelID, world, (int) player.posX, (int) player.posY, (int) player.posY); return itemStack; } @@ -31,7 +31,7 @@ public class ItemTechPda extends ItemTextureBase { @Override public String getTextureName(int damage) { - return "techreborn:items/tool/pda"; + return "mineacraft:book"; } } diff --git a/src/main/java/techreborn/manual/GuiManual.java b/src/main/java/techreborn/manual/GuiManual.java new file mode 100644 index 000000000..9c18b2f13 --- /dev/null +++ b/src/main/java/techreborn/manual/GuiManual.java @@ -0,0 +1,135 @@ +package techreborn.manual; + +import java.io.IOException; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.inventory.Container; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import techreborn.manual.pages.ContentsPage; +import techreborn.manual.pages.DescriptionPage; +import techreborn.manual.pages.GettingStartedPage; + +@SideOnly(Side.CLIENT) +public class GuiManual extends GuiScreen +{ + protected final PageCollection root; + protected int pageIndex = 0; + protected int xSize = 0; + protected int ySize = 0; + public Container inventorySlots; + protected int guiLeft; + protected int guiTop; + + public GuiManual() + { + this.xSize = 146; + this.ySize = 180; + root = createRoot(); + } + + protected PageCollection createRoot() + { + pageIndex = 0; + final PageCollection pageCollection = new PageCollection(); + pageCollection.addPage(new ContentsPage("CONTENTS", pageCollection)); + pageCollection.addPage(new GettingStartedPage(Reference.pageNames.GETTINGSTARTED_PAGE, pageCollection)); + pageCollection.addPage(new DescriptionPage(Reference.pageNames.GETTINGRUBBER_PAGE, pageCollection, true)); + + + + return pageCollection; + } + + private int getNextPageIndex() + { + int i = pageIndex; + pageIndex++; + return i; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float par3) + { + drawGuiBackgroundLayer(par3, mouseX, mouseY); + super.drawScreen(mouseX, mouseY, par3); + + prepareRenderState(); + GL11.glPushMatrix(); + + root.drawScreen(this.mc, this.guiLeft, this.guiTop, mouseX - this.guiLeft, mouseY - this.guiTop); + + GL11.glPopMatrix(); + restoreRenderState(); + } + + protected void prepareRenderState() + { + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_DEPTH_TEST); + } + + protected void restoreRenderState() + { + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_DEPTH_TEST); + RenderHelper.enableStandardItemLighting(); + } + + protected void drawGuiBackgroundLayer(float p_146976_1_, int mouseX, int mouseY) + { + GL11.glPushMatrix(); + GL11.glTranslated(this.guiLeft, this.guiTop, 0); + root.renderBackgroundLayer(this.mc, 0, 0, mouseX - this.guiLeft, mouseY - this.guiTop); + GL11.glPopMatrix(); + } + + @Override + public void setWorldAndResolution(Minecraft minecraft, int x, int y) + { + super.setWorldAndResolution(minecraft, x, y); + root.setWorldAndResolution(minecraft, x, y); + } + + @Override + public void actionPerformed(GuiButton button) + { + root.actionPerformed(button); + } + + + @Override + public void mouseClicked(int par1, int par2, int par3) throws IOException + { + root.mouseClicked(par1, par2, par3); + } + + @Override + public void handleInput() throws IOException + { + super.handleInput(); + } + + @Override + public void initGui() + { + super.initGui(); + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + } + + @Override + public boolean doesGuiPauseGame() + { + return false; + } +} diff --git a/src/main/java/techreborn/pda/PageCollection.java b/src/main/java/techreborn/manual/PageCollection.java similarity index 97% rename from src/main/java/techreborn/pda/PageCollection.java rename to src/main/java/techreborn/manual/PageCollection.java index a75327db8..e6e4bacee 100644 --- a/src/main/java/techreborn/pda/PageCollection.java +++ b/src/main/java/techreborn/manual/PageCollection.java @@ -1,14 +1,15 @@ -package techreborn.pda; - -import com.google.common.collect.Lists; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiButton; -import techreborn.pda.pages.BasePage; +package techreborn.manual; import java.io.IOException; import java.util.List; +import com.google.common.collect.Lists; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.GuiButton; +import techreborn.manual.pages.BasePage; + public class PageCollection extends Gui { public final List pages = Lists.newArrayList(); diff --git a/src/main/java/techreborn/manual/Reference.java b/src/main/java/techreborn/manual/Reference.java new file mode 100644 index 000000000..ee9c7f18a --- /dev/null +++ b/src/main/java/techreborn/manual/Reference.java @@ -0,0 +1,14 @@ +package techreborn.manual; + +public class Reference +{ + public static final String CONTENTS_KEY = "techreborn.manual.contents"; + public static final String GETTINGSTARTED_KEY = "techreborn.manual.gettingstarted"; + public static final String GETTINGRUBBER_KEY = "techreborn.manual.gettingrubber"; + + public class pageNames + { + public static final String GETTINGSTARTED_PAGE = "gettingstarted"; + public static final String GETTINGRUBBER_PAGE = "gettingrubber"; + } +} diff --git a/src/main/java/techreborn/pda/pages/ContentsPage.java b/src/main/java/techreborn/manual/old/ContentsPageOld.java similarity index 90% rename from src/main/java/techreborn/pda/pages/ContentsPage.java rename to src/main/java/techreborn/manual/old/ContentsPageOld.java index 7fcbc31cc..02a2f5b1e 100644 --- a/src/main/java/techreborn/pda/pages/ContentsPage.java +++ b/src/main/java/techreborn/manual/old/ContentsPageOld.java @@ -1,4 +1,6 @@ -package techreborn.pda.pages; +package techreborn.manual.old; + +import java.awt.Color; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; @@ -6,14 +8,13 @@ import net.minecraft.item.ItemStack; import techreborn.config.TechRebornConfigGui; import techreborn.init.ModBlocks; import techreborn.init.ModItems; -import techreborn.pda.PageCollection; -import techreborn.pda.util.GuiButtonCustomTexture; +import techreborn.manual.PageCollection; +import techreborn.manual.pages.TitledPage; +import techreborn.manual.util.GuiButtonCustomTexture; -import java.awt.*; +public class ContentsPageOld extends TitledPage { -public class ContentsPage extends TitledPage { - - public ContentsPage(String name, PageCollection collection) { + public ContentsPageOld(String name, PageCollection collection) { super(name, false, collection, "techreborn.pda.contents", Color.white.getRGB()); } diff --git a/src/main/java/techreborn/pda/pages/CraftingInfoPage.java b/src/main/java/techreborn/manual/old/CraftingInfoPage.java similarity index 98% rename from src/main/java/techreborn/pda/pages/CraftingInfoPage.java rename to src/main/java/techreborn/manual/old/CraftingInfoPage.java index ca132c0dd..f229c1409 100644 --- a/src/main/java/techreborn/pda/pages/CraftingInfoPage.java +++ b/src/main/java/techreborn/manual/old/CraftingInfoPage.java @@ -1,4 +1,4 @@ -package techreborn.pda.pages; +package techreborn.manual.old; import com.google.common.base.Objects; import com.google.common.base.Strings; @@ -14,8 +14,10 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; +import techreborn.manual.PageCollection; +import techreborn.manual.pages.TitledPage; + import org.lwjgl.opengl.GL11; -import techreborn.pda.PageCollection; import java.awt.*; import java.lang.reflect.Field; diff --git a/src/main/java/techreborn/pda/GuiManual.java b/src/main/java/techreborn/manual/old/GuiManualOld.java similarity index 95% rename from src/main/java/techreborn/pda/GuiManual.java rename to src/main/java/techreborn/manual/old/GuiManualOld.java index db6e58479..20a7b6908 100644 --- a/src/main/java/techreborn/pda/GuiManual.java +++ b/src/main/java/techreborn/manual/old/GuiManualOld.java @@ -1,23 +1,24 @@ -package techreborn.pda; +package techreborn.manual.old; + +import java.io.IOException; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; import techreborn.init.ModBlocks; import techreborn.init.ModItems; -import techreborn.pda.pages.*; - -import java.io.IOException; +import techreborn.manual.PageCollection; +import techreborn.manual.pages.ContentsPage; @SideOnly(Side.CLIENT) -public class GuiManual extends GuiScreen { +public class GuiManualOld extends GuiScreen { protected final PageCollection root; protected int pageIndex = 0; @@ -27,7 +28,7 @@ public class GuiManual extends GuiScreen { protected int guiLeft; protected int guiTop; - public GuiManual() { + public GuiManualOld() { this.xSize = 256; this.ySize = 202; root = createRoot(); @@ -145,16 +146,16 @@ public class GuiManual extends GuiScreen { root.setWorldAndResolution(minecraft, x, y); } - @Override - public void actionPerformed(GuiButton button) { - root.actionPerformed(button); - } - - - @Override - public void mouseClicked(int par1, int par2, int par3) throws IOException { - root.mouseClicked(par1, par2, par3); - } +// @Override +// public void actionPerformed(GuiButton button) { +// root.actionPerformed(button); +// } +// +// +// @Override +// public void mouseClicked(int par1, int par2, int par3) throws IOException { +// root.mouseClicked(par1, par2, par3); +// } @Override public void handleInput() throws IOException { diff --git a/src/main/java/techreborn/pda/pages/IndexPage.java b/src/main/java/techreborn/manual/old/IndexPage.java similarity index 91% rename from src/main/java/techreborn/pda/pages/IndexPage.java rename to src/main/java/techreborn/manual/old/IndexPage.java index 0bef5e4c4..71fd0c3dd 100644 --- a/src/main/java/techreborn/pda/pages/IndexPage.java +++ b/src/main/java/techreborn/manual/old/IndexPage.java @@ -1,9 +1,11 @@ -package techreborn.pda.pages; +package techreborn.manual.old; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; -import techreborn.pda.PageCollection; -import techreborn.pda.util.GuiButtonTextOnly; +import techreborn.manual.PageCollection; +import techreborn.manual.pages.BasePage; +import techreborn.manual.pages.TitledPage; +import techreborn.manual.util.GuiButtonTextOnly; public class IndexPage extends TitledPage { diff --git a/src/main/java/techreborn/pda/pages/ItemsPage.java b/src/main/java/techreborn/manual/old/ItemsPage.java similarity index 91% rename from src/main/java/techreborn/pda/pages/ItemsPage.java rename to src/main/java/techreborn/manual/old/ItemsPage.java index a58dee986..1a9ef122b 100644 --- a/src/main/java/techreborn/pda/pages/ItemsPage.java +++ b/src/main/java/techreborn/manual/old/ItemsPage.java @@ -1,11 +1,13 @@ -package techreborn.pda.pages; +package techreborn.manual.old; + +import java.awt.Color; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; -import techreborn.pda.PageCollection; -import techreborn.pda.util.GuiButtonTextOnly; - -import java.awt.*; +import techreborn.manual.PageCollection; +import techreborn.manual.pages.BasePage; +import techreborn.manual.pages.TitledPage; +import techreborn.manual.util.GuiButtonTextOnly; public class ItemsPage extends TitledPage { public String PAGE; diff --git a/src/main/java/techreborn/pda/pages/MultiBlockPage.java b/src/main/java/techreborn/manual/old/MultiBlockPage.java similarity index 97% rename from src/main/java/techreborn/pda/pages/MultiBlockPage.java rename to src/main/java/techreborn/manual/old/MultiBlockPage.java index f3ff26656..a80218f49 100644 --- a/src/main/java/techreborn/pda/pages/MultiBlockPage.java +++ b/src/main/java/techreborn/manual/old/MultiBlockPage.java @@ -1,4 +1,4 @@ -package techreborn.pda.pages; +package techreborn.manual.old; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; @@ -6,7 +6,8 @@ import net.minecraft.util.ResourceLocation; import reborncore.client.multiblock.Multiblock; import reborncore.client.multiblock.MultiblockSet; import techreborn.init.ModBlocks; -import techreborn.pda.PageCollection; +import techreborn.manual.PageCollection; +import techreborn.manual.pages.TitledPage; import techreborn.proxies.ClientProxy; import java.awt.*; diff --git a/src/main/java/techreborn/pda/pages/VersionPage.java b/src/main/java/techreborn/manual/old/VersionPage.java similarity index 95% rename from src/main/java/techreborn/pda/pages/VersionPage.java rename to src/main/java/techreborn/manual/old/VersionPage.java index 01bcdad31..6424f67ea 100644 --- a/src/main/java/techreborn/pda/pages/VersionPage.java +++ b/src/main/java/techreborn/manual/old/VersionPage.java @@ -1,10 +1,11 @@ -package techreborn.pda.pages; +package techreborn.manual.old; import net.minecraft.client.Minecraft; import org.lwjgl.opengl.GL11; import techreborn.Core; import techreborn.lib.ModInfo; -import techreborn.pda.PageCollection; +import techreborn.manual.PageCollection; +import techreborn.manual.pages.TitledPage; import java.awt.*; import java.util.ArrayList; diff --git a/src/main/java/techreborn/pda/pages/BasePage.java b/src/main/java/techreborn/manual/pages/BasePage.java similarity index 89% rename from src/main/java/techreborn/pda/pages/BasePage.java rename to src/main/java/techreborn/manual/pages/BasePage.java index 392a308c6..d497bc2d0 100644 --- a/src/main/java/techreborn/pda/pages/BasePage.java +++ b/src/main/java/techreborn/manual/pages/BasePage.java @@ -1,11 +1,11 @@ -package techreborn.pda.pages; +package techreborn.manual.pages; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; -import techreborn.pda.PageCollection; +import techreborn.manual.PageCollection; import java.io.IOException; @@ -16,9 +16,9 @@ public class BasePage extends GuiScreen { //Name Displayed in the index page public String INDEX_NAME; public boolean hasIndexButton = false; - public static final ResourceLocation PAGE_TEXTURE = new ResourceLocation("techreborn:textures/pda/gui/pda.png"); - private final int xSize = 256; - private final int ySize = 202; + public static final ResourceLocation PAGE_TEXTURE = new ResourceLocation("techreborn:textures/manual/gui/manual.png"); + private final int xSize = 146; + private final int ySize = 180; protected PageCollection collection; public BasePage() { @@ -62,7 +62,7 @@ public class BasePage extends GuiScreen { @Override public void initGui() { buttonList.clear(); - buttonList.add(new GuiButton(0, getXMin() + 88, getYMin() + 181, 80, 16, ttl("techreborn.pda.backbutton"))); + buttonList.add(new GuiButton(0, getXMin() + 30, getYMin() + 150, 80, 16, ttl("techreborn.manual.backbutton"))); } public void setReferenceName(String name) { diff --git a/src/main/java/techreborn/manual/pages/ContentsPage.java b/src/main/java/techreborn/manual/pages/ContentsPage.java new file mode 100644 index 000000000..0c56c913b --- /dev/null +++ b/src/main/java/techreborn/manual/pages/ContentsPage.java @@ -0,0 +1,43 @@ +package techreborn.manual.pages; + +import java.awt.Color; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiButton; +import net.minecraft.item.ItemStack; +import techreborn.config.TechRebornConfigGui; +import techreborn.init.ModBlocks; +import techreborn.init.ModItems; +import techreborn.items.ItemPlates; +import techreborn.manual.PageCollection; +import techreborn.manual.Reference; +import techreborn.manual.util.GuiButtonCustomTexture; + +public class ContentsPage extends TitledPage +{ + public ContentsPage(String name, PageCollection collection) + { + super(name, false, collection, Reference.CONTENTS_KEY, Color.white.getRGB()); + } + + @SuppressWarnings("unchecked") + @Override + public void initGui() + { + buttonList.clear(); + buttonList.add(new GuiButtonCustomTexture(0, getXMin() + 25, getYMin() + 20, 0, 46, 100, 20, ItemPlates.getPlateByName("iron"), + Reference.pageNames.GETTINGSTARTED_PAGE, ttl(Reference.GETTINGSTARTED_KEY))); + } + + @Override + public void renderBackgroundLayer(Minecraft minecraft, int offsetX, int offsetY, int mouseX, int mouseY) + { + super.renderBackgroundLayer(minecraft, offsetX, offsetY, mouseX, mouseY); + } + + @Override + public void actionPerformed(GuiButton button) + { + if (button.id == 0) collection.changeActivePage(Reference.pageNames.GETTINGSTARTED_PAGE); + } +} diff --git a/src/main/java/techreborn/manual/pages/DescriptionPage.java b/src/main/java/techreborn/manual/pages/DescriptionPage.java new file mode 100644 index 000000000..53d7b8371 --- /dev/null +++ b/src/main/java/techreborn/manual/pages/DescriptionPage.java @@ -0,0 +1,106 @@ +package techreborn.manual.pages; + +import java.awt.Color; +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.opengl.GL11; + +import com.google.common.base.Strings; +import com.google.common.collect.ImmutableList; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.util.ResourceLocation; +import techreborn.manual.PageCollection; +import techreborn.manual.Reference; + +public class DescriptionPage extends TitledPage +{ + public boolean hasImage; + private String rawDescription; + private List formattedDescription; + private float descriptionScale = 0.88f; + + public String imageprefix = "techreborn:textures/manual/screenshots/"; + + public DescriptionPage(String name, PageCollection collection, boolean hasImage) + { + super(name, false, collection, Reference.GETTINGSTARTED_KEY, Color.white.getRGB()); + this.hasImage = hasImage; + this.rawDescription = "techreborn.manual." + this.getReferenceName() + ".description"; + } + + @Override + public void renderOverlayComponents(Minecraft minecraft, int offsetX, int offsetY, int mouseX, int mouseY) + { + if(hasImage) + { + renderImage(offsetX, offsetY); + addDescription(mc, offsetX, offsetY + 50); + } + else + addDescription(mc, offsetX, offsetY); + } + + public void renderImage(int offsetX, int offsetY) + { + TextureManager render = Minecraft.getMinecraft().renderEngine; + render.bindTexture(new ResourceLocation(imageprefix + this.getReferenceName() + ".png")); + + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glColor4f(1F, 1F, 1F, 1F); + drawTexturedModalRect(offsetX, offsetY - 16, 0, 0, 120, this.height); + GL11.glDisable(GL11.GL_BLEND); + } + + public void addDescription(Minecraft minecraft, int offsetX, int offsetY) + { + GL11.glPushMatrix(); + GL11.glTranslated(offsetX + 15, offsetY + 40, 1); + GL11.glScalef(descriptionScale, descriptionScale, descriptionScale); + int offset = 0; + for (String s : getFormattedText(fontRendererObj)) + { + if (s == null) break; + if (s.contains("\\%") && s.substring(0, 2).equals("\\%")) + { + s = s.substring(2); + offset += fontRendererObj.FONT_HEIGHT / 2; + } + fontRendererObj.drawString(s, 0, offset, Color.black.getRGB()); + offset += fontRendererObj.FONT_HEIGHT; + } + GL11.glPopMatrix(); + } + + @SuppressWarnings("unchecked") + public List getFormattedText(FontRenderer fr) + { + if (formattedDescription == null) + { + formattedDescription = new ArrayList(); + + if (Strings.isNullOrEmpty(rawDescription)) + { + formattedDescription = ImmutableList.of(); + return formattedDescription; + } + if (!rawDescription.contains("\\n")) + { + formattedDescription = ImmutableList.copyOf(fr.listFormattedStringToWidth(rawDescription, 130)); + return formattedDescription; + } + + List segments = new ArrayList(); + String raw = rawDescription; + + for (String s : segments) + formattedDescription.addAll(ImmutableList.copyOf(fr.listFormattedStringToWidth(s, 370))); + } + return formattedDescription; + } +} diff --git a/src/main/java/techreborn/manual/pages/GettingStartedPage.java b/src/main/java/techreborn/manual/pages/GettingStartedPage.java new file mode 100644 index 000000000..99b7b44fb --- /dev/null +++ b/src/main/java/techreborn/manual/pages/GettingStartedPage.java @@ -0,0 +1,32 @@ +package techreborn.manual.pages; + +import java.awt.Color; + +import net.minecraft.client.gui.GuiButton; +import techreborn.items.ItemParts; +import techreborn.items.ItemPlates; +import techreborn.manual.PageCollection; +import techreborn.manual.Reference; +import techreborn.manual.util.GuiButtonCustomTexture; + +public class GettingStartedPage extends TitledPage +{ + public GettingStartedPage(String name, PageCollection collection) + { + super(name, false, collection, Reference.GETTINGSTARTED_KEY, Color.white.getRGB()); + } + + @Override + public void initGui() + { + buttonList.clear(); + buttonList.add(new GuiButtonCustomTexture(0, getXMin() + 25, getYMin() + 20, 0, 46, 100, 20, ItemParts.getPartByName("rubberSap"), + Reference.pageNames.GETTINGRUBBER_PAGE, ttl(Reference.GETTINGRUBBER_KEY))); + } + + @Override + public void actionPerformed(GuiButton button) + { + if (button.id == 0) collection.changeActivePage(Reference.pageNames.GETTINGRUBBER_PAGE); + } +} diff --git a/src/main/java/techreborn/pda/pages/TitledPage.java b/src/main/java/techreborn/manual/pages/TitledPage.java similarity index 83% rename from src/main/java/techreborn/pda/pages/TitledPage.java rename to src/main/java/techreborn/manual/pages/TitledPage.java index 856d21f2b..e0bf5a2c3 100644 --- a/src/main/java/techreborn/pda/pages/TitledPage.java +++ b/src/main/java/techreborn/manual/pages/TitledPage.java @@ -1,7 +1,7 @@ -package techreborn.pda.pages; +package techreborn.manual.pages; import net.minecraft.client.Minecraft; -import techreborn.pda.PageCollection; +import techreborn.manual.PageCollection; public class TitledPage extends BasePage { private String title; @@ -17,6 +17,6 @@ public class TitledPage extends BasePage { @Override public void renderOverlayComponents(Minecraft minecraft, int offsetX, int offsetY, int mouseX, int mouseY) { if (title == null) title = INDEX_NAME; - if (drawTitle) drawCenteredString(minecraft.fontRendererObj, ttl(title), offsetX + 128, offsetY + 5, colour); + if (drawTitle) drawCenteredString(minecraft.fontRendererObj, ttl(title), offsetX + 70, offsetY + 10, colour); } } diff --git a/src/main/java/techreborn/pda/util/GuiButtonAHeight.java b/src/main/java/techreborn/manual/util/GuiButtonAHeight.java similarity index 98% rename from src/main/java/techreborn/pda/util/GuiButtonAHeight.java rename to src/main/java/techreborn/manual/util/GuiButtonAHeight.java index 57c52ad00..6f1e01a38 100644 --- a/src/main/java/techreborn/pda/util/GuiButtonAHeight.java +++ b/src/main/java/techreborn/manual/util/GuiButtonAHeight.java @@ -1,4 +1,4 @@ -package techreborn.pda.util; +package techreborn.manual.util; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; diff --git a/src/main/java/techreborn/pda/util/GuiButtonCustomTexture.java b/src/main/java/techreborn/manual/util/GuiButtonCustomTexture.java similarity index 88% rename from src/main/java/techreborn/pda/util/GuiButtonCustomTexture.java rename to src/main/java/techreborn/manual/util/GuiButtonCustomTexture.java index 609c7ec50..2162e5350 100644 --- a/src/main/java/techreborn/pda/util/GuiButtonCustomTexture.java +++ b/src/main/java/techreborn/manual/util/GuiButtonCustomTexture.java @@ -1,7 +1,8 @@ -package techreborn.pda.util; +package techreborn.manual.util; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.client.config.GuiButtonExt; import org.lwjgl.opengl.GL11; @@ -45,7 +46,8 @@ public class GuiButtonCustomTexture extends GuiButtonExt { GL11.glEnable(32826); RenderHelper.enableStandardItemLighting(); RenderHelper.enableGUIStandardItemLighting(); - //RenderItem.getInstance().renderItemIntoGUI(mc.fontRendererObj, mc.renderEngine, itemstack, this.xPosition, this.yPosition); //TODO 1.8 + RenderItem itemRenderer = Minecraft.getMinecraft().getRenderItem(); + itemRenderer.renderItemIntoGUI(itemstack, this.xPosition, this.yPosition); this.drawString(mc.fontRendererObj, this.NAME, this.xPosition + 20, this.yPosition + 3, Color.white.getRGB()); } } diff --git a/src/main/java/techreborn/pda/util/GuiButtonTextOnly.java b/src/main/java/techreborn/manual/util/GuiButtonTextOnly.java similarity index 98% rename from src/main/java/techreborn/pda/util/GuiButtonTextOnly.java rename to src/main/java/techreborn/manual/util/GuiButtonTextOnly.java index e9ffca562..72e6a2c19 100644 --- a/src/main/java/techreborn/pda/util/GuiButtonTextOnly.java +++ b/src/main/java/techreborn/manual/util/GuiButtonTextOnly.java @@ -1,4 +1,4 @@ -package techreborn.pda.util; +package techreborn.manual.util; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; diff --git a/src/main/resources/assets/techreborn/lang/en_US.lang b/src/main/resources/assets/techreborn/lang/en_US.lang index b192534c2..f48134217 100644 --- a/src/main/resources/assets/techreborn/lang/en_US.lang +++ b/src/main/resources/assets/techreborn/lang/en_US.lang @@ -625,7 +625,7 @@ item.bucketwolframium.name=Wolframium Bucket #Items item.techreborn.uuMatter.name=UU-Matter -item.techreborn.pda.name=PDA +item.techreborn.manual.name=Tech manual #Configs config.techreborn.allow.galenaOre=Allow Galena Ore @@ -911,12 +911,11 @@ Cable.trippleInsulatedIronCable.name=Triple Insulated Copper Cable Cable.glassFiberCable.name=Glass Fiber Cable Cable.tinCable.name=Tin Cable -#PDA -techreborn.pda.contents=Contents Page -techreborn.pda.itemspage=Items -techreborn.pda.blockspage=Blocks -techreborn.pda.index=Index -techreborn.pda.backbutton=BACK +#Manual +techreborn.manual.contents=Contents Page +techreborn.manual.gettingstarted=Getting Started +techreborn.manual.gettingrubber=Collecting Rubber +techreborn.manual.backbutton=Back item.techreborn.advancedDrill.description=This Tool is a advanced version of the mining drill, when this item is activated it will dig out a 3x3. tile.techreborn.alloyfurnace.description=This Machine is your first step into TechReborn with this you can fuse metals into other metals. These other metals can be used to craft the higher tier machines. diff --git a/src/main/resources/assets/techreborn/textures/manual/elements/craftingtable.png b/src/main/resources/assets/techreborn/textures/manual/elements/craftingtable.png new file mode 100644 index 000000000..06e5b6a9f Binary files /dev/null and b/src/main/resources/assets/techreborn/textures/manual/elements/craftingtable.png differ diff --git a/src/main/resources/assets/techreborn/textures/manual/elements/furnacerecipe.png b/src/main/resources/assets/techreborn/textures/manual/elements/furnacerecipe.png new file mode 100644 index 000000000..df08d6c7b Binary files /dev/null and b/src/main/resources/assets/techreborn/textures/manual/elements/furnacerecipe.png differ diff --git a/src/main/resources/assets/techreborn/textures/manual/gui/manual.png b/src/main/resources/assets/techreborn/textures/manual/gui/manual.png new file mode 100644 index 000000000..265eaab49 Binary files /dev/null and b/src/main/resources/assets/techreborn/textures/manual/gui/manual.png differ diff --git a/src/main/resources/assets/techreborn/textures/manual/screenshots/gettingrubber.png b/src/main/resources/assets/techreborn/textures/manual/screenshots/gettingrubber.png new file mode 100644 index 000000000..b0ee8368f Binary files /dev/null and b/src/main/resources/assets/techreborn/textures/manual/screenshots/gettingrubber.png differ diff --git a/src/main/resources/assets/techreborn/textures/pda/gui/pda.png b/src/main/resources/assets/techreborn/textures/pda/gui/pda.png deleted file mode 100644 index ee1a9a688..000000000 Binary files a/src/main/resources/assets/techreborn/textures/pda/gui/pda.png and /dev/null differ diff --git a/src/main/resources/assets/techreborn/textures/pda/gui/pda_1.png b/src/main/resources/assets/techreborn/textures/pda/gui/pda_1.png deleted file mode 100644 index 996c814f3..000000000 Binary files a/src/main/resources/assets/techreborn/textures/pda/gui/pda_1.png and /dev/null differ