2015-11-02 17:45:11 -08:00
|
|
|
package WayofTime.bloodmagic.tile;
|
|
|
|
|
|
|
|
import WayofTime.bloodmagic.api.registry.ImperfectRitualRegistry;
|
|
|
|
import WayofTime.bloodmagic.api.ritual.imperfect.IImperfectRitualStone;
|
|
|
|
import WayofTime.bloodmagic.api.ritual.imperfect.ImperfectRitual;
|
|
|
|
import WayofTime.bloodmagic.api.util.helper.NetworkHelper;
|
2016-01-13 13:13:01 -08:00
|
|
|
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
|
2015-11-03 10:44:08 -08:00
|
|
|
import lombok.NoArgsConstructor;
|
2015-11-05 19:58:43 -08:00
|
|
|
import net.minecraft.entity.effect.EntityLightningBolt;
|
2015-11-02 17:45:11 -08:00
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
import net.minecraft.tileentity.TileEntity;
|
|
|
|
import net.minecraft.util.BlockPos;
|
|
|
|
import net.minecraft.world.World;
|
|
|
|
|
2015-11-03 10:44:08 -08:00
|
|
|
@NoArgsConstructor
|
2015-12-30 15:34:40 -05:00
|
|
|
public class TileImperfectRitualStone extends TileEntity implements IImperfectRitualStone
|
|
|
|
{
|
2015-11-02 17:45:11 -08:00
|
|
|
// IImperfectRitualStone
|
|
|
|
|
|
|
|
@Override
|
2015-12-30 15:34:40 -05:00
|
|
|
public boolean performRitual(World world, BlockPos pos, ImperfectRitual imperfectRitual, EntityPlayer player)
|
|
|
|
{
|
2016-01-24 17:47:11 -08:00
|
|
|
if (!world.isRemote && !PlayerHelper.isFakePlayer(player) && imperfectRitual != null && ImperfectRitualRegistry.ritualEnabled(imperfectRitual))
|
2015-12-30 15:34:40 -05:00
|
|
|
{
|
2015-12-31 20:10:57 -05:00
|
|
|
NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, imperfectRitual.getActivationCost());
|
2015-11-05 19:58:43 -08:00
|
|
|
if (imperfectRitual.onActivate(this, player))
|
|
|
|
if (imperfectRitual.isLightshow())
|
|
|
|
getWorld().addWeatherEffect(new EntityLightningBolt(getWorld(), getPos().getX(), getPos().getY() + 2, getPos().getZ()));
|
2015-11-02 17:45:11 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2015-12-30 15:34:40 -05:00
|
|
|
public World getWorld()
|
|
|
|
{
|
2015-11-02 17:45:11 -08:00
|
|
|
return super.getWorld();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2015-12-30 15:34:40 -05:00
|
|
|
public BlockPos getPos()
|
|
|
|
{
|
2015-11-02 17:45:11 -08:00
|
|
|
return super.getPos();
|
|
|
|
}
|
|
|
|
}
|