diff --git a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java index fcb222a7d..f4d331af6 100644 --- a/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java +++ b/src/main/java/vazkii/botania/common/crafting/ModCraftingRecipes.java @@ -220,6 +220,7 @@ public final class ModCraftingRecipes { public static IRecipe recipeSmeltRod; public static IRecipe recipeWorldSeed; public static IRecipe recipeSpellCloth; + public static IRecipe recipeThornChakram; public static void init() { // Lexicon Recipe @@ -1445,6 +1446,13 @@ public final class ModCraftingRecipes { 'P', LibOreDict.MANA_PEARL); recipeSpellCloth = BotaniaAPI.getLatestAddedRecipe(); + // Thorn Chakram Recipe + addOreDictRecipe(new ItemStack(ModItems.thornChakram), + "VVV", "VTV", "VVV", + 'V', new ItemStack(Blocks.vine), + 'T', LibOreDict.TERRA_STEEL); + recipeThornChakram = BotaniaAPI.getLatestAddedRecipe(); + // Storage Block Recipes addOreDictRecipe(new ItemStack(ModBlocks.storage, 1, 0), "III", "III", "III", diff --git a/src/main/java/vazkii/botania/common/entity/EntityThornChakram.java b/src/main/java/vazkii/botania/common/entity/EntityThornChakram.java index 31500bb40..246abeae5 100644 --- a/src/main/java/vazkii/botania/common/entity/EntityThornChakram.java +++ b/src/main/java/vazkii/botania/common/entity/EntityThornChakram.java @@ -16,6 +16,8 @@ import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.DamageSource; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -26,7 +28,7 @@ import vazkii.botania.common.item.ModItems; public class EntityThornChakram extends EntityThrowable { - private static final int MAX_BOUNCES = 8; + private static final int MAX_BOUNCES = 16; boolean bounced = false; public EntityThornChakram(World world) { @@ -92,9 +94,11 @@ public class EntityThornChakram extends EntityThrowable { return; EntityLivingBase thrower = getThrower(); - if(pos.entityHit != null && pos.entityHit instanceof EntityLivingBase && pos.entityHit != thrower) + if(pos.entityHit != null && pos.entityHit instanceof EntityLivingBase && pos.entityHit != thrower) { ((EntityLivingBase) pos.entityHit).attackEntityFrom(thrower != null ? thrower instanceof EntityPlayer ? DamageSource.causePlayerDamage((EntityPlayer) thrower) : DamageSource.causeMobDamage(thrower) : DamageSource.generic, 6); - else { + if(worldObj.rand.nextInt(3) == 0) + ((EntityLivingBase) pos.entityHit).addPotionEffect(new PotionEffect(Potion.poison.id, 60, 0)); + } else { int bounces = getTimesBounced(); if(bounces < MAX_BOUNCES) { Vector3 currentMovementVec = new Vector3(motionX, motionY, motionZ); diff --git a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java index 673b5605a..30d819dac 100644 --- a/src/main/java/vazkii/botania/common/lexicon/LexiconData.java +++ b/src/main/java/vazkii/botania/common/lexicon/LexiconData.java @@ -157,6 +157,7 @@ public final class LexiconData { public static LexiconEntry smeltRod; public static LexiconEntry worldSeed; public static LexiconEntry spellCloth; + public static LexiconEntry thornChakram; public static LexiconEntry baublesIntro; public static LexiconEntry tinyPlanet; @@ -603,6 +604,9 @@ public final class LexiconData { spellCloth = new BLexiconEntry(LibLexicon.TOOL_SPELL_CLOTH, categoryTools); spellCloth.setLexiconPages(new PageText("0"), new PageCraftingRecipe("1", ModCraftingRecipes.recipeSpellCloth)); + thornChakram = new BLexiconEntry(LibLexicon.TOOL_THORN_CHAKRAM, categoryTools); + thornChakram.setLexiconPages(new PageText("0"), new PageCraftingRecipe("1", ModCraftingRecipes.recipeThornChakram)); + // 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 51bd28508..cf2a79a91 100644 --- a/src/main/java/vazkii/botania/common/lib/LibLexicon.java +++ b/src/main/java/vazkii/botania/common/lib/LibLexicon.java @@ -138,6 +138,7 @@ public final class LibLexicon { public static final String TOOL_SMELT_ROD = "smeltRod"; public static final String TOOL_WORLD_SEED = "worldSeed"; public static final String TOOL_SPELL_CLOTH = "spellCloth"; + public static final String TOOL_THORN_CHAKRAM = "thornChakram"; 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 03263cd5e..4c446617d 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -1675,6 +1675,11 @@ botania.entry.spellCloth=Spellbinding Cloth botania.page.spellCloth0=Combining &1Wool&0 with some &4Mana&0 in the form of a &1Mana Pearl&0 allows for one to create a type of cloth that will absorb any &4Enchantments&0 it comes in contact with.
Combining the &1Spellbinding Cloth&0 with any enchanted item in a crafting table will remove all enchants from that item at the cost of some of the cloth's durability. botania.page.spellCloth1=Oldest item in the book +# -- THORN CHAKRAM +botania.entry.thornChakram=Thorn Chakram +botania.page.thornChakram0=The &1Thorn Chakram&0 is a thrown weapon made of &1Terrasteel&0 and plant matter. After thrown it'll pierce through enemies, damaging them and sometimes poisoning them, and bounce on blocks a few times before returning to the thrower, similarly to a boomerang. +botania.page.thornChakram1=Spores and stingers + # - BAUBLES # -- AN INTRODUCTION TO BAUBLES botania.entry.bIntro=An Introduction to Baubles