151 lines
6.2 KiB
Java
151 lines
6.2 KiB
Java
package WayofTime.alchemicalWizardry.common.block;
|
|
|
|
import WayofTime.alchemicalWizardry.common.AlchemicalWizardry;
|
|
import WayofTime.alchemicalWizardry.common.PacketHandler;
|
|
import cpw.mods.fml.common.network.PacketDispatcher;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.block.BlockContainer;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.client.renderer.texture.IconRegister;
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
import net.minecraft.entity.effect.EntityLightningBolt;
|
|
import net.minecraft.entity.monster.EntityZombie;
|
|
import net.minecraft.entity.passive.EntityWolf;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemArmor;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.potion.Potion;
|
|
import net.minecraft.potion.PotionEffect;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ImperfectRitualStone extends Block
|
|
{
|
|
public ImperfectRitualStone(int id)
|
|
{
|
|
super(id, Material.iron);
|
|
setHardness(2.0F);
|
|
setResistance(5.0F);
|
|
setCreativeTab(AlchemicalWizardry.tabBloodMagic);
|
|
setUnlocalizedName("imperfectRitualStone");
|
|
// TODO Auto-generated constructor stub
|
|
}
|
|
|
|
@Override
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerIcons(IconRegister iconRegister)
|
|
{
|
|
this.blockIcon = iconRegister.registerIcon("AlchemicalWizardry:ImperfectRitualStone");
|
|
}
|
|
|
|
@Override
|
|
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float xOff, float yOff, float zOff)
|
|
{
|
|
//ItemStack ist = player.getItemInUse();
|
|
//if (!world.isRemote)
|
|
{
|
|
int blockID = world.getBlockId(x, y + 1, z);
|
|
|
|
if (blockID == Block.waterStill.blockID)
|
|
{
|
|
if (!player.capabilities.isCreativeMode && world.isRemote)
|
|
{
|
|
PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0));
|
|
}
|
|
|
|
if (!world.isRemote)
|
|
{
|
|
world.addWeatherEffect(new EntityLightningBolt(world, x, y + 2, z));
|
|
// if (!player.capabilities.isCreativeMode)
|
|
// {
|
|
// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0));
|
|
// }
|
|
}
|
|
|
|
world.getWorldInfo().setRaining(true);
|
|
|
|
if (world.isRemote)
|
|
{
|
|
world.setRainStrength(1.0F);
|
|
}
|
|
|
|
world.thunderingStrength = 1.0F;
|
|
world.getWorldInfo().setThunderTime(0);
|
|
world.getWorldInfo().setThundering(true);
|
|
return true;
|
|
}
|
|
else if (blockID == Block.coalBlock.blockID)
|
|
{
|
|
if (!player.capabilities.isCreativeMode && world.isRemote)
|
|
{
|
|
PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0));
|
|
}
|
|
|
|
//EntityFallenAngel zomb = new EntityFallenAngel(world);
|
|
EntityZombie zomb = new EntityZombie(world);
|
|
zomb.setPosition(x + 0.5, y + 2, z + 0.5);
|
|
// zomb.setCurrentItemOrArmor(4, new ItemStack(Item.helmetIron.itemID,1,0));
|
|
// zomb.setCurrentItemOrArmor(3, new ItemStack(Item.plateIron.itemID,1,0));
|
|
// zomb.setCurrentItemOrArmor(2, new ItemStack(Item.legsIron.itemID,1,0));
|
|
// zomb.setCurrentItemOrArmor(1, new ItemStack(Item.bootsIron.itemID,1,0));
|
|
//zomb.setCurrentItemOrArmor(0, new ItemStack(AlchemicalWizardry.energySword.itemID,1,0));
|
|
zomb.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 2000));
|
|
zomb.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 20000, 7));
|
|
zomb.addPotionEffect(new PotionEffect(Potion.resistance.id, 20000, 3));
|
|
|
|
if (!world.isRemote)
|
|
{
|
|
world.spawnEntityInWorld(zomb);
|
|
world.addWeatherEffect(new EntityLightningBolt(world, x, y + 2, z));
|
|
// if (!player.capabilities.isCreativeMode)
|
|
// {
|
|
// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0));
|
|
// }
|
|
}
|
|
|
|
return true;
|
|
}
|
|
else if (blockID == Block.blockLapis.blockID)
|
|
{
|
|
if (!player.capabilities.isCreativeMode && world.isRemote)
|
|
{
|
|
PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0));
|
|
}
|
|
|
|
if (!world.isRemote)
|
|
{
|
|
world.addWeatherEffect(new EntityLightningBolt(world, x, y + 2, z));
|
|
world.setWorldTime((world.getWorldTime() / 24000) * 24000 + 13800);
|
|
// if (!player.capabilities.isCreativeMode)
|
|
// {
|
|
// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0));
|
|
// }
|
|
}
|
|
}
|
|
else if (blockID == Block.bedrock.blockID)
|
|
{
|
|
if (!player.capabilities.isCreativeMode && world.isRemote)
|
|
{
|
|
PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0));
|
|
}
|
|
|
|
if (!world.isRemote)
|
|
{
|
|
world.addWeatherEffect(new EntityLightningBolt(world, x, y + 2, z));
|
|
//world.setWorldTime((world.getWorldTime()/24000)*24000+13800);
|
|
// if (!player.capabilities.isCreativeMode)
|
|
// {
|
|
// PacketDispatcher.sendPacketToServer(PacketHandler.getPacket(player.getEntityName(), -5000, 0));
|
|
// }
|
|
}
|
|
|
|
player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 1));
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
}
|