Merge pull request #160 from Alex-hawks/master
Change Rituals to allow for TileEntity Runes, and Hybrid Runes
This commit is contained in:
commit
f138a8347e
|
@ -4,5 +4,5 @@ import net.minecraft.world.World;
|
|||
|
||||
public interface IRitualStone
|
||||
{
|
||||
public int getRuneType(World world, int x, int y, int z, int meta);
|
||||
public boolean isRuneType(World world, int x, int y, int z, int meta, int runeType);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
package WayofTime.alchemicalWizardry.api.rituals;
|
||||
|
||||
public interface ITileRitualStone
|
||||
{
|
||||
public boolean isRuneType(int runeType);
|
||||
}
|
|
@ -7,6 +7,7 @@ import java.util.Map;
|
|||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import WayofTime.alchemicalWizardry.api.event.RitualRunEvent;
|
||||
|
@ -149,6 +150,7 @@ public class Rituals
|
|||
}
|
||||
|
||||
Block test = null;
|
||||
TileEntity te = null;
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
|
@ -156,13 +158,10 @@ public class Rituals
|
|||
for (RitualComponent rc : ritual)
|
||||
{
|
||||
test = world.getBlock(x + rc.getX(), y + rc.getY(), z + rc.getZ());
|
||||
te = world.getTileEntity(x + rc.getX(), y + rc.getY(), z + rc.getZ());
|
||||
|
||||
if (!(test instanceof IRitualStone))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (((IRitualStone)test).getRuneType(world, x, y, z, world.getBlockMetadata(x + rc.getX(), y + rc.getY(), z + rc.getZ())) != rc.getStoneType())
|
||||
if (!(test instanceof IRitualStone && ((IRitualStone)test).isRuneType(world, x, y, z, world.getBlockMetadata(x + rc.getX(), y + rc.getY(), z + rc.getZ()), rc.getStoneType()))
|
||||
&& !(test instanceof ITileRitualStone && ((ITileRitualStone)te).isRuneType(rc.getStoneType())))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -174,13 +173,10 @@ public class Rituals
|
|||
for (RitualComponent rc : ritual)
|
||||
{
|
||||
test = world.getBlock(x - rc.getZ(), y + rc.getY(), z + rc.getX());
|
||||
te = world.getTileEntity(x - rc.getZ(), y + rc.getY(), z + rc.getX());
|
||||
|
||||
if (!(test instanceof IRitualStone))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (((IRitualStone)test).getRuneType(world, x, y, z, world.getBlockMetadata(x - rc.getZ(), y + rc.getY(), z + rc.getX())) != rc.getStoneType())
|
||||
if (!(test instanceof IRitualStone && ((IRitualStone)test).isRuneType(world, x, y, z, world.getBlockMetadata(x - rc.getZ(), y + rc.getY(), z + rc.getX()), rc.getStoneType()))
|
||||
&& !(test instanceof ITileRitualStone && ((ITileRitualStone)te).isRuneType(rc.getStoneType())))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -192,13 +188,10 @@ public class Rituals
|
|||
for (RitualComponent rc : ritual)
|
||||
{
|
||||
test = world.getBlock(x - rc.getX(), y + rc.getY(), z - rc.getZ());
|
||||
te = world.getTileEntity(x - rc.getX(), y + rc.getY(), z - rc.getZ());
|
||||
|
||||
if (!(test instanceof IRitualStone))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (((IRitualStone)test).getRuneType(world, x, y, z, world.getBlockMetadata(x - rc.getX(), y + rc.getY(), z - rc.getZ())) != rc.getStoneType())
|
||||
if (!(test instanceof IRitualStone && ((IRitualStone)test).isRuneType(world, x, y, z, world.getBlockMetadata(x - rc.getX(), y + rc.getY(), z - rc.getZ()), rc.getStoneType()))
|
||||
&& !(test instanceof ITileRitualStone && ((ITileRitualStone)te).isRuneType(rc.getStoneType())))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -210,13 +203,10 @@ public class Rituals
|
|||
for (RitualComponent rc : ritual)
|
||||
{
|
||||
test = world.getBlock(x + rc.getZ(), y + rc.getY(), z - rc.getX());
|
||||
te = world.getTileEntity(x + rc.getZ(), y + rc.getY(), z - rc.getX());
|
||||
|
||||
if (!(test instanceof IRitualStone))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (((IRitualStone)test).getRuneType(world, x, y, z, world.getBlockMetadata(x + rc.getZ(), y + rc.getY(), z - rc.getX())) != rc.getStoneType())
|
||||
if (!(test instanceof IRitualStone && ((IRitualStone)test).isRuneType(world, x, y, z, world.getBlockMetadata(x + rc.getZ(), y + rc.getY(), z - rc.getX()), rc.getStoneType()))
|
||||
&& !(test instanceof ITileRitualStone && ((ITileRitualStone)te).isRuneType(rc.getStoneType())))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -120,8 +120,8 @@ public class RitualStone extends Block implements IRitualStone
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getRuneType(World world, int x, int y, int z, int meta)
|
||||
public boolean isRuneType(World world, int x, int y, int z, int meta, int runeType)
|
||||
{
|
||||
return meta;
|
||||
return meta == runeType;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue