Java Code Examples for net.minecraft.world.World.scheduleBlockUpdate()

The following are Jave code examples for showing how to use scheduleBlockUpdate() of the net.minecraft.world.World class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
Example 1
Project: connor41-etfuturum2   File: FrostedIce.java   Source Code and License Vote up 6 votes
@Override
public void updateTick(World world, int x, int y, int z, Random rand) {
	if (world.isRemote)
		return;

	int surroundingBlockCount = 0;
	for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
		Block block = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
		if (block == this || block == Blocks.ice || block == Blocks.packed_ice)
			if (++surroundingBlockCount >= 4)
				break;
	}

	if (surroundingBlockCount < 4 || rand.nextInt(100) <= 33) {
		int meta = world.getBlockMetadata(x, y, z);
		if (meta < 3)
			world.setBlockMetadataWithNotify(x, y, z, meta + 1, 2);
		else
			world.setBlock(x, y, z, Blocks.water);
	}

	world.scheduleBlockUpdate(x, y, z, this, 40 + rand.nextInt(40));
}
 
Example 2
Project: harshencastle   File: HarshenDimensionalPlate.java   Source Code and License Vote up 5 votes
@Override
public void onEntityWalk(World worldIn, BlockPos pos, Entity entityIn) {
	if (worldIn.getBlockState(pos) == this.getStateFromMeta(0)) {
		notifyChange(worldIn, pos, worldIn.getBlockState(pos), 1, true);
		worldIn.scheduleBlockUpdate(pos, this, 20, 2);
	}
	super.onEntityWalk(worldIn, pos, entityIn);
}
 
Example 3
Project: harshencastle   File: HarshenDimensionalPlate.java   Source Code and License Vote up 5 votes
@Override
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
	if (state == this.getStateFromMeta(1))
		if (worldIn.getEntitiesWithinAABB(EntityLivingBase.class,
				new AxisAlignedBB(pos.add(0, 1, 0), pos.add(1, 2, 1))).isEmpty())
			notifyChange(worldIn, pos, state, 0, false);
		else
			worldIn.scheduleBlockUpdate(pos, this, 20, 2);
	super.updateTick(worldIn, pos, state, rand);
}
 
Example 4
Project: harshencastle   File: SoulReminder.java   Source Code and License Vote up 5 votes
@Override
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
	isTicking = true;
	List<Entity> playersWithin = worldIn.getEntitiesWithinAABB(EntityPlayer.class, new  AxisAlignedBB(pos, pos.add(1, 1, 1)));
	if(!playersWithin.isEmpty())
		for(Object player: playersWithin.toArray())
			((EntityPlayer)player).addPotionEffect(new PotionEffect(Potion.getPotionById(9), 200));
	this.world = worldIn;
	this.pos = pos;
	worldIn.scheduleBlockUpdate(pos, this, 10, 3);
	if(world != null && pos != null)
		if (world instanceof WorldServer)
			((WorldServer)world).spawnParticle(EnumParticleTypes.CLOUD, false, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, 7,  0.3, 0.2, 0.3, 0, new int[EnumParticleTypes.CLOUD.getArgumentCount()]);
	super.updateTick(worldIn, pos, state, rand);
}
 
Example 5
Project: connor41-etfuturum2   File: FrostedIce.java   Source Code and License Vote up 5 votes
@Override
public void onBlockAdded(World world, int x, int y, int z) {
	if (world.isRemote)
		return;

	world.scheduleBlockUpdate(x, y, z, this, 40 + world.rand.nextInt(40));
}
 
Example 6
Project: harshencastle   File: SoulReminder.java   Source Code and License Vote up 4 votes
@Override
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) {
	worldIn.scheduleBlockUpdate(pos, this, 10, 3);
	super.onBlockAdded(worldIn, pos, state);
}
 
Example 7
Project: CustomWorldGen   File: AnvilChunkLoader.java   Source Code and License Vote up 4 votes
public void loadEntities(World worldIn, NBTTagCompound compound, Chunk chunk)
{
    NBTTagList nbttaglist1 = compound.getTagList("Entities", 10);

    if (nbttaglist1 != null)
    {
        for (int j1 = 0; j1 < nbttaglist1.tagCount(); ++j1)
        {
            NBTTagCompound nbttagcompound1 = nbttaglist1.getCompoundTagAt(j1);
            readChunkEntity(nbttagcompound1, worldIn, chunk);
            chunk.setHasEntities(true);
        }
    }

    NBTTagList nbttaglist2 = compound.getTagList("TileEntities", 10);

    if (nbttaglist2 != null)
    {
        for (int k1 = 0; k1 < nbttaglist2.tagCount(); ++k1)
        {
            NBTTagCompound nbttagcompound2 = nbttaglist2.getCompoundTagAt(k1);
            TileEntity tileentity = TileEntity.create(worldIn, nbttagcompound2);

            if (tileentity != null)
            {
                chunk.addTileEntity(tileentity);
            }
        }
    }

    if (compound.hasKey("TileTicks", 9))
    {
        NBTTagList nbttaglist3 = compound.getTagList("TileTicks", 10);

        if (nbttaglist3 != null)
        {
            for (int l1 = 0; l1 < nbttaglist3.tagCount(); ++l1)
            {
                NBTTagCompound nbttagcompound3 = nbttaglist3.getCompoundTagAt(l1);
                Block block;

                if (nbttagcompound3.hasKey("i", 8))
                {
                    block = Block.getBlockFromName(nbttagcompound3.getString("i"));
                }
                else
                {
                    block = Block.getBlockById(nbttagcompound3.getInteger("i"));
                }

                worldIn.scheduleBlockUpdate(new BlockPos(nbttagcompound3.getInteger("x"), nbttagcompound3.getInteger("y"), nbttagcompound3.getInteger("z")), block, nbttagcompound3.getInteger("t"), nbttagcompound3.getInteger("p"));
            }
        }
    }
}