Merge pull request #525 from Arcaratus/1.8-Rewrite

Recipes commit
This commit is contained in:
WayofTime 2015-12-30 17:46:28 -05:00
commit 1d42ef50c3
16 changed files with 213 additions and 112 deletions

View file

@ -1,6 +1,5 @@
package WayofTime.bloodmagic.block; package WayofTime.bloodmagic.block;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.Constants;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -19,13 +18,11 @@ import java.util.Random;
public class BlockBloodLight extends Block public class BlockBloodLight extends Block
{ {
public BlockBloodLight() public BlockBloodLight()
{ {
super(Material.cloth); super(Material.cloth);
setUnlocalizedName(Constants.Mod.MODID + ".bloodLight"); setUnlocalizedName(Constants.Mod.MODID + ".bloodLight");
setCreativeTab(BloodMagic.tabBloodMagic);
} }
@Override @Override

View file

@ -7,7 +7,6 @@ import net.minecraft.block.material.Material;
public class BlockBloodRune extends BlockString public class BlockBloodRune extends BlockString
{ {
public static final String[] names = { "blank", "speed", "efficiency", "sacrifice", "selfSacrifice", "displacement", "capacity", "augCapacity", "orb", "acceleration" }; public static final String[] names = { "blank", "speed", "efficiency", "sacrifice", "selfSacrifice", "displacement", "capacity", "augCapacity", "orb", "acceleration" };
public BlockBloodRune() public BlockBloodRune()

View file

@ -25,7 +25,6 @@ import java.util.List;
public class ItemBindable extends Item implements IBindable public class ItemBindable extends Item implements IBindable
{ {
private int lpUsed; private int lpUsed;
public ItemBindable() public ItemBindable()
@ -36,54 +35,65 @@ public class ItemBindable extends Item implements IBindable
setMaxStackSize(1); setMaxStackSize(1);
} }
public static boolean syphonBatteries(ItemStack stack, EntityPlayer player, int damageToBeDone) public static boolean syphonNetwork(ItemStack stack, EntityPlayer player, int lpUsed)
{ {
if (player == null) return false;
if (!player.worldObj.isRemote) if (!player.worldObj.isRemote)
{ {
return NetworkHelper.syphonAndDamage(NetworkHelper.getSoulNetwork(player, player.worldObj), damageToBeDone); return NetworkHelper.syphonAndDamage(NetworkHelper.getSoulNetwork(player, player.worldObj), lpUsed);
} else }
else
{ {
double posX = player.posX; double posX = player.posX;
double posY = player.posY; double posY = player.posY;
double posZ = player.posZ; double posZ = player.posZ;
// SpellHelper.sendIndexedParticleToAllAround(player.worldObj, posX, // SpellHelper.sendIndexedParticleToAllAround(player.worldObj, posX,posY, posZ, 20, player.worldObj.provider.getDimensionId(), 4, posX, posY, posZ);
// posY, posZ, 20, player.worldObj.provider.getDimensionId(), 4,
// posX, posY, posZ);
player.worldObj.playSoundEffect((double) ((float) player.posX + 0.5F), (double) ((float) player.posY + 0.5F), (double) ((float) player.posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (player.worldObj.rand.nextFloat() - player.worldObj.rand.nextFloat()) * 0.8F); player.worldObj.playSoundEffect((double) ((float) player.posX + 0.5F), (double) ((float) player.posY + 0.5F), (double) ((float) player.posZ + 0.5F), "random.fizz", 0.5F, 2.6F + (player.worldObj.rand.nextFloat() - player.worldObj.rand.nextFloat()) * 0.8F);
} }
return true; return true;
} }
public static void hurtPlayer(EntityPlayer user, int energySyphoned) public static boolean syphonNetwork(ItemStack itemStack, int lpUsed)
{ {
if (energySyphoned < 100 && energySyphoned > 0) if (itemStack.getItem() instanceof ItemBindable)
{ {
if (!user.capabilities.isCreativeMode) ItemBindable itemBindable = (ItemBindable) itemStack.getItem();
{ return !Strings.isNullOrEmpty(itemBindable.getBindableOwner(itemStack)) && syphonNetwork(itemStack, PlayerHelper.getPlayerFromUUID(itemBindable.getBindableOwner(itemStack)), lpUsed);
user.attackEntityFrom(BloodMagicAPI.getDamageSource(), 0F); // Emulate }
// an
// attack
user.setHealth(user.getHealth() - 1);
if (user.getHealth() <= 0.0005f) return false;
user.onDeath(BloodMagicAPI.getDamageSource()); }
}
} else if (energySyphoned >= 100) public static void hurtPlayer(EntityPlayer user, int lpSyphoned)
{
if (user != null)
{ {
if (!user.capabilities.isCreativeMode) if (lpSyphoned < 100 && lpSyphoned > 0)
{ {
for (int i = 0; i < ((energySyphoned + 99) / 100); i++) if (!user.capabilities.isCreativeMode)
{ {
user.attackEntityFrom(BloodMagicAPI.getDamageSource(), 0F); // Emulate user.attackEntityFrom(BloodMagicAPI.getDamageSource(), 0F); // Emulate an attack
// an
// attack
user.setHealth(user.getHealth() - 1); user.setHealth(user.getHealth() - 1);
if (user.getHealth() <= 0.0005f) if (user.getHealth() <= 0.0005f) user.onDeath(BloodMagicAPI.getDamageSource());
}
}
else if (lpSyphoned >= 100)
{
if (!user.capabilities.isCreativeMode)
{
for (int i = 0; i < ((lpSyphoned + 99) / 100); i++)
{ {
user.onDeath(BloodMagicAPI.getDamageSource()); user.attackEntityFrom(BloodMagicAPI.getDamageSource(), 0F); // Emulate an attack
break; user.setHealth(user.getHealth() - 1);
if (user.getHealth() <= 0.0005f)
{
user.onDeath(BloodMagicAPI.getDamageSource());
break;
}
} }
} }
} }
@ -134,8 +144,8 @@ public class ItemBindable extends Item implements IBindable
for (int i = 0; i < damage; i++) for (int i = 0; i < damage; i++)
{ {
player.attackEntityFrom(BloodMagicAPI.getDamageSource(), 0F); // Emulate player.attackEntityFrom(BloodMagicAPI.getDamageSource(), 0F); // Emulate
// an // an
// attack // attack
player.setHealth(player.getHealth() - 1); player.setHealth(player.getHealth() - 1);
if (player.getHealth() <= 0.0005) if (player.getHealth() <= 0.0005)

View file

@ -27,7 +27,6 @@ import java.util.List;
public class ItemBoundSword extends ItemSword public class ItemBoundSword extends ItemSword
{ {
private int lpUsed; private int lpUsed;
public ItemBoundSword() public ItemBoundSword()
@ -73,7 +72,7 @@ public class ItemBoundSword extends ItemSword
{ {
if (player.isSneaking()) if (player.isSneaking())
setActivated(stack, !getActivated(stack)); setActivated(stack, !getActivated(stack));
if (getActivated(stack) && ItemBindable.syphonBatteries(stack, player, lpUsed)) if (getActivated(stack) && ItemBindable.syphonNetwork(stack, player, lpUsed))
return stack; return stack;
if (!player.isSneaking() && getActivated(stack)) if (!player.isSneaking() && getActivated(stack))

View file

@ -27,7 +27,6 @@ import java.util.Set;
@Getter @Getter
public class ItemBoundTool extends ItemBindable public class ItemBoundTool extends ItemBindable
{ {
private Set<Block> effectiveBlocks; private Set<Block> effectiveBlocks;
protected final String tooltipBase; protected final String tooltipBase;
private final String name; private final String name;
@ -79,17 +78,17 @@ public class ItemBoundTool extends ItemBindable
// if (!world.isRemote) // if (!world.isRemote)
{ {
if (player.isSneaking()) if (player.isSneaking()) setActivated(stack, !getActivated(stack));
setActivated(stack, !getActivated(stack));
// if (getActivated(stack) && ItemBindable.syphonBatteries(stack, // if (getActivated(stack) && ItemBindable.syphonBatteries(stack,
// player, getLPUsed())) // player, getLPUsed()))
// return stack; // return stack;
// if (getActivated(stack) && ItemBindable.syphonNetwork(stack, player, getLPUsed()))
// return stack;
if (!player.isSneaking() && getActivated(stack)) if (!player.isSneaking() && getActivated(stack))
{ {
BoundToolEvent.Charge event = new BoundToolEvent.Charge(player, stack); BoundToolEvent.Charge event = new BoundToolEvent.Charge(player, stack);
if (MinecraftForge.EVENT_BUS.post(event)) if (MinecraftForge.EVENT_BUS.post(event)) return event.result;
return event.result;
player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
beingHeldDown = true; beingHeldDown = true;
@ -102,7 +101,7 @@ public class ItemBoundTool extends ItemBindable
@Override @Override
public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ)
{ {
if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonBatteries(stack, player, getLPUsed())) if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonNetwork(stack, player, getLPUsed()))
return false; return false;
return false; return false;
@ -123,8 +122,7 @@ public class ItemBoundTool extends ItemBindable
{ {
int i = this.getMaxItemUseDuration(stack) - timeLeft; int i = this.getMaxItemUseDuration(stack) - timeLeft;
BoundToolEvent.Release event = new BoundToolEvent.Release(playerIn, stack, i); BoundToolEvent.Release event = new BoundToolEvent.Release(playerIn, stack, i);
if (MinecraftForge.EVENT_BUS.post(event)) if (MinecraftForge.EVENT_BUS.post(event)) return;
return;
i = event.charge; i = event.charge;
@ -169,10 +167,8 @@ public class ItemBoundTool extends ItemBindable
if (StatCollector.canTranslate(tooltipBase + "desc")) if (StatCollector.canTranslate(tooltipBase + "desc"))
tooltip.add(TextHelper.localizeEffect(tooltipBase + "desc")); tooltip.add(TextHelper.localizeEffect(tooltipBase + "desc"));
if (getActivated(stack)) if (getActivated(stack)) tooltip.add(TextHelper.localize("tooltip.BloodMagic.activated"));
tooltip.add(TextHelper.localize("tooltip.BloodMagic.activated")); else tooltip.add(TextHelper.localize("tooltip.BloodMagic.deactivated"));
else
tooltip.add(TextHelper.localize("tooltip.BloodMagic.deactivated"));
super.addInformation(stack, player, tooltip, advanced); super.addInformation(stack, player, tooltip, advanced);
} }

View file

@ -0,0 +1,69 @@
package WayofTime.bloodmagic.item;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
import com.google.common.base.Strings;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
import net.minecraftforge.fml.common.IFuelHandler;
public class ItemLavaCrystal extends ItemBindable implements IFuelHandler
{
public ItemLavaCrystal()
{
super();
setUnlocalizedName(Constants.Mod.MODID + ".lavaCrystal");
setLPUsed(1);
}
@Override
public ItemStack getContainerItem(ItemStack itemStack)
{
syphonNetwork(itemStack, getLPUsed());
ItemStack copiedStack = itemStack.copy();
copiedStack.setItemDamage(copiedStack.getItemDamage());
copiedStack.stackSize = 1;
return copiedStack;
}
@Override
public boolean hasContainerItem(ItemStack itemStack)
{
return true;
}
@Override
public int getBurnTime(ItemStack fuel)
{
if (fuel == null)
{
return 0;
}
Item fuelItem = fuel.getItem();
if (fuelItem instanceof ItemLavaCrystal)
{
if (syphonNetwork(fuel, getLPUsed()))
{
return 1;
}
else
{
NBTTagCompound tag = fuel.getTagCompound();
if (tag == null || MinecraftServer.getServer() == null || MinecraftServer.getServer().getConfigurationManager() == null)
return 0;
if (Strings.isNullOrEmpty(((ItemLavaCrystal) fuelItem).getBindableOwner(fuel))) return 0;
else hurtPlayer(PlayerHelper.getPlayerFromUUID(getBindableOwner(fuel)), getLPUsed());
return 0;
}
}
return 0;
}
}

View file

@ -18,7 +18,6 @@ import java.util.List;
public class ItemPackSacrifice extends ItemArmor implements IAltarManipulator public class ItemPackSacrifice extends ItemArmor implements IAltarManipulator
{ {
public final int CONVERSION = 100; // How much LP per heart public final int CONVERSION = 100; // How much LP per heart
public final int CAPACITY = 10000; // Max LP storage public final int CAPACITY = 10000; // Max LP storage

View file

@ -36,7 +36,7 @@ public class ItemSigilAir extends ItemSigilBase
player.fallDistance = 0; player.fallDistance = 0;
if (!player.capabilities.isCreativeMode) if (!player.capabilities.isCreativeMode)
this.setUnusable(stack, !syphonBatteries(stack, player, getLPUsed())); this.setUnusable(stack, !syphonNetwork(stack, player, getLPUsed()));
} }
return super.onItemRightClick(stack, world, player); return super.onItemRightClick(stack, world, player);

View file

@ -21,7 +21,7 @@ public class ItemSigilBloodLight extends ItemSigilBase
@Override @Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
{ {
if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonBatteries(stack, player, getLPUsed() * 5) && !world.isRemote) if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonNetwork(stack, player, getLPUsed() * 5) && !world.isRemote)
world.spawnEntityInWorld(new EntityBloodLight(world, player)); world.spawnEntityInWorld(new EntityBloodLight(world, player));
return stack; return stack;
@ -30,10 +30,9 @@ public class ItemSigilBloodLight extends ItemSigilBase
@Override @Override
public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ)
{ {
if (world.isRemote) if (world.isRemote) return false;
return false;
if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonBatteries(stack, player, getLPUsed())) if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonNetwork(stack, player, getLPUsed()))
{ {
BlockPos newPos = blockPos.offset(side); BlockPos newPos = blockPos.offset(side);

View file

@ -32,8 +32,7 @@ public class ItemSigilLava extends ItemSigilBase
if (movingobjectposition != null) if (movingobjectposition != null)
{ {
ItemStack ret = net.minecraftforge.event.ForgeEventFactory.onBucketUse(player, world, stack, movingobjectposition); ItemStack ret = net.minecraftforge.event.ForgeEventFactory.onBucketUse(player, world, stack, movingobjectposition);
if (ret != null) if (ret != null) return ret;
return ret;
if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
{ {
@ -56,7 +55,7 @@ public class ItemSigilLava extends ItemSigilBase
return stack; return stack;
} }
if (this.canPlaceLava(world, blockpos1) && syphonBatteries(stack, player, getLPUsed()) && this.tryPlaceLava(world, blockpos1)) if (this.canPlaceLava(world, blockpos1) && syphonNetwork(stack, player, getLPUsed()) && this.tryPlaceLava(world, blockpos1))
{ {
return stack; return stack;
} }
@ -64,7 +63,7 @@ public class ItemSigilLava extends ItemSigilBase
} }
if (!player.capabilities.isCreativeMode) if (!player.capabilities.isCreativeMode)
this.setUnusable(stack, !syphonBatteries(stack, player, getLPUsed())); this.setUnusable(stack, !syphonNetwork(stack, player, getLPUsed()));
} }
return stack; return stack;
@ -88,7 +87,7 @@ public class ItemSigilLava extends ItemSigilBase
FluidStack fluid = new FluidStack(FluidRegistry.LAVA, 1000); FluidStack fluid = new FluidStack(FluidRegistry.LAVA, 1000);
int amount = ((IFluidHandler) tile).fill(side, fluid, false); int amount = ((IFluidHandler) tile).fill(side, fluid, false);
if (amount > 0 && syphonBatteries(stack, player, getLPUsed())) if (amount > 0 && syphonNetwork(stack, player, getLPUsed()))
{ {
((IFluidHandler) tile).fill(side, fluid, true); ((IFluidHandler) tile).fill(side, fluid, true);
} }
@ -106,7 +105,7 @@ public class ItemSigilLava extends ItemSigilBase
return false; return false;
} }
if (this.canPlaceLava(world, newPos) && syphonBatteries(stack, player, getLPUsed())) if (this.canPlaceLava(world, newPos) && syphonNetwork(stack, player, getLPUsed()))
{ {
return this.tryPlaceLava(world, newPos); return this.tryPlaceLava(world, newPos);
} }
@ -119,10 +118,12 @@ public class ItemSigilLava extends ItemSigilBase
if (!world.isAirBlock(blockPos) && world.getBlockState(blockPos).getBlock().getMaterial().isSolid()) if (!world.isAirBlock(blockPos) && world.getBlockState(blockPos).getBlock().getMaterial().isSolid())
{ {
return false; return false;
} else if ((world.getBlockState(blockPos).getBlock() == Blocks.lava || world.getBlockState(blockPos).getBlock() == Blocks.flowing_lava) && world.getBlockState(blockPos).getBlock().getMetaFromState(world.getBlockState(blockPos)) == 0) }
else if ((world.getBlockState(blockPos).getBlock() == Blocks.lava || world.getBlockState(blockPos).getBlock() == Blocks.flowing_lava) && world.getBlockState(blockPos).getBlock().getMetaFromState(world.getBlockState(blockPos)) == 0)
{ {
return false; return false;
} else }
else
{ {
world.setBlockState(blockPos, Blocks.lava.getBlockState().getBaseState(), 3); world.setBlockState(blockPos, Blocks.lava.getBlockState().getBaseState(), 3);
return true; return true;

View file

@ -29,10 +29,8 @@ public class ItemSigilToggleable extends ItemSigilBase
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced) public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
{ {
super.addInformation(stack, player, tooltip, advanced); super.addInformation(stack, player, tooltip, advanced);
if (getActivated(stack)) if (getActivated(stack)) tooltip.add(TextHelper.localize("tooltip.BloodMagic.activated"));
tooltip.add(TextHelper.localize("tooltip.BloodMagic.activated")); else tooltip.add(TextHelper.localize("tooltip.BloodMagic.deactivated"));
else
tooltip.add(TextHelper.localize("tooltip.BloodMagic.deactivated"));
} }
@Override @Override
@ -40,10 +38,8 @@ public class ItemSigilToggleable extends ItemSigilBase
{ {
if (!world.isRemote && !isUnusable(stack)) if (!world.isRemote && !isUnusable(stack))
{ {
if (player.isSneaking()) if (player.isSneaking()) setActivated(stack, !getActivated(stack));
setActivated(stack, !getActivated(stack)); if (getActivated(stack) && ItemBindable.syphonNetwork(stack, player, getLPUsed())) return stack;
if (getActivated(stack) && ItemBindable.syphonBatteries(stack, player, getLPUsed()))
return stack;
} }
return stack; return stack;
@ -52,7 +48,7 @@ public class ItemSigilToggleable extends ItemSigilBase
@Override @Override
public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ)
{ {
if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonBatteries(stack, player, getLPUsed())) if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonNetwork(stack, player, getLPUsed()))
return onSigilUseFirst(stack, player, world, blockPos, side, hitX, hitY, hitZ); return onSigilUseFirst(stack, player, world, blockPos, side, hitX, hitY, hitZ);
return false; return false;
@ -70,7 +66,7 @@ public class ItemSigilToggleable extends ItemSigilBase
{ {
if (worldIn.getWorldTime() % 100 == 0) if (worldIn.getWorldTime() % 100 == 0)
{ {
if (!ItemBindable.syphonBatteries(stack, (EntityPlayer) entityIn, getLPUsed())) if (!ItemBindable.syphonNetwork(stack, (EntityPlayer) entityIn, getLPUsed()))
{ {
setActivated(stack, false); setActivated(stack, false);
} }

View file

@ -14,7 +14,6 @@ import net.minecraftforge.fluids.IFluidHandler;
public class ItemSigilVoid extends ItemSigilBase public class ItemSigilVoid extends ItemSigilBase
{ {
public ItemSigilVoid() public ItemSigilVoid()
{ {
super("void", 50); super("void", 50);
@ -30,8 +29,7 @@ public class ItemSigilVoid extends ItemSigilBase
if (movingobjectposition != null) if (movingobjectposition != null)
{ {
ItemStack ret = net.minecraftforge.event.ForgeEventFactory.onBucketUse(player, world, stack, movingobjectposition); ItemStack ret = net.minecraftforge.event.ForgeEventFactory.onBucketUse(player, world, stack, movingobjectposition);
if (ret != null) if (ret != null) return ret;
return ret;
if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
{ {
@ -52,19 +50,20 @@ public class ItemSigilVoid extends ItemSigilBase
return stack; return stack;
} }
if (world.getBlockState(blockpos).getBlock().getMaterial().isLiquid() && syphonBatteries(stack, player, getLPUsed())) if (world.getBlockState(blockpos).getBlock().getMaterial().isLiquid() && syphonNetwork(stack, player, getLPUsed()))
{ {
world.setBlockToAir(blockpos); world.setBlockToAir(blockpos);
return stack; return stack;
} }
} }
} else }
else
{ {
return stack; return stack;
} }
if (!player.capabilities.isCreativeMode) if (!player.capabilities.isCreativeMode)
this.setUnusable(stack, !syphonBatteries(stack, player, getLPUsed())); this.setUnusable(stack, !syphonNetwork(stack, player, getLPUsed()));
} }
return stack; return stack;
@ -88,7 +87,7 @@ public class ItemSigilVoid extends ItemSigilBase
{ {
FluidStack amount = ((IFluidHandler) tile).drain(side, 1000, false); FluidStack amount = ((IFluidHandler) tile).drain(side, 1000, false);
if (amount != null && amount.amount > 0 && syphonBatteries(stack, player, getLPUsed())) if (amount != null && amount.amount > 0 && syphonNetwork(stack, player, getLPUsed()))
{ {
((IFluidHandler) tile).drain(side, 1000, true); ((IFluidHandler) tile).drain(side, 1000, true);
return true; return true;
@ -104,7 +103,7 @@ public class ItemSigilVoid extends ItemSigilBase
return false; return false;
} }
if (world.getBlockState(newPos).getBlock() instanceof IFluidBlock && syphonBatteries(stack, player, getLPUsed())) if (world.getBlockState(newPos).getBlock() instanceof IFluidBlock && syphonNetwork(stack, player, getLPUsed()))
{ {
world.setBlockToAir(newPos); world.setBlockToAir(newPos);
return true; return true;

View file

@ -17,7 +17,6 @@ import net.minecraftforge.fluids.IFluidHandler;
public class ItemSigilWater extends ItemSigilBase public class ItemSigilWater extends ItemSigilBase
{ {
public ItemSigilWater() public ItemSigilWater()
{ {
super("water", 100); super("water", 100);
@ -33,8 +32,7 @@ public class ItemSigilWater extends ItemSigilBase
if (movingobjectposition != null) if (movingobjectposition != null)
{ {
ItemStack ret = net.minecraftforge.event.ForgeEventFactory.onBucketUse(player, world, stack, movingobjectposition); ItemStack ret = net.minecraftforge.event.ForgeEventFactory.onBucketUse(player, world, stack, movingobjectposition);
if (ret != null) if (ret != null) return ret;
return ret;
if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
{ {
@ -57,7 +55,7 @@ public class ItemSigilWater extends ItemSigilBase
return stack; return stack;
} }
if (this.canPlaceWater(world, blockpos1) && syphonBatteries(stack, player, getLPUsed()) && this.tryPlaceWater(world, blockpos1)) if (this.canPlaceWater(world, blockpos1) && syphonNetwork(stack, player, getLPUsed()) && this.tryPlaceWater(world, blockpos1))
{ {
return stack; return stack;
} }
@ -65,7 +63,7 @@ public class ItemSigilWater extends ItemSigilBase
} }
if (!player.capabilities.isCreativeMode) if (!player.capabilities.isCreativeMode)
this.setUnusable(stack, !syphonBatteries(stack, player, getLPUsed())); this.setUnusable(stack, !syphonNetwork(stack, player, getLPUsed()));
} }
return stack; return stack;
@ -90,7 +88,7 @@ public class ItemSigilWater extends ItemSigilBase
FluidStack fluid = new FluidStack(FluidRegistry.WATER, 1000); FluidStack fluid = new FluidStack(FluidRegistry.WATER, 1000);
int amount = ((IFluidHandler) tile).fill(side, fluid, false); int amount = ((IFluidHandler) tile).fill(side, fluid, false);
if (amount > 0 && syphonBatteries(stack, player, getLPUsed())) if (amount > 0 && syphonNetwork(stack, player, getLPUsed()))
{ {
((IFluidHandler) tile).fill(side, fluid, true); ((IFluidHandler) tile).fill(side, fluid, true);
} }
@ -108,7 +106,7 @@ public class ItemSigilWater extends ItemSigilBase
return false; return false;
} }
if (this.canPlaceWater(world, newPos) && syphonBatteries(stack, player, getLPUsed())) if (this.canPlaceWater(world, newPos) && syphonNetwork(stack, player, getLPUsed()))
{ {
return this.tryPlaceWater(world, newPos); return this.tryPlaceWater(world, newPos);
} }
@ -121,10 +119,12 @@ public class ItemSigilWater extends ItemSigilBase
if (!world.isAirBlock(blockPos) && world.getBlockState(blockPos).getBlock().getMaterial().isSolid()) if (!world.isAirBlock(blockPos) && world.getBlockState(blockPos).getBlock().getMaterial().isSolid())
{ {
return false; return false;
} else if ((world.getBlockState(blockPos).getBlock() == Blocks.water || world.getBlockState(blockPos).getBlock() == Blocks.flowing_water) && world.getBlockState(blockPos).getBlock().getMetaFromState(world.getBlockState(blockPos)) == 0) }
else if ((world.getBlockState(blockPos).getBlock() == Blocks.water || world.getBlockState(blockPos).getBlock() == Blocks.flowing_water) && world.getBlockState(blockPos).getBlock().getMetaFromState(world.getBlockState(blockPos)) == 0)
{ {
return false; return false;
} else }
else
{ {
return true; return true;
} }
@ -139,7 +139,8 @@ public class ItemSigilWater extends ItemSigilBase
if (!worldIn.isAirBlock(pos) && !flag) if (!worldIn.isAirBlock(pos) && !flag)
{ {
return false; return false;
} else }
else
{ {
if (worldIn.provider.doesWaterVaporize()) if (worldIn.provider.doesWaterVaporize())
{ {
@ -152,7 +153,8 @@ public class ItemSigilWater extends ItemSigilBase
{ {
worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, (double) i + Math.random(), (double) j + Math.random(), (double) k + Math.random(), 0.0D, 0.0D, 0.0D, 0); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, (double) i + Math.random(), (double) j + Math.random(), (double) k + Math.random(), 0.0D, 0.0D, 0.0D, 0);
} }
} else }
else
{ {
if (!worldIn.isRemote && flag && !material.isLiquid()) if (!worldIn.isRemote && flag && !material.isLiquid())
{ {

View file

@ -17,7 +17,6 @@ import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
public class ModItems public class ModItems
{ {
public static Item bloodOrb; public static Item bloodOrb;
public static BloodOrb orbWeak; public static BloodOrb orbWeak;
public static BloodOrb orbApprentice; public static BloodOrb orbApprentice;
@ -38,6 +37,8 @@ public class ModItems
public static Item daggerOfSacrifice; public static Item daggerOfSacrifice;
public static Item ritualDiviner; public static Item ritualDiviner;
public static Item lavaCrystal;
public static Item boundSword; public static Item boundSword;
public static Item boundPickaxe; public static Item boundPickaxe;
public static Item boundAxe; public static Item boundAxe;
@ -102,6 +103,9 @@ public class ModItems
daggerOfSacrifice = registerItem(new ItemDaggerOfSacrifice()); daggerOfSacrifice = registerItem(new ItemDaggerOfSacrifice());
ritualDiviner = registerItem(new ItemRitualDiviner()); ritualDiviner = registerItem(new ItemRitualDiviner());
lavaCrystal = registerItem(new ItemLavaCrystal());
GameRegistry.registerFuelHandler(new ItemLavaCrystal());
boundSword = registerItem(new ItemBoundSword()); boundSword = registerItem(new ItemBoundSword());
boundPickaxe = registerItem(new ItemBoundPickaxe()); boundPickaxe = registerItem(new ItemBoundPickaxe());
@ -177,6 +181,8 @@ public class ModItems
renderHelper.itemRender(ritualDiviner, 0); renderHelper.itemRender(ritualDiviner, 0);
renderHelper.itemRender(lavaCrystal);
renderHelper.itemRender(boundSword, 0); renderHelper.itemRender(boundSword, 0);
renderHelper.itemRender(boundSword, 1); renderHelper.itemRender(boundSword, 1);
renderHelper.itemRender(boundPickaxe, 0); renderHelper.itemRender(boundPickaxe, 0);

View file

@ -24,7 +24,6 @@ import net.minecraftforge.oredict.RecipeSorter;
public class ModRecipes public class ModRecipes
{ {
public static void init() public static void init()
{ {
RecipeSorter.register(Constants.Mod.DOMAIN + "shapedorb", ShapedBloodOrbRecipe.class, RecipeSorter.Category.SHAPED, "before:minecraft:shapeless"); RecipeSorter.register(Constants.Mod.DOMAIN + "shapedorb", ShapedBloodOrbRecipe.class, RecipeSorter.Category.SHAPED, "before:minecraft:shapeless");
@ -37,43 +36,69 @@ public class ModRecipes
public static void addCraftingRecipes() public static void addCraftingRecipes()
{ {
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), "xox", "oSo", "xox", 'S', OrbRegistry.getOrbStack(ModItems.orbMagician), 'o', new ItemStack(Items.redstone), 'x', new ItemStack(Items.glowstone_dust))); GameRegistry.addRecipe(new ItemStack(ModItems.sacrificialDagger), "aaa", " ba", "c a", 'a', Blocks.glass, 'b', Items.gold_ingot, 'c', Items.iron_ingot);
// Added for testing GameRegistry.addRecipe(new ItemStack(ModBlocks.altar), "a a", "aba", "cdc", 'a', Blocks.stone, 'b', Blocks.furnace, 'c', Items.gold_ingot, 'd', Items.diamond);
GameRegistry.addRecipe(new ShapelessBloodOrbRecipe(new ItemStack(Items.gold_ingot), new ItemStack(ModItems.slate, 1, 1), OrbRegistry.getOrbStack(ModItems.orbApprentice))); GameRegistry.addRecipe(new ItemStack(ModItems.packSelfSacrifice), "aba", "cdc", "aea", 'a', Blocks.glass, 'b', Items.bucket, 'c', Items.flint, 'd', Items.leather_chestplate, 'e', ModItems.slate);
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(Items.diamond), " ", " s ", " o ", 's', new ItemStack(ModItems.slate), 'o', OrbRegistry.getOrbStack(ModItems.orbWeak))); GameRegistry.addRecipe(new ItemStack(ModItems.packSacrifice), "aba", "cdc", "aea", 'a', Blocks.glass, 'b', Items.bucket, 'c', Items.iron_ingot, 'd', Items.leather_chestplate, 'e', ModItems.slate);
GameRegistry.addRecipe(new ItemStack(ModItems.ritualDiviner), "dfd", "ase", "dwd", 'f', EnumRuneType.FIRE.getScribeStack(), 'a', EnumRuneType.AIR.getScribeStack(), 'w', EnumRuneType.WATER.getScribeStack(), 'e', EnumRuneType.EARTH.getScribeStack(), 'd', new ItemStack(Items.diamond), 's', new ItemStack(Items.stick)); GameRegistry.addRecipe(new ItemStack(ModItems.ritualDiviner), "dfd", "ase", "dwd", 'f', EnumRuneType.FIRE.getScribeStack(), 'a', EnumRuneType.AIR.getScribeStack(), 'w', EnumRuneType.WATER.getScribeStack(), 'e', EnumRuneType.EARTH.getScribeStack(), 'd', new ItemStack(Items.diamond), 's', new ItemStack(Items.stick));
GameRegistry.addRecipe(new ItemStack(ModBlocks.bloodStoneBrick), "aa", "aa", 'a', new ItemStack(ModBlocks.bloodStoneBrick, 1, 1));
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.bloodStoneBrick, 1, 1), Blocks.stone, ModItems.bloodShard);
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.lavaCrystal), "aba", "bcb", "ded", 'a', Blocks.glass, 'b', Items.lava_bucket, 'c', OrbRegistry.getOrbStack(ModItems.orbWeak), 'd', Blocks.obsidian, 'e', Items.diamond));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_BINDING), "xox", "oSo", "xox", 'S', OrbRegistry.getOrbStack(ModItems.orbMagician), 'o', new ItemStack(Items.redstone), 'x', new ItemStack(Items.glowstone_dust)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_WATER), "aaa", "aba", "aca", 'a', Items.water_bucket, 'b', Items.sugar, 'c', OrbRegistry.getOrbStack(ModItems.orbWeak)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_LAVA), "aba", "aca", "ada", 'a', Items.lava_bucket, 'b', Items.blaze_powder, 'c', Items.redstone, 'd', ModItems.lavaCrystal));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_VOID), "aba", "aca", "ada", 'a', Items.bucket, 'b', Items.string, 'c', Items.gunpowder, 'd', OrbRegistry.getOrbStack(ModItems.orbApprentice)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_GROWTH), "aba", "bcb", "ada", 'a', Blocks.sapling, 'b', Items.reeds, 'c', Items.sugar, 'd', OrbRegistry.getOrbStack(ModItems.orbApprentice)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_FASTMINER), "aba", "cde", "afa", 'a', Blocks.stone, 'b', Items.iron_pickaxe, 'c', Items.iron_shovel, 'd', Items.gunpowder, 'e', Items.iron_axe, 'f', OrbRegistry.getOrbStack(ModItems.orbApprentice)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_AFFINITY), "aba", "cde", "afa", 'a', Blocks.obsidian, 'b', ModItems.sigilAir, 'c', ModItems.sigilWater, 'd', Items.glowstone_dust, 'e', ModItems.sigilLava, 'f', OrbRegistry.getOrbStack(ModItems.orbMagician)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(ItemComponent.getStack(ItemComponent.REAGENT_SIGHT), "aba", "aca", "ded", 'a', Blocks.glass, 'b', ModItems.sigilDivination, 'c', Items.glowstone_dust, 'd', ModItems.bucketEssence, 'e', OrbRegistry.getOrbStack(ModItems.orbApprentice)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune), "aaa", "bcb", "aaa", 'a', Blocks.stone, 'b', ModItems.slate, 'c', OrbRegistry.getOrbStack(ModItems.orbWeak)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 1), "aba", "cdc", "aba", 'a', Blocks.stone, 'b', ModItems.slate, 'c', Items.sugar, 'd', ModBlocks.bloodRune)); //Speed
// GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 2), "aba", "cdc", "aba", 'a', Blocks.stone, 'b', ModItems.slate, 'c', Items.sugar, 'd', ModBlocks.bloodRune)); //Efficiency
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 3), "aba", "cdc", "aea", 'a', Blocks.stone, 'b', new ItemStack(ModItems.slate, 1, 1), 'c', Items.gold_ingot, 'd', ModBlocks.bloodRune, 'e', OrbRegistry.getOrbStack(ModItems.orbApprentice))); //Sacrifice
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 4), "aba", "cdc", "aea", 'a', Blocks.stone, 'b', new ItemStack(ModItems.slate, 1, 1), 'c', Items.glowstone_dust, 'd', ModBlocks.bloodRune, 'e', OrbRegistry.getOrbStack(ModItems.orbApprentice))); //Self-Sacrifice
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 5), "aba", "bcb", "ada", 'a', Blocks.stone, 'b', Items.water_bucket, 'c', ModBlocks.bloodRune, 'd', new ItemStack(ModItems.slate, 1, 2))); //Displacement
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 6), "aba", "bcb", "ada", 'a', Blocks.stone, 'b', Items.bucket, 'c', ModBlocks.bloodRune, 'd', new ItemStack(ModItems.slate, 1, 2))); //Capacity
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 7), "aba", "cdc", "aea", 'a', Blocks.obsidian, 'b', new ItemStack(ModItems.slate, 1, 3), 'c', Items.bucket, 'd', new ItemStack(ModBlocks.bloodRune, 1, 6), 'e', OrbRegistry.getOrbStack(ModItems.orbMaster))); //Augmented Capacity
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 8), "aba", "cdc", "aba", 'a', Blocks.stone, 'b', Items.diamond, 'c', ModBlocks.bloodRune, 'd', OrbRegistry.getOrbStack(ModItems.orbMaster))); //Orb
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.bloodRune, 1, 9), "aba", "cdc", "aea", 'a', Items.bucket, 'b', new ItemStack(ModItems.slate, 1, 4), 'c', Items.gold_ingot, 'd', new ItemStack(ModBlocks.bloodRune, 1, 1), 'e', OrbRegistry.getOrbStack(ModItems.orbArchmage))); //Acceleration
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.ritualStone), "aba", "bcb", "aba", 'a', Blocks.obsidian, 'b', new ItemStack(ModItems.slate, 1, 1), 'c', OrbRegistry.getOrbStack(ModItems.orbApprentice)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.ritualController), "aba", "bcb", "aba", 'a', Blocks.obsidian, 'b', ModBlocks.ritualStone, 'c', OrbRegistry.getOrbStack(ModItems.orbMagician)));
GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModBlocks.ritualController, 1, 1), "aba", "bcb", "aba", 'a', Blocks.obsidian, 'b', Blocks.stone, 'c', OrbRegistry.getOrbStack(ModItems.orbWeak)));
} }
public static void addAltarRecipes() public static void addAltarRecipes()
{ {
// ONE // ONE
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(OrbRegistry.getOrbStack(ModItems.orbWeak), OrbRegistry.getOrbStack(ModItems.orbWeak), EnumAltarTier.ONE, 5000, 2, 1, true)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(OrbRegistry.getOrbStack(ModItems.orbWeak), OrbRegistry.getOrbStack(ModItems.orbWeak), EnumAltarTier.ONE, 5000, 2, 1, true));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.diamond), OrbRegistry.getOrbStack(ModItems.orbWeak), EnumAltarTier.ONE, 2000, 2, 1, false)); 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, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.stone), new ItemStack(ModItems.slate), EnumAltarTier.ONE, 1000, 5, 5));
// TWO // TWO
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.emerald), OrbRegistry.getOrbStack(ModItems.orbApprentice), EnumAltarTier.TWO, 5000, 2, 1, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.emerald), OrbRegistry.getOrbStack(ModItems.orbApprentice), EnumAltarTier.TWO, 5000, 2, 1));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.slate), new ItemStack(ModItems.slate, 1, 1), EnumAltarTier.TWO, 2000, 5, 5, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.slate), new ItemStack(ModItems.slate, 1, 1), EnumAltarTier.TWO, 2000, 5, 5));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.iron_sword), new ItemStack(ModItems.daggerOfSacrifice), EnumAltarTier.TWO, 3000, 5, 5));
// THREE // THREE
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.gold_block), OrbRegistry.getOrbStack(ModItems.orbMagician), EnumAltarTier.THREE, 25000, 2, 1, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.gold_block), OrbRegistry.getOrbStack(ModItems.orbMagician), EnumAltarTier.THREE, 25000, 2, 1));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.slate, 1, 1), new ItemStack(ModItems.slate, 1, 2), EnumAltarTier.THREE, 5000, 15, 10, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.slate, 1, 1), new ItemStack(ModItems.slate, 1, 2), EnumAltarTier.THREE, 5000, 15, 10));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.obsidian), EnumRuneType.EARTH.getScribeStack(), EnumAltarTier.THREE, 1000, 5, 5, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.obsidian), EnumRuneType.EARTH.getScribeStack(), EnumAltarTier.THREE, 1000, 5, 5));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.lapis_block), EnumRuneType.WATER.getScribeStack(), EnumAltarTier.THREE, 1000, 5, 5, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.lapis_block), EnumRuneType.WATER.getScribeStack(), EnumAltarTier.THREE, 1000, 5, 5));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.magma_cream), EnumRuneType.FIRE.getScribeStack(), EnumAltarTier.THREE, 1000, 5, 5, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.magma_cream), EnumRuneType.FIRE.getScribeStack(), EnumAltarTier.THREE, 1000, 5, 5));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.ghast_tear), EnumRuneType.AIR.getScribeStack(), EnumAltarTier.THREE, 1000, 5, 5, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.ghast_tear), EnumRuneType.AIR.getScribeStack(), EnumAltarTier.THREE, 1000, 5, 5));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.lavaCrystal), new ItemStack(ModItems.activationCrystal), EnumAltarTier.THREE, 10000, 20, 10));
// FOUR // FOUR
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.slate, 1, 2), new ItemStack(ModItems.slate, 1, 3), EnumAltarTier.FOUR, 15000, 20, 20, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.slate, 1, 2), new ItemStack(ModItems.slate, 1, 3), EnumAltarTier.FOUR, 15000, 20, 20));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.coal_block), EnumRuneType.DUSK.getScribeStack(), EnumAltarTier.FOUR, 2000, 20, 10, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.coal_block), EnumRuneType.DUSK.getScribeStack(), EnumAltarTier.FOUR, 2000, 20, 10));
// FIVE // FIVE
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.slate, 1, 3), new ItemStack(ModItems.slate, 1, 4), EnumAltarTier.FIVE, 30000, 40, 100, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModItems.slate, 1, 3), new ItemStack(ModItems.slate, 1, 4), EnumAltarTier.FIVE, 30000, 40, 100));
// SIX // SIX
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModBlocks.crystal), OrbRegistry.getOrbStack(ModItems.orbTranscendent), EnumAltarTier.SIX, 200000, 100, 200, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(ModBlocks.crystal), OrbRegistry.getOrbStack(ModItems.orbTranscendent), EnumAltarTier.SIX, 200000, 100, 200));
AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.glowstone), EnumRuneType.DAWN.getScribeStack(), EnumAltarTier.SIX, 200000, 100, 200, false)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.glowstone), EnumRuneType.DAWN.getScribeStack(), EnumAltarTier.SIX, 200000, 100, 200));
} }
public static void addAlchemyArrayRecipes() public static void addAlchemyArrayRecipes()

