diff --git a/src/main/java/WayofTime/bloodmagic/ConfigHandler.java b/src/main/java/WayofTime/bloodmagic/ConfigHandler.java index 5d213c2e..c0823d66 100644 --- a/src/main/java/WayofTime/bloodmagic/ConfigHandler.java +++ b/src/main/java/WayofTime/bloodmagic/ConfigHandler.java @@ -138,6 +138,8 @@ public class ConfigHandler // General public static int sacrificialPackConversion; + public static int sacrificialDaggerDamage; + public static int sacrificialDaggerConversion; // Client public static boolean alwaysRenderRoutingLines; @@ -286,6 +288,8 @@ public class ConfigHandler config.addCustomCategoryComment(category, "General settings"); BloodMagicAPI.setLoggingEnabled(config.getBoolean("enableLogging", category, true, "Allows logging information to the console. Fatal errors will bypass this")); sacrificialPackConversion = config.getInt("sacrificialPackConversion", category, 20, 0, 100, "Base multiplier for the Coat of Arms. DamageDealt * sacrificialPackConversion"); + sacrificialDaggerDamage = config.getInt("sacrificialDaggerDamage", category, 2, 0, 10000, "Damage done from using the Sacrificial Dagger"); + sacrificialDaggerConversion = config.getInt("sacrificialDaggerConversion", category, 100, 0, 10000, "Amount of LP received per damage point (not heart!)"); category = "Client"; config.addCustomCategoryComment(category, "Client only settings"); diff --git a/src/main/java/WayofTime/bloodmagic/api/util/helper/PlayerSacrificeHelper.java b/src/main/java/WayofTime/bloodmagic/api/util/helper/PlayerSacrificeHelper.java index 8dd87fe6..5aa8e8d9 100644 --- a/src/main/java/WayofTime/bloodmagic/api/util/helper/PlayerSacrificeHelper.java +++ b/src/main/java/WayofTime/bloodmagic/api/util/helper/PlayerSacrificeHelper.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.api.util.helper; +import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.api.altar.IBloodAltar; import WayofTime.bloodmagic.registry.ModPotions; import net.minecraft.entity.EntityLivingBase; @@ -70,7 +71,7 @@ public class PlayerSacrificeHelper { float sacrificedHealth = health - maxHealth / 10.0f; - if (findAndFillAltar(player.getEntityWorld(), player, (int) (sacrificedHealth * 100f * getModifier(amount)), false)) + if (findAndFillAltar(player.getEntityWorld(), player, (int) (sacrificedHealth * ConfigHandler.sacrificialDaggerConversion * getModifier(amount)), false)) { player.setHealth(maxHealth / 10.0f); setPlayerIncense(player, 0); diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java b/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java index 65edfc5f..cd1e8a0c 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.client.IMeshProvider; import net.minecraft.client.renderer.ItemMeshDefinition; import net.minecraft.client.renderer.block.model.ModelResourceLocation; @@ -105,7 +106,7 @@ public class ItemSacrificialDagger extends Item implements IMeshProvider return new ActionResult(EnumActionResult.SUCCESS, stack); } - int lpAdded = 200; + int lpAdded = getMetadata(stack) == 1 ? Integer.MAX_VALUE : ConfigHandler.sacrificialDaggerConversion * ConfigHandler.sacrificialDaggerDamage; RayTraceResult rayTrace = rayTrace(world, player, false); if (rayTrace != null && rayTrace.typeOfHit == RayTraceResult.Type.BLOCK) @@ -118,7 +119,7 @@ public class ItemSacrificialDagger extends Item implements IMeshProvider if (!player.capabilities.isCreativeMode) { - SacrificeKnifeUsedEvent evt = new SacrificeKnifeUsedEvent(player, true, true, 2, lpAdded); + SacrificeKnifeUsedEvent evt = new SacrificeKnifeUsedEvent(player, true, true, ConfigHandler.sacrificialDaggerDamage, lpAdded); if (MinecraftForge.EVENT_BUS.post(evt)) return super.onItemRightClick(stack, world, player, hand); @@ -126,7 +127,7 @@ public class ItemSacrificialDagger extends Item implements IMeshProvider { player.hurtResistantTime = 0; player.attackEntityFrom(BloodMagicAPI.getDamageSource(), 0.001F); - player.setHealth(Math.max(player.getHealth() - 2, 0.0001f)); + player.setHealth(Math.max(player.getHealth() - ConfigHandler.sacrificialDaggerDamage, 0.0001f)); if (player.getHealth() <= 0.001f) { player.onDeath(BloodMagicAPI.getDamageSource()); diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java index 5c6b2ecc..a9d2d2de 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java @@ -3,12 +3,14 @@ package WayofTime.bloodmagic.registry; import java.util.ArrayList; import java.util.List; +import WayofTime.bloodmagic.api.BloodMagicAPI; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.ForgeModContainer; +import net.minecraftforge.fluids.UniversalBucket; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.RecipeSorter; @@ -156,7 +158,7 @@ public class ModRecipes AltarRecipeRegistry.registerFillRecipe(OrbRegistry.getOrbStack(ModItems.orbWeak), EnumAltarTier.ONE, ModItems.orbWeak.getCapacity(), 2, 1); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.DIAMOND), OrbRegistry.getOrbStack(ModItems.orbWeak), EnumAltarTier.ONE, 2000, 2, 1)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.STONE), new ItemStack(ModItems.slate), EnumAltarTier.ONE, 1000, 5, 5)); - AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.BUCKET), new ItemStack(ForgeModContainer.getInstance().universalBucket), EnumAltarTier.ONE, 1000, 5, 0)); + AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.BUCKET), UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, BloodMagicAPI.getLifeEssence()), EnumAltarTier.ONE, 1000, 5, 0)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.BOOK), new ItemStack(ModItems.sanguineBook), EnumAltarTier.ONE, 1000, 20, 0)); // TWO diff --git a/src/main/java/WayofTime/bloodmagic/ritual/RitualFeatheredKnife.java b/src/main/java/WayofTime/bloodmagic/ritual/RitualFeatheredKnife.java index 5097ae44..aa22e32a 100644 --- a/src/main/java/WayofTime/bloodmagic/ritual/RitualFeatheredKnife.java +++ b/src/main/java/WayofTime/bloodmagic/ritual/RitualFeatheredKnife.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.ritual; +import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.saving.SoulNetwork; import WayofTime.bloodmagic.api.ritual.*; @@ -20,8 +21,6 @@ public class RitualFeatheredKnife extends Ritual public static final String ALTAR_RANGE = "altar"; public static final String DAMAGE_RANGE = "damage"; - public static final int SACRIFICE_AMOUNT = 100; - public BlockPos altarOffsetPos = new BlockPos(0, 0, 0); //TODO: Save! public RitualFeatheredKnife() @@ -90,7 +89,7 @@ public class RitualFeatheredKnife extends Ritual { player.setHealth(health - 1); - tileAltar.sacrificialDaggerCall(SACRIFICE_AMOUNT, false); + tileAltar.sacrificialDaggerCall(ConfigHandler.sacrificialDaggerConversion, false); totalEffects++;