83 lines
1.9 KiB
Java
83 lines
1.9 KiB
Java
package WayofTime.bloodmagic.alchemyArray;
|
|
|
|
import net.minecraft.block.state.IBlockState;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.EnumFacing;
|
|
import net.minecraft.util.math.BlockPos;
|
|
import net.minecraft.world.World;
|
|
import WayofTime.bloodmagic.api.alchemyCrafting.AlchemyArrayEffect;
|
|
import WayofTime.bloodmagic.api.iface.IAlchemyArray;
|
|
|
|
public class AlchemyArrayEffectMovement extends AlchemyArrayEffect
|
|
{
|
|
public AlchemyArrayEffectMovement(String key)
|
|
{
|
|
super(key);
|
|
}
|
|
|
|
@Override
|
|
public boolean update(TileEntity tile, int ticksActive)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void onEntityCollidedWithBlock(IAlchemyArray array, World world, BlockPos pos, IBlockState state, Entity entity)
|
|
{
|
|
double motionY = 0.5;
|
|
double speed = 3;
|
|
EnumFacing direction = array.getRotation();
|
|
|
|
entity.motionY = motionY;
|
|
entity.fallDistance = 0;
|
|
|
|
switch (direction)
|
|
{
|
|
case NORTH:
|
|
entity.motionX = 0;
|
|
entity.motionY = motionY;
|
|
entity.motionZ = -speed;
|
|
break;
|
|
|
|
case SOUTH:
|
|
entity.motionX = 0;
|
|
entity.motionY = motionY;
|
|
entity.motionZ = speed;
|
|
break;
|
|
|
|
case WEST:
|
|
entity.motionX = -speed;
|
|
entity.motionY = motionY;
|
|
entity.motionZ = 0;
|
|
break;
|
|
|
|
case EAST:
|
|
entity.motionX = speed;
|
|
entity.motionY = motionY;
|
|
entity.motionZ = 0;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void writeToNBT(NBTTagCompound tag)
|
|
{
|
|
|
|
}
|
|
|
|
@Override
|
|
public void readFromNBT(NBTTagCompound tag)
|
|
{
|
|
|
|
}
|
|
|
|
@Override
|
|
public AlchemyArrayEffect getNewCopy()
|
|
{
|
|
return new AlchemyArrayEffectMovement(key);
|
|
}
|
|
}
|