
This DOES NOT BUILD. Do not even attempt. Almost everything has been ported besides the block/item packages. Then it's a matter of testing what broke.
53 lines
1.7 KiB
Java
53 lines
1.7 KiB
Java
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;
|
|
import WayofTime.bloodmagic.api.util.helper.PlayerHelper;
|
|
import lombok.NoArgsConstructor;
|
|
import net.minecraft.entity.effect.EntityLightningBolt;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.math.BlockPos;
|
|
import net.minecraft.world.World;
|
|
|
|
@NoArgsConstructor
|
|
public class TileImperfectRitualStone extends TileEntity implements IImperfectRitualStone
|
|
{
|
|
// IImperfectRitualStone
|
|
|
|
@Override
|
|
public boolean performRitual(World world, BlockPos pos, ImperfectRitual imperfectRitual, EntityPlayer player)
|
|
{
|
|
if (imperfectRitual != null && ImperfectRitualRegistry.ritualEnabled(imperfectRitual))
|
|
{
|
|
if (!PlayerHelper.isFakePlayer(player) && !world.isRemote)
|
|
{
|
|
NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, imperfectRitual.getActivationCost());
|
|
if (imperfectRitual.onActivate(this, player))
|
|
{
|
|
if (imperfectRitual.isLightshow())
|
|
getWorld().addWeatherEffect(new EntityLightningBolt(getWorld(), getPos().getX(), getPos().getY() + 2, getPos().getZ(), true));
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public World getRitualWorld()
|
|
{
|
|
return getWorld();
|
|
}
|
|
|
|
@Override
|
|
public BlockPos getRitualPos()
|
|
{
|
|
return getPos();
|
|
}
|
|
}
|