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