diff options
Diffstat (limited to 'java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java')
| -rw-r--r-- | java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java | 273 |
1 files changed, 0 insertions, 273 deletions
diff --git a/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java b/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java deleted file mode 100644 index e02cac2..0000000 --- a/java/darkknight/jewelrycraft/tileentity/TileEntityShadowEye.java +++ /dev/null @@ -1,273 +0,0 @@ -package darkknight.jewelrycraft.tileentity; - -import java.util.ArrayList; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.NetworkManager; -import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S35PacketUpdateTileEntity; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import darkknight.jewelrycraft.block.BlockHandPedestal; -import darkknight.jewelrycraft.block.BlockList; -import darkknight.jewelrycraft.particles.EntityShadowsFX; -import darkknight.jewelrycraft.util.JewelryNBT; -import darkknight.jewelrycraft.util.PlayerUtils; - -public class TileEntityShadowEye extends TileEntity -{ - public int opening, timer, t = 20; - public boolean active; - public ArrayList<ItemStack> pedestalItems = new ArrayList<ItemStack>(); - ResourceLocation particleTexture = new ResourceLocation("jewelrycraft", "textures/particle/shadows.png"); - - /** - * - */ - public TileEntityShadowEye() - { - opening = 1; - timer = 20; - active = false; - } - - /** - * @param nbt - */ - @Override - public void writeToNBT(NBTTagCompound nbt) - { - super.writeToNBT(nbt); - nbt.setInteger("opening", opening); - nbt.setInteger("timer", timer); - nbt.setBoolean("active", active); - } - - /** - * @param nbt - */ - @Override - public void readFromNBT(NBTTagCompound nbt) - { - super.readFromNBT(nbt); - opening = nbt.getInteger("opening"); - timer = nbt.getInteger("timer"); - active = nbt.getBoolean("active"); - } - - /** - * - */ - @Override - public void updateEntity() - { - super.updateEntity(); - boolean valid = isValidStructure(worldObj, xCoord, yCoord, zCoord, blockMetadata); - if (active) timer--; - if (opening == 4 && timer <= 0) active = false; - if (!active && timer <= 0 && opening != 1){ - if (t > 0) t--; - if (t <= 0){ - opening--; - t = 20; - } - } - if (opening == 2 && timer <= 0 && t == 10){ - addData(worldObj, xCoord, yCoord, zCoord); - TileEntityHandPedestal target = (TileEntityHandPedestal)worldObj.getTileEntity(xCoord, yCoord - 3, zCoord); - if (target != null && target.getHeldItemStack() != null) JewelryNBT.addModifiers(target.getHeldItemStack(), pedestalItems); - } - if (active && timer <= 0){ - if (opening < 4){ - opening++; - timer = 20; - } - if (valid && opening == 4) timer = 1000; - else if (!valid){ - active = false; - timer = -1; - } - } - EntityPlayer player1 = worldObj.getClosestPlayer(xCoord, yCoord, zCoord, 7F); - if (player1 != null){ - NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player1, "Jewelrycraft"); - persistTag.setBoolean("nearStartedRitual", false); - } - if (active && opening == 4){ - float din = 6F; - int i = Minecraft.getMinecraft().gameSettings.particleSetting; - for(float x = -din; x <= din; x += 0.2F) - for(float z = -din; z <= din; z += 0.2F) - if (x * x + z * z >= din * din - 1 && x * x + z * z <= din * din + 1) Minecraft.getMinecraft().effectRenderer.addEffect(new EntityShadowsFX(worldObj, xCoord + x + 0.5F, yCoord - 0.5F, zCoord + z + 0.5F, 15F, 0.04F - 0.01F * i, particleTexture)); - for(int l = 0; l <= 2 - i; l++) - worldObj.spawnParticle("depthsuspend", xCoord + 6.5F - worldObj.rand.nextInt(9) - worldObj.rand.nextFloat(), yCoord - 2F + worldObj.rand.nextFloat(), zCoord + 6.5F - worldObj.rand.nextInt(9) - worldObj.rand.nextFloat(), 0, 0, 0); - EntityPlayer player = worldObj.getClosestPlayer(xCoord, yCoord, zCoord, 6F); - if (player != null){ - NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft"); - persistTag.setBoolean("nearStartedRitual", true); - } - } - } - - /** - * @param world - * @param x - * @param y - * @param z - * @param metadata - * @return - */ - public boolean isValidStructure(World world, int x, int y, int z, int metadata) - { - if (world.getBlockMetadata(x, y, z) == 0 || world.getBlockMetadata(x, y, z) == 2){ - // Layers from top to bottom - // 1st Layer - if (world.getBlock(x, y + 1, z) != Blocks.stone_slab || world.getBlockMetadata(x, y + 1, z) != 5) return false; - if (world.getBlock(x + 1, y + 1, z) != Blocks.stone_slab || world.getBlockMetadata(x + 1, y + 1, z) != 5) return false; - if (world.getBlock(x - 1, y + 1, z) != Blocks.stone_slab || world.getBlockMetadata(x - 1, y + 1, z) != 5) return false; - // 2nd Layer - if (world.getBlock(x + 2, y, z) != Blocks.stone_brick_stairs || world.getBlockMetadata(x + 2, y, z) != 1) return false; - if (world.getBlock(x + 1, y, z) != Blocks.stone_brick_stairs || world.getBlockMetadata(x + 1, y, z) != 4) return false; - if (world.getBlock(x - 1, y, z) != Blocks.stone_brick_stairs || world.getBlockMetadata(x - 1, y, z) != 5) return false; - if (world.getBlock(x - 2, y, z) != Blocks.stone_brick_stairs || world.getBlockMetadata(x - 2, y, z) != 0) return false; - // 3rd Layer - if (world.getBlock(x + 2, y - 1, z) != Blocks.stonebrick) return false; - if (world.getBlock(x - 2, y - 1, z) != Blocks.stonebrick) return false; - // 4th Layer - if (world.getBlock(x + 2, y - 2, z) != Blocks.stonebrick) return false; - if (world.getBlock(x - 2, y - 2, z) != Blocks.stonebrick) return false; - // 5th Layer - if (world.getBlock(x + 2, y - 3, z) != Blocks.stonebrick) return false; - if (world.getBlock(x - 2, y - 3, z) != Blocks.stonebrick) return false; - }else if (world.getBlockMetadata(x, y, z) == 1 || world.getBlockMetadata(x, y, z) == 3){ - // Layers from top to bottom - // 1st Layer - if (world.getBlock(x, y + 1, z) != Blocks.stone_slab || world.getBlockMetadata(x, y + 1, z) != 5) return false; - if (world.getBlock(x, y + 1, z + 1) != Blocks.stone_slab || world.getBlockMetadata(x, y + 1, z + 1) != 5) return false; - if (world.getBlock(x, y + 1, z - 1) != Blocks.stone_slab || world.getBlockMetadata(x, y + 1, z - 1) != 5) return false; - // 2nd Layer - if (world.getBlock(x, y, z + 2) != Blocks.stone_brick_stairs || world.getBlockMetadata(x, y, z + 2) != 3) return false; - if (world.getBlock(x, y, z + 1) != Blocks.stone_brick_stairs || world.getBlockMetadata(x, y, z + 1) != 6) return false; - if (world.getBlock(x, y, z - 1) != Blocks.stone_brick_stairs || world.getBlockMetadata(x, y, z - 1) != 7) return false; - if (world.getBlock(x, y, z - 2) != Blocks.stone_brick_stairs || world.getBlockMetadata(x, y, z - 2) != 2) return false; - // 3rd Layer - if (world.getBlock(x, y - 1, z + 2) != Blocks.stonebrick) return false; - if (world.getBlock(x, y - 1, z - 2) != Blocks.stonebrick) return false; - // 4th Layer - if (world.getBlock(x, y - 2, z + 2) != Blocks.stonebrick) return false; - if (world.getBlock(x, y - 2, z - 2) != Blocks.stonebrick) return false; - // 5th Layer - if (world.getBlock(x, y - 3, z + 2) != Blocks.stonebrick) return false; - if (world.getBlock(x, y - 3, z - 2) != Blocks.stonebrick) return false; - } - // 3rd Layer - if (world.getBlock(x - 4, y - 1, z - 4) != BlockList.shadowBlock) return false; - if (world.getBlock(x - 4, y - 1, z + 4) != BlockList.shadowBlock) return false; - if (world.getBlock(x + 4, y - 1, z - 4) != BlockList.shadowBlock) return false; - if (world.getBlock(x + 4, y - 1, z + 4) != BlockList.shadowBlock) return false; - // 4th Layer - if (world.getBlock(x - 4, y - 2, z - 4) != Blocks.stonebrick) return false; - if (world.getBlock(x - 4, y - 2, z + 4) != Blocks.stonebrick) return false; - if (world.getBlock(x + 4, y - 2, z - 4) != Blocks.stonebrick) return false; - if (world.getBlock(x + 4, y - 2, z + 4) != Blocks.stonebrick) return false; - // 5th Layer - // Pillars - if (world.getBlock(x - 4, y - 3, z - 4) != Blocks.stonebrick) return false; - if (world.getBlock(x - 4, y - 3, z + 4) != Blocks.stonebrick) return false; - if (world.getBlock(x + 4, y - 3, z - 4) != Blocks.stonebrick) return false; - if (world.getBlock(x + 4, y - 3, z + 4) != Blocks.stonebrick) return false; - // Pedestals - if (!(world.getBlock(x, y - 3, z) instanceof BlockHandPedestal)) return false; - if (world.getBlock(x - 4, y - 3, z + 2) != BlockList.handPedestal || world.getBlockMetadata(x - 4, y - 3, z + 2) != 1) return false; - if (world.getBlock(x - 5, y - 3, z) != BlockList.handPedestal || world.getBlockMetadata(x - 5, y - 3, z) != 2) return false; - if (world.getBlock(x - 4, y - 3, z - 2) != BlockList.handPedestal || world.getBlockMetadata(x - 4, y - 3, z - 2) != 3) return false; - if (world.getBlock(x - 2, y - 3, z - 4) != BlockList.handPedestal || world.getBlockMetadata(x - 2, y - 3, z - 4) != 3) return false; - if (world.getBlock(x, y - 3, z - 5) != BlockList.handPedestal || world.getBlockMetadata(x, y - 3, z - 5) != 4) return false; - if (world.getBlock(x + 2, y - 3, z - 4) != BlockList.handPedestal || world.getBlockMetadata(x + 2, y - 3, z - 4) != 5) return false; - if (world.getBlock(x + 4, y - 3, z - 2) != BlockList.handPedestal || world.getBlockMetadata(x + 4, y - 3, z - 2) != 5) return false; - if (world.getBlock(x + 5, y - 3, z) != BlockList.handPedestal || world.getBlockMetadata(x + 5, y - 3, z) != 6) return false; - if (world.getBlock(x + 4, y - 3, z + 2) != BlockList.handPedestal || world.getBlockMetadata(x + 4, y - 3, z + 2) != 7) return false; - if (world.getBlock(x + 2, y - 3, z + 4) != BlockList.handPedestal || world.getBlockMetadata(x + 2, y - 3, z + 4) != 7) return false; - if (world.getBlock(x, y - 3, z + 5) != BlockList.handPedestal || world.getBlockMetadata(x, y - 3, z + 5) != 0) return false; - if (world.getBlock(x - 2, y - 3, z + 4) != BlockList.handPedestal || world.getBlockMetadata(x - 2, y - 3, z + 4) != 1) return false; - return true; - } - - /** - * @param world - * @param x - * @param y - * @param z - */ - public void addData(World world, int x, int y, int z) - { - pedestalItems.clear(); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x + 2, y - 3, z - 4)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x - 4, y - 3, z + 2)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x, y - 3, z - 5)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x - 2, y - 3, z - 4)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x - 4, y - 3, z - 2)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x - 5, y - 3, z)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x + 4, y - 3, z - 2)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x + 5, y - 3, z)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x + 4, y - 3, z + 2)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x + 2, y - 3, z + 4)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x, y - 3, z + 5)); - addPedestalInfo((TileEntityHandPedestal)world.getTileEntity(x - 2, y - 3, z + 4)); - } - - /** - * @param pedestal - */ - public void addPedestalInfo(TileEntityHandPedestal pedestal) - { - ItemStack heldItemStack; - if (pedestal != null && (heldItemStack = pedestal.getHeldItemStack()) != null){ - if (pedestalItems.isEmpty()) pedestalItems.add(heldItemStack.copy()); - else{ - boolean hasItem = false; - int index = 0; - for(int ind = 0; ind < pedestalItems.size() && !hasItem; ind++) - if (heldItemStack.getItem().equals(pedestalItems.get(ind).getItem()) && heldItemStack.getItemDamage() == pedestalItems.get(ind).getItemDamage()){ - index = ind; - hasItem = true; - if (heldItemStack.hasTagCompound() && pedestalItems.get(ind).hasTagCompound() && !heldItemStack.getTagCompound().equals(pedestalItems.get(ind).getTagCompound())) hasItem = false; - } - if (!hasItem) pedestalItems.add(heldItemStack.copy()); - else{ - ItemStack object = pedestalItems.get(index).copy(); - object.stackSize++; - pedestalItems.set(index, object); - } - } - pedestal.removeHeldItemStack(); - pedestal.openHand(); - } - } - - /** - * @return - */ - @Override - public Packet getDescriptionPacket() - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeToNBT(nbttagcompound); - return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 1, nbttagcompound); - } - - /** - * @param net - * @param packet - */ - @Override - public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet) - { - readFromNBT(packet.func_148857_g()); - worldObj.func_147479_m(xCoord, yCoord, zCoord); - } -} |
