Example #1
0
 public override bool CanPlaceBlockAt(net.minecraft.src.World world, int i, int j,
                                      int k)
 {
     return(modelBlock.CanPlaceBlockAt(world, i, j, k));
 }
Example #2
0
 public override bool CanBlockStay(net.minecraft.src.World world, int i, int j, int
                                   k)
 {
     return(world.GetBlockMaterial(i, j - 1, k).IsSolid());
 }
Example #3
0
 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);
 }
Example #4
0
 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);
 }
Example #5
0
 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);
 }
Example #6
0
        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);
        }
Example #7
0
 public override net.minecraft.src.AxisAlignedBB GetCollisionBoundingBoxFromPool(net.minecraft.src.World
                                                                                 world, int i, int j, int k)
 {
     return(null);
 }
Example #8
0
 public override void OnBlockDestroyedByExplosion(net.minecraft.src.World world, int
                                                  i, int j, int k)
 {
     modelBlock.OnBlockDestroyedByExplosion(world, i, j, k);
 }
Example #9
0
 public override void OnBlockDestroyedByPlayer(net.minecraft.src.World world, int
                                               i, int j, int k, int l)
 {
     modelBlock.OnBlockDestroyedByPlayer(world, i, j, k, l);
 }
Example #10
0
 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);
 }
Example #11
0
 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);
 }
Example #12
0
 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);
 }
Example #13
0
 public override void OnBlockRemoval(net.minecraft.src.World world, int i, int j,
                                     int k)
 {
     modelBlock.OnBlockRemoval(world, i, j, k);
 }
Example #14
0
 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);
 }
Example #15
0
 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));
 }
Example #16
0
        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);
                    }
                }
            }
        }
Example #17
0
 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));
         }
     }
 }
Example #18
0
 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));
 }
Example #19
0
 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);
     }
 }
Example #20
0
        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);
            }
        }
Example #21
0
        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);
        }
Example #22
0
 public override void OnNeighborBlockChange(net.minecraft.src.World world, int i,
                                            int j, int k, int l)
 {
     Func_275_g(world, i, j, k);
 }
Example #23
0
 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);
 }
Example #24
0
        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);
                        }
                    }
                }
            }
        }
Example #25
0
        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;
            }
        }
Example #26
0
 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));
 }
Example #27
0
        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));
        }
Example #28
0
 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);
 }
Example #29
0
 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);
 }
Example #30
0
 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);
 }