From 98bf5306dbd3f7e346ed9b543a2ab038426da4a5 Mon Sep 17 00:00:00 2001 From: Lizbeth Rika Date: Sun, 28 Jun 2015 23:13:45 +0100 Subject: [PATCH] Recipe/docs for the Spark Tinkerer. --- .../vazkii/botania/common/block/BlockSparkChanger.java | 10 +++++++++- .../botania/common/block/tile/TileSparkChanger.java | 4 ++++ .../botania/common/crafting/ModCraftingRecipes.java | 9 +++++++++ .../java/vazkii/botania/common/entity/EntitySpark.java | 1 - .../vazkii/botania/common/lexicon/LexiconData.java | 4 ++++ .../java/vazkii/botania/common/lib/LibLexicon.java | 1 + src/main/resources/assets/botania/lang/en_US.lang | 6 ++++++ 7 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/main/java/vazkii/botania/common/block/BlockSparkChanger.java b/src/main/java/vazkii/botania/common/block/BlockSparkChanger.java index 040cf5994..3d1e32a7d 100644 --- a/src/main/java/vazkii/botania/common/block/BlockSparkChanger.java +++ b/src/main/java/vazkii/botania/common/block/BlockSparkChanger.java @@ -23,15 +23,18 @@ import net.minecraft.tileentity.TileEntity; 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.client.core.helper.IconHelper; import vazkii.botania.common.block.tile.TileSimpleInventory; import vazkii.botania.common.block.tile.TileSparkChanger; import vazkii.botania.common.block.tile.TileTerraPlate; import vazkii.botania.common.block.tile.string.TileRedStringDispenser; import vazkii.botania.common.item.ModItems; +import vazkii.botania.common.lexicon.LexiconData; import vazkii.botania.common.lib.LibBlockNames; -public class BlockSparkChanger extends BlockModContainer { +public class BlockSparkChanger extends BlockModContainer implements ILexiconable { IIcon[] icons; Random random; @@ -156,5 +159,10 @@ public class BlockSparkChanger extends BlockModContainer { public TileEntity createNewTileEntity(World world, int meta) { return new TileSparkChanger(); } + + @Override + public LexiconEntry getEntry(World world, int x, int y, int z, EntityPlayer player, ItemStack lexicon) { + return LexiconData.sparkChanger; + } } diff --git a/src/main/java/vazkii/botania/common/block/tile/TileSparkChanger.java b/src/main/java/vazkii/botania/common/block/tile/TileSparkChanger.java index 13c1052f6..604960201 100644 --- a/src/main/java/vazkii/botania/common/block/tile/TileSparkChanger.java +++ b/src/main/java/vazkii/botania/common/block/tile/TileSparkChanger.java @@ -11,6 +11,7 @@ package vazkii.botania.common.block.tile; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import net.minecraft.item.ItemStack; @@ -52,6 +53,9 @@ public class TileSparkChanger extends TileSimpleInventory { ItemStack sparkStack = upg == 0 ? null : new ItemStack(ModItems.sparkUpgrade, 1, upg - 1); int newUpg = changeStack == null ? 0 : changeStack.getItemDamage() + 1; spark.setUpgrade(newUpg); + Collection transfers = spark.getTransfers(); + if(transfers != null) + transfers.clear(); setInventorySlotContents(0, sparkStack); markDirty(); } diff --git a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java index a559893e6..f243e566f 100644 --- a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java +++ b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java @@ -263,6 +263,7 @@ public final class ModCraftingRecipes { public static IRecipe recipeHourglass; public static IRecipe recipeGhostRail; public static IRecipe recipeCanopyDrum; + public static IRecipe recipeSparkChanger; public static void init() { // Lexicon Recipe @@ -1765,6 +1766,14 @@ public final class ModCraftingRecipes { 'H', new ItemStack(ModItems.grassHorn, 1, 1)); recipeCanopyDrum = BotaniaAPI.getLatestAddedRecipe(); + // Spark Changer Recipe + addOreDictRecipe(new ItemStack(ModBlocks.sparkChanger), + "ESE", "SRS", + 'S', LibOreDict.LIVING_ROCK, + 'E', LibOreDict.ELEMENTIUM, + 'R', new ItemStack(Items.redstone)); + recipeSparkChanger = BotaniaAPI.getLatestAddedRecipe(); + // Storage Block/Nugget Recipes addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 0), "III", "III", "III", diff --git a/src/main/java/vazkii/botania/common/entity/EntitySpark.java b/src/main/java/vazkii/botania/common/entity/EntitySpark.java index 50454f58f..8b848f983 100644 --- a/src/main/java/vazkii/botania/common/entity/EntitySpark.java +++ b/src/main/java/vazkii/botania/common/entity/EntitySpark.java @@ -318,7 +318,6 @@ public class EntitySpark extends Entity implements ISparkEntity { @Override public Collection getTransfers() { Collection removals = new ArrayList(); - new NBTTagList(); for(ISparkEntity e : transfers) { ISparkEntity spark = e; diff --git a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java index 0b4ab131e..42f5384ca 100644 --- a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java +++ b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java @@ -89,6 +89,7 @@ public final class LexiconData { public static LexiconEntry rfGenerator; public static LexiconEntry prism; public static LexiconEntry poolCart; + public static LexiconEntry sparkChanger; public static LexiconEntry functionalIntro; public static LexiconEntry flowerShrinking; @@ -398,6 +399,9 @@ public final class LexiconData { poolCart = new BLexiconEntry(LibLexicon.MANA_POOL_CART, categoryMana); poolCart.setLexiconPages(new PageText("0"), new PageText("1"), new PageText("2"), new PageCraftingRecipe("3", ModCraftingRecipes.recipePoolCart), new PageCraftingRecipe("4", ModCraftingRecipes.recipePump)); + sparkChanger = new ALexiconEntry(LibLexicon.MANA_SPARK_CHANGER, categoryMana); + sparkChanger.setLexiconPages(new PageText("0"), new PageText("1"), new PageCraftingRecipe("2", ModCraftingRecipes.recipeSparkChanger)); + // FUNCTIONAL FLOWERS ENTRIES functionalIntro = new BLexiconEntry(LibLexicon.FFLOWER_INTRO, categoryFunctionalFlowers); functionalIntro.setPriority().setLexiconPages(new PageText("0"), new PageText("1"), new PageText("2"), new PageText("3"), new PageCraftingRecipe("4", ModCraftingRecipes.recipeRedstoneRoot)).setIcon(null);; diff --git a/src/main/java/vazkii/botania/common/lib/LibLexicon.java b/src/main/java/vazkii/botania/common/lib/LibLexicon.java index a3161ed4a..9692e36c5 100644 --- a/src/main/java/vazkii/botania/common/lib/LibLexicon.java +++ b/src/main/java/vazkii/botania/common/lib/LibLexicon.java @@ -59,6 +59,7 @@ public final class LibLexicon { public static final String MANA_SPARK_UPGRADES = "sparkUpgrades"; public static final String MANA_PRISM = "prism"; public static final String MANA_POOL_CART = "poolCart"; + public static final String MANA_SPARK_CHANGER = "sparkChanger"; public static final String FFLOWER_INTRO = "fIntro"; public static final String FFLOWER_SHRINKING = "flowerShrinking"; diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index 298bd48f3..fcb1540e7 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -1676,6 +1676,12 @@ botania.page.poolCart2=The side of the pump where the &4Mana&0 will go towards i botania.page.poolCart3=I like trains botania.page.poolCart4=This is not a pipe +# -- SPARK TINKERER +botania.entry.sparkChanger=Spark Tinkerer +botania.page.sparkChanger0=The &1Spark Tinkerer&0 is a block with the ability to modify the &1Augments&0 placed on &1Sparks&0. Placing it adjacent to &1Mana Pools&0 or other blocks with a &1Spark&0 attached will connect it to those blocks.
Right clicking the &1Spark Tinkerer&0 with a &1Spark Augment&0 will put the augment in the block, it can be removed by right clicking again. +botania.page.sparkChanger1=When the &1Spark Tinkerer&0 gets a redstone signal it'll randomly pick a &1Spark&0, between all of those it's connected to that have a different augment from the one stored in it, and swap the augment in that &1Spark&0 with the one stored in the block.
The stored augment can be withdrawn or deposited with &1Hoppers&0 or other automation methods. +botania.page.sparkChanger2=Hahahaha, water fire... + # - FUNCTIONAL FLOWERS # -- AN INTRODUCTION TO FUNCTION botania.entry.fIntro=An Introduction to Function