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 feba68ffa..d220e57c7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/InitBooklet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/InitBooklet.java @@ -189,8 +189,11 @@ public final class InitBooklet{ //Laser Relays chaptersIntroduction[8] = new BookletChapter("laserIntro", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitItems.itemLaserWrench), new PageTextOnly(1), new PageTextOnly(2).addTextReplacement("", TileEntityLaserRelay.MAX_DISTANCE), new PageCrafting(3, ItemCrafting.recipeLaserWrench)).setImportant(); new BookletChapter("laserRelays", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelay), new PageTextOnly(1), new PageTextOnly(2).addTextReplacement("", TileEntityLaserRelayEnergy.CAP).addTextReplacement("", TileEntityLaserRelayEnergyAdvanced.CAP).addTextReplacement("", TileEntityLaserRelayEnergyExtreme.CAP), new PagePicture(3, "page_laser_relay", 0).setNoText(), new PageCrafting(4, BlockCrafting.recipeLaserRelay).setWildcard().setNoText(), new PageCrafting(5, BlockCrafting.recipeLaserRelayAdvanced).setWildcard().setNoText(), new PageCrafting(6, BlockCrafting.recipeLaserRelayExtreme).setWildcard().setNoText()); - new BookletChapter("itemStorage", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelayItemWhitelist), new PageTextOnly(1), new PageTextOnly(2), new PagePicture(3, "page_item_laser_relay_basic", 78), new PagePicture(4, "page_item_laser_relay_fail", 84), new PagePicture(5, "page_item_laser_relay_transfer", 78), new PagePicture(6, "page_item_laser_relay_whitelist_chest", 76), new PagePicture(7, "page_item_laser_relay_whitelist_interface", 75), new PagePicture(8, "page_item_laser_relay_system", 75), new PageTextOnly(9), new PageReconstructor(10, LensRecipeHandler.recipeItemLaser).setWildcard().setNoText(), new PageCrafting(11, BlockCrafting.recipeLaserRelayItemWhitelist).setWildcard().setNoText(), new PageCrafting(12, BlockCrafting.recipeItemInterface).setNoText()); new BookletChapter("fluidLaser", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelayFluids), new PageTextOnly(1), new PageReconstructor(2, LensRecipeHandler.recipeFluidLaser).setWildcard().setNoText()); + new BookletChapter("itemRelays", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelayItem), new PageTextOnly(1), new PageReconstructor(2, LensRecipeHandler.recipeItemLaser).setWildcard().setNoText()).setSpecial(); + new BookletChapter("itemInterfaces", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockItemViewer), new PageTextOnly(1), new PageTextOnly(2), new PageCrafting(3, BlockCrafting.recipeItemInterface).setNoText()); + new BookletChapter("itemRelaysAdvanced", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockLaserRelayItemWhitelist), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeLaserRelayItemWhitelist).setWildcard()); + new BookletChapter("itemInterfacesHopping", ActuallyAdditionsAPI.entryLaserRelays, new ItemStack(InitBlocks.blockItemViewerHopping), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeItemInterfaceHopping).setWildcard().setNoText()); //No RF Using Blocks new BookletChapter("breaker", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockBreaker), new PageCrafting(1, BlockCrafting.recipeBreaker).setWildcard(), new PageCrafting(2, BlockCrafting.recipePlacer).setWildcard(), new PageCrafting(3, BlockCrafting.recipeLiquidPlacer).setWildcard(), new PageCrafting(4, BlockCrafting.recipeLiquidCollector).setWildcard()); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java index c488ed032..333d921b7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java @@ -88,6 +88,7 @@ public final class BlockCrafting{ public static IRecipe recipePhantomRedstoneface; public static IRecipe recipeLaserRelayItemWhitelist; public static IRecipe recipeItemInterface; + public static IRecipe recipeItemInterfaceHopping; public static IRecipe recipePlayerInterface; public static IRecipe recipeDisplayStand; public static IRecipe recipeShockSuppressor; @@ -274,6 +275,12 @@ public final class BlockCrafting{ 'C', "chestWood")); recipeItemInterface = RecipeUtil.lastIRecipe(); + //Hopping Item Interface + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitBlocks.blockItemViewerHopping), + new ItemStack(InitBlocks.blockItemViewer), + new ItemStack(Blocks.HOPPER))); + recipeItemInterfaceHopping = RecipeUtil.lastIRecipe(); + //Ranged Collector GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitBlocks.blockRangedCollector), " A ", "EHE", " C ", diff --git a/src/main/resources/assets/actuallyadditions/lang/en_US.lang b/src/main/resources/assets/actuallyadditions/lang/en_US.lang index c83c47dca..6bee828d3 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_US.lang +++ b/src/main/resources/assets/actuallyadditions/lang/en_US.lang @@ -1019,16 +1019,19 @@ booklet.actuallyadditions.chapter.spawnerShard.text.1=The Spawner ShardsSpawner 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 and the changer itself to be destroyed. 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=The basic mechanics of the Item Laser Relay are much the same as any other Laser Relay. Once connected up into a network (or system), said network will know about all of the inventories adjacent to all of the relays and will be able to interact with them. -booklet.actuallyadditions.chapter.itemStorage.text.2=However, Item Interfaces are the way to actually communicate and interact with the entire system at once, meaning you can pull items out of or put into an Item Interface via automation, be it Hoppers or ESDs or pipes, and they will transfer the items into or out of ALL OF the inventories mentioned previously. This isn't really useful for a single inventory, but very useful if you are planning to build an automated storage. -booklet.actuallyadditions.chapter.itemStorage.text.3=Above, you can see such a system. Putting items into the left chest will cause them to be stored in the one in the middle, and the hopper on the right pulls them out of the chest in the middle. This is more useful with multiple chests. -booklet.actuallyadditions.chapter.itemStorage.text.4=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.5=But how to make a system that transports items from A to B? Well, just place the relay directly onto a chest or hopper and the items will just go there. As you can see, the amount of Item Interfaces in one system doesn't matter. -booklet.actuallyadditions.chapter.itemStorage.text.6=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.7=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.8=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.9=To make this system work in more complex situations, the Priority of a Laser Relay can be changed by holding a Compass and right-clicking on it. A higher priority means that the Laser Relay will first receive items and first have them extracted from it. You could say that it is first in line for being dealt with by an Item Interface. By default, the Advanced Item Laser Relay has a priority of 10. Priorities can be pretty much infinite and even negative! +booklet.actuallyadditions.chapter.itemRelays.name=Item Laser Relays +booklet.actuallyadditions.chapter.itemRelays.text.1=Before we start: The Item Laser Relay system is more complicated than its Fluid and Energy counterpart, however, it is an extremely powerful way to manage and transport your items. When connecting an Item Laser Relay to any block that stores or handles items, it will basically "know about" the slots they have and what items are in them. That alone isn't particularly useful, however the Item Interface can interact with those items. Check out its chapter to find out how. + +booklet.actuallyadditions.chapter.itemInterfaces.name=The Item Interface +booklet.actuallyadditions.chapter.itemInterfaces.text.1=The Item Interface is the way to interact with an Item Laser Relay network. On its own, such a network will just "know about" all of the items and slots that connected containers have. The Item Interface, however, can be used to directly interact with these items. The way the Item Interface works is that it basically pretends to be a very large chest containing every slot of every container that is connected. +booklet.actuallyadditions.chapter.itemInterfaces.text.2=What this means is that you can use a Hopper or any other item transport mechanic on the Item Interface and it will function like a chest, being able to accept items and have items pulled out of it. But instead of any items being stored inside of the Item Interface they will go to and be pulled from the Laser Relay network. To actually connect an Item Interface to a network, just place an Item Laser Relay next to one. + +booklet.actuallyadditions.chapter.itemRelaysAdvanced.name=Advanced Item Laser Relays +booklet.actuallyadditions.chapter.itemRelaysAdvanced.text.1=Soon you will find that sometimes you will need to white- and blacklist what you actaully want to go into a container. The Advanced Item Laser Relay is able to do just that. When right-clicking, you can configure a Whitelist or Blacklist inside of the GUI. This list has two sides, however. The INBOUND side basically means "things that are trying to go into the container the Relay is attached to", while OUTBOUND means "things that are trying to exit the attached container". +booklet.actuallyadditions.chapter.itemRelaysAdvanced.text.2=This doesn't only work on storage containers in the network, but also for Item Interfaces, meaning that you are able to set up a storage system and only pull out specific items in certain places. + +booklet.actuallyadditions.chapter.itemInterfacesHopping.name=Hopping Item Interface +booklet.actuallyadditions.chapter.itemInterfacesHopping.text.1=The Hopping Item Interface works the same as a normal Item Interface, meaning that you can connect them to an Item Laser Relay network by placing one next to it. However, whereas you need to pipe items into the normal Item Interface, the Hopping Item Interface will pull and push items on its own. It has every functionality that the Hopper has, but instead of storing items in an internal inventory, it stores them in the network. 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/page_item_laser_relay_basic.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_basic.png deleted file mode 100644 index 8a25b6f45..000000000 Binary files a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_basic.png and /dev/null differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_fail.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_fail.png deleted file mode 100644 index 63763782b..000000000 Binary files a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_fail.png and /dev/null differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_system.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_system.png deleted file mode 100644 index 556196a98..000000000 Binary files a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_system.png and /dev/null differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_transfer.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_transfer.png deleted file mode 100644 index 356c04709..000000000 Binary files a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_transfer.png and /dev/null differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_whitelist_chest.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_whitelist_chest.png deleted file mode 100644 index 878fab852..000000000 Binary files a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_whitelist_chest.png and /dev/null differ diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_whitelist_interface.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_whitelist_interface.png deleted file mode 100644 index 46b8f196d..000000000 Binary files a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/page_item_laser_relay_whitelist_interface.png and /dev/null differ