From c8a934cba8f41eccb6a2c393abb99a33d72f22b0 Mon Sep 17 00:00:00 2001 From: Lizbeth Rika Date: Tue, 16 Dec 2014 15:22:59 +0000 Subject: [PATCH] Finished up the Assembly Halo. --- .../botania/common/crafting/ModCraftingRecipes.java | 9 +++++++++ .../vazkii/botania/common/item/ItemCraftingHalo.java | 10 ++++++++++ .../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 ++++++ 5 files changed, 30 insertions(+) diff --git a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java index fe1a25f93..b2fc26d18 100644 --- a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java +++ b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java @@ -212,6 +212,7 @@ public final class ModCraftingRecipes { public static IRecipe recipeMissileRod; public static IRecipe recipeHolyCloak; public static IRecipe recipeUnholyCloak; + public static IRecipe recipeCraftingHalo; public static void init() { // Lexicon Recipe @@ -1367,6 +1368,14 @@ public final class ModCraftingRecipes { 'S', LibOreDict.LIFE_ESSENCE); recipeUnholyCloak = BotaniaAPI.getLatestAddedRecipe(); + // Assembly Halo Recipe + addOreDictRecipe(new ItemStack(ModItems.craftingHalo), + " P ", "ICI", " I ", + 'P', LibOreDict.MANA_PEARL, + 'I', LibOreDict.MANA_STEEL, + 'C', new ItemStack(Blocks.crafting_table)); + recipeCraftingHalo = BotaniaAPI.getLatestAddedRecipe(); + // Mana and Terrasteel Block Recipes addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 0), "III", "III", "III", diff --git a/src/main/java/vazkii/botania/common/item/ItemCraftingHalo.java b/src/main/java/vazkii/botania/common/item/ItemCraftingHalo.java index 54750ea5e..c41e9c08d 100644 --- a/src/main/java/vazkii/botania/common/item/ItemCraftingHalo.java +++ b/src/main/java/vazkii/botania/common/item/ItemCraftingHalo.java @@ -37,6 +37,7 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; +import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.common.MinecraftForge; @@ -49,6 +50,7 @@ import vazkii.botania.client.core.helper.RenderHelper; import vazkii.botania.client.lib.LibResources; import vazkii.botania.common.Botania; import vazkii.botania.common.core.helper.InventoryHelper; +import vazkii.botania.common.core.helper.Vector3; import vazkii.botania.common.core.helper.InventoryHelper.GenericInventory; import vazkii.botania.common.core.helper.ItemNBTHelper; import vazkii.botania.common.lib.LibGuiIDs; @@ -110,6 +112,12 @@ public class ItemCraftingHalo extends ItemMod { consumeRecipeIngredients(recipe, player.inventory, player); if(!player.inventory.addItemStackToInventory(recipe[9])) player.dropPlayerItemWithRandomChoice(recipe[9], false); + + Vec3 lookVec3 = player.getLookVec(); + Vector3 centerVector = Vector3.fromEntityCenter(player).add(lookVec3.xCoord * 3, 1.3, lookVec3.zCoord * 3); + float m = 0.1F; + for(int i = 0; i < 4; i++) + Botania.proxy.wispFX(player.worldObj, centerVector.x, centerVector.y, centerVector.z, 1F, 0F, 1F, 0.2F + 0.2F * (float) Math.random(), ((float) Math.random() - 0.5F) * m, ((float) Math.random() - 0.5F) * m, ((float) Math.random() - 0.5F) * m); } private static boolean consumeRecipeIngredients(ItemStack[] recipe, IInventory inv, EntityPlayer player) { @@ -461,6 +469,8 @@ public class ItemCraftingHalo extends ItemMod { } RenderItem.getInstance().renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, recipe[9], x + 72, y + 18); + RenderItem.getInstance().renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, recipe[9], x + 72, y + 18); + net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); } diff --git a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java index 98b9d90e2..b2e040dcd 100644 --- a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java +++ b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java @@ -149,6 +149,7 @@ public final class LexiconData { public static LexiconEntry gravityRod; public static LexiconEntry regenIvy; public static LexiconEntry missileRod; + public static LexiconEntry craftingHalo; public static LexiconEntry baublesIntro; public static LexiconEntry tinyPlanet; @@ -568,6 +569,9 @@ public final class LexiconData { missileRod = new ALexiconEntry(LibLexicon.TOOL_MISSILE_ROD, categoryTools); missileRod.setLexiconPages(new PageText("0"), new PageCraftingRecipe("1", ModCraftingRecipes.recipeMissileRod)); + craftingHalo = new BLexiconEntry(LibLexicon.TOOL_CRAFTING_HALO, categoryTools); + craftingHalo.setLexiconPages(new PageText("0"), new PageText("1"), new PageCraftingRecipe("2", ModCraftingRecipes.recipeCraftingHalo)); + // 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 5e4bf93e9..c7e3d9bca 100644 --- a/src/main/java/vazkii/botania/common/lib/LibLexicon.java +++ b/src/main/java/vazkii/botania/common/lib/LibLexicon.java @@ -130,6 +130,7 @@ public final class LibLexicon { public static final String TOOL_GRAVITY_ROD = "gravityRod"; public static final String TOOL_REGEN_IVY = "regenIvy"; public static final String TOOL_MISSILE_ROD = "missileRod"; + public static final String TOOL_CRAFTING_HALO = "craftingHalo"; public static final String BAUBLE_INTRO = "bIntro"; public static final String BAUBLE_TINY_PLANET = "tinyPlanet"; diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index 565d1323a..dbd0fa707 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -1612,6 +1612,12 @@ botania.entry.missileRod=Rod of the Unstable Reservoir botania.page.missileRod0=The &1Rod of the Unstable Reservoir&0 is a rather powerful weapon against a large crowd of foes. Channeling its power will materialize countless arcane missiles that home in on targets at random, at a pretty hefty cost of &4Mana&0. botania.page.missileRod1=Zapzapzapzap +# -- ASSEMBLY HALO +botania.entry.craftingHalo=Assembly Halo +botania.page.craftingHalo0=Carrying a &1Crafting Table&0 around generally can be troublesome. The &1Assembly Halo&0 acts not only as a portable &1Crafting Table&0 but as a quick crafting method. Having the item in hand displays a "halo" of recipes around the holder.
First off, right clicking on the &1Crafting Table&0 will open up a crafting interface. +botania.page.craftingHalo1=As long as the item is present in the inventory the last crafting recipe done will be stored in it.
Right clicking an empty slot of the halo will set the last recipe on it. Right clicking a slot with a recipe will try to do it using items from the inventory. Removing a recipe can be done through shift-left click. +botania.page.craftingHalo2=It has no taste if you cook it from the menu + # - BAUBLES # -- AN INTRODUCTION TO BAUBLES botania.entry.bIntro=An Introduction to Baubles