From 7a0ba8819d4714f49c8ab217ef6b86d03d5850f0 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Wed, 11 May 2016 19:30:19 +0200 Subject: [PATCH] Item Storage recipes and doc --- .../mod/booklet/InitBooklet.java | 1 + .../mod/config/values/ConfigCrafting.java | 5 ++- .../mod/crafting/BlockCrafting.java | 32 +++++++++++++++++++ .../assets/actuallyadditions/lang/en_US.lang | 6 +++- 4 files changed, 42 insertions(+), 2 deletions(-) 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 42435a46d..4eb932996 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/InitBooklet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/InitBooklet.java @@ -87,6 +87,7 @@ public class InitBooklet{ new BookletChapter("blackLotus", ActuallyAdditionsAPI.entryMisc, new ItemStack(InitBlocks.blockBlackLotus), new PageTextOnly(1).setStack(new ItemStack(InitBlocks.blockBlackLotus)), new PageCrafting(2, ItemCrafting.recipeBlackDye)); //No RF Using Blocks + new BookletChapter("itemStorage", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockLaserRelayItemWhitelist), new PageTextOnly(1), new PageTextOnly(2), new PageCrafting(3, BlockCrafting.recipeLaserRelayItem).setNoText().setPageStacksWildcard(), new PageCrafting(4, BlockCrafting.recipeLaserRelayItemWhitelist).setNoText().setPageStacksWildcard(), new PageCrafting(5, 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/config/values/ConfigCrafting.java b/src/main/java/de/ellpeck/actuallyadditions/mod/config/values/ConfigCrafting.java index 250eefb2a..ad9674be5 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/config/values/ConfigCrafting.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/config/values/ConfigCrafting.java @@ -148,6 +148,8 @@ public enum ConfigCrafting{ DIRECTIONAL_BREAKER("Long-Range Breaker", ConfigCategories.BLOCKS_CRAFTING), RANGED_COLLECTOR("Ranged Collector", ConfigCategories.BLOCKS_CRAFTING), LASER_RELAY("Laser Relay", ConfigCategories.BLOCKS_CRAFTING), + LASER_RELAY_ITEM("Item Laser Relay", ConfigCategories.BLOCKS_CRAFTING), + LASER_RELAY_ITEM_WHITELIST("Advanced Item Laser Relay", ConfigCategories.BLOCKS_CRAFTING), LASER_WRENCH("Laser Wrench", ConfigCategories.ITEMS_CRAFTING), CHEST_TO_CRATE_UPGRADE("Chest To Crate Upgrade", ConfigCategories.ITEMS_CRAFTING), @@ -157,7 +159,8 @@ public enum ConfigCrafting{ MINER("Miner", ConfigCategories.BLOCKS_CRAFTING), FIREWORK_BOX("Firework Box", ConfigCategories.BLOCKS_CRAFTING), ENDER_STAR("Ender Star", ConfigCategories.ITEMS_CRAFTING), - SPAWNER_CHANGER("Spawner Changer", ConfigCategories.ITEMS_CRAFTING); + SPAWNER_CHANGER("Spawner Changer", ConfigCategories.ITEMS_CRAFTING), + ITEM_INTERFACE("Item Interface", ConfigCategories.BLOCKS_CRAFTING); public final String name; public final String category; 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 131bffa94..22487592d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/BlockCrafting.java @@ -82,6 +82,9 @@ public class BlockCrafting{ public static IRecipe recipeMiner; public static IRecipe recipeFireworkBox; public static IRecipe recipePhantomRedstoneface; + public static IRecipe recipeLaserRelayItem; + public static IRecipe recipeLaserRelayItemWhitelist; + public static IRecipe recipeItemInterface; public static void init(){ @@ -182,6 +185,35 @@ public class BlockCrafting{ recipeLaserRelay = RecipeUtil.lastIRecipe(); } + //Item Laser Relay + if(ConfigCrafting.LASER_RELAY_ITEM.isEnabled()){ + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitBlocks.blockLaserRelayItem), + new ItemStack(InitBlocks.blockLaserRelay), + new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); + recipeLaserRelayItem = RecipeUtil.lastIRecipe(); + } + + //Whitelist Item Laser Relay + if(ConfigCrafting.LASER_RELAY_ITEM_WHITELIST.isEnabled()){ + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitBlocks.blockLaserRelayItemWhitelist), + new ItemStack(InitBlocks.blockLaserRelayItem), + new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()), + new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), + new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()))); + recipeLaserRelayItemWhitelist = RecipeUtil.lastIRecipe(); + } + + //Item Interface + if(ConfigCrafting.ITEM_INTERFACE.isEnabled()){ + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitBlocks.blockItemViewer), + "OBO", "RCR", "OBO", + 'B', new ItemStack(Items.REDSTONE), + 'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()), + 'R', new ItemStack(InitItems.itemCrystal, 1, TheCrystals.REDSTONE.ordinal()), + 'C', new ItemStack(Blocks.CHEST))); + recipeItemInterface = RecipeUtil.lastIRecipe(); + } + //Ranged Collector if(ConfigCrafting.RANGED_COLLECTOR.isEnabled()){ GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitBlocks.blockRangedCollector), diff --git a/src/main/resources/assets/actuallyadditions/lang/en_US.lang b/src/main/resources/assets/actuallyadditions/lang/en_US.lang index 6d6e4675e..14a882b27 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_US.lang +++ b/src/main/resources/assets/actuallyadditions/lang/en_US.lang @@ -792,4 +792,8 @@ booklet.actuallyadditions.chapter.spawnerShard.name=Spawner Shards booklet.actuallyadditions.chapter.spawnerShard.text.1=The Spawner Shards are a crafting ingredient found by breaking spawners. Once a spawner in the world is broken, it will always drop one Shard. 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. \ No newline at end of file +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. Additionally, this system doesn't use any power. \ No newline at end of file