View file

@ -12,6 +12,8 @@ item.BloodMagic.pack.selfSacrifice.name=Blood Letter's Pack
item.BloodMagic.pack.sacrifice.name=Coat of Arms item.BloodMagic.pack.sacrifice.name=Coat of Arms
item.BloodMagic.daggerOfSacrifice.name=Dagger of Sacrifice item.BloodMagic.daggerOfSacrifice.name=Dagger of Sacrifice
item.BloodMagic.lavaCrystal.name=Lava Crystal
item.BloodMagic.bound.sword.name=Bound Sword item.BloodMagic.bound.sword.name=Bound Sword
item.BloodMagic.bound.pickaxe.name=Bound Pickaxe item.BloodMagic.bound.pickaxe.name=Bound Pickaxe
item.BloodMagic.bound.axe.name=Bound Axe item.BloodMagic.bound.axe.name=Bound Axe
@ -131,6 +133,8 @@ tile.BloodMagic.bloodstonebrick.large.name=Large Bloodstone Brick
tile.BloodMagic.crystal.normal.name=Crystal Cluster tile.BloodMagic.crystal.normal.name=Crystal Cluster
tile.BloodMagic.crystal.brick.name=Crystal Cluster Brick tile.BloodMagic.crystal.brick.name=Crystal Cluster Brick
tile.BloodMagic.bloodLight.name=Blood Light tile.BloodMagic.bloodLight.name=Blood Light
tile.BloodMagic.spectralBlock.name=Spectral Block
tile.BloodMagic.phantomBlock.name=Phantom Block
# Tooltips # Tooltips
tooltip.BloodMagic.orb.desc=Stores raw Life Essence tooltip.BloodMagic.orb.desc=Stores raw Life Essence