public override bool CanPlaceBlockAt(net.minecraft.src.World world, int i, int j, int k) { return(modelBlock.CanPlaceBlockAt(world, i, j, k)); }
public override bool CanBlockStay(net.minecraft.src.World world, int i, int j, int k) { return(world.GetBlockMaterial(i, j - 1, k).IsSolid()); }
public override bool BlockActivated(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.EntityPlayer entityplayer) { EatCakeSlice(world, i, j, k, entityplayer); return(true); }
public virtual net.minecraft.src.Packet Func_28022_b(net.minecraft.src.ItemStack itemstack, net.minecraft.src.World world, net.minecraft.src.EntityPlayer entityplayer ) { return(null); }
public override void HarvestBlock(net.minecraft.src.World world, net.minecraft.src.EntityPlayer entityplayer, int i, int j, int k, int l) { base.HarvestBlock(world, entityplayer, i, j, k, l); }
public static bool PerformSleepSpawning(net.minecraft.src.World world, List <EntityPlayer> list) { bool flag = false; net.minecraft.src.Pathfinder pathfinder = new net.minecraft.src.Pathfinder(world); System.Collections.IEnumerator iterator = list.GetEnumerator(); do { if (!iterator.MoveNext()) { break; } net.minecraft.src.EntityPlayer entityplayer = (net.minecraft.src.EntityPlayer)iterator .Current; System.Type[] aclass = field_22213_a; if (aclass != null && aclass.Length != 0) { bool flag1 = false; int i = 0; while (i < 20 && !flag1) { int j = (net.minecraft.src.MathHelper.Floor_double(entityplayer.posX) + world.rand .NextInt(32)) - world.rand.Next(32); int k = (net.minecraft.src.MathHelper.Floor_double(entityplayer.posZ) + world.rand .NextInt(32)) - world.rand.Next(32); int l = (net.minecraft.src.MathHelper.Floor_double(entityplayer.posY) + world.rand .NextInt(16)) - world.rand.Next(16); if (l < 1) { l = 1; } else { if (l > 128) { l = 128; } } int i1 = world.rand.Next(aclass.Length); int j1; for (j1 = l; j1 > 2 && !world.IsBlockNormalCube(j, j1 - 1, k); j1--) { } for (; !Func_21167_a(net.minecraft.src.EnumCreatureType.monster, world, j, j1, k) && j1 < l + 16 && j1 < 128; j1++) { } if (j1 >= l + 16 || j1 >= 128) { j1 = l; } else { float f = (float)j + 0.5F; float f1 = j1; float f2 = (float)k + 0.5F; net.minecraft.src.EntityLiving entityliving; try { entityliving = (net.minecraft.src.EntityLiving)(aclass[i1].GetConstructor(new System.Type[] { Sharpen.Runtime.GetClassForType(typeof(net.minecraft.src.World)) }).Invoke(new object[] { world })); } catch (System.Exception exception) { Sharpen.Runtime.PrintStackTrace(exception); return(flag); } entityliving.SetLocationAndAngles(f, f1, f2, world.rand.NextFloat() * 360F, 0.0F); if (entityliving.GetCanSpawnHere()) { net.minecraft.src.PathEntity pathentity = pathfinder.CreateEntityPathTo(entityliving , entityplayer, 32F); if (pathentity != null && pathentity.pathLength > 1) { net.minecraft.src.PathPoint pathpoint = pathentity.Func_22211_c(); if (System.Math.Abs((double)pathpoint.xCoord - entityplayer.posX) < 1.5D && System.Math .Abs((double)pathpoint.zCoord - entityplayer.posZ) < 1.5D && System.Math.Abs((double )pathpoint.yCoord - entityplayer.posY) < 1.5D) { net.minecraft.src.ChunkCoordinates chunkcoordinates = net.minecraft.src.BlockBed. Func_22021_g(world, net.minecraft.src.MathHelper.Floor_double(entityplayer.posX) , net.minecraft.src.MathHelper.Floor_double(entityplayer.posY), net.minecraft.src.MathHelper .Floor_double(entityplayer.posZ), 1); if (chunkcoordinates == null) { chunkcoordinates = new net.minecraft.src.ChunkCoordinates(j, j1 + 1, k); } entityliving.SetLocationAndAngles((float)chunkcoordinates.posX + 0.5F, chunkcoordinates .posY, (float)chunkcoordinates.posZ + 0.5F, 0.0F, 0.0F); world.AddEntity(entityliving); Func_21166_a(entityliving, world, (float)chunkcoordinates.posX + 0.5F, chunkcoordinates .posY, (float)chunkcoordinates.posZ + 0.5F); entityplayer.WakeUpPlayer(true, false, false); entityliving.PlayLivingSound(); flag = true; flag1 = true; } } } } i++; } } }while (true); return(flag); }
public override net.minecraft.src.AxisAlignedBB GetCollisionBoundingBoxFromPool(net.minecraft.src.World world, int i, int j, int k) { return(null); }
public override void OnBlockDestroyedByExplosion(net.minecraft.src.World world, int i, int j, int k) { modelBlock.OnBlockDestroyedByExplosion(world, i, j, k); }
public override void OnBlockDestroyedByPlayer(net.minecraft.src.World world, int i, int j, int k, int l) { modelBlock.OnBlockDestroyedByPlayer(world, i, j, k, l); }
public override void OnEntityWalking(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.Entity entity) { modelBlock.OnEntityWalking(world, i, j, k, entity); }
public override void UpdateTick(net.minecraft.src.World world, int i, int j, int k, SharpBukkitLive.SharpBukkit.SharpRandom random) { modelBlock.UpdateTick(world, i, j, k, random); }
public override void DropBlockAsItemWithChance(net.minecraft.src.World world, int i, int j, int k, int l, float f) { modelBlock.DropBlockAsItemWithChance(world, i, j, k, l, f); }
public override void OnBlockRemoval(net.minecraft.src.World world, int i, int j, int k) { modelBlock.OnBlockRemoval(world, i, j, k); }
public override void OnBlockAdded(net.minecraft.src.World world, int i, int j, int k) { OnNeighborBlockChange(world, i, j, k, 0); modelBlock.OnBlockAdded(world, i, j, k); }
public override net.minecraft.src.AxisAlignedBB GetCollisionBoundingBoxFromPool(net.minecraft.src.World world, int i, int j, int k) { return(net.minecraft.src.AxisAlignedBB.GetBoundingBoxFromPool(i, j, k, i + 1, (float )j + 1.5F, k + 1)); }
public override void UpdateTick(net.minecraft.src.World world, int i, int j, int k, SharpBukkitLive.SharpBukkit.SharpRandom random) { int l = Func_301_g(world, i, j, k); byte byte0 = 1; if (blockMaterial == net.minecraft.src.Material.lava && !world.worldProvider.isHellWorld) { byte0 = 2; } bool flag = true; if (l > 0) { int i1 = -100; field_659_a = 0; i1 = Func_307_e(world, i - 1, j, k, i1); i1 = Func_307_e(world, i + 1, j, k, i1); i1 = Func_307_e(world, i, j, k - 1, i1); i1 = Func_307_e(world, i, j, k + 1, i1); int j1 = i1 + byte0; if (j1 >= 8 || i1 < 0) { j1 = -1; } if (Func_301_g(world, i, j + 1, k) >= 0) { int l1 = Func_301_g(world, i, j + 1, k); if (l1 >= 8) { j1 = l1; } else { j1 = l1 + 8; } } if (field_659_a >= 2 && blockMaterial == net.minecraft.src.Material.water) { if (world.GetBlockMaterial(i, j - 1, k).IsSolid()) { j1 = 0; } else { if (world.GetBlockMaterial(i, j - 1, k) == blockMaterial && world.GetBlockMetadata (i, j, k) == 0) { j1 = 0; } } } if (blockMaterial == net.minecraft.src.Material.lava && l < 8 && j1 < 8 && j1 > l && random.Next(4) != 0) { j1 = l; flag = false; } if (j1 != l) { l = j1; if (l < 0) { world.SetBlockWithNotify(i, j, k, 0); } else { world.SetBlockMetadataWithNotify(i, j, k, l); world.ScheduleUpdateTick(i, j, k, ID, TickRate()); world.NotifyBlocksOfNeighborChange(i, j, k, ID); } } else { if (flag) { Func_30004_i(world, i, j, k); } } } else { Func_30004_i(world, i, j, k); } if (Func_312_l(world, i, j - 1, k)) { if (l >= 8) { world.SetBlockAndMetadataWithNotify(i, j - 1, k, ID, l); } else { world.SetBlockAndMetadataWithNotify(i, j - 1, k, ID, l + 8); } } else { if (l >= 0 && (l == 0 || Func_309_k(world, i, j - 1, k))) { bool[] aflag = Func_4035_j(world, i, j, k); int k1 = l + byte0; if (l >= 8) { k1 = 1; } if (k1 >= 8) { return; } if (aflag[0]) { Func_311_f(world, i - 1, j, k, k1); } if (aflag[1]) { Func_311_f(world, i + 1, j, k, k1); } if (aflag[2]) { Func_311_f(world, i, j, k - 1, k1); } if (aflag[3]) { Func_311_f(world, i, j, k + 1, k1); } } } }
private static void Func_21166_a(net.minecraft.src.EntityLiving entityliving, net.minecraft.src.World world, float f, float f1, float f2) { if ((entityliving is net.minecraft.src.EntitySpider) && world.rand.Next(100) == 0) { net.minecraft.src.EntitySkeleton entityskeleton = new net.minecraft.src.EntitySkeleton (world); entityskeleton.SetLocationAndAngles(f, f1, f2, entityliving.rotationYaw, 0.0F); world.AddEntity(entityskeleton); entityskeleton.MountEntity(entityliving); } else { if (entityliving is net.minecraft.src.EntitySheep) { ((net.minecraft.src.EntitySheep)entityliving).SetFleeceColor(net.minecraft.src.EntitySheep .Func_21066_a(world.rand)); } } }
public override bool BlockActivated(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.EntityPlayer entityplayer) { return(base.BlockActivated(world, i, j, k, entityplayer)); }
public static int PerformSpawning(net.minecraft.src.World var0, bool var1, bool var2 ) { if (!var1 && !var2) { return(0); } else { eligibleChunksForSpawning.Clear(); int var3; int var6; for (var3 = 0; var3 < var0.playerEntities.Count; ++var3) { net.minecraft.src.EntityPlayer var4 = (net.minecraft.src.EntityPlayer)var0.playerEntities [var3]; int var5 = net.minecraft.src.MathHelper.Floor_double(var4.posX / 16.0D); var6 = net.minecraft.src.MathHelper.Floor_double(var4.posZ / 16.0D); byte var7 = 8; for (int var8 = -var7; var8 <= var7; ++var8) { for (int var9 = -var7; var9 <= var7; ++var9) { eligibleChunksForSpawning.Add(new net.minecraft.src.ChunkCoordIntPair(var8 + var5, var9 + var6)); } } } var3 = 0; net.minecraft.src.ChunkCoordinates var35 = var0.GetSpawnPoint(); net.minecraft.src.EnumCreatureType[] var36 = net.minecraft.src.EnumCreatureType.Values(); var6 = var36.Length; for (int var37 = 0; var37 < var6; ++var37) { net.minecraft.src.EnumCreatureType var38 = var36[var37]; if ((!var38.Func_21103_d() || var2) && (var38.Func_21103_d() || var1) && var0.CountEntities (var38.GetCreatureClass()) <= var38.GetMaxNumberOfCreature() * eligibleChunksForSpawning .Count / 256) { System.Collections.IEnumerator var39 = eligibleChunksForSpawning.GetEnumerator(); while (var39.MoveNext()) { net.minecraft.src.ChunkCoordIntPair var10 = (net.minecraft.src.ChunkCoordIntPair) var39.Current; net.minecraft.src.BiomeGenBase var11 = var0.GetWorldChunkManager().Func_4066_a(var10 ); System.Collections.IList var12 = var11.GetSpawnableList(var38); if (var12 != null && var12.Count > 0) { int var13 = 0; net.minecraft.src.SpawnListEntry var15; for (System.Collections.IEnumerator var14 = var12.GetEnumerator(); var14.MoveNext (); var13 += var15.spawnRarityRate) { var15 = (net.minecraft.src.SpawnListEntry)var14.Current; } int var40 = var0.rand.Next(var13); var15 = (net.minecraft.src.SpawnListEntry)var12[0]; System.Collections.IEnumerator var16 = var12.GetEnumerator(); while (var16.MoveNext()) { net.minecraft.src.SpawnListEntry var17 = (net.minecraft.src.SpawnListEntry)var16. Current; var40 -= var17.spawnRarityRate; if (var40 < 0) { var15 = var17; break; } } net.minecraft.src.ChunkPosition var41 = GetRandomSpawningPointInChunk(var0, var10 .X * 16, var10.Z * 16); int var42 = var41.x; int var18 = var41.y; int var19 = var41.z; if (!var0.IsBlockNormalCube(var42, var18, var19) && var0.GetBlockMaterial(var42, var18, var19) == var38.GetCreatureMaterial()) { int var20 = 0; for (int var21 = 0; var21 < 3; ++var21) { int var22 = var42; int var23 = var18; int var24 = var19; byte var25 = 6; for (int var26 = 0; var26 < 4; ++var26) { var22 += var0.rand.Next(var25) - var0.rand.Next(var25); var23 += var0.rand.Next(1) - var0.rand.Next(1); var24 += var0.rand.Next(var25) - var0.rand.Next(var25); if (Func_21167_a(var38, var0, var22, var23, var24)) { float var27 = (float)var22 + 0.5F; float var28 = (float)var23; float var29 = (float)var24 + 0.5F; if (var0.GetClosestPlayer((double)var27, (double)var28, (double)var29, 24.0D) == null) { float var30 = var27 - (float)var35.posX; float var31 = var28 - (float)var35.posY; float var32 = var29 - (float)var35.posZ; float var33 = var30 * var30 + var31 * var31 + var32 * var32; if (var33 >= 576.0F) { net.minecraft.src.EntityLiving var43; try { var43 = (net.minecraft.src.EntityLiving)(var15.entityClass.GetConstructor(new System.Type[] { typeof(net.minecraft.src.World) }).Invoke(new object[] { var0 })); } catch (System.Exception var34) { Sharpen.Runtime.PrintStackTrace(var34); return(var3); } var43.SetLocationAndAngles((double)var27, (double)var28, (double)var29, var0.rand .NextFloat() * 360.0F, 0.0F); if (var43.GetCanSpawnHere()) { ++var20; var0.AddEntity(var43); Func_21166_a(var43, var0, var27, var28, var29); if (var20 >= var43.GetMaxSpawnedInChunk()) { goto label113_continue; } } var3 += var20; } } } } } } } label113_continue :; } label113_break :; } } return(var3); } }
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) & 7; if (l >= 3) { return(net.minecraft.src.AxisAlignedBB.GetBoundingBoxFromPool((double)i + minX, ( double)j + minY, (double)k + minZ, (double)i + maxX, (float)j + 0.5F, (double)k + maxZ)); } else { return(null); } }
public override bool BlockActivated(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.EntityPlayer entityplayer) { if (world.singleplayerWorld) { return(true); } int l = world.GetBlockMetadata(i, j, k); if (!Func_22020_d(l)) { int i1 = Func_22019_c(l); i += field_22023_a[i1][0]; k += field_22023_a[i1][1]; if (world.GetBlockId(i, j, k) != ID) { return(true); } l = world.GetBlockMetadata(i, j, k); } if (!world.worldProvider.Func_28108_d()) { double d = (double)i + 0.5D; double d1 = (double)j + 0.5D; double d2 = (double)k + 0.5D; world.SetBlockWithNotify(i, j, k, 0); int j1 = Func_22019_c(l); i += field_22023_a[j1][0]; k += field_22023_a[j1][1]; if (world.GetBlockId(i, j, k) == ID) { world.SetBlockWithNotify(i, j, k, 0); d = (d + (double)i + 0.5D) / 2D; d1 = (d1 + (double)j + 0.5D) / 2D; d2 = (d2 + (double)k + 0.5D) / 2D; } world.NewExplosion(null, (float)i + 0.5F, (float)j + 0.5F, (float)k + 0.5F, 5F, true ); return(true); } if (Func_22018_f(l)) { net.minecraft.src.EntityPlayer entityplayer1 = null; System.Collections.IEnumerator iterator = world.playerEntities.GetEnumerator(); do { if (!iterator.MoveNext()) { break; } net.minecraft.src.EntityPlayer entityplayer2 = (net.minecraft.src.EntityPlayer)iterator .Current; if (entityplayer2.IsSleeping()) { net.minecraft.src.ChunkCoordinates chunkcoordinates = entityplayer2.playerLocation; if (chunkcoordinates.posX == i && chunkcoordinates.posY == j && chunkcoordinates. posZ == k) { entityplayer1 = entityplayer2; } } }while (true); if (entityplayer1 == null) { Func_22022_a(world, i, j, k, false); } else { entityplayer.Func_22061_a("tile.bed.occupied"); return(true); } } net.minecraft.src.EnumStatus enumstatus = entityplayer.GoToSleep(i, j, k); if (enumstatus == net.minecraft.src.EnumStatus.OK) { Func_22022_a(world, i, j, k, true); return(true); } if (enumstatus == net.minecraft.src.EnumStatus.NOT_POSSIBLE_NOW) { entityplayer.Func_22061_a("tile.bed.noSleep"); } return(true); }
public override void OnNeighborBlockChange(net.minecraft.src.World world, int i, int j, int k, int l) { Func_275_g(world, i, j, k); }
public override void OnBlockRemoval(net.minecraft.src.World world, int i, int j, int k) { Func_28035_b_(world, i, j, k); base.OnBlockRemoval(world, i, j, k); }
public virtual void Func_4107_a(net.minecraft.src.World world) { int i = (field_960_e - field_956_b) + 1; int j = (field_959_f - field_962_c) + 1; int k = (field_958_g - field_961_d) + 1; int l = i * j * k; if (l > 32768) { System.Console.Out.WriteLine("Light too large, skipping!"); return; } int i1 = 0; int j1 = 0; bool flag = false; bool flag1 = false; for (int k1 = field_956_b; k1 <= field_960_e; k1++) { for (int l1 = field_961_d; l1 <= field_958_g; l1++) { int i2 = k1 >> 4; int j2 = l1 >> 4; bool flag2 = false; if (flag && i2 == i1 && j2 == j1) { flag2 = flag1; } else { flag2 = world.DoChunksNearChunkExist(k1, 0, l1, 1); if (flag2) { net.minecraft.src.Chunk chunk = world.GetChunkFromChunkCoords(k1 >> 4, l1 >> 4); if (chunk.Func_21101_g()) { flag2 = false; } } flag1 = flag2; i1 = i2; j1 = j2; } if (!flag2) { continue; } if (field_962_c < 0) { field_962_c = 0; } if (field_959_f >= 128) { field_959_f = 127; } for (int k2 = field_962_c; k2 <= field_959_f; k2++) { int l2 = world.GetSavedLightValue(field_957_a, k1, k2, l1); int i3 = 0; int j3 = world.GetBlockId(k1, k2, l1); int k3 = net.minecraft.src.Block.lightOpacity[j3]; if (k3 == 0) { k3 = 1; } int l3 = 0; if (field_957_a == net.minecraft.src.EnumSkyBlock.Sky) { if (world.CanExistingBlockSeeTheSky(k1, k2, l1)) { l3 = 15; } } else { if (field_957_a == net.minecraft.src.EnumSkyBlock.Block) { l3 = net.minecraft.src.Block.lightValue[j3]; } } if (k3 >= 15 && l3 == 0) { i3 = 0; } else { int i4 = world.GetSavedLightValue(field_957_a, k1 - 1, k2, l1); int k4 = world.GetSavedLightValue(field_957_a, k1 + 1, k2, l1); int l4 = world.GetSavedLightValue(field_957_a, k1, k2 - 1, l1); int i5 = world.GetSavedLightValue(field_957_a, k1, k2 + 1, l1); int j5 = world.GetSavedLightValue(field_957_a, k1, k2, l1 - 1); int k5 = world.GetSavedLightValue(field_957_a, k1, k2, l1 + 1); i3 = i4; if (k4 > i3) { i3 = k4; } if (l4 > i3) { i3 = l4; } if (i5 > i3) { i3 = i5; } if (j5 > i3) { i3 = j5; } if (k5 > i3) { i3 = k5; } i3 -= k3; if (i3 < 0) { i3 = 0; } if (l3 > i3) { i3 = l3; } } if (l2 == i3) { continue; } world.SetLightValue(field_957_a, k1, k2, l1, i3); int j4 = i3 - 1; if (j4 < 0) { j4 = 0; } world.NeighborLightPropagationChanged(field_957_a, k1 - 1, k2, l1, j4); world.NeighborLightPropagationChanged(field_957_a, k1, k2 - 1, l1, j4); world.NeighborLightPropagationChanged(field_957_a, k1, k2, l1 - 1, j4); if (k1 + 1 >= field_960_e) { world.NeighborLightPropagationChanged(field_957_a, k1 + 1, k2, l1, j4); } if (k2 + 1 >= field_959_f) { world.NeighborLightPropagationChanged(field_957_a, k1, k2 + 1, l1, j4); } if (l1 + 1 >= field_958_g) { world.NeighborLightPropagationChanged(field_957_a, k1, k2, l1 + 1, j4); } } } } }
public Packet51MapChunk(int x, int y, int z, int xSize, int ySize, int zSize, net.minecraft.src.World world) { isChunkDataPacket = true; xPosition = x; yPosition = y; zPosition = z; this.xSize = xSize; this.ySize = ySize; this.zSize = zSize; byte[] abyte0 = world.GetChunkData(x, y, z, xSize, ySize, zSize); //java.util.zip.Deflater deflater = new java.util.zip.Deflater(-1); //try //{ // deflater.SetInput(abyte0); // deflater.Finish(); // chunk = new byte[(l * i1 * j1 * 5) / 2]; // chunkSize = deflater.Deflate(chunk); //} //finally //{ // deflater.End(); //} using (Compressor compressor = new LibDeflate.ZlibCompressor(abyte0.Length < REDUCED_DEFLATE_THRESHOLD ? DEFLATE_LEVEL_PARTS : DEFLATE_LEVEL_CHUNKS)) { chunk = compressor.Compress(abyte0, true); if (chunk == null) { throw new System.Exception($"Chunk data was too small to effectively compress or some other error occurred??? (Size: {abyte0.Length})"); } chunkSize = chunk.Length; //ms.CopyTo(ds); //ds.Flush(); //chunk = output.ToArray(); //chunkSize = chunk.Length; } }
public override net.minecraft.src.AxisAlignedBB GetCollisionBoundingBoxFromPool(net.minecraft.src.World world, int i, int j, int k) { SetBlockBoundsBasedOnState(world, i, j, k); return(base.GetCollisionBoundingBoxFromPool(world, i, j, k)); }
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)); }
public override void OnBlockClicked(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.EntityPlayer entityplayer) { BlockActivated(world, i, j, k, entityplayer); }
public override void OnBlockClicked(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.EntityPlayer entityplayer) { EatCakeSlice(world, i, j, k, entityplayer); }
public override void VelocityToAddToEntity(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.Entity entity, net.minecraft.src.Vec3D vec3d) { modelBlock.VelocityToAddToEntity(world, i, j, k, entity, vec3d); }