public override void OnNeighborBlockChange(net.minecraft.src.World world, int i, int j, int k, int l) { if (!CanBlockStay(world, i, j, k)) { DropBlockAsItem(world, i, j, k, world.GetBlockMetadata(i, j, k)); world.SetBlockWithNotify(i, j, k, 0); return; } int i1 = world.GetBlockMetadata(i, j, k); bool flag = Func_22012_g(world, i, j, k, i1); int j1 = (i1 & 0xc) >> 2; if (field_22015_c && !flag) { world.ScheduleUpdateTick(i, j, k, ID, field_22013_b[j1] * 2); } else { if (!field_22015_c && flag) { world.ScheduleUpdateTick(i, j, k, ID, field_22013_b[j1] * 2); } } }
public virtual void Func_272_a(net.minecraft.src.World world, int i, int j, int k , bool flag) { int l = world.GetBlockMetadata(i, j, k); if ((l & 8) != 0) { if (world.GetBlockId(i, j - 1, k) == ID) { Func_272_a(world, i, j - 1, k, flag); } return; } bool flag1 = (world.GetBlockMetadata(i, j, k) & 4) > 0; if (flag1 == flag) { return; } if (world.GetBlockId(i, j + 1, k) == ID) { world.SetBlockMetadataWithNotify(i, j + 1, k, (l ^ 4) + 8); } world.SetBlockMetadataWithNotify(i, j, k, l ^ 4); world.MarkBlocksDirty(i, j - 1, k, i, j, k); world.SendSoundEffectToAllPlayersWithin64(null, 1003, i, j, k, 0); }
public override void OnNeighborBlockChange(net.minecraft.src.World world, int i, int j, int k, int l) { if (Func_322_g(world, i, j, k)) { int i1 = world.GetBlockMetadata(i, j, k) & 7; bool flag = false; if (!world.IsBlockNormalCube(i - 1, j, k) && i1 == 1) { flag = true; } if (!world.IsBlockNormalCube(i + 1, j, k) && i1 == 2) { flag = true; } if (!world.IsBlockNormalCube(i, j, k - 1) && i1 == 3) { flag = true; } if (!world.IsBlockNormalCube(i, j, k + 1) && i1 == 4) { flag = true; } if (flag) { DropBlockAsItem(world, i, j, k, world.GetBlockMetadata(i, j, k)); world.SetBlockWithNotify(i, j, k, 0); } } }
public override void OnBlockRemoval(net.minecraft.src.World world, int i, int j, int k) { base.OnBlockRemoval(world, i, j, k); int l = world.GetBlockMetadata(i, j, k); if (l > 5 || l < 0) { return; // CRAFTBUKKIT - fixed a piston AIOOBE issue. } int j1 = net.minecraft.src.PistonBlockTextures.field_31052_a[Func_31045_b(l)]; i += net.minecraft.src.PistonBlockTextures.field_31051_b[j1]; j += net.minecraft.src.PistonBlockTextures.field_31054_c[j1]; k += net.minecraft.src.PistonBlockTextures.field_31053_d[j1]; int k1 = world.GetBlockId(i, j, k); if (k1 == net.minecraft.src.Block.PISTON.ID || k1 == net.minecraft.src.Block .PISTON_STICKY.ID) { int i1 = world.GetBlockMetadata(i, j, k); if (net.minecraft.src.BlockPistonBase.IsExtended(i1)) { net.minecraft.src.Block.blocksList[k1].DropBlockAsItem(world, i, j, k, i1); world.SetBlockWithNotify(i, j, k, 0); } } }
public override void OnBlockRemoval(net.minecraft.src.World world, int i, int j, int k) { int l = 1; int i1 = l + 1; if (world.CheckChunksExist(i - i1, j - i1, k - i1, i + i1, j + i1, k + i1)) { for (int j1 = -l; j1 <= l; j1++) { for (int k1 = -l; k1 <= l; k1++) { for (int l1 = -l; l1 <= l; l1++) { int i2 = world.GetBlockId(i + j1, j + k1, k + l1); if (i2 == net.minecraft.src.Block.LEAVES.ID) { int j2 = world.GetBlockMetadata(i + j1, j + k1, k + l1); world.SetBlockMetadata(i + j1, j + k1, k + l1, j2 | 8); } } } } } }
public static void UpdateFurnaceBlockState(bool flag, net.minecraft.src.World world , int i, int j, int k) { int l = world.GetBlockMetadata(i, j, k); net.minecraft.src.TileEntity tileentity = world.GetBlockTileEntity(i, j, k); if (tileentity == null) { return; // CRAFTBUKKIT } field_28034_c = true; if (flag) { world.SetBlockWithNotify(i, j, k, net.minecraft.src.Block.BURNING_FURNACE.ID ); } else { world.SetBlockWithNotify(i, j, k, net.minecraft.src.Block.FURNACE.ID); } field_28034_c = false; world.SetBlockMetadataWithNotify(i, j, k, l); tileentity.Validate(); world.SetBlockTileEntity(i, j, k, tileentity); }
private bool Func_27031_a(net.minecraft.src.World world, int i, int j, int k, bool flag, int l, int i1) { int j1 = world.GetBlockId(i, j, k); if (j1 == net.minecraft.src.Block.GOLDEN_RAIL.ID) { int k1 = world.GetBlockMetadata(i, j, k); int l1 = k1 & 7; if (i1 == 1 && (l1 == 0 || l1 == 4 || l1 == 5)) { return(false); } if (i1 == 0 && (l1 == 1 || l1 == 2 || l1 == 3)) { return(false); } if ((k1 & 8) != 0) { if (world.IsBlockIndirectlyGettingPowered(i, j, k) || world.IsBlockIndirectlyGettingPowered (i, j + 1, k)) { return(true); } else { return(Func_27032_a(world, i, j, k, k1, flag, l + 1)); } } } return(false); }
public static net.minecraft.src.ChunkCoordinates Func_22021_g(net.minecraft.src.World world, int i, int j, int k, int l) { int i1 = world.GetBlockMetadata(i, j, k); int j1 = Func_22019_c(i1); for (int k1 = 0; k1 <= 1; k1++) { int l1 = i - field_22023_a[j1][0] * k1 - 1; int i2 = k - field_22023_a[j1][1] * k1 - 1; int j2 = l1 + 2; int k2 = i2 + 2; for (int l2 = l1; l2 <= j2; l2++) { for (int i3 = i2; i3 <= k2; i3++) { if (!world.IsBlockNormalCube(l2, j - 1, i3) || !world.IsAirBlock(l2, j, i3) || !world .IsAirBlock(l2, j + 1, i3)) { continue; } if (l > 0) { l--; } else { return(new net.minecraft.src.ChunkCoordinates(l2, j, i3)); } } } } return(null); }
public override void OnBlockRemoval(net.minecraft.src.World world, int i, int j, int k) { byte byte0 = 4; int l = byte0 + 1; if (world.CheckChunksExist(i - l, j - l, k - l, i + l, j + l, k + l)) { for (int i1 = -byte0; i1 <= byte0; i1++) { for (int j1 = -byte0; j1 <= byte0; j1++) { for (int k1 = -byte0; k1 <= byte0; k1++) { int l1 = world.GetBlockId(i + i1, j + j1, k + k1); if (l1 != net.minecraft.src.Block.LEAVES.ID) { continue; } int i2 = world.GetBlockMetadata(i + i1, j + j1, k + k1); if ((i2 & 8) == 0) { world.SetBlockMetadata(i + i1, j + j1, k + k1, i2 | 8); } } } } } }
public override void OnNeighborBlockChange(net.minecraft.src.World world, int i, int j, int k, int l) { int i1 = world.GetBlockMetadata(i, j, k); int j1 = Func_22019_c(i1); if (Func_22020_d(i1)) { if (world.GetBlockId(i - field_22023_a[j1][0], j, k - field_22023_a[j1][1]) != ID) { world.SetBlockWithNotify(i, j, k, 0); } } else { if (world.GetBlockId(i + field_22023_a[j1][0], j, k + field_22023_a[j1][1]) != ID) { world.SetBlockWithNotify(i, j, k, 0); if (!world.singleplayerWorld) { DropBlockAsItem(world, i, j, k, i1); } } } }
public override void UpdateTick(net.minecraft.src.World world, int i, int j, int k, SharpBukkitLive.SharpBukkit.SharpRandom random) { if (random.Next(5) == 0) { if (IsWaterNearby(world, i, j, k) || world.CanLightningStrikeAt(i, j + 1, k)) { world.SetBlockMetadataWithNotify(i, j, k, 7); } else { int l = world.GetBlockMetadata(i, j, k); if (l > 0) { world.SetBlockMetadataWithNotify(i, j, k, l - 1); } else { if (!IsCropsNearby(world, i, j, k)) { world.SetBlockWithNotify(i, j, k, net.minecraft.src.Block.DIRT.ID); } } } } }
public override void OnNeighborBlockChange(net.minecraft.src.World world, int i, int j, int k, int l) { int i1 = world.GetBlockMetadata(i, j, k); bool flag = false; if (i1 == 2 && world.IsBlockNormalCube(i, j, k + 1)) { flag = true; } if (i1 == 3 && world.IsBlockNormalCube(i, j, k - 1)) { flag = true; } if (i1 == 4 && world.IsBlockNormalCube(i + 1, j, k)) { flag = true; } if (i1 == 5 && world.IsBlockNormalCube(i - 1, j, k)) { flag = true; } if (!flag) { DropBlockAsItem(world, i, j, k, i1); world.SetBlockWithNotify(i, j, k, 0); } base.OnNeighborBlockChange(world, i, j, k, l); }
public override void UpdateTick(net.minecraft.src.World world, int i, int j, int k, SharpBukkitLive.SharpBukkit.SharpRandom random) { int l = world.GetBlockMetadata(i, j, k); bool flag = Func_22012_g(world, i, j, k, l); if (field_22015_c && !flag) { world.SetBlockAndMetadataWithNotify(i, j, k, net.minecraft.src.Block.DIODE_OFF .ID, l); } else { if (!field_22015_c) { world.SetBlockAndMetadataWithNotify(i, j, k, net.minecraft.src.Block.DIODE_ON .ID, l); if (!flag) { int i1 = (l & 0xc) >> 2; world.ScheduleUpdateTick(i, j, k, net.minecraft.src.Block.DIODE_ON. ID, field_22013_b[i1] * 2); } } } }
private static bool CanPushBlock(int i, net.minecraft.src.World world, int j, int k, int l, bool flag) { if (i == net.minecraft.src.Block.OBSIDIAN.ID) { return(false); } if (i == net.minecraft.src.Block.PISTON.ID || i == net.minecraft.src.Block .PISTON_STICKY.ID) { if (IsExtended(world.GetBlockMetadata(j, k, l))) { return(false); } } else { if (net.minecraft.src.Block.blocksList[i].GetHardness() == -1F) { return(false); } if (net.minecraft.src.Block.blocksList[i].GetMobilityFlag() == 2) { return(false); } if (!flag && net.minecraft.src.Block.blocksList[i].GetMobilityFlag() == 1) { return(false); } } net.minecraft.src.TileEntity tileentity = world.GetBlockTileEntity(j, k, l); return(tileentity == null); }
public override bool IsIndirectlyPoweringTo(net.minecraft.src.World world, int i, int j, int k, int l) { int i1 = world.GetBlockMetadata(i, j, k); if ((i1 & 8) == 0) { return(false); } int j1 = i1 & 7; if (j1 == 6 && l == 1) { return(true); } if (j1 == 5 && l == 1) { return(true); } if (j1 == 4 && l == 2) { return(true); } if (j1 == 3 && l == 3) { return(true); } if (j1 == 2 && l == 4) { return(true); } return(j1 == 1 && l == 5); }
public override bool BlockActivated(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.EntityPlayer entityplayer) { if (blockMaterial == net.minecraft.src.Material.iron) { return(true); } int l = world.GetBlockMetadata(i, j, k); if ((l & 8) != 0) { if (world.GetBlockId(i, j - 1, k) == ID) { BlockActivated(world, i, j - 1, k, entityplayer); } return(true); } if (world.GetBlockId(i, j + 1, k) == ID) { world.SetBlockMetadataWithNotify(i, j + 1, k, (l ^ 4) + 8); } world.SetBlockMetadataWithNotify(i, j, k, l ^ 4); world.MarkBlocksDirty(i, j - 1, k, i, j, k); world.SendSoundEffectToAllPlayersWithin64(entityplayer, 1003, i, j, k, 0); return(true); }
public RailLogic(net.minecraft.src.BlockRail blockrail, net.minecraft.src.World world , int i, int j, int k) { // Referenced classes of package net.minecraft.src: // World, Block, BlockRail, ChunkPosition // super(); minecartTrack = blockrail; connectedTracks = new List <ChunkPosition>(); worldObj = world; trackX = i; trackY = j; trackZ = k; int l = world.GetBlockId(i, j, k); int i1 = world.GetBlockMetadata(i, j, k); if (net.minecraft.src.BlockRail.Func_27033_a((net.minecraft.src.BlockRail)net.minecraft.src.Block .blocksList[l])) { field_27084_f = true; i1 &= -9; } else { field_27084_f = false; } Func_27083_a(i1); }
public override void OnNeighborBlockChange(net.minecraft.src.World world, int i, int j, int k, int l) { int i1 = Func_31045_b(world.GetBlockMetadata(i, j, k)); if (l > 5 || l < 0) { return; // CRAFTBUKKIT - fixed a piston AIOOBE issue. } int j1 = world.GetBlockId(i - net.minecraft.src.PistonBlockTextures.field_31051_b [i1], j - net.minecraft.src.PistonBlockTextures.field_31054_c[i1], k - net.minecraft.src.PistonBlockTextures .field_31053_d[i1]); if (j1 != net.minecraft.src.Block.PISTON.ID && j1 != net.minecraft.src.Block .PISTON_STICKY.ID) { world.SetBlockWithNotify(i, j, k, 0); } else { net.minecraft.src.Block.blocksList[j1].OnNeighborBlockChange(world, i - net.minecraft.src.PistonBlockTextures .field_31051_b[i1], j - net.minecraft.src.PistonBlockTextures.field_31054_c[i1], k - net.minecraft.src.PistonBlockTextures.field_31053_d[i1], l); } }
public override void OnBlockPlaced(net.minecraft.src.World world, int i, int j, int k, int l) { int i1 = world.GetBlockMetadata(i, j, k); if (l == 1 && Func_31028_g(world, i, j - 1, k)) { i1 = 5; } if (l == 2 && world.IsBlockNormalCube(i, j, k + 1)) { i1 = 4; } if (l == 3 && world.IsBlockNormalCube(i, j, k - 1)) { i1 = 3; } if (l == 4 && world.IsBlockNormalCube(i + 1, j, k)) { i1 = 2; } if (l == 5 && world.IsBlockNormalCube(i - 1, j, k)) { i1 = 1; } world.SetBlockMetadataWithNotify(i, j, k, i1); }
public virtual void GrowTree(net.minecraft.src.World world, int i, int j, int k, SharpBukkitLive.SharpBukkit.SharpRandom random) { int l = world.GetBlockMetadata(i, j, k) & 3; world.SetBlock(i, j, k, 0); object obj = null; if (l == 1) //TODO: Bukkit fix??? { obj = new net.minecraft.src.WorldGenTaiga2(); } else { if (l == 2) { obj = new net.minecraft.src.WorldGenForest(); } else { obj = new net.minecraft.src.WorldGenTrees(); if (random.Next(10) == 0) { obj = new net.minecraft.src.WorldGenBigTree(); } } } if (!((net.minecraft.src.WorldGenerator)(obj)).Generate(world, random, i, j, k)) { world.SetBlockAndMetadata(i, j, k, ID, l); } }
private void UpdatePistonState(net.minecraft.src.World world, int i, int j, int k ) { int l = world.GetBlockMetadata(i, j, k); int i1 = GetOrientation(l); bool flag = IsPowered(world, i, j, k, i1); if (l == 7) { return; } if (flag && !IsExtended(l)) { if (CanExtend(world, i, j, k, i1)) //TODO: bukkit bool -> int return on CanExtend { world.SetBlockMetadata(i, j, k, i1 | 8); world.PlayNoteAt(i, j, k, 0, i1); } } else { if (!flag && IsExtended(l)) { world.SetBlockMetadata(i, j, k, i1); world.PlayNoteAt(i, j, k, 1, i1); } } }
private void Func_30004_i(net.minecraft.src.World world, int i, int j, int k) { int l = world.GetBlockMetadata(i, j, k); world.SetBlockAndMetadata(i, j, k, ID + 1, l); world.MarkBlocksDirty(i, j, k, i, j, k); world.MarkBlockNeedsUpdate(i, j, k); }
public override void OnNeighborBlockChange(net.minecraft.src.World world, int i, int j, int k, int l) { if (!CanBlockStay(world, i, j, k)) { DropBlockAsItem(world, i, j, k, world.GetBlockMetadata(i, j, k)); world.SetBlockWithNotify(i, j, k, 0); } }
protected internal void CheckBlockCoordValid(net.minecraft.src.World world, int i , int j, int k) { if (!CanBlockStay(world, i, j, k)) { DropBlockAsItem(world, i, j, k, world.GetBlockMetadata(i, j, k)); world.SetBlockWithNotify(i, j, k, 0); } }
public Packet53BlockChange(int x, int y, int z, net.minecraft.src.World world) { isChunkDataPacket = true; xPosition = x; yPosition = y; zPosition = z; type = world.GetBlockId(x, y, z); metadata = world.GetBlockMetadata(x, y, z); }
public override void UpdateTick(net.minecraft.src.World world, int i, int j, int k, SharpBukkitLive.SharpBukkit.SharpRandom random) { if (world.GetSavedLightValue(net.minecraft.src.EnumSkyBlock.Block, i, j, k) > 11) { DropBlockAsItem(world, i, j, k, world.GetBlockMetadata(i, j, k)); world.SetBlockWithNotify(i, j, k, 0); } }
public override void UpdateTick(net.minecraft.src.World world, int i, int j, int k, SharpBukkitLive.SharpBukkit.SharpRandom random) { base.UpdateTick(world, i, j, k, random); if (world.GetBlockMetadata(i, j, k) == 0) { OnBlockAdded(world, i, j, k); } }
private void Func_30005_i(net.minecraft.src.World world, int i, int j, int k) { int l = world.GetBlockMetadata(i, j, k); world.editingBlocks = true; world.SetBlockAndMetadata(i, j, k, ID - 1, l); world.MarkBlocksDirty(i, j, k, i, j, k); world.ScheduleUpdateTick(i, j, k, ID - 1, TickRate()); world.editingBlocks = false; }
public override bool BlockActivated(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.EntityPlayer entityplayer) { int l = world.GetBlockMetadata(i, j, k); int i1 = (l & 0xc) >> 2; i1 = i1 + 1 << 2 & 0xc; world.SetBlockMetadataWithNotify(i, j, k, i1 | l & 3); return(true); }
public override net.minecraft.src.AxisAlignedBB GetCollisionBoundingBoxFromPool(net.minecraft.src.World world, int i, int j, int k) { int l = world.GetBlockMetadata(i, j, k); float f = 0.0625F; float f1 = (float)(1 + l * 2) / 16F; float f2 = 0.5F; return(net.minecraft.src.AxisAlignedBB.GetBoundingBoxFromPool((float)i + f1, j, ( float)k + f, (float)(i + 1) - f, ((float)j + f2) - f, (float)(k + 1) - f)); }