Bucket recipe fix and Creative Sacrificial Dagger fix (#827)

* Bucket recipe fix and Creative Sacrificial Dagger fix

* Do #808

* Add a Sacrificial Dagger conversion config

* Put the conversion everywhere
This commit is contained in:
Arcaratus 2016-06-28 11:55:58 -04:00 committed by WayofTime
parent 81a5e3c956
commit 81d7cd4093
5 changed files with 15 additions and 8 deletions

View file

@ -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");

View file

@ -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);

View file

@ -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<ItemStack>(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());

View file

@ -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

View file

@ -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++;