diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/InitBooklet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/InitBooklet.java index 4bb49278d..649ac1c8c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/InitBooklet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/InitBooklet.java @@ -117,7 +117,7 @@ public final class InitBooklet{ new BookletChapter("lensDisenchanting", ActuallyAdditionsAPI.entryReconstruction, new ItemStack(InitItems.itemDisenchantingLens), new PageTextOnly(1).addTextReplacement("", LensDisenchanting.ENERGY_USE), new PageCrafting(2, ItemCrafting.recipeDisenchantingLens).setNoText()).setSpecial(); //No RF Using Blocks - new BookletChapter("itemStorage", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockLaserRelayItemWhitelist), new PageTextOnly(1), new PageTextOnly(2), new PageTextOnly(3), new PageTextOnly(4), new PageCrafting(5, BlockCrafting.recipeLaserRelayItem).setNoText().setPageStacksWildcard(), new PageCrafting(6, BlockCrafting.recipeLaserRelayItemWhitelist).setNoText().setPageStacksWildcard(), new PageCrafting(7, BlockCrafting.recipeItemInterface).setNoText()).setImportant(); + new BookletChapter("itemStorage", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockLaserRelayItemWhitelist), new PageTextOnly(1), new PagePicture(2, "pageItemLaserRelayBasic", 78), new PagePicture(3, "pageItemLaserRelayFail", 84), new PagePicture(4, "pageItemLaserRelayTransfer", 78), new PagePicture(5, "pageItemLaserRelayWhitelistChest", 76), new PagePicture(6, "pageItemLaserRelayWhitelistInterface", 75), new PagePicture(7, "pageItemLaserRelaySystem", 75), new PageTextOnly(8), new PageCrafting(9, BlockCrafting.recipeLaserRelayItem).setNoText().setPageStacksWildcard(), new PageCrafting(10, BlockCrafting.recipeLaserRelayItemWhitelist).setNoText().setPageStacksWildcard(), new PageCrafting(11, BlockCrafting.recipeItemInterface).setNoText()).setImportant(); new BookletChapter("breaker", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockBreaker), new PageCrafting(1, BlockCrafting.recipeBreaker).setPageStacksWildcard(), new PageCrafting(2, BlockCrafting.recipePlacer).setPageStacksWildcard(), new PageCrafting(3, BlockCrafting.recipeLiquidPlacer).setPageStacksWildcard(), new PageCrafting(4, BlockCrafting.recipeLiquidCollector).setPageStacksWildcard()); new BookletChapter("dropper", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockDropper), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeDropper).setNoText()); new BookletChapter("phantomfaces", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockPhantomLiquiface), new PageTextOnly(1).addTextReplacement("", TileEntityPhantomface.RANGE), new PageTextOnly(2), new PageCrafting(3, BlockCrafting.recipePhantomface), new PageCrafting(4, BlockCrafting.recipeLiquiface), new PageCrafting(5, BlockCrafting.recipeEnergyface), new PageCrafting(6, ItemCrafting.recipePhantomConnector).setNoText(), new PageCrafting(7, BlockCrafting.recipePhantomBooster)).setImportant(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PagePicture.java b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PagePicture.java index d3d4c73a8..dd768545b 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PagePicture.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PagePicture.java @@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.api.internal.IBookletGui; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; import de.ellpeck.actuallyadditions.mod.util.StringUtil; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -36,8 +37,10 @@ public class PagePicture extends PageTextOnly{ @Override @SideOnly(Side.CLIENT) public void renderPre(IBookletGui gui, int mouseX, int mouseY, int ticksElapsed, boolean mousePressed){ + GlStateManager.enableBlend(); Minecraft.getMinecraft().getTextureManager().bindTexture(this.resLoc); gui.drawRect(gui.getGuiLeft(), gui.getGuiTop(), 0, 0, gui.getXSize(), gui.getYSize()); + GlStateManager.disableBlend(); String text = gui.getCurrentEntrySet().getCurrentPage().getText(); if(text != null && !text.isEmpty()){ diff --git a/src/main/resources/assets/actuallyadditions/lang/en_US.lang b/src/main/resources/assets/actuallyadditions/lang/en_US.lang index 5e967cce7..ae27a05a9 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_US.lang +++ b/src/main/resources/assets/actuallyadditions/lang/en_US.lang @@ -977,10 +977,14 @@ booklet.actuallyadditions.chapter.spawnerChanger.name=Spawner Changer booklet.actuallyadditions.chapter.spawnerChanger.text.1=The Spawner Changer is an item that can be used to manipulate the mobs that spawners spawn. This can be accomplished by first of all picking up the desired mob to spawn with the Changer, killing it in the process. Next, the Changer can be right-clicked on the spawner, causing the spawner to be changed. This process probably won't work with every type of mob though. booklet.actuallyadditions.chapter.itemStorage.name=Laser Relay Item Storage -booklet.actuallyadditions.chapter.itemStorage.text.1=Additionally to the Laser Relays that transfer RF, there are also Item Laser Relays that are able to transfer items. This works in a verry different way though. To connect Item Laser Relays together works the same as connecting normal ones, however, you need an Item Interface to be able to interact with them. You can place any inventories (such as chests and furnaces) next to the Item Laser Relays, but to be pulled out from or inputted into, there needs to be an Item Interface connected -booklet.actuallyadditions.chapter.itemStorage.text.2=to one of the Item Laser Relays. To input or output items in the system, just pipe them into the interface. If you want a way to make a storage system with this, there are also Advanced Item Laser Relays, in which, by sneak-right-clicking them, you can specify which items are allowed and disallowed to enter or exit inventories connected to this particular relay. When placing an advanced relay next to an Item Interface, this effect also applies. -booklet.actuallyadditions.chapter.itemStorage.text.3=If you just want to use Item Laser Relays as a way to transfer items from A to B, you will notice that just placing two Relays and two Item Interfaces won't work, as there needs to be some sort of temporary storage in the network. To avoid this, just place a Hopper (or chest) directly on the Item Laser Relay you want to output from, and the items will go there directly as the hopper also counts as a valid inventory. -booklet.actuallyadditions.chapter.itemStorage.text.4=It should also be noted that, in fact, the Advanced Item Laser Relays will always take priority over normal ones, meaning that inventories they are connected to will always be regarded first. This can be useful for last resort-type chests in a storage system, where you can place a non-advanced Relay next to one chest but have all the others advanced, and then items will only go into that one chest when they have nowhere else to go in the system. +booklet.actuallyadditions.chapter.itemStorage.text.1=Item Laser Relays work much like their energy version, but instead of transferring enery, they transport items around! To know how to connect Laser Relays, you should look at the entry for Energy Laser Relays first. This section has been replaced with a visual introduction via lovely pictures, as no one understood the previous explanation. They're not that complicated to understand, though. Promise. Flip to the next page for an explanation. +booklet.actuallyadditions.chapter.itemStorage.text.2=The basic thing to know: Item Laser Relays always have to be connected to an Item Interface for input and output to happen. This is a basic system, with items being inputted into the middle chest via the hopper on the left and outputted via the hopper on the right. +booklet.actuallyadditions.chapter.itemStorage.text.3=The whole chest part of this is very important, as such a setup as the one seen above will not work. This is because every system needs a storage space, and an Item Interface does not count as that. +booklet.actuallyadditions.chapter.itemStorage.text.4=But how do I make them transfer items from one point to another then?, I hear you yelling. Well, just place the relay directly onto a chest (a hopper works too!) and the items will just go there. After all, it's a valid inventory. +booklet.actuallyadditions.chapter.itemStorage.text.5=Here, you can see the use of an Advanced Item Laser Relay. They can have a whitelist/blacklist configuration for both connections going into them (inbound, the left side in this case) and out of them (outbound, the right side in this case). +booklet.actuallyadditions.chapter.itemStorage.text.6=You can also attach these advanced relays to Item Interfaces, which will mean that they will only have access to certain items from the system. Here, outbound means out of the system, and inbound means into the system. +booklet.actuallyadditions.chapter.itemStorage.text.7=What you can do is take this to the next level and build a fully-fledged storage system with multiple chests. Pulling out of or inputting into an Item Interface here will pull out of the entire system. +booklet.actuallyadditions.chapter.itemStorage.text.8=Addendum: Advanced Item Laser Relays will always take priority, meaning inventories connected to them will be input into and pulled out of first at all times. This can be useful if you want to make a storage system. You can just have one inventory with a basic relay on it which will act as a last resort. Also, this system isn't only limited to chests. You can connect these to any inventories, so an auto-smelting area could be part of your system too! booklet.actuallyadditions.chapter.banners.name=Additional Banners booklet.actuallyadditions.chapter.banners.text.1=For special items in Actually Additions, there is also special Banner patterns. All of these just require the item next to the banner in the crafting grid with, optionally, a color. You can also combine them with a Shield like normal. The items that have a banner pattern are: The Actually Additions Manual The Phantom Connector The Leaf Blower (not the advanced version) The Drill (only the white one works due to the way banners work) diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayBasic.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayBasic.png new file mode 100644 index 000000000..8a25b6f45 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayBasic.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayFail.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayFail.png new file mode 100644 index 000000000..63763782b Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayFail.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelaySystem.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelaySystem.png new file mode 100644 index 000000000..556196a98 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelaySystem.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayTransfer.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayTransfer.png new file mode 100644 index 000000000..356c04709 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayTransfer.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayWhitelistChest.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayWhitelistChest.png new file mode 100644 index 000000000..878fab852 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayWhitelistChest.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayWhitelistInterface.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayWhitelistInterface.png new file mode 100644 index 000000000..46b8f196d Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/pageItemLaserRelayWhitelistInterface.png differ