From f85671806ff71ce09a7a67e7e7c360ede6d94b56 Mon Sep 17 00:00:00 2001 From: Lizbeth Rika Date: Fri, 17 Jul 2015 21:28:55 +0100 Subject: [PATCH] Luminizer recipe/docs. --- .../common/block/BlockLightLauncher.java | 12 +++++++++++- .../botania/common/block/BlockLightRelay.java | 15 ++++++++++++++- .../common/crafting/ModCraftingRecipes.java | 18 ++++++++++++++++++ .../botania/common/lexicon/LexiconData.java | 4 ++++ .../vazkii/botania/common/lib/LibLexicon.java | 1 + .../resources/assets/botania/lang/en_US.lang | 10 ++++++++++ 6 files changed, 58 insertions(+), 2 deletions(-) diff --git a/src/main/java/vazkii/botania/common/block/BlockLightLauncher.java b/src/main/java/vazkii/botania/common/block/BlockLightLauncher.java index 4111cf53f..bcfcd4827 100644 --- a/src/main/java/vazkii/botania/common/block/BlockLightLauncher.java +++ b/src/main/java/vazkii/botania/common/block/BlockLightLauncher.java @@ -16,16 +16,21 @@ import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import vazkii.botania.api.lexicon.ILexiconable; +import vazkii.botania.api.lexicon.LexiconEntry; import vazkii.botania.common.block.tile.TileLightRelay; +import vazkii.botania.common.lexicon.LexiconData; import vazkii.botania.common.lib.LibBlockNames; import vazkii.botania.common.lib.LibMisc; -public class BlockLightLauncher extends BlockMod { +public class BlockLightLauncher extends BlockMod implements ILexiconable { public BlockLightLauncher() { super(Material.wood); @@ -84,5 +89,10 @@ public class BlockLightLauncher extends BlockMod { } } } + + @Override + public LexiconEntry getEntry(World world, int x, int y, int z, EntityPlayer player, ItemStack lexicon) { + return LexiconData.luminizerTransport; + } } diff --git a/src/main/java/vazkii/botania/common/block/BlockLightRelay.java b/src/main/java/vazkii/botania/common/block/BlockLightRelay.java index 1ef3d0ee3..bd2c93268 100644 --- a/src/main/java/vazkii/botania/common/block/BlockLightRelay.java +++ b/src/main/java/vazkii/botania/common/block/BlockLightRelay.java @@ -27,15 +27,18 @@ import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import vazkii.botania.api.lexicon.ILexiconable; +import vazkii.botania.api.lexicon.LexiconEntry; import vazkii.botania.api.wand.IWandBindable; import vazkii.botania.api.wand.IWandable; import vazkii.botania.client.core.helper.IconHelper; import vazkii.botania.client.lib.LibRenderIDs; import vazkii.botania.common.block.tile.TileLightRelay; import vazkii.botania.common.item.block.ItemBlockWithMetadataAndName; +import vazkii.botania.common.lexicon.LexiconData; import vazkii.botania.common.lib.LibBlockNames; -public class BlockLightRelay extends BlockModContainer implements IWandable { +public class BlockLightRelay extends BlockModContainer implements IWandable, ILexiconable { public static IIcon invIcon, worldIcon, invIconRed, worldIconRed; @@ -61,6 +64,11 @@ public class BlockLightRelay extends BlockModContainer implements IWandable { for(int i = 0; i < 2; i++) list.add(new ItemStack(item, 1, i)); } + + @Override + public int damageDropped(int meta) { + return meta == 0 ? 0 : 1; + } @Override protected boolean shouldRegisterInNameSet() { @@ -142,4 +150,9 @@ public class BlockLightRelay extends BlockModContainer implements IWandable { return false; } + @Override + public LexiconEntry getEntry(World world, int x, int y, int z, EntityPlayer player, ItemStack lexicon) { + return LexiconData.luminizerTransport; + } + } diff --git a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java index af65a7ea5..c15627d1a 100644 --- a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java +++ b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java @@ -267,6 +267,9 @@ public final class ModCraftingRecipes { public static IRecipe recipeCanopyDrum; public static IRecipe recipeSparkChanger; public static IRecipe recipeCocoon; + public static IRecipe recipeLuminizer; + public static IRecipe recipeDetectorLuminizer; + public static IRecipe recipeLuminizerLauncher; // Garden of Glass public static IRecipe recipeRootToSapling; @@ -1809,6 +1812,21 @@ public final class ModCraftingRecipes { 'P', LibOreDict.PIXIE_DUST, 'D', LibOreDict.DRAGONSTONE); recipeCocoon = BotaniaAPI.getLatestAddedRecipe(); + + // Luminizer Recipe + addShapelessOreDictRecipe(new ItemStack(ModBlocks.lightRelay), LibOreDict.RED_STRING, LibOreDict.DRAGONSTONE, new ItemStack(Items.glowstone_dust), new ItemStack(Items.glowstone_dust)); + recipeLuminizer = BotaniaAPI.getLatestAddedRecipe(); + + // Detector Luminizer Recipe + addShapelessOreDictRecipe(new ItemStack(ModBlocks.lightRelay, 1, 1), new ItemStack(ModBlocks.lightRelay), new ItemStack(Items.redstone)); + recipeDetectorLuminizer = BotaniaAPI.getLatestAddedRecipe(); + + // Luminizer Launcher Recipe + addOreDictRecipe(new ItemStack(ModBlocks.lightLauncher), + "DDD", "DLD", + 'D', LibOreDict.DREAM_WOOD, + 'L', new ItemStack(ModBlocks.lightRelay)); + recipeLuminizerLauncher = BotaniaAPI.getLatestAddedRecipe(); // Storage Block/Nugget Recipes addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 0), diff --git a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java index 3f6543ca9..0c8f3e51f 100644 --- a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java +++ b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java @@ -209,6 +209,7 @@ public final class LexiconData { public static LexiconEntry keepIvy; public static LexiconEntry blackHoleTalisman; public static LexiconEntry corporeaCrystalCube; + public static LexiconEntry luminizerTransport; public static LexiconEntry baublesIntro; public static LexiconEntry cosmeticBaubles; @@ -788,6 +789,9 @@ public final class LexiconData { corporeaCrystalCube = new ALexiconEntry(LibLexicon.ENDER_CORPOREA_CRYSTAL_CUBE, categoryEnder); corporeaCrystalCube.setLexiconPages(new PageText("0"), new PageText("1"), new PageCraftingRecipe("2", ModCraftingRecipes.recipeCorporeaCrystalCube)); + luminizerTransport = new ALexiconEntry(LibLexicon.ENDER_LUMINIZER_TRANSPORT, categoryEnder); + luminizerTransport.setLexiconPages(new PageText("0"), new PageText("1"), new PageCraftingRecipe("2", ModCraftingRecipes.recipeLuminizer), new PageText("3"), new PageCraftingRecipe("4", ModCraftingRecipes.recipeDetectorLuminizer), new PageText("5"), new PageCraftingRecipe("6", ModCraftingRecipes.recipeLuminizerLauncher)); + // BAUBLES ENTRIES baublesIntro = new BLexiconEntry(LibLexicon.BAUBLE_INTRO, categoryBaubles); baublesIntro.setPriority().setLexiconPages(new PageText("0"), new PageImage("1", LibResources.ENTRY_BAUBLES), new PageText("2")); diff --git a/src/main/java/vazkii/botania/common/lib/LibLexicon.java b/src/main/java/vazkii/botania/common/lib/LibLexicon.java index dbc1a61d4..b65b77f39 100644 --- a/src/main/java/vazkii/botania/common/lib/LibLexicon.java +++ b/src/main/java/vazkii/botania/common/lib/LibLexicon.java @@ -179,6 +179,7 @@ public final class LibLexicon { public static final String ENDER_KEEP_IVY = "keepIvy"; public static final String ENDER_BLACK_HOLE_TALISMAN = "blackHoleTalisman"; public static final String ENDER_CORPOREA_CRYSTAL_CUBE = "corporeaCrystalCube"; + public static final String ENDER_LUMINIZER_TRANSPORT = "luminizerTransport"; public static final String BAUBLE_INTRO = "bIntro"; public static final String BAUBLE_COSMETIC = "cosmeticBaubles"; diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index 19c5e6f58..e4fd74c8d 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -2556,6 +2556,16 @@ botania.page.blackHoleTalisman1=Right clicking a block in the world will set the botania.page.blackHoleTalisman2=While the talisman has any contents in it, the blocks in it can be placed as if they were normal blocks stored in the inventory via a simple right click with it.
Right clicking an inventory will try to fill it with the blocks stored in the talisman. botania.page.blackHoleTalisman3=Like a Rageki but twice as fun +# -- LUMINIZER TRANSPORT +botania.entry.luminizerTransport=Luminizer Transport +botania.page.luminizerTransport0=&1Luminizers&0 serve as a simple way to transport players and other living things of the sort by having them ride on trails of light.
&1Luminizers&0 can be placed in the world as blocks. A &1Luminizer&0, in order to work properly needs to be bound to another one. This can be done with the &1Wand of the Forest&0 in bind mode. Right clicking a &1Luminizer&0 will transport the clicker into the &1Luminizer&0 it's bound to. +botania.page.luminizerTransport1=&1Luminizers&0 have a range of twenty blocks each, but can be chained to create longer and more complex paths.
The connection between two &1Luminizers&0 goes only one way, unless the binding is explicitly done both ways. If the connection does go both ways, an endless loop is created, though.
Furthermore, multiple &1Luminizers&0 can target the same one as an endpoint. +botania.page.luminizerTransport2=Luminize to the future +botania.page.luminizerTransport3=Adding some redstone to a &1Luminizer&0 creates a &1Detector Luminizer&0. For all intents and purposes, it functions just like a regular &1Luminizer&0, however, it sends out a &4redstone pulse&0 every time something passes through it or reaches it as an endpoint. +botania.page.luminizerTransport4=Are you ready to draw? +botania.page.luminizerTransport5=While players can just right click the &1Luminizers&0, in order to get animals or other beings into the trails, a &1Luminizer Launcher&0 is required.
This block needs to be placed down adjacent to &1Luminizers&0, and when it receives a &4redstone pulse&0, it'll randomly distribute all living beings on top of it into all of the adjacent &1Luminizers&0, causing them to go on their merry way. +botania.page.luminizerTransport6=Let's believe it, open the flag + # - BAUBLES AND ACCESSORIES # -- AN INTRODUCTION TO BAUBLES botania.entry.bIntro=An Introduction to Baubles