Java Code Examples for net.minecraft.world.World#scheduleBlockUpdate()
The following examples show how to use
net.minecraft.world.World#scheduleBlockUpdate() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: Et-Futurum File: FrostedIce.java License: The Unlicense | 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
Source Project: Ex-Aliquo File: BlockEndEye.java License: MIT License | 6 votes |
@Override public void updateTick(World world, int x, int y, int z, Random rand) { if (!world.isRemote) { world.scheduleBlockUpdate(x, y, z, this.blockID, this.tickRate(world)); this.getBlockTexture(world, x, y, z, 0); } if (world.getBlockMetadata(x, y, z) == 0) { world.setBlock(x, y, z, this.blockID, 1, 2); } else { world.setBlock(x, y, z, this.blockID, 0, 2); } }
Example 3
Source Project: PneumaticCraft File: BlockFireFlower.java License: GNU General Public License v3.0 | 6 votes |
@Override public void executeFullGrownEffect(World world, int x, int y, int z, Random rand){ if(world.getBlockMetadata(x, y, z) == 14) { world.setBlockMetadataWithNotify(x, y, z, 11, 3); if(!world.isRemote) { ItemStack seed = new ItemStack(Itemss.plasticPlant, 1, ItemPlasticPlants.FIRE_FLOWER_DAMAGE); EntityItem plant = new EntityItem(world, x + 0.5D, y + 0.8D, z + 0.5D, seed); plant.motionX = (rand.nextFloat() - 0.5F) / 2; plant.motionY = 0.5F; plant.motionZ = (rand.nextFloat() - 0.5F) / 2; plant.lifespan = 300; ItemPlasticPlants.markInactive(plant); world.spawnEntityInWorld(plant); plant.playSound("mob.newsound.chickenplop", 0.2F, ((rand.nextFloat() - rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); } } else { world.setBlockMetadataWithNotify(x, y, z, 14, 2); world.scheduleBlockUpdate(x, y, z, this, 60); } }
Example 4
Source Project: Artifacts File: BlockTrap.java License: MIT License | 6 votes |
/** * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor blockID */ @Override public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block block) { boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4); int i1 = par1World.getBlockMetadata(par2, par3, par4); boolean flag1 = (i1 & 8) != 0; if (flag && !flag1) { par1World.scheduleBlockUpdate(par2, par3, par4, this.instance, this.tickRate(par1World)); par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); } else if (!flag && flag1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); } else if(flag1) { //System.out.println("Stuck on"); } }
Example 5
Source Project: Gadomancy File: AuraEffects.java License: GNU Lesser General Public License v3.0 | 5 votes |
private static void waterLocation(ChunkCoordinates coordinates, World world) { Block block = world.getBlock(coordinates.posX, coordinates.posY, coordinates.posZ); if (block.getTickRandomly()) { world.scheduleBlockUpdate(coordinates.posX, coordinates.posY, coordinates.posZ, block, world.rand.nextInt(8) + 2); } if(IntegrationThaumicTinkerer.isCropBlock(block)) { TileEntity te = world.getTileEntity(coordinates.posX, coordinates.posY, coordinates.posZ); if(te != null && IntegrationThaumicTinkerer.isCropTile(te)) { for (int i = 0; i < 10; i++) { te.updateEntity(); //Badumm tss.. } } } }
Example 6
Source Project: Et-Futurum File: FrostedIce.java License: The Unlicense | 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 7
Source Project: Ex-Aliquo File: BlockEndCake.java License: MIT License | 5 votes |
@Override public void onBlockAdded(World world, int x, int y, int z) { if (world.provider.dimensionId == 1) { world.scheduleBlockUpdate(x, y, z, this.blockID, 12000); } }
Example 8
Source Project: Ex-Aliquo File: BlockEndCake.java License: MIT License | 5 votes |
@Override public void updateTick(World world, int x, int y, int z, Random rand) { if (world.provider.dimensionId == 1) { int meta = world.getBlockMetadata(x, y, z) - 1; if (meta > 0) world.setBlockMetadataWithNotify(x, y, z, meta, 2); world.scheduleBlockUpdate(x, y, z, this.blockID, 12000); } }
Example 9
Source Project: enderutilities File: BlockEnderUtilitiesPortal.java License: GNU Lesser General Public License v3.0 | 5 votes |
@Override public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos) { if (worldIn.isRemote == false && this.checkCanStayAndScheduleBreaking(worldIn, pos, state) == false) { worldIn.scheduleBlockUpdate(pos, this, 0, 0); } }
Example 10
Source Project: enderutilities File: BlockEnderUtilitiesPortal.java License: GNU Lesser General Public License v3.0 | 5 votes |
/** * Returns false if the block can't stay and should be broken, * and also schedules the checks for all the adjacent blocks. */ private boolean checkCanStayAndScheduleBreaking(World world, BlockPos pos, IBlockState state) { EnumFacing facing = state.getValue(FACING); BlockPos[] positions = PositionUtils.getAdjacentPositions(pos, facing, false); boolean canStay = true; for (BlockPos posTmp : positions) { Block block = world.getBlockState(posTmp).getBlock(); if (block != this && block != EnderUtilitiesBlocks.PORTAL_FRAME) { for (BlockPos posTmp2 : positions) { block = world.getBlockState(posTmp2).getBlock(); if (block == this) { world.scheduleBlockUpdate(posTmp2, block, 0, 0); } } canStay = false; break; } } return canStay; }
Example 11
Source Project: GardenCollection File: BlockSmallFire.java License: MIT License | 5 votes |
@Override public void onBlockAdded (World world, int x, int y, int z) { if (!blockCanHostSmallFlame(world, x, y - 1, z)) world.setBlockToAir(x, y, z); else world.scheduleBlockUpdate(x, y, z, this, tickRate(world) + world.rand.nextInt(10)); }
Example 12
Source Project: Artifacts File: BlockLaserBeamSource.java License: MIT License | 5 votes |
@Override public void updateTick(World world, int x, int y, int z, Random rand) { int meta = world.getBlockMetadata(x, y, z); this.updateLaserState(world, x, y, z, this.instance, meta, true, -1, 0); if((meta&8) == 8) { world.setBlockMetadataWithNotify(x, y, z, meta&3, 3); notifyNeighborOfChange(world, x, y, z, meta&3); world.scheduleBlockUpdate(x, y, z, this.instance, this.tickRate(world)); } }
Example 13
Source Project: Artifacts File: BlockLaserBeamSource.java License: MIT License | 5 votes |
@Override public float getPlayerRelativeBlockHardness(EntityPlayer par1EntityPlayer, World par2World, int par3, int par4, int par5) { int m = par2World.getBlockMetadata(par3, par4, par5); if((m&8) != 8) { par2World.setBlockMetadataWithNotify(par3, par4, par5, m|8, 3); notifyNeighborOfChange(par2World, par3, par4, par5, m); par2World.scheduleBlockUpdate(par3, par4, par5, this.instance, this.tickRate(par2World)); } return super.getPlayerRelativeBlockHardness(par1EntityPlayer, par2World, par3, par4, par5); }
Example 14
Source Project: Artifacts File: BlockWallPlate.java License: MIT License | 5 votes |
@Override //setStateIfMobInteractsWithPlate protected void func_150062_a(World world, int x, int y, int z, int meta) { int i1 = this.func_150065_e/*getPlateState*/(world, x, y, z); boolean flag = meta > 0; boolean flag1 = (i1 > 0); if (meta != i1) { int side = world.getBlockMetadata(x, y, z)&7; int m = this.func_150060_c/*getMetaFromWeight*/(i1)*8 + side; world.setBlockMetadataWithNotify(x, y, z, m, 2); this.func_150064_a_(world, x, y, z); world.markBlockRangeForRenderUpdate(x, y, z, x, y, z); } if (!flag1 && flag) { world.playSoundEffect((double)x + 0.5D, (double)y + 0.1D, (double)z + 0.5D, "random.click", 0.3F, 0.5F); } else if (flag1 && !flag) { world.playSoundEffect((double)x + 0.5D, (double)y + 0.1D, (double)z + 0.5D, "random.click", 0.3F, 0.6F); } if (flag1) { world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); } }
Example 15
Source Project: Ex-Aliquo File: BlockEndEye.java License: MIT License | 4 votes |
@Override public void onBlockAdded(World world, int x, int y, int z) { world.scheduleBlockUpdate(x, y, z, this.blockID, this.tickRate(world)); }
Example 16
Source Project: Artifacts File: BlockQuickSand.java License: MIT License | 4 votes |
/** * Called whenever the block is added into the world. Args: world, x, y, z */ @Override public void onBlockAdded(World world, int x, int y, int z) { world.scheduleBlockUpdate(x, y, z, this.instance, flowDelay); }
Example 17
Source Project: Artifacts File: BlockLaserBeamSource.java License: MIT License | 4 votes |
@Override public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { //System.out.println("Collide"); if (!par1World.isRemote) { /*int m = par1World.getBlockMetadata(par2, par3, par4); if ((m & 8) != 8) { par1World.setBlockMetadataWithNotify(par2, par3, par4, m, 3); }*/ int l = par1World.getBlockMetadata(par2, par3, par4); boolean flag = (l & 8) == 8; boolean flag1 = false; List list = par1World.getEntitiesWithinAABBExcludingEntity((Entity)null, AxisAlignedBB.getBoundingBox((double)par2 + this.minX, (double)par3 + this.minY, (double)par4 + this.minZ, (double)par2 + this.maxX, (double)par3 + this.maxY, (double)par4 + this.maxZ)); if (!list.isEmpty()) { Iterator iterator = list.iterator(); while (iterator.hasNext()) { Entity entity = (Entity)iterator.next(); if (entity instanceof EntityLivingBase && !entity.doesEntityNotTriggerPressurePlate()) { flag1 = true; break; } } } if (flag1 && !flag) { l |= 8; par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 3); notifyNeighborOfChange(par1World, par2, par3, par4, l); //} //if (flag1) //{ par1World.scheduleBlockUpdate(par2, par3, par4, this.instance, this.tickRate(par1World)); } } }
Example 18
Source Project: Artifacts File: BlockQuickSand.java License: MIT License | 4 votes |
/** * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are * their own) Args: x, y, z, neighbor Block */ @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block blockChanged) { world.scheduleBlockUpdate(x, y, z, this.instance, flowDelay); }
Example 19
Source Project: Artifacts File: BlockLaserBeam.java License: MIT License | 4 votes |
public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { par1World.scheduleBlockUpdate(par2, par3, par4, this.instance, 1); }
Example 20
Source Project: Artifacts File: BlockLaserBeamSource.java License: MIT License | 4 votes |
public void updateLaserState(World world, int x, int y, int z, Block block, int meta, boolean triggered, int par8, int par9) { int l1 = meta & 3; boolean flag1 = (meta & 8) == 8; //boolean flag2 = (meta & 8) == 8; //boolean isThis = id == this.blockID; //boolean flag4 = false; //boolean solidTop = !world.isBlockSolidOnSide(x, y - 1, z, UP); int offsetX = Direction.offsetX[l1]; int offsetZ = Direction.offsetZ[l1]; //int k2 = 0; //int[] aint = new int[42]; int l2; int i3; Block j3; int k3; //int l3; boolean shouldbetriggered = false; boolean quitEarly = false; for (i3 = 1; i3 < 16; ++i3) { l2 = x + offsetX * i3; k3 = z + offsetZ * i3; j3 = world.getBlock(l2, y, k3); if(j3 == Blocks.air || (j3 != BlockLaserBeam.instance && j3.getMaterial() == Material.air)) { if(!quitEarly) world.setBlock(l2, y, k3, BlockLaserBeam.instance, 0, 3); } if(j3 == BlockLaserBeam.instance) { if(quitEarly) { world.setBlockToAir(l2, y, k3); } else if(world.getBlockMetadata(l2, y, k3) != 0) { shouldbetriggered = true; //world.scheduleBlockUpdate(l2, y, k3, blockID, 10); //world.setBlockMetadataWithNotify(l2, y, k3, 0, 3); } } if (world.getBlock(l2, y, k3).isOpaqueCube()) { quitEarly = true; } } if(triggered) { if(shouldbetriggered) { world.setBlockMetadataWithNotify(x, y, z, l1|8, 3); world.scheduleBlockUpdate(x, y, z, this.instance, this.tickRate(world)); notifyNeighborOfChange(world, x, y, z, l1); } } }