Renamed nomenclature to Demonic Will instead of souls - still missing a few spots
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
#Thu Jan 07 22:26:15 EST 2016
|
#Sat Jan 09 07:22:26 EST 2016
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
|
org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
|
||||||
|
@ -288,10 +288,10 @@ org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
|
||||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
|
||||||
org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=next_line
|
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
|
org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=next_line
|
||||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
|
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
|
||||||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
|
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
|
||||||
|
|
|
@ -12,7 +12,7 @@ import net.minecraft.util.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.oredict.OreDictionary;
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
|
|
||||||
public class SoulForgeRecipe
|
public class TartaricForgeRecipe
|
||||||
{
|
{
|
||||||
protected ItemStack output = null;
|
protected ItemStack output = null;
|
||||||
protected ArrayList<Object> input = new ArrayList<Object>();
|
protected ArrayList<Object> input = new ArrayList<Object>();
|
||||||
|
@ -21,17 +21,17 @@ public class SoulForgeRecipe
|
||||||
@Getter
|
@Getter
|
||||||
protected double soulsDrained;
|
protected double soulsDrained;
|
||||||
|
|
||||||
public SoulForgeRecipe(Block result, double minSouls, double drain, Object... recipe)
|
public TartaricForgeRecipe(Block result, double minSouls, double drain, Object... recipe)
|
||||||
{
|
{
|
||||||
this(new ItemStack(result), minSouls, drain, recipe);
|
this(new ItemStack(result), minSouls, drain, recipe);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SoulForgeRecipe(Item result, double minSouls, double drain, Object... recipe)
|
public TartaricForgeRecipe(Item result, double minSouls, double drain, Object... recipe)
|
||||||
{
|
{
|
||||||
this(new ItemStack(result), minSouls, drain, recipe);
|
this(new ItemStack(result), minSouls, drain, recipe);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SoulForgeRecipe(ItemStack result, double minSouls, double drain, Object... recipe)
|
public TartaricForgeRecipe(ItemStack result, double minSouls, double drain, Object... recipe)
|
||||||
{
|
{
|
||||||
output = result.copy();
|
output = result.copy();
|
||||||
this.minimumSouls = minSouls;
|
this.minimumSouls = minSouls;
|
|
@ -7,26 +7,26 @@ import lombok.Getter;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.BlockPos;
|
import net.minecraft.util.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import WayofTime.bloodmagic.api.recipe.SoulForgeRecipe;
|
import WayofTime.bloodmagic.api.recipe.TartaricForgeRecipe;
|
||||||
|
|
||||||
public class SoulForgeRecipeRegistry
|
public class TartaricForgeRecipeRegistry
|
||||||
{
|
{
|
||||||
@Getter
|
@Getter
|
||||||
private static List<SoulForgeRecipe> recipeList = new ArrayList<SoulForgeRecipe>();
|
private static List<TartaricForgeRecipe> recipeList = new ArrayList<TartaricForgeRecipe>();
|
||||||
|
|
||||||
public static void registerRecipe(SoulForgeRecipe recipe)
|
public static void registerRecipe(TartaricForgeRecipe recipe)
|
||||||
{
|
{
|
||||||
recipeList.add(recipe);
|
recipeList.add(recipe);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerRecipe(ItemStack outputStack, double minimulSouls, double drain, Object... objects)
|
public static void registerRecipe(ItemStack outputStack, double minimulSouls, double drain, Object... objects)
|
||||||
{
|
{
|
||||||
registerRecipe(new SoulForgeRecipe(outputStack, minimulSouls, drain, objects));
|
registerRecipe(new TartaricForgeRecipe(outputStack, minimulSouls, drain, objects));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SoulForgeRecipe getMatchingRecipe(List<ItemStack> itemList, World world, BlockPos pos)
|
public static TartaricForgeRecipe getMatchingRecipe(List<ItemStack> itemList, World world, BlockPos pos)
|
||||||
{
|
{
|
||||||
for (SoulForgeRecipe recipe : recipeList)
|
for (TartaricForgeRecipe recipe : recipeList)
|
||||||
{
|
{
|
||||||
if (recipe.matches(itemList, world, pos))
|
if (recipe.matches(itemList, world, pos))
|
||||||
{
|
{
|
30
src/main/java/WayofTime/bloodmagic/api/soul/IDemonWill.java
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
package WayofTime.bloodmagic.api.soul;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public interface IDemonWill
|
||||||
|
{
|
||||||
|
public double getWill(ItemStack soulStack);
|
||||||
|
|
||||||
|
public void setWill(ItemStack willStack, double will);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drains the demonic will from the willStack. If all of the will is
|
||||||
|
* drained, the willStack will be removed.
|
||||||
|
*
|
||||||
|
* @param willStack
|
||||||
|
* @param drainAmount
|
||||||
|
* @return The amount of will drained.
|
||||||
|
*/
|
||||||
|
public double drainWill(ItemStack willStack, double drainAmount);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new ItemStack with the specified number of will. Implementation
|
||||||
|
* should respect the number requested.
|
||||||
|
*
|
||||||
|
* @param meta
|
||||||
|
* @param number
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public ItemStack createWill(int meta, double number);
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
package WayofTime.bloodmagic.api.soul;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public interface IDemonWillGem
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param willGemStack
|
||||||
|
* - The ItemStack for this demon will gem.
|
||||||
|
* @param willStack
|
||||||
|
* - The ItemStack for the will. Item should extend IDemonWill
|
||||||
|
* @return - The remainder willStack after the will has been absorbed into
|
||||||
|
* the gem. Return null if there is no will left in the stack.
|
||||||
|
*/
|
||||||
|
public ItemStack fillDemonWillGem(ItemStack willGemStack, ItemStack willStack);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the number of souls that are left in the soul gem. Returns a
|
||||||
|
* double because souls can be fractionally drained.
|
||||||
|
*
|
||||||
|
* @param willGemStack
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public double getWill(ItemStack willGemStack);
|
||||||
|
|
||||||
|
public void setWill(ItemStack willGemStack, double amount);
|
||||||
|
|
||||||
|
public int getMaxWill(ItemStack willGemStack);
|
||||||
|
|
||||||
|
public double drainWill(ItemStack stack, double drainAmount);
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
package WayofTime.bloodmagic.api.soul;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
public interface IDemonWillWeapon
|
||||||
|
{
|
||||||
|
public List<ItemStack> getRandomDemonWillDrop(EntityLivingBase killedEntity, EntityLivingBase attackingEntity, ItemStack stack, int looting);
|
||||||
|
}
|
|
@ -1,30 +0,0 @@
|
||||||
package WayofTime.bloodmagic.api.soul;
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
public interface ISoul
|
|
||||||
{
|
|
||||||
public double getSouls(ItemStack soulStack);
|
|
||||||
|
|
||||||
public void setSouls(ItemStack soulStack, double souls);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Drains the souls from the soulStack. If all of the souls are drained, the
|
|
||||||
* soulStack will be removed.
|
|
||||||
*
|
|
||||||
* @param soulStack
|
|
||||||
* @param drainAmount
|
|
||||||
* @return The number of souls drained.
|
|
||||||
*/
|
|
||||||
public double drainSouls(ItemStack soulStack, double drainAmount);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new ItemStack with the specified number of souls.
|
|
||||||
* Implementation should respect the number requested.
|
|
||||||
*
|
|
||||||
* @param meta
|
|
||||||
* @param number
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public ItemStack createSoul(int meta, double number);
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
package WayofTime.bloodmagic.api.soul;
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
public interface ISoulGem
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param soulGemStack
|
|
||||||
* - The ItemStack for this soul gem.
|
|
||||||
* @param soulStack
|
|
||||||
* - The ItemStack for the soul. Item should extend ISoul
|
|
||||||
* @return - The remainder soulStack after the souls have been absorbed into
|
|
||||||
* the gem. Return null if there are no souls left in the stack.
|
|
||||||
*/
|
|
||||||
public ItemStack fillSoulGem(ItemStack soulGemStack, ItemStack soulStack);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the number of souls that are left in the soul gem. Returns a
|
|
||||||
* double because souls can be fractionally drained.
|
|
||||||
*
|
|
||||||
* @param soulGemStack
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public double getSouls(ItemStack soulGemStack);
|
|
||||||
|
|
||||||
public void setSouls(ItemStack soulGemStack, double amount);
|
|
||||||
|
|
||||||
public int getMaxSouls(ItemStack soulGemStack);
|
|
||||||
|
|
||||||
public double drainSouls(ItemStack stack, double drainAmount);
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
package WayofTime.bloodmagic.api.soul;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
|
|
||||||
public interface ISoulWeapon
|
|
||||||
{
|
|
||||||
public List<ItemStack> getRandomSoulDrop(EntityLivingBase killedEntity, EntityLivingBase attackingEntity, ItemStack stack, int looting);
|
|
||||||
}
|
|
|
@ -12,9 +12,9 @@ import net.minecraft.item.ItemStack;
|
||||||
* @author WayofTime
|
* @author WayofTime
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class PlayerSoulHandler
|
public class PlayerDemonWillHandler
|
||||||
{
|
{
|
||||||
public static double getTotalSouls(EntityPlayer player)
|
public static double getTotalDemonWill(EntityPlayer player)
|
||||||
{
|
{
|
||||||
ItemStack[] inventory = player.inventory.mainInventory;
|
ItemStack[] inventory = player.inventory.mainInventory;
|
||||||
double souls = 0;
|
double souls = 0;
|
||||||
|
@ -24,12 +24,12 @@ public class PlayerSoulHandler
|
||||||
ItemStack stack = inventory[i];
|
ItemStack stack = inventory[i];
|
||||||
if (stack != null)
|
if (stack != null)
|
||||||
{
|
{
|
||||||
if (stack.getItem() instanceof ISoul)
|
if (stack.getItem() instanceof IDemonWill)
|
||||||
{
|
{
|
||||||
souls += ((ISoul) stack.getItem()).getSouls(stack);
|
souls += ((IDemonWill) stack.getItem()).getWill(stack);
|
||||||
} else if (stack.getItem() instanceof ISoulGem)
|
} else if (stack.getItem() instanceof IDemonWillGem)
|
||||||
{
|
{
|
||||||
souls += ((ISoulGem) stack.getItem()).getSouls(stack);
|
souls += ((IDemonWillGem) stack.getItem()).getWill(stack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ public class PlayerSoulHandler
|
||||||
* @param amount
|
* @param amount
|
||||||
* @return - amount consumed
|
* @return - amount consumed
|
||||||
*/
|
*/
|
||||||
public static double consumeSouls(EntityPlayer player, double amount)
|
public static double consumeDemonWill(EntityPlayer player, double amount)
|
||||||
{
|
{
|
||||||
double consumed = 0;
|
double consumed = 0;
|
||||||
|
|
||||||
|
@ -59,16 +59,16 @@ public class PlayerSoulHandler
|
||||||
ItemStack stack = inventory[i];
|
ItemStack stack = inventory[i];
|
||||||
if (stack != null)
|
if (stack != null)
|
||||||
{
|
{
|
||||||
if (stack.getItem() instanceof ISoul)
|
if (stack.getItem() instanceof IDemonWill)
|
||||||
{
|
{
|
||||||
consumed += ((ISoul) stack.getItem()).drainSouls(stack, amount - consumed);
|
consumed += ((IDemonWill) stack.getItem()).drainWill(stack, amount - consumed);
|
||||||
if (((ISoul) stack.getItem()).getSouls(stack) <= 0)
|
if (((IDemonWill) stack.getItem()).getWill(stack) <= 0)
|
||||||
{
|
{
|
||||||
inventory[i] = null;
|
inventory[i] = null;
|
||||||
}
|
}
|
||||||
} else if (stack.getItem() instanceof ISoulGem)
|
} else if (stack.getItem() instanceof IDemonWillGem)
|
||||||
{
|
{
|
||||||
consumed += ((ISoulGem) stack.getItem()).drainSouls(stack, amount - consumed);
|
consumed += ((IDemonWillGem) stack.getItem()).drainWill(stack, amount - consumed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,15 +77,15 @@ public class PlayerSoulHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds an ISoul contained in an ItemStack to one of the Soul Gems in the
|
* Adds an IDemonWill contained in an ItemStack to one of the Soul Gems in
|
||||||
* player's inventory.
|
* the player's inventory.
|
||||||
*
|
*
|
||||||
* @param player
|
* @param player
|
||||||
* @param soulStack
|
* @param soulStack
|
||||||
* - ItemStack that contains an ISoul to be added
|
* - ItemStack that contains an IDemonWill to be added
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static ItemStack addSouls(EntityPlayer player, ItemStack soulStack)
|
public static ItemStack addDemonWill(EntityPlayer player, ItemStack soulStack)
|
||||||
{
|
{
|
||||||
if (soulStack == null)
|
if (soulStack == null)
|
||||||
{
|
{
|
||||||
|
@ -99,9 +99,9 @@ public class PlayerSoulHandler
|
||||||
ItemStack stack = inventory[i];
|
ItemStack stack = inventory[i];
|
||||||
if (stack != null)
|
if (stack != null)
|
||||||
{
|
{
|
||||||
if (stack.getItem() instanceof ISoulGem)
|
if (stack.getItem() instanceof IDemonWillGem)
|
||||||
{
|
{
|
||||||
ItemStack newStack = ((ISoulGem) stack.getItem()).fillSoulGem(stack, soulStack);
|
ItemStack newStack = ((IDemonWillGem) stack.getItem()).fillDemonWillGem(stack, soulStack);
|
||||||
if (newStack == null)
|
if (newStack == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
@ -113,7 +113,7 @@ public class PlayerSoulHandler
|
||||||
return soulStack;
|
return soulStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double addSouls(EntityPlayer player, double amount)
|
public static double addDemonWill(EntityPlayer player, double amount)
|
||||||
{
|
{
|
||||||
ItemStack[] inventory = player.inventory.mainInventory;
|
ItemStack[] inventory = player.inventory.mainInventory;
|
||||||
double remaining = amount;
|
double remaining = amount;
|
||||||
|
@ -123,11 +123,11 @@ public class PlayerSoulHandler
|
||||||
ItemStack stack = inventory[i];
|
ItemStack stack = inventory[i];
|
||||||
if (stack != null)
|
if (stack != null)
|
||||||
{
|
{
|
||||||
if (stack.getItem() instanceof ISoulGem)
|
if (stack.getItem() instanceof IDemonWillGem)
|
||||||
{
|
{
|
||||||
double souls = ((ISoulGem) stack.getItem()).getSouls(stack);
|
double souls = ((IDemonWillGem) stack.getItem()).getWill(stack);
|
||||||
double fill = Math.min(((ISoulGem) stack.getItem()).getMaxSouls(stack) - souls, remaining);
|
double fill = Math.min(((IDemonWillGem) stack.getItem()).getMaxWill(stack) - souls, remaining);
|
||||||
((ISoulGem) stack.getItem()).setSouls(stack, fill + souls);
|
((IDemonWillGem) stack.getItem()).setWill(stack, fill + souls);
|
||||||
remaining -= fill;
|
remaining -= fill;
|
||||||
|
|
||||||
if (remaining <= 0)
|
if (remaining <= 0)
|
|
@ -13,19 +13,19 @@ import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulArrow;
|
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public class RenderEntitySoulArrow extends Render<EntitySoulArrow>
|
public class RenderEntitySentientArrow extends Render<EntitySentientArrow>
|
||||||
{
|
{
|
||||||
private static final ResourceLocation arrowTextures = new ResourceLocation("bloodmagic:textures/entities/soulArrow.png");
|
private static final ResourceLocation arrowTextures = new ResourceLocation("bloodmagic:textures/entities/soulArrow.png");
|
||||||
|
|
||||||
public RenderEntitySoulArrow(RenderManager renderManagerIn)
|
public RenderEntitySentientArrow(RenderManager renderManagerIn)
|
||||||
{
|
{
|
||||||
super(renderManagerIn);
|
super(renderManagerIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doRender(EntitySoulArrow entity, double x, double y, double z, float entityYaw, float partialTicks)
|
public void doRender(EntitySentientArrow entity, double x, double y, double z, float entityYaw, float partialTicks)
|
||||||
{
|
{
|
||||||
this.bindEntityTexture(entity);
|
this.bindEntityTexture(entity);
|
||||||
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
|
@ -93,7 +93,7 @@ public class RenderEntitySoulArrow extends Render<EntitySoulArrow>
|
||||||
* Returns the location of an entity's texture. Doesn't seem to be called
|
* Returns the location of an entity's texture. Doesn't seem to be called
|
||||||
* unless you call Render.bindEntityTexture.
|
* unless you call Render.bindEntityTexture.
|
||||||
*/
|
*/
|
||||||
protected ResourceLocation getEntityTexture(EntitySoulArrow entity)
|
protected ResourceLocation getEntityTexture(EntitySentientArrow entity)
|
||||||
{
|
{
|
||||||
return arrowTextures;
|
return arrowTextures;
|
||||||
}
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
package WayofTime.bloodmagic.client.render.entity;
|
||||||
|
|
||||||
|
import net.minecraft.client.renderer.entity.Render;
|
||||||
|
import net.minecraft.client.renderer.entity.RenderManager;
|
||||||
|
import net.minecraftforge.fml.client.registry.IRenderFactory;
|
||||||
|
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
||||||
|
|
||||||
|
public class SentientArrowRenderFactory implements IRenderFactory<EntitySentientArrow>
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public Render<? super EntitySentientArrow> createRenderFor(RenderManager manager)
|
||||||
|
{
|
||||||
|
return new RenderEntitySentientArrow(manager);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,15 +0,0 @@
|
||||||
package WayofTime.bloodmagic.client.render.entity;
|
|
||||||
|
|
||||||
import net.minecraft.client.renderer.entity.Render;
|
|
||||||
import net.minecraft.client.renderer.entity.RenderManager;
|
|
||||||
import net.minecraftforge.fml.client.registry.IRenderFactory;
|
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulArrow;
|
|
||||||
|
|
||||||
public class SoulArrowRenderFactory implements IRenderFactory<EntitySoulArrow>
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public Render<? super EntitySoulArrow> createRenderFor(RenderManager manager)
|
|
||||||
{
|
|
||||||
return new RenderEntitySoulArrow(manager);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -10,9 +10,9 @@ import WayofTime.bloodmagic.compat.jei.altar.AltarRecipeMaker;
|
||||||
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeCategory;
|
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeCategory;
|
||||||
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeHandler;
|
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeHandler;
|
||||||
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeMaker;
|
import WayofTime.bloodmagic.compat.jei.binding.BindingRecipeMaker;
|
||||||
import WayofTime.bloodmagic.compat.jei.forge.SoulForgeRecipeCategory;
|
import WayofTime.bloodmagic.compat.jei.forge.TartaricForgeRecipeCategory;
|
||||||
import WayofTime.bloodmagic.compat.jei.forge.SoulForgeRecipeHandler;
|
import WayofTime.bloodmagic.compat.jei.forge.TartaricForgeRecipeHandler;
|
||||||
import WayofTime.bloodmagic.compat.jei.forge.SoulForgeRecipeMaker;
|
import WayofTime.bloodmagic.compat.jei.forge.TartaricForgeRecipeMaker;
|
||||||
import WayofTime.bloodmagic.registry.ModBlocks;
|
import WayofTime.bloodmagic.registry.ModBlocks;
|
||||||
import WayofTime.bloodmagic.registry.ModItems;
|
import WayofTime.bloodmagic.registry.ModItems;
|
||||||
import mezz.jei.api.*;
|
import mezz.jei.api.*;
|
||||||
|
@ -26,24 +26,14 @@ public class BloodMagicPlugin implements IModPlugin
|
||||||
@Override
|
@Override
|
||||||
public void register(IModRegistry registry)
|
public void register(IModRegistry registry)
|
||||||
{
|
{
|
||||||
registry.addRecipeCategories(
|
registry.addRecipeCategories(new AltarRecipeCategory(), new BindingRecipeCategory(), new AlchemyArrayCraftingCategory(), new TartaricForgeRecipeCategory());
|
||||||
new AltarRecipeCategory(),
|
|
||||||
new BindingRecipeCategory(),
|
|
||||||
new AlchemyArrayCraftingCategory(),
|
|
||||||
new SoulForgeRecipeCategory()
|
|
||||||
);
|
|
||||||
|
|
||||||
registry.addRecipeHandlers(
|
registry.addRecipeHandlers(new AltarRecipeHandler(), new BindingRecipeHandler(), new AlchemyArrayCraftingRecipeHandler(), new TartaricForgeRecipeHandler());
|
||||||
new AltarRecipeHandler(),
|
|
||||||
new BindingRecipeHandler(),
|
|
||||||
new AlchemyArrayCraftingRecipeHandler(),
|
|
||||||
new SoulForgeRecipeHandler()
|
|
||||||
);
|
|
||||||
|
|
||||||
registry.addRecipes(AltarRecipeMaker.getRecipes());
|
registry.addRecipes(AltarRecipeMaker.getRecipes());
|
||||||
registry.addRecipes(BindingRecipeMaker.getRecipes());
|
registry.addRecipes(BindingRecipeMaker.getRecipes());
|
||||||
registry.addRecipes(AlchemyArrayCraftingRecipeMaker.getRecipes());
|
registry.addRecipes(AlchemyArrayCraftingRecipeMaker.getRecipes());
|
||||||
registry.addRecipes(SoulForgeRecipeMaker.getRecipes());
|
registry.addRecipes(TartaricForgeRecipeMaker.getRecipes());
|
||||||
|
|
||||||
registry.addDescription(new ItemStack(ModItems.altarMaker), "jei.BloodMagic.desc.altarBuilder");
|
registry.addDescription(new ItemStack(ModItems.altarMaker), "jei.BloodMagic.desc.altarBuilder");
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
package WayofTime.bloodmagic.compat.jei.forge;
|
|
||||||
|
|
||||||
import WayofTime.bloodmagic.api.recipe.SoulForgeRecipe;
|
|
||||||
import WayofTime.bloodmagic.api.registry.SoulForgeRecipeRegistry;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class SoulForgeRecipeMaker
|
|
||||||
{
|
|
||||||
@Nonnull
|
|
||||||
public static List<SoulForgeRecipeJEI> getRecipes()
|
|
||||||
{
|
|
||||||
List<SoulForgeRecipe> recipeList = SoulForgeRecipeRegistry.getRecipeList();
|
|
||||||
ArrayList<SoulForgeRecipeJEI> recipes = new ArrayList<SoulForgeRecipeJEI>();
|
|
||||||
|
|
||||||
for (SoulForgeRecipe recipe : recipeList)
|
|
||||||
recipes.add(new SoulForgeRecipeJEI(recipe));
|
|
||||||
|
|
||||||
return recipes;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,8 +1,10 @@
|
||||||
package WayofTime.bloodmagic.compat.jei.forge;
|
package WayofTime.bloodmagic.compat.jei.forge;
|
||||||
|
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import java.util.List;
|
||||||
import WayofTime.bloodmagic.compat.jei.BloodMagicPlugin;
|
import java.util.Set;
|
||||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
import mezz.jei.api.gui.ICraftingGridHelper;
|
import mezz.jei.api.gui.ICraftingGridHelper;
|
||||||
import mezz.jei.api.gui.IDrawable;
|
import mezz.jei.api.gui.IDrawable;
|
||||||
import mezz.jei.api.gui.IGuiItemStackGroup;
|
import mezz.jei.api.gui.IGuiItemStackGroup;
|
||||||
|
@ -12,12 +14,11 @@ import mezz.jei.api.recipe.IRecipeWrapper;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
|
import WayofTime.bloodmagic.compat.jei.BloodMagicPlugin;
|
||||||
|
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
public class TartaricForgeRecipeCategory implements IRecipeCategory
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class SoulForgeRecipeCategory implements IRecipeCategory
|
|
||||||
{
|
{
|
||||||
private static final int OUTPUT_SLOT = 0;
|
private static final int OUTPUT_SLOT = 0;
|
||||||
private static final int GEM_SLOT = 1;
|
private static final int GEM_SLOT = 1;
|
||||||
|
@ -30,7 +31,8 @@ public class SoulForgeRecipeCategory implements IRecipeCategory
|
||||||
@Nonnull
|
@Nonnull
|
||||||
private final ICraftingGridHelper craftingGridHelper;
|
private final ICraftingGridHelper craftingGridHelper;
|
||||||
|
|
||||||
public SoulForgeRecipeCategory() {
|
public TartaricForgeRecipeCategory()
|
||||||
|
{
|
||||||
craftingGridHelper = BloodMagicPlugin.jeiHelper.getGuiHelper().createCraftingGridHelper(INPUT_SLOT, OUTPUT_SLOT);
|
craftingGridHelper = BloodMagicPlugin.jeiHelper.getGuiHelper().createCraftingGridHelper(INPUT_SLOT, OUTPUT_SLOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,15 +78,18 @@ public class SoulForgeRecipeCategory implements IRecipeCategory
|
||||||
guiItemStacks.init(OUTPUT_SLOT, false, 73, 13);
|
guiItemStacks.init(OUTPUT_SLOT, false, 73, 13);
|
||||||
guiItemStacks.init(GEM_SLOT, true, 42, 0);
|
guiItemStacks.init(GEM_SLOT, true, 42, 0);
|
||||||
|
|
||||||
for (int y = 0; y < 3; ++y) {
|
for (int y = 0; y < 3; ++y)
|
||||||
for (int x = 0; x < 3; ++x) {
|
{
|
||||||
|
for (int x = 0; x < 3; ++x)
|
||||||
|
{
|
||||||
int index = INPUT_SLOT + x + (y * 3);
|
int index = INPUT_SLOT + x + (y * 3);
|
||||||
guiItemStacks.init(index, true, x * 18, y * 18);
|
guiItemStacks.init(index, true, x * 18, y * 18);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (recipeWrapper instanceof SoulForgeRecipeJEI) {
|
if (recipeWrapper instanceof TartaricForgeRecipeJEI)
|
||||||
SoulForgeRecipeJEI recipe = (SoulForgeRecipeJEI) recipeWrapper;
|
{
|
||||||
|
TartaricForgeRecipeJEI recipe = (TartaricForgeRecipeJEI) recipeWrapper;
|
||||||
guiItemStacks.set(GEM_SLOT, (Set<ItemStack>) recipe.getInputs().get(1));
|
guiItemStacks.set(GEM_SLOT, (Set<ItemStack>) recipe.getInputs().get(1));
|
||||||
craftingGridHelper.setOutput(guiItemStacks, recipe.getOutputs());
|
craftingGridHelper.setOutput(guiItemStacks, recipe.getOutputs());
|
||||||
craftingGridHelper.setInput(guiItemStacks, (List) recipe.getInputs().get(0), 2, 3);
|
craftingGridHelper.setInput(guiItemStacks, (List) recipe.getInputs().get(0), 2, 3);
|
|
@ -6,13 +6,13 @@ import mezz.jei.api.recipe.IRecipeWrapper;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public class SoulForgeRecipeHandler implements IRecipeHandler<SoulForgeRecipeJEI>
|
public class TartaricForgeRecipeHandler implements IRecipeHandler<TartaricForgeRecipeJEI>
|
||||||
{
|
{
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@Override
|
@Override
|
||||||
public Class<SoulForgeRecipeJEI> getRecipeClass()
|
public Class<TartaricForgeRecipeJEI> getRecipeClass()
|
||||||
{
|
{
|
||||||
return SoulForgeRecipeJEI.class;
|
return TartaricForgeRecipeJEI.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
|
@ -24,13 +24,13 @@ public class SoulForgeRecipeHandler implements IRecipeHandler<SoulForgeRecipeJEI
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@Override
|
@Override
|
||||||
public IRecipeWrapper getRecipeWrapper(@Nonnull SoulForgeRecipeJEI recipe)
|
public IRecipeWrapper getRecipeWrapper(@Nonnull TartaricForgeRecipeJEI recipe)
|
||||||
{
|
{
|
||||||
return recipe;
|
return recipe;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isRecipeValid(@Nonnull SoulForgeRecipeJEI recipe)
|
public boolean isRecipeValid(@Nonnull TartaricForgeRecipeJEI recipe)
|
||||||
{
|
{
|
||||||
return recipe.getInputs().get(0).size() > 0 && recipe.getOutputs().size() > 0;
|
return recipe.getInputs().get(0).size() > 0 && recipe.getOutputs().size() > 0;
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
package WayofTime.bloodmagic.compat.jei.forge;
|
package WayofTime.bloodmagic.compat.jei.forge;
|
||||||
|
|
||||||
import WayofTime.bloodmagic.api.recipe.SoulForgeRecipe;
|
import WayofTime.bloodmagic.api.recipe.TartaricForgeRecipe;
|
||||||
import WayofTime.bloodmagic.registry.ModItems;
|
import WayofTime.bloodmagic.registry.ModItems;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import mezz.jei.api.recipe.BlankRecipeWrapper;
|
import mezz.jei.api.recipe.BlankRecipeWrapper;
|
||||||
|
@ -11,14 +11,14 @@ import javax.annotation.Nonnull;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SoulForgeRecipeJEI extends BlankRecipeWrapper
|
public class TartaricForgeRecipeJEI extends BlankRecipeWrapper
|
||||||
{
|
{
|
||||||
@Getter
|
@Getter
|
||||||
private SoulForgeRecipe recipe;
|
private TartaricForgeRecipe recipe;
|
||||||
@Getter
|
@Getter
|
||||||
private Set<ItemStack> validGems = new HashSet<ItemStack>();
|
private Set<ItemStack> validGems = new HashSet<ItemStack>();
|
||||||
|
|
||||||
public SoulForgeRecipeJEI(SoulForgeRecipe recipe)
|
public TartaricForgeRecipeJEI(TartaricForgeRecipe recipe)
|
||||||
{
|
{
|
||||||
this.recipe = recipe;
|
this.recipe = recipe;
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
package WayofTime.bloodmagic.compat.jei.forge;
|
||||||
|
|
||||||
|
import WayofTime.bloodmagic.api.recipe.TartaricForgeRecipe;
|
||||||
|
import WayofTime.bloodmagic.api.registry.TartaricForgeRecipeRegistry;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TartaricForgeRecipeMaker
|
||||||
|
{
|
||||||
|
@Nonnull
|
||||||
|
public static List<TartaricForgeRecipeJEI> getRecipes()
|
||||||
|
{
|
||||||
|
List<TartaricForgeRecipe> recipeList = TartaricForgeRecipeRegistry.getRecipeList();
|
||||||
|
ArrayList<TartaricForgeRecipeJEI> recipes = new ArrayList<TartaricForgeRecipeJEI>();
|
||||||
|
|
||||||
|
for (TartaricForgeRecipe recipe : recipeList)
|
||||||
|
recipes.add(new TartaricForgeRecipeJEI(recipe));
|
||||||
|
|
||||||
|
return recipes;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,33 +1,33 @@
|
||||||
package WayofTime.bloodmagic.entity.projectile;
|
package WayofTime.bloodmagic.entity.projectile;
|
||||||
|
|
||||||
import WayofTime.bloodmagic.api.soul.PlayerSoulHandler;
|
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.entity.projectile.EntityArrow;
|
import net.minecraft.entity.projectile.EntityArrow;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler;
|
||||||
|
|
||||||
public class EntitySoulArrow extends EntityArrow
|
public class EntitySentientArrow extends EntityArrow
|
||||||
{
|
{
|
||||||
public double reimbursedAmountOnHit = 0;
|
public double reimbursedAmountOnHit = 0;
|
||||||
|
|
||||||
public EntitySoulArrow(World worldIn)
|
public EntitySentientArrow(World worldIn)
|
||||||
{
|
{
|
||||||
super(worldIn);
|
super(worldIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public EntitySoulArrow(World worldIn, double x, double y, double z)
|
public EntitySentientArrow(World worldIn, double x, double y, double z)
|
||||||
{
|
{
|
||||||
super(worldIn, x, y, z);
|
super(worldIn, x, y, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
public EntitySoulArrow(World worldIn, EntityLivingBase shooter, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_)
|
public EntitySentientArrow(World worldIn, EntityLivingBase shooter, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_)
|
||||||
{
|
{
|
||||||
super(worldIn, shooter, p_i1755_3_, p_i1755_4_, p_i1755_5_);
|
super(worldIn, shooter, p_i1755_3_, p_i1755_4_, p_i1755_5_);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EntitySoulArrow(World worldIn, EntityLivingBase shooter, float velocity, double reimbursement)
|
public EntitySentientArrow(World worldIn, EntityLivingBase shooter, float velocity, double reimbursement)
|
||||||
{
|
{
|
||||||
super(worldIn, shooter, velocity);
|
super(worldIn, shooter, velocity);
|
||||||
this.reimbursedAmountOnHit = reimbursement;
|
this.reimbursedAmountOnHit = reimbursement;
|
||||||
|
@ -37,7 +37,7 @@ public class EntitySoulArrow extends EntityArrow
|
||||||
{
|
{
|
||||||
if (this.shootingEntity instanceof EntityPlayer)
|
if (this.shootingEntity instanceof EntityPlayer)
|
||||||
{
|
{
|
||||||
PlayerSoulHandler.addSouls((EntityPlayer) this.shootingEntity, reimbursedAmountOnHit);
|
PlayerDemonWillHandler.addDemonWill((EntityPlayer) this.shootingEntity, reimbursedAmountOnHit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,11 +11,11 @@ import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import WayofTime.bloodmagic.BloodMagic;
|
import WayofTime.bloodmagic.BloodMagic;
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoul;
|
import WayofTime.bloodmagic.api.soul.IDemonWill;
|
||||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||||
|
|
||||||
public class ItemMonsterSoul extends Item implements ISoul
|
public class ItemMonsterSoul extends Item implements IDemonWill
|
||||||
{
|
{
|
||||||
public static String[] names = { "base" };
|
public static String[] names = { "base" };
|
||||||
|
|
||||||
|
@ -47,13 +47,13 @@ public class ItemMonsterSoul extends Item implements ISoul
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
|
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
|
||||||
{
|
{
|
||||||
tooltip.add(TextHelper.localize("tooltip.BloodMagic.souls", getSouls(stack)));
|
tooltip.add(TextHelper.localize("tooltip.BloodMagic.will", getWill(stack)));
|
||||||
|
|
||||||
super.addInformation(stack, player, tooltip, advanced);
|
super.addInformation(stack, player, tooltip, advanced);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getSouls(ItemStack soulStack)
|
public double getWill(ItemStack soulStack)
|
||||||
{
|
{
|
||||||
NBTHelper.checkNBT(soulStack);
|
NBTHelper.checkNBT(soulStack);
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ public class ItemMonsterSoul extends Item implements ISoul
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setSouls(ItemStack soulStack, double souls)
|
public void setWill(ItemStack soulStack, double souls)
|
||||||
{
|
{
|
||||||
NBTHelper.checkNBT(soulStack);
|
NBTHelper.checkNBT(soulStack);
|
||||||
|
|
||||||
|
@ -73,21 +73,21 @@ public class ItemMonsterSoul extends Item implements ISoul
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double drainSouls(ItemStack soulStack, double drainAmount)
|
public double drainWill(ItemStack soulStack, double drainAmount)
|
||||||
{
|
{
|
||||||
double souls = getSouls(soulStack);
|
double souls = getWill(soulStack);
|
||||||
|
|
||||||
double soulsDrained = Math.min(drainAmount, souls);
|
double soulsDrained = Math.min(drainAmount, souls);
|
||||||
setSouls(soulStack, souls - soulsDrained);
|
setWill(soulStack, souls - soulsDrained);
|
||||||
|
|
||||||
return soulsDrained;
|
return soulsDrained;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack createSoul(int meta, double number)
|
public ItemStack createWill(int meta, double number)
|
||||||
{
|
{
|
||||||
ItemStack soulStack = new ItemStack(this, 1, meta);
|
ItemStack soulStack = new ItemStack(this, 1, meta);
|
||||||
setSouls(soulStack, number);
|
setWill(soulStack, number);
|
||||||
return soulStack;
|
return soulStack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,14 +15,14 @@ import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import WayofTime.bloodmagic.BloodMagic;
|
import WayofTime.bloodmagic.BloodMagic;
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulArrow;
|
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
||||||
|
|
||||||
public class ItemSoulBow extends ItemBow
|
public class ItemSentientBow extends ItemBow
|
||||||
{
|
{
|
||||||
public ItemSoulBow()
|
public ItemSentientBow()
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
setUnlocalizedName(Constants.Mod.MODID + ".soulBow");
|
setUnlocalizedName(Constants.Mod.MODID + ".sentientBow");
|
||||||
this.setCreativeTab(BloodMagic.tabBloodMagic);
|
this.setCreativeTab(BloodMagic.tabBloodMagic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ public class ItemSoulBow extends ItemBow
|
||||||
f = 1.0F;
|
f = 1.0F;
|
||||||
}
|
}
|
||||||
|
|
||||||
EntityArrow entityarrow = new EntitySoulArrow(worldIn, playerIn, f * 2.0F, 0);
|
EntityArrow entityarrow = new EntitySentientArrow(worldIn, playerIn, f * 2.0F, 0);
|
||||||
|
|
||||||
if (f == 1.0F)
|
if (f == 1.0F)
|
||||||
{
|
{
|
||||||
|
@ -109,13 +109,13 @@ public class ItemSoulBow extends ItemBow
|
||||||
|
|
||||||
if (i >= 18)
|
if (i >= 18)
|
||||||
{
|
{
|
||||||
return new ModelResourceLocation("bloodmagic:ItemSoulBow_pulling_2", "inventory");
|
return new ModelResourceLocation("bloodmagic:ItemSentientBow_pulling_2", "inventory");
|
||||||
} else if (i > 13)
|
} else if (i > 13)
|
||||||
{
|
{
|
||||||
return new ModelResourceLocation("bloodmagic:ItemSoulBow_pulling_1", "inventory");
|
return new ModelResourceLocation("bloodmagic:ItemSentientBow_pulling_1", "inventory");
|
||||||
} else if (i > 0)
|
} else if (i > 0)
|
||||||
{
|
{
|
||||||
return new ModelResourceLocation("bloodmagic:ItemSoulBow_pulling_0", "inventory");
|
return new ModelResourceLocation("bloodmagic:ItemSentientBow_pulling_0", "inventory");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
|
@ -17,9 +17,9 @@ import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import WayofTime.bloodmagic.BloodMagic;
|
import WayofTime.bloodmagic.BloodMagic;
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoul;
|
import WayofTime.bloodmagic.api.soul.IDemonWill;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoulWeapon;
|
import WayofTime.bloodmagic.api.soul.IDemonWillWeapon;
|
||||||
import WayofTime.bloodmagic.api.soul.PlayerSoulHandler;
|
import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler;
|
||||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||||
import WayofTime.bloodmagic.registry.ModItems;
|
import WayofTime.bloodmagic.registry.ModItems;
|
||||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||||
|
@ -27,17 +27,17 @@ import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||||
import com.google.common.collect.HashMultimap;
|
import com.google.common.collect.HashMultimap;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
|
|
||||||
public class ItemSoulSword extends ItemSword implements ISoulWeapon
|
public class ItemSentientSword extends ItemSword implements IDemonWillWeapon
|
||||||
{
|
{
|
||||||
public int[] soulBracket = new int[] { 16 };
|
public int[] soulBracket = new int[] { 16 };
|
||||||
public double[] damageAdded = new double[] { 1 };
|
public double[] damageAdded = new double[] { 1 };
|
||||||
public double[] soulDrainPerSwing = new double[] { 0.1 };
|
public double[] soulDrainPerSwing = new double[] { 0.1 };
|
||||||
|
|
||||||
public ItemSoulSword()
|
public ItemSentientSword()
|
||||||
{
|
{
|
||||||
super(ModItems.soulToolMaterial);
|
super(ModItems.soulToolMaterial);
|
||||||
|
|
||||||
setUnlocalizedName(Constants.Mod.MODID + ".soul.sword");
|
setUnlocalizedName(Constants.Mod.MODID + ".sentientSword");
|
||||||
setHasSubtypes(true);
|
setHasSubtypes(true);
|
||||||
setNoRepair();
|
setNoRepair();
|
||||||
setCreativeTab(BloodMagic.tabBloodMagic);
|
setCreativeTab(BloodMagic.tabBloodMagic);
|
||||||
|
@ -51,7 +51,7 @@ public class ItemSoulSword extends ItemSword implements ISoulWeapon
|
||||||
|
|
||||||
if (getActivated(stack))
|
if (getActivated(stack))
|
||||||
{
|
{
|
||||||
double soulsRemaining = PlayerSoulHandler.getTotalSouls(player);
|
double soulsRemaining = PlayerDemonWillHandler.getTotalDemonWill(player);
|
||||||
int level = getLevel(stack, soulsRemaining);
|
int level = getLevel(stack, soulsRemaining);
|
||||||
|
|
||||||
double drain = level >= 0 ? soulDrainPerSwing[level] : 0;
|
double drain = level >= 0 ? soulDrainPerSwing[level] : 0;
|
||||||
|
@ -90,7 +90,7 @@ public class ItemSoulSword extends ItemSword implements ISoulWeapon
|
||||||
{
|
{
|
||||||
NBTHelper.checkNBT(stack);
|
NBTHelper.checkNBT(stack);
|
||||||
|
|
||||||
tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.soul.sword.desc"));
|
tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.sentientSword.desc"));
|
||||||
|
|
||||||
if (getActivated(stack))
|
if (getActivated(stack))
|
||||||
tooltip.add(TextHelper.localize("tooltip.BloodMagic.activated"));
|
tooltip.add(TextHelper.localize("tooltip.BloodMagic.activated"));
|
||||||
|
@ -107,7 +107,7 @@ public class ItemSoulSword extends ItemSword implements ISoulWeapon
|
||||||
double drain = this.getDrainOfActivatedSword(stack);
|
double drain = this.getDrainOfActivatedSword(stack);
|
||||||
if (drain > 0)
|
if (drain > 0)
|
||||||
{
|
{
|
||||||
double soulsRemaining = PlayerSoulHandler.getTotalSouls(player);
|
double soulsRemaining = PlayerDemonWillHandler.getTotalDemonWill(player);
|
||||||
|
|
||||||
if (drain > soulsRemaining)
|
if (drain > soulsRemaining)
|
||||||
{
|
{
|
||||||
|
@ -115,7 +115,7 @@ public class ItemSoulSword extends ItemSword implements ISoulWeapon
|
||||||
return false;
|
return false;
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
PlayerSoulHandler.consumeSouls(player, drain);
|
PlayerDemonWillHandler.consumeDemonWill(player, drain);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,17 +138,17 @@ public class ItemSoulSword extends ItemSword implements ISoulWeapon
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ItemStack> getRandomSoulDrop(EntityLivingBase killedEntity, EntityLivingBase attackingEntity, ItemStack stack, int looting)
|
public List<ItemStack> getRandomDemonWillDrop(EntityLivingBase killedEntity, EntityLivingBase attackingEntity, ItemStack stack, int looting)
|
||||||
{
|
{
|
||||||
List<ItemStack> soulList = new ArrayList<ItemStack>();
|
List<ItemStack> soulList = new ArrayList<ItemStack>();
|
||||||
|
|
||||||
if (getActivated(stack))
|
if (getActivated(stack))
|
||||||
{
|
{
|
||||||
ISoul soul = ((ISoul) ModItems.monsterSoul);
|
IDemonWill soul = ((IDemonWill) ModItems.monsterSoul);
|
||||||
|
|
||||||
for (int i = 0; i <= looting; i++)
|
for (int i = 0; i <= looting; i++)
|
||||||
{
|
{
|
||||||
ItemStack soulStack = soul.createSoul(0, (getDamageOfActivatedSword(stack) - 7) / 2 * attackingEntity.worldObj.rand.nextDouble() + 0.5);
|
ItemStack soulStack = soul.createWill(0, (getDamageOfActivatedSword(stack) - 7) / 2 * attackingEntity.worldObj.rand.nextDouble() + 0.5);
|
||||||
soulList.add(soulStack);
|
soulList.add(soulStack);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -11,12 +11,12 @@ import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import WayofTime.bloodmagic.BloodMagic;
|
import WayofTime.bloodmagic.BloodMagic;
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoul;
|
import WayofTime.bloodmagic.api.soul.IDemonWill;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoulGem;
|
import WayofTime.bloodmagic.api.soul.IDemonWillGem;
|
||||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||||
|
|
||||||
public class ItemSoulGem extends Item implements ISoulGem
|
public class ItemSoulGem extends Item implements IDemonWillGem
|
||||||
{
|
{
|
||||||
public static String[] names = { "petty", "lesser", "common", "greater", "grand" };
|
public static String[] names = { "petty", "lesser", "common", "greater", "grand" };
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ public class ItemSoulGem extends Item implements ISoulGem
|
||||||
for (int i = 0; i < names.length; i++)
|
for (int i = 0; i < names.length; i++)
|
||||||
{
|
{
|
||||||
ItemStack stack = new ItemStack(this, 1, i);
|
ItemStack stack = new ItemStack(this, 1, i);
|
||||||
this.setSouls(stack, this.getMaxSouls(stack));
|
this.setWill(stack, this.getMaxWill(stack));
|
||||||
list.add(stack);
|
list.add(stack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,26 +59,26 @@ public class ItemSoulGem extends Item implements ISoulGem
|
||||||
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
|
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
|
||||||
{
|
{
|
||||||
tooltip.add(TextHelper.localize("tooltip.BloodMagic.soulGem." + names[stack.getItemDamage()]));
|
tooltip.add(TextHelper.localize("tooltip.BloodMagic.soulGem." + names[stack.getItemDamage()]));
|
||||||
tooltip.add(TextHelper.localize("tooltip.BloodMagic.souls", getSouls(stack)));
|
tooltip.add(TextHelper.localize("tooltip.BloodMagic.will", getWill(stack)));
|
||||||
|
|
||||||
super.addInformation(stack, player, tooltip, advanced);
|
super.addInformation(stack, player, tooltip, advanced);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack fillSoulGem(ItemStack soulGemStack, ItemStack soulStack)
|
public ItemStack fillDemonWillGem(ItemStack soulGemStack, ItemStack soulStack)
|
||||||
{
|
{
|
||||||
if (soulStack != null && soulStack.getItem() instanceof ISoul)
|
if (soulStack != null && soulStack.getItem() instanceof IDemonWill)
|
||||||
{
|
{
|
||||||
ISoul soul = (ISoul) soulStack.getItem();
|
IDemonWill soul = (IDemonWill) soulStack.getItem();
|
||||||
double soulsLeft = getSouls(soulGemStack);
|
double soulsLeft = getWill(soulGemStack);
|
||||||
|
|
||||||
if (soulsLeft < getMaxSouls(soulGemStack))
|
if (soulsLeft < getMaxWill(soulGemStack))
|
||||||
{
|
{
|
||||||
double newSoulsLeft = Math.min(soulsLeft + soul.getSouls(soulStack), getMaxSouls(soulGemStack));
|
double newSoulsLeft = Math.min(soulsLeft + soul.getWill(soulStack), getMaxWill(soulGemStack));
|
||||||
soul.drainSouls(soulStack, newSoulsLeft - soulsLeft);
|
soul.drainWill(soulStack, newSoulsLeft - soulsLeft);
|
||||||
|
|
||||||
setSouls(soulGemStack, newSoulsLeft);
|
setWill(soulGemStack, newSoulsLeft);
|
||||||
if (soul.getSouls(soulStack) <= 0)
|
if (soul.getWill(soulStack) <= 0)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ public class ItemSoulGem extends Item implements ISoulGem
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getSouls(ItemStack soulGemStack)
|
public double getWill(ItemStack soulGemStack)
|
||||||
{
|
{
|
||||||
NBTHelper.checkNBT(soulGemStack);
|
NBTHelper.checkNBT(soulGemStack);
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ public class ItemSoulGem extends Item implements ISoulGem
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setSouls(ItemStack soulGemStack, double souls)
|
public void setWill(ItemStack soulGemStack, double souls)
|
||||||
{
|
{
|
||||||
NBTHelper.checkNBT(soulGemStack);
|
NBTHelper.checkNBT(soulGemStack);
|
||||||
|
|
||||||
|
@ -109,18 +109,18 @@ public class ItemSoulGem extends Item implements ISoulGem
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double drainSouls(ItemStack soulGemStack, double drainAmount)
|
public double drainWill(ItemStack soulGemStack, double drainAmount)
|
||||||
{
|
{
|
||||||
double souls = getSouls(soulGemStack);
|
double souls = getWill(soulGemStack);
|
||||||
|
|
||||||
double soulsDrained = Math.min(drainAmount, souls);
|
double soulsDrained = Math.min(drainAmount, souls);
|
||||||
setSouls(soulGemStack, souls - soulsDrained);
|
setWill(soulGemStack, souls - soulsDrained);
|
||||||
|
|
||||||
return soulsDrained;
|
return soulsDrained;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMaxSouls(ItemStack soulGemStack)
|
public int getMaxWill(ItemStack soulGemStack)
|
||||||
{
|
{
|
||||||
switch (soulGemStack.getMetadata())
|
switch (soulGemStack.getMetadata())
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,9 +10,9 @@ import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
import WayofTime.bloodmagic.client.render.RenderAlchemyArray;
|
import WayofTime.bloodmagic.client.render.RenderAlchemyArray;
|
||||||
import WayofTime.bloodmagic.client.render.RenderAltar;
|
import WayofTime.bloodmagic.client.render.RenderAltar;
|
||||||
import WayofTime.bloodmagic.client.render.entity.SoulArrowRenderFactory;
|
import WayofTime.bloodmagic.client.render.entity.SentientArrowRenderFactory;
|
||||||
import WayofTime.bloodmagic.client.render.entity.SoulSnareRenderFactory;
|
import WayofTime.bloodmagic.client.render.entity.SoulSnareRenderFactory;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulArrow;
|
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
||||||
import WayofTime.bloodmagic.registry.ModBlocks;
|
import WayofTime.bloodmagic.registry.ModBlocks;
|
||||||
import WayofTime.bloodmagic.registry.ModItems;
|
import WayofTime.bloodmagic.registry.ModItems;
|
||||||
|
@ -54,7 +54,7 @@ public class ClientProxy extends CommonProxy
|
||||||
public void registerRenderers()
|
public void registerRenderers()
|
||||||
{
|
{
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntitySoulSnare.class, new SoulSnareRenderFactory());
|
RenderingRegistry.registerEntityRenderingHandler(EntitySoulSnare.class, new SoulSnareRenderFactory());
|
||||||
RenderingRegistry.registerEntityRenderingHandler(EntitySoulArrow.class, new SoulArrowRenderFactory());
|
RenderingRegistry.registerEntityRenderingHandler(EntitySentientArrow.class, new SentientArrowRenderFactory());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -3,7 +3,7 @@ package WayofTime.bloodmagic.registry;
|
||||||
import net.minecraftforge.fml.common.registry.EntityRegistry;
|
import net.minecraftforge.fml.common.registry.EntityRegistry;
|
||||||
import WayofTime.bloodmagic.BloodMagic;
|
import WayofTime.bloodmagic.BloodMagic;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
|
import WayofTime.bloodmagic.entity.projectile.EntityBloodLight;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulArrow;
|
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
||||||
|
|
||||||
public class ModEntities
|
public class ModEntities
|
||||||
|
@ -14,6 +14,6 @@ public class ModEntities
|
||||||
|
|
||||||
EntityRegistry.registerModEntity(EntityBloodLight.class, "BloodLight", id++, BloodMagic.instance, 64, 20, true);
|
EntityRegistry.registerModEntity(EntityBloodLight.class, "BloodLight", id++, BloodMagic.instance, 64, 20, true);
|
||||||
EntityRegistry.registerModEntity(EntitySoulSnare.class, "SoulSnare", id++, BloodMagic.instance, 64, 1, true);
|
EntityRegistry.registerModEntity(EntitySoulSnare.class, "SoulSnare", id++, BloodMagic.instance, 64, 1, true);
|
||||||
EntityRegistry.registerModEntity(EntitySoulArrow.class, "SoulArrow", id++, BloodMagic.instance, 64, 1, true);
|
EntityRegistry.registerModEntity(EntitySentientArrow.class, "SoulArrow", id++, BloodMagic.instance, 64, 1, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,10 +47,10 @@ import WayofTime.bloodmagic.item.sigil.ItemSigilVoid;
|
||||||
import WayofTime.bloodmagic.item.sigil.ItemSigilWater;
|
import WayofTime.bloodmagic.item.sigil.ItemSigilWater;
|
||||||
import WayofTime.bloodmagic.item.sigil.ItemSigilWhirlwind;
|
import WayofTime.bloodmagic.item.sigil.ItemSigilWhirlwind;
|
||||||
import WayofTime.bloodmagic.item.soul.ItemMonsterSoul;
|
import WayofTime.bloodmagic.item.soul.ItemMonsterSoul;
|
||||||
import WayofTime.bloodmagic.item.soul.ItemSoulBow;
|
import WayofTime.bloodmagic.item.soul.ItemSentientBow;
|
||||||
|
import WayofTime.bloodmagic.item.soul.ItemSentientSword;
|
||||||
import WayofTime.bloodmagic.item.soul.ItemSoulGem;
|
import WayofTime.bloodmagic.item.soul.ItemSoulGem;
|
||||||
import WayofTime.bloodmagic.item.soul.ItemSoulSnare;
|
import WayofTime.bloodmagic.item.soul.ItemSoulSnare;
|
||||||
import WayofTime.bloodmagic.item.soul.ItemSoulSword;
|
|
||||||
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
|
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
|
||||||
|
|
||||||
public class ModItems
|
public class ModItems
|
||||||
|
@ -117,8 +117,8 @@ public class ModItems
|
||||||
public static Item soulGem;
|
public static Item soulGem;
|
||||||
public static Item soulSnare;
|
public static Item soulSnare;
|
||||||
|
|
||||||
public static Item soulSword;
|
public static Item sentientSword;
|
||||||
public static Item soulBow;
|
public static Item sentientBow;
|
||||||
|
|
||||||
public static Item.ToolMaterial boundToolMaterial = EnumHelper.addToolMaterial("BoundToolMaterial", 4, 0, 10, 8, 50);
|
public static Item.ToolMaterial boundToolMaterial = EnumHelper.addToolMaterial("BoundToolMaterial", 4, 0, 10, 8, 50);
|
||||||
public static Item.ToolMaterial soulToolMaterial = EnumHelper.addToolMaterial("SoulToolMaterial", 4, 0, 7, 8, 50);
|
public static Item.ToolMaterial soulToolMaterial = EnumHelper.addToolMaterial("SoulToolMaterial", 4, 0, 7, 8, 50);
|
||||||
|
@ -195,8 +195,8 @@ public class ModItems
|
||||||
soulGem = registerItem(new ItemSoulGem());
|
soulGem = registerItem(new ItemSoulGem());
|
||||||
soulSnare = registerItem(new ItemSoulSnare());
|
soulSnare = registerItem(new ItemSoulSnare());
|
||||||
|
|
||||||
soulSword = registerItem(new ItemSoulSword());
|
sentientSword = registerItem(new ItemSentientSword());
|
||||||
soulBow = registerItem(new ItemSoulBow());
|
sentientBow = registerItem(new ItemSentientBow());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void initRenders()
|
public static void initRenders()
|
||||||
|
@ -303,12 +303,12 @@ public class ModItems
|
||||||
renderHelper.itemRender(soulGem, 4);
|
renderHelper.itemRender(soulGem, 4);
|
||||||
renderHelper.itemRender(soulSnare);
|
renderHelper.itemRender(soulSnare);
|
||||||
|
|
||||||
renderHelper.itemRender(soulSword, 0);
|
renderHelper.itemRender(sentientSword, 0);
|
||||||
renderHelper.itemRender(soulSword, 1);
|
renderHelper.itemRender(sentientSword, 1);
|
||||||
renderHelper.itemRender(soulBow, 0, "ItemSoulBow");
|
renderHelper.itemRender(sentientBow, 0, "ItemSentientBow");
|
||||||
renderHelper.itemRender(soulBow, 1, "ItemSoulBow_pulling_0");
|
renderHelper.itemRender(sentientBow, 1, "ItemSentientBow_pulling_0");
|
||||||
renderHelper.itemRender(soulBow, 2, "ItemSoulBow_pulling_1");
|
renderHelper.itemRender(sentientBow, 2, "ItemSentientBow_pulling_1");
|
||||||
renderHelper.itemRender(soulBow, 3, "ItemSoulBow_pulling_2");
|
renderHelper.itemRender(sentientBow, 3, "ItemSentientBow_pulling_2");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ import WayofTime.bloodmagic.api.recipe.ShapelessBloodOrbRecipe;
|
||||||
import WayofTime.bloodmagic.api.registry.AlchemyArrayRecipeRegistry;
|
import WayofTime.bloodmagic.api.registry.AlchemyArrayRecipeRegistry;
|
||||||
import WayofTime.bloodmagic.api.registry.AltarRecipeRegistry;
|
import WayofTime.bloodmagic.api.registry.AltarRecipeRegistry;
|
||||||
import WayofTime.bloodmagic.api.registry.OrbRegistry;
|
import WayofTime.bloodmagic.api.registry.OrbRegistry;
|
||||||
import WayofTime.bloodmagic.api.registry.SoulForgeRecipeRegistry;
|
import WayofTime.bloodmagic.api.registry.TartaricForgeRecipeRegistry;
|
||||||
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
|
import WayofTime.bloodmagic.api.ritual.EnumRuneType;
|
||||||
import WayofTime.bloodmagic.client.render.alchemyArray.BindingAlchemyCircleRenderer;
|
import WayofTime.bloodmagic.client.render.alchemyArray.BindingAlchemyCircleRenderer;
|
||||||
import WayofTime.bloodmagic.compress.AdvancedCompressionHandler;
|
import WayofTime.bloodmagic.compress.AdvancedCompressionHandler;
|
||||||
|
@ -151,21 +151,21 @@ public class ModRecipes
|
||||||
|
|
||||||
public static void addSoulForgeRecipes()
|
public static void addSoulForgeRecipes()
|
||||||
{
|
{
|
||||||
SoulForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.soulGem), 1, 1, "dustRedstone", "ingotGold", "blockGlass", "dyeBlue");
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.soulGem), 1, 1, "dustRedstone", "ingotGold", "blockGlass", "dyeBlue");
|
||||||
SoulForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.soulGem, 1, 1), 60, 20, new ItemStack(ModItems.soulGem), "gemDiamond", "blockRedstone", "blockLapis");
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.soulGem, 1, 1), 60, 20, new ItemStack(ModItems.soulGem), "gemDiamond", "blockRedstone", "blockLapis");
|
||||||
SoulForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.soulGem, 1, 2), 240, 50, new ItemStack(ModItems.soulGem, 1, 1), "gemDiamond", "blockGold", new ItemStack(ModItems.slate, 1, 2));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.soulGem, 1, 2), 240, 50, new ItemStack(ModItems.soulGem, 1, 1), "gemDiamond", "blockGold", new ItemStack(ModItems.slate, 1, 2));
|
||||||
SoulForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.soulSword), 0, 0, new ItemStack(ModItems.soulGem), new ItemStack(Items.iron_sword));
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.sentientSword), 0, 0, new ItemStack(ModItems.soulGem), new ItemStack(Items.iron_sword));
|
||||||
SoulForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.soulBow), 70, 0, new ItemStack(Items.bow), new ItemStack(ModItems.soulGem, 1, 1), Items.string, Items.string);
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.sentientBow), 70, 0, new ItemStack(Items.bow), new ItemStack(ModItems.soulGem, 1, 1), Items.string, Items.string);
|
||||||
SoulForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.arcaneAshes), 0, 0, "dustRedstone", "dyeWhite", new ItemStack(Items.gunpowder), Items.coal);
|
TartaricForgeRecipeRegistry.registerRecipe(new ItemStack(ModItems.arcaneAshes), 0, 0, "dustRedstone", "dyeWhite", new ItemStack(Items.gunpowder), Items.coal);
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_WATER), 10, 3, "sugar", new ItemStack(Items.water_bucket), new ItemStack(Items.water_bucket));
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_WATER), 10, 3, "sugar", new ItemStack(Items.water_bucket), new ItemStack(Items.water_bucket));
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_LAVA), 32, 10, Items.lava_bucket, "dustRedstone", "cobblestone", "blockCoal");
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_LAVA), 32, 10, Items.lava_bucket, "dustRedstone", "cobblestone", "blockCoal");
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_VOID), 64, 10, Items.bucket, Items.string, Items.string, Items.gunpowder);
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_VOID), 64, 10, Items.bucket, Items.string, Items.string, Items.gunpowder);
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_GROWTH), 128, 20, "treeSapling", "treeSapling", Items.reeds, Items.sugar);
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_GROWTH), 128, 20, "treeSapling", "treeSapling", Items.reeds, Items.sugar);
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_AIR), 128, 20, Items.ghast_tear, Items.feather, Items.feather);
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_AIR), 128, 20, Items.ghast_tear, Items.feather, Items.feather);
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SIGHT), 64, 0, ModItems.sigilDivination, "blockGlass", "blockGlass", "dustGlowstone");
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SIGHT), 64, 0, ModItems.sigilDivination, "blockGlass", "blockGlass", "dustGlowstone");
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_FASTMINER), 128, 10, Items.iron_pickaxe, Items.iron_axe, Items.iron_shovel, Items.gunpowder);
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_FASTMINER), 128, 10, Items.iron_pickaxe, Items.iron_axe, Items.iron_shovel, Items.gunpowder);
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_AFFINITY), 300, 30, ModItems.sigilWater, ModItems.sigilAir, ModItems.sigilLava, Blocks.obsidian);
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_AFFINITY), 300, 30, ModItems.sigilWater, ModItems.sigilAir, ModItems.sigilLava, Blocks.obsidian);
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SUPPRESSION), 500, 50, ModBlocks.teleposer, Items.water_bucket, Items.lava_bucket, Items.blaze_rod);
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SUPPRESSION), 500, 50, ModBlocks.teleposer, Items.water_bucket, Items.lava_bucket, Items.blaze_rod);
|
||||||
SoulForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), 400, 10, "dustGlowstone", "dustRedstone", "nuggetGold", Items.gunpowder);
|
TartaricForgeRecipeRegistry.registerRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), 400, 10, "dustGlowstone", "dustRedstone", "nuggetGold", Items.gunpowder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,10 +7,10 @@ import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.ITickable;
|
import net.minecraft.util.ITickable;
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
import WayofTime.bloodmagic.api.recipe.SoulForgeRecipe;
|
import WayofTime.bloodmagic.api.recipe.TartaricForgeRecipe;
|
||||||
import WayofTime.bloodmagic.api.registry.SoulForgeRecipeRegistry;
|
import WayofTime.bloodmagic.api.registry.TartaricForgeRecipeRegistry;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoul;
|
import WayofTime.bloodmagic.api.soul.IDemonWill;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoulGem;
|
import WayofTime.bloodmagic.api.soul.IDemonWillGem;
|
||||||
|
|
||||||
public class TileSoulForge extends TileInventory implements ITickable
|
public class TileSoulForge extends TileInventory implements ITickable
|
||||||
{
|
{
|
||||||
|
@ -53,7 +53,7 @@ public class TileSoulForge extends TileInventory implements ITickable
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
double soulsInGem = getSouls();
|
double soulsInGem = getWill();
|
||||||
|
|
||||||
List<ItemStack> inputList = new ArrayList<ItemStack>();
|
List<ItemStack> inputList = new ArrayList<ItemStack>();
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ public class TileSoulForge extends TileInventory implements ITickable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SoulForgeRecipe recipe = SoulForgeRecipeRegistry.getMatchingRecipe(inputList, getWorld(), getPos());
|
TartaricForgeRecipe recipe = TartaricForgeRecipeRegistry.getMatchingRecipe(inputList, getWorld(), getPos());
|
||||||
if (recipe != null && (soulsInGem >= recipe.getMinimumSouls() || burnTime > 0))
|
if (recipe != null && (soulsInGem >= recipe.getMinimumSouls() || burnTime > 0))
|
||||||
{
|
{
|
||||||
if (canCraft(recipe))
|
if (canCraft(recipe))
|
||||||
|
@ -103,7 +103,7 @@ public class TileSoulForge extends TileInventory implements ITickable
|
||||||
return ((double) burnTime) / ticksRequired;
|
return ((double) burnTime) / ticksRequired;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canCraft(SoulForgeRecipe recipe)
|
private boolean canCraft(TartaricForgeRecipe recipe)
|
||||||
{
|
{
|
||||||
if (recipe == null)
|
if (recipe == null)
|
||||||
{
|
{
|
||||||
|
@ -123,7 +123,7 @@ public class TileSoulForge extends TileInventory implements ITickable
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void craftItem(SoulForgeRecipe recipe)
|
public void craftItem(TartaricForgeRecipe recipe)
|
||||||
{
|
{
|
||||||
if (this.canCraft(recipe))
|
if (this.canCraft(recipe))
|
||||||
{
|
{
|
||||||
|
@ -148,7 +148,7 @@ public class TileSoulForge extends TileInventory implements ITickable
|
||||||
|
|
||||||
if (soulStack != null)
|
if (soulStack != null)
|
||||||
{
|
{
|
||||||
if (soulStack.getItem() instanceof ISoul || soulStack.getItem() instanceof ISoulGem)
|
if (soulStack.getItem() instanceof IDemonWill || soulStack.getItem() instanceof IDemonWillGem)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -157,22 +157,22 @@ public class TileSoulForge extends TileInventory implements ITickable
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getSouls()
|
public double getWill()
|
||||||
{
|
{
|
||||||
ItemStack soulStack = getStackInSlot(soulSlot);
|
ItemStack soulStack = getStackInSlot(soulSlot);
|
||||||
|
|
||||||
if (soulStack != null)
|
if (soulStack != null)
|
||||||
{
|
{
|
||||||
if (soulStack.getItem() instanceof ISoul)
|
if (soulStack.getItem() instanceof IDemonWill)
|
||||||
{
|
{
|
||||||
ISoul soul = (ISoul) soulStack.getItem();
|
IDemonWill soul = (IDemonWill) soulStack.getItem();
|
||||||
return soul.getSouls(soulStack);
|
return soul.getWill(soulStack);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (soulStack.getItem() instanceof ISoulGem)
|
if (soulStack.getItem() instanceof IDemonWillGem)
|
||||||
{
|
{
|
||||||
ISoulGem soul = (ISoulGem) soulStack.getItem();
|
IDemonWillGem soul = (IDemonWillGem) soulStack.getItem();
|
||||||
return soul.getSouls(soulStack);
|
return soul.getWill(soulStack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,21 +185,21 @@ public class TileSoulForge extends TileInventory implements ITickable
|
||||||
|
|
||||||
if (soulStack != null)
|
if (soulStack != null)
|
||||||
{
|
{
|
||||||
if (soulStack.getItem() instanceof ISoul)
|
if (soulStack.getItem() instanceof IDemonWill)
|
||||||
{
|
{
|
||||||
ISoul soul = (ISoul) soulStack.getItem();
|
IDemonWill soul = (IDemonWill) soulStack.getItem();
|
||||||
double souls = soul.drainSouls(soulStack, requested);
|
double souls = soul.drainWill(soulStack, requested);
|
||||||
if (soul.getSouls(soulStack) <= 0)
|
if (soul.getWill(soulStack) <= 0)
|
||||||
{
|
{
|
||||||
setInventorySlotContents(soulSlot, null);
|
setInventorySlotContents(soulSlot, null);
|
||||||
}
|
}
|
||||||
return souls;
|
return souls;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (soulStack.getItem() instanceof ISoulGem)
|
if (soulStack.getItem() instanceof IDemonWillGem)
|
||||||
{
|
{
|
||||||
ISoulGem soul = (ISoulGem) soulStack.getItem();
|
IDemonWillGem soul = (IDemonWillGem) soulStack.getItem();
|
||||||
return soul.drainSouls(soulStack, requested);
|
return soul.drainWill(soulStack, requested);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@ import net.minecraft.inventory.Container;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.inventory.Slot;
|
import net.minecraft.inventory.Slot;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoul;
|
import WayofTime.bloodmagic.api.soul.IDemonWill;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoulGem;
|
import WayofTime.bloodmagic.api.soul.IDemonWillGem;
|
||||||
import WayofTime.bloodmagic.tile.TileSoulForge;
|
import WayofTime.bloodmagic.tile.TileSoulForge;
|
||||||
|
|
||||||
public class ContainerSoulForge extends Container
|
public class ContainerSoulForge extends Container
|
||||||
|
@ -59,7 +59,7 @@ public class ContainerSoulForge extends Container
|
||||||
slot.onSlotChange(itemstack1, itemstack);
|
slot.onSlotChange(itemstack1, itemstack);
|
||||||
} else if (index > 5)
|
} else if (index > 5)
|
||||||
{
|
{
|
||||||
if (itemstack1.getItem() instanceof ISoul || itemstack1.getItem() instanceof ISoulGem)
|
if (itemstack1.getItem() instanceof IDemonWill || itemstack1.getItem() instanceof IDemonWillGem)
|
||||||
{
|
{
|
||||||
if (!this.mergeItemStack(itemstack1, 4, 5, false))
|
if (!this.mergeItemStack(itemstack1, 4, 5, false))
|
||||||
{
|
{
|
||||||
|
@ -109,7 +109,7 @@ public class ContainerSoulForge extends Container
|
||||||
@Override
|
@Override
|
||||||
public boolean isItemValid(ItemStack itemStack)
|
public boolean isItemValid(ItemStack itemStack)
|
||||||
{
|
{
|
||||||
return itemStack.getItem() instanceof ISoulGem || itemStack.getItem() instanceof ISoul;
|
return itemStack.getItem() instanceof IDemonWillGem || itemStack.getItem() instanceof IDemonWill;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,12 +36,12 @@ import WayofTime.bloodmagic.api.Constants;
|
||||||
import WayofTime.bloodmagic.api.event.SacrificeKnifeUsedEvent;
|
import WayofTime.bloodmagic.api.event.SacrificeKnifeUsedEvent;
|
||||||
import WayofTime.bloodmagic.api.event.TeleposeEvent;
|
import WayofTime.bloodmagic.api.event.TeleposeEvent;
|
||||||
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
|
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoul;
|
import WayofTime.bloodmagic.api.soul.IDemonWill;
|
||||||
import WayofTime.bloodmagic.api.soul.ISoulWeapon;
|
import WayofTime.bloodmagic.api.soul.IDemonWillWeapon;
|
||||||
import WayofTime.bloodmagic.api.soul.PlayerSoulHandler;
|
import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler;
|
||||||
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
|
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
|
||||||
import WayofTime.bloodmagic.block.BlockAltar;
|
import WayofTime.bloodmagic.block.BlockAltar;
|
||||||
import WayofTime.bloodmagic.entity.projectile.EntitySoulArrow;
|
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
||||||
import WayofTime.bloodmagic.item.ItemAltarMaker;
|
import WayofTime.bloodmagic.item.ItemAltarMaker;
|
||||||
import WayofTime.bloodmagic.item.armour.ItemLivingArmour;
|
import WayofTime.bloodmagic.item.armour.ItemLivingArmour;
|
||||||
import WayofTime.bloodmagic.item.gear.ItemPackSacrifice;
|
import WayofTime.bloodmagic.item.gear.ItemPackSacrifice;
|
||||||
|
@ -272,10 +272,10 @@ public class EventHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sourceEntity instanceof EntitySoulArrow)
|
if (sourceEntity instanceof EntitySentientArrow)
|
||||||
{
|
{
|
||||||
// Soul Weapon handling
|
// Soul Weapon handling
|
||||||
((EntitySoulArrow) sourceEntity).reimbursePlayer();
|
((EntitySentientArrow) sourceEntity).reimbursePlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sourceEntity instanceof EntityPlayer)
|
if (sourceEntity instanceof EntityPlayer)
|
||||||
|
@ -414,7 +414,7 @@ public class EventHandler
|
||||||
int lvl = eff.getAmplifier();
|
int lvl = eff.getAmplifier();
|
||||||
|
|
||||||
double amountOfSouls = random.nextDouble() * (lvl + 1) * (lvl + 1) * 5;
|
double amountOfSouls = random.nextDouble() * (lvl + 1) * (lvl + 1) * 5;
|
||||||
ItemStack soulStack = ((ISoul) ModItems.monsterSoul).createSoul(0, amountOfSouls);
|
ItemStack soulStack = ((IDemonWill) ModItems.monsterSoul).createWill(0, amountOfSouls);
|
||||||
event.drops.add(new EntityItem(attackedEntity.worldObj, attackedEntity.posX, attackedEntity.posY, attackedEntity.posZ, soulStack));
|
event.drops.add(new EntityItem(attackedEntity.worldObj, attackedEntity.posX, attackedEntity.posY, attackedEntity.posZ, soulStack));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -422,9 +422,9 @@ public class EventHandler
|
||||||
{
|
{
|
||||||
EntityLivingBase attackingEntity = (EntityLivingBase) entity;
|
EntityLivingBase attackingEntity = (EntityLivingBase) entity;
|
||||||
ItemStack heldStack = attackingEntity.getHeldItem();
|
ItemStack heldStack = attackingEntity.getHeldItem();
|
||||||
if (heldStack != null && heldStack.getItem() instanceof ISoulWeapon)
|
if (heldStack != null && heldStack.getItem() instanceof IDemonWillWeapon)
|
||||||
{
|
{
|
||||||
List<ItemStack> droppedSouls = ((ISoulWeapon) heldStack.getItem()).getRandomSoulDrop(attackedEntity, attackingEntity, heldStack, event.lootingLevel);
|
List<ItemStack> droppedSouls = ((IDemonWillWeapon) heldStack.getItem()).getRandomDemonWillDrop(attackedEntity, attackingEntity, heldStack, event.lootingLevel);
|
||||||
if (!droppedSouls.isEmpty())
|
if (!droppedSouls.isEmpty())
|
||||||
{
|
{
|
||||||
for (ItemStack soulStack : droppedSouls)
|
for (ItemStack soulStack : droppedSouls)
|
||||||
|
@ -440,13 +440,13 @@ public class EventHandler
|
||||||
public void onItemPickup(EntityItemPickupEvent event)
|
public void onItemPickup(EntityItemPickupEvent event)
|
||||||
{
|
{
|
||||||
ItemStack stack = event.item.getEntityItem();
|
ItemStack stack = event.item.getEntityItem();
|
||||||
if (stack != null && stack.getItem() instanceof ISoul)
|
if (stack != null && stack.getItem() instanceof IDemonWill)
|
||||||
{
|
{
|
||||||
EntityPlayer player = event.entityPlayer;
|
EntityPlayer player = event.entityPlayer;
|
||||||
|
|
||||||
ItemStack remainder = PlayerSoulHandler.addSouls(player, stack);
|
ItemStack remainder = PlayerDemonWillHandler.addDemonWill(player, stack);
|
||||||
|
|
||||||
if (remainder == null || ((ISoul) stack.getItem()).getSouls(stack) < 0.0001)
|
if (remainder == null || ((IDemonWill) stack.getItem()).getWill(stack) < 0.0001)
|
||||||
{
|
{
|
||||||
stack.stackSize = 0;
|
stack.stackSize = 0;
|
||||||
event.setResult(Result.ALLOW);
|
event.setResult(Result.ALLOW);
|
||||||
|
|
|
@ -76,7 +76,7 @@ item.BloodMagic.baseComponent.reagentSight.name=Sight Reagent
|
||||||
item.BloodMagic.baseComponent.reagentBinding.name=Binding Reagent
|
item.BloodMagic.baseComponent.reagentBinding.name=Binding Reagent
|
||||||
item.BloodMagic.baseComponent.reagentSuppression.name=Suppression Reagent
|
item.BloodMagic.baseComponent.reagentSuppression.name=Suppression Reagent
|
||||||
|
|
||||||
item.BloodMagic.monsterSoul.base.name=Monster Soul
|
item.BloodMagic.monsterSoul.base.name=Demonic Will
|
||||||
|
|
||||||
item.BloodMagic.sigil.air.name=Air Sigil
|
item.BloodMagic.sigil.air.name=Air Sigil
|
||||||
item.BloodMagic.sigil.bloodLight.name=Sigil of the Blood Lamp
|
item.BloodMagic.sigil.bloodLight.name=Sigil of the Blood Lamp
|
||||||
|
@ -109,14 +109,14 @@ item.BloodMagic.ritualDivinerdawn.name=Ritual Diviner [Dawn]
|
||||||
|
|
||||||
item.BloodMagic.arcaneAshes.name=Arcane Ashes
|
item.BloodMagic.arcaneAshes.name=Arcane Ashes
|
||||||
|
|
||||||
item.BloodMagic.soul.sword.name=Soul Sword
|
item.BloodMagic.sentientSword.name=Sentient Sword
|
||||||
item.BloodMagic.soulGem.petty.name=Petty Soul Gem
|
item.BloodMagic.soulGem.petty.name=Petty Tartaric Gem
|
||||||
item.BloodMagic.soulGem.lesser.name=Lesser Soul Gem
|
item.BloodMagic.soulGem.lesser.name=Lesser Tartaric Gem
|
||||||
item.BloodMagic.soulGem.common.name=Common Soul Gem
|
item.BloodMagic.soulGem.common.name=Common Tartaric Gem
|
||||||
item.BloodMagic.soulGem.greater.name=Greater Soul Gem
|
item.BloodMagic.soulGem.greater.name=Greater Tartaric Gem
|
||||||
item.BloodMagic.soulGem.grand.name=Grand Soul Gem
|
item.BloodMagic.soulGem.grand.name=Grand Tartaric Gem
|
||||||
item.BloodMagic.soulSnare.base.name=Rudimentary Soul Snare
|
item.BloodMagic.soulSnare.base.name=Rudimentary Snare
|
||||||
item.BloodMagic.soulBow.name=Soul Bow
|
item.BloodMagic.sentientBow.name=Sentient Bow
|
||||||
|
|
||||||
# Blocks
|
# Blocks
|
||||||
tile.BloodMagic.fluid.lifeEssence.name=Life Essence
|
tile.BloodMagic.fluid.lifeEssence.name=Life Essence
|
||||||
|
@ -155,7 +155,7 @@ tile.BloodMagic.spectralBlock.name=Spectral Block
|
||||||
tile.BloodMagic.phantomBlock.name=Phantom Block
|
tile.BloodMagic.phantomBlock.name=Phantom Block
|
||||||
|
|
||||||
tile.BloodMagic.teleposer.name=Teleposer
|
tile.BloodMagic.teleposer.name=Teleposer
|
||||||
tile.BloodMagic.soulForge.name=Soul Forge
|
tile.BloodMagic.soulForge.name=Hellfire Forge
|
||||||
|
|
||||||
# Tooltips
|
# Tooltips
|
||||||
tooltip.BloodMagic.orb.desc=Stores raw Life Essence
|
tooltip.BloodMagic.orb.desc=Stores raw Life Essence
|
||||||
|
@ -243,15 +243,15 @@ tooltip.BloodMagic.livingArmour.upgrade.meleeDamage=Fierce Strike
|
||||||
tooltip.BloodMagic.livingArmour.upgrade.arrowShot=Trick Shot
|
tooltip.BloodMagic.livingArmour.upgrade.arrowShot=Trick Shot
|
||||||
tooltip.BloodMagic.livingArmour.upgrade.level=(Level %d)
|
tooltip.BloodMagic.livingArmour.upgrade.level=(Level %d)
|
||||||
|
|
||||||
tooltip.BloodMagic.souls=Soul Quality: %1$,.2f
|
tooltip.BloodMagic.will=Will Quality: %1$,.2f
|
||||||
tooltip.BloodMagic.soul.sword.desc=Uses souls to unleash its full potential.
|
tooltip.BloodMagic.sentientSword.desc=Uses souls to unleash its full potential.
|
||||||
tooltip.BloodMagic.soulGem.petty=A gem used to contain a few souls
|
tooltip.BloodMagic.soulGem.petty=A gem used to contain a few souls
|
||||||
tooltip.BloodMagic.soulGem.lesser=A gem used to contain more souls
|
tooltip.BloodMagic.soulGem.lesser=A gem used to contain more souls
|
||||||
tooltip.BloodMagic.soulGem.common=A gem used to contain many souls
|
tooltip.BloodMagic.soulGem.common=A gem used to contain many souls
|
||||||
tooltip.BloodMagic.soulGem.greater=A gem used to contain a great amount of souls
|
tooltip.BloodMagic.soulGem.greater=A gem used to contain a great amount of souls
|
||||||
tooltip.BloodMagic.soulGem.grand=A gem that can hold a LOT of souls
|
tooltip.BloodMagic.soulGem.grand=A gem that can hold a LOT of souls
|
||||||
tooltip.BloodMagic.soulSnare.desc1=Throw at a monster and then
|
tooltip.BloodMagic.soulSnare.desc1=Throw at a monster and then
|
||||||
tooltip.BloodMagic.soulSnare.desc2=kill them to get a monster soul
|
tooltip.BloodMagic.soulSnare.desc2=kill them to obtain their demonic will
|
||||||
|
|
||||||
# Ritual
|
# Ritual
|
||||||
ritual.BloodMagic.testRitual=Test Ritual
|
ritual.BloodMagic.testRitual=Test Ritual
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"parent": "builtin/generated",
|
"parent": "builtin/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SoulBow"
|
"layer0": "bloodmagic:items/SentientBow"
|
||||||
},
|
},
|
||||||
"display": {
|
"display": {
|
||||||
"thirdperson": {
|
"thirdperson": {
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"parent": "builtin/generated",
|
"parent": "builtin/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SoulBow_pulling_0"
|
"layer0": "bloodmagic:items/SentientBow_pulling_0"
|
||||||
},
|
},
|
||||||
"display": {
|
"display": {
|
||||||
"thirdperson": {
|
"thirdperson": {
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"parent": "builtin/generated",
|
"parent": "builtin/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SoulBow_pulling_2"
|
"layer0": "bloodmagic:items/SentientBow_pulling_1"
|
||||||
},
|
},
|
||||||
"display": {
|
"display": {
|
||||||
"thirdperson": {
|
"thirdperson": {
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"parent": "builtin/generated",
|
"parent": "builtin/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SoulBow_pulling_1"
|
"layer0": "bloodmagic:items/SentientBow_pulling_2"
|
||||||
},
|
},
|
||||||
"display": {
|
"display": {
|
||||||
"thirdperson": {
|
"thirdperson": {
|
Before Width: | Height: | Size: 708 B After Width: | Height: | Size: 708 B |
Before Width: | Height: | Size: 712 B After Width: | Height: | Size: 712 B |
Before Width: | Height: | Size: 697 B After Width: | Height: | Size: 697 B |
Before Width: | Height: | Size: 687 B After Width: | Height: | Size: 687 B |