Пример #1
0
 public override void UpdateKillStatistic(net.minecraft.src.EntityLiving entityliving)
 {
     if (entityliving is net.minecraft.src.EntityMob)
     {
         AddStatistic(net.minecraft.src.AchievementList.aKillEnemy);
     }
 }
Пример #2
0
        public EntitySnowball(net.minecraft.src.World world, net.minecraft.src.EntityLiving
                              entityliving)
            : base(world)
        {
            xTileSnowball    = -1;
            yTileSnowball    = -1;
            zTileSnowball    = -1;
            inTileSnowball   = 0;
            inGroundSnowball = false;
            shakeSnowball    = 0;
            ticksInAir       = 0;
            owner            = entityliving;
            SetSize(0.25F, 0.25F);
            SetLocationAndAngles(entityliving.posX, entityliving.posY + (double)entityliving.
                                 GetEyeHeight(), entityliving.posZ, entityliving.rotationYaw, entityliving.rotationPitch
                                 );
            posX -= net.minecraft.src.MathHelper.Cos((rotationYaw / 180F) * 3.141593F) * 0.16F;
            posY -= 0.10000000149011612D;
            posZ -= net.minecraft.src.MathHelper.Sin((rotationYaw / 180F) * 3.141593F) * 0.16F;
            SetPosition(posX, posY, posZ);
            yOffset = 0.0F;
            float f = 0.4F;

            motionX = -net.minecraft.src.MathHelper.Sin((rotationYaw / 180F) * 3.141593F) * net.minecraft.src.MathHelper
                      .Cos((rotationPitch / 180F) * 3.141593F) * f;
            motionZ = net.minecraft.src.MathHelper.Cos((rotationYaw / 180F) * 3.141593F) * net.minecraft.src.MathHelper
                      .Cos((rotationPitch / 180F) * 3.141593F) * f;
            motionY = -net.minecraft.src.MathHelper.Sin((rotationPitch / 180F) * 3.141593F) *
                      f;
            SetSnowballHeading(motionX, motionY, motionZ, 1.5F, 1.0F);
        }
Пример #3
0
 public EntityArrow(net.minecraft.src.World world, net.minecraft.src.EntityLiving
                    entityliving)
     : base(world)
 {
     xTile         = -1;
     yTile         = -1;
     zTile         = -1;
     inTile        = 0;
     field_28011_h = 0;
     inGround      = false;
     field_28012_a = false;
     arrowShake    = 0;
     ticksInAir    = 0;
     owner         = entityliving;
     field_28012_a = entityliving is net.minecraft.src.EntityPlayer;
     SetSize(0.5F, 0.5F);
     SetLocationAndAngles(entityliving.posX, entityliving.posY + (double)entityliving.
                          GetEyeHeight(), entityliving.posZ, entityliving.rotationYaw, entityliving.rotationPitch
                          );
     posX -= net.minecraft.src.MathHelper.Cos((rotationYaw / 180F) * 3.141593F) * 0.16F;
     posY -= 0.10000000149011612D;
     posZ -= net.minecraft.src.MathHelper.Sin((rotationYaw / 180F) * 3.141593F) * 0.16F;
     SetPosition(posX, posY, posZ);
     yOffset = 0.0F;
     motionX = -net.minecraft.src.MathHelper.Sin((rotationYaw / 180F) * 3.141593F) * net.minecraft.src.MathHelper
               .Cos((rotationPitch / 180F) * 3.141593F);
     motionZ = net.minecraft.src.MathHelper.Cos((rotationYaw / 180F) * 3.141593F) * net.minecraft.src.MathHelper
               .Cos((rotationPitch / 180F) * 3.141593F);
     motionY = -net.minecraft.src.MathHelper.Sin((rotationPitch / 180F) * 3.141593F);
     SetArrowHeading(motionX, motionY, motionZ, 1.5F, 1.0F);
 }
Пример #4
0
        public virtual void FaceEntity(net.minecraft.src.Entity entity, float f, float f1
                                       )
        {
            double d  = entity.posX - posX;
            double d2 = entity.posZ - posZ;
            double d1;

            if (entity is net.minecraft.src.EntityLiving)
            {
                net.minecraft.src.EntityLiving entityliving = (net.minecraft.src.EntityLiving)entity;
                d1 = (posY + (double)GetEyeHeight()) - (entityliving.posY + (double)entityliving.
                                                        GetEyeHeight());
            }
            else
            {
                d1 = (entity.boundingBox.minY + entity.boundingBox.maxY) / 2D - (posY + (double)GetEyeHeight
                                                                                     ());
            }
            double d3 = net.minecraft.src.MathHelper.Sqrt_double(d * d + d2 * d2);
            float  f2 = (float)((System.Math.Atan2(d2, d) * 180D) / 3.1415927410125732D) - 90F;
            float  f3 = (float)(-((System.Math.Atan2(d1, d3) * 180D) / 3.1415927410125732D));

            rotationPitch = -UpdateRotation(rotationPitch, f3, f1);
            rotationYaw   = UpdateRotation(rotationYaw, f2, f);
        }
Пример #5
0
        public EntityFireball(net.minecraft.src.World world, net.minecraft.src.EntityLiving
                              entityliving, double d, double d1, double d2)
            : base(world)
        {
            xTile      = -1;
            yTile      = -1;
            zTile      = -1;
            inTile     = 0;
            inGround   = false;
            shake      = 0;
            ticksInAir = 0;
            owner      = entityliving;
            SetSize(1.0F, 1.0F);
            SetLocationAndAngles(entityliving.posX, entityliving.posY, entityliving.posZ, entityliving
                                 .rotationYaw, entityliving.rotationPitch);
            SetPosition(posX, posY, posZ);
            yOffset = 0.0F;
            motionX = motionY = motionZ = 0.0D;
            d      += rand.NextGaussian() * 0.40000000000000002D;
            d1     += rand.NextGaussian() * 0.40000000000000002D;
            d2     += rand.NextGaussian() * 0.40000000000000002D;
            double d3 = net.minecraft.src.MathHelper.Sqrt_double(d * d + d1 * d1 + d2 * d2);

            field_9199_b = (d / d3) * 0.10000000000000001D;
            field_9198_c = (d1 / d3) * 0.10000000000000001D;
            field_9196_d = (d2 / d3) * 0.10000000000000001D;
        }
Пример #6
0
        public override void OnBlockPlacedBy(net.minecraft.src.World world, int i, int j,
                                             int k, net.minecraft.src.EntityLiving entityliving)
        {
            int l = net.minecraft.src.MathHelper.Floor_double((double)((entityliving.rotationYaw
                                                                        * 4F) / 360F) + 2.5D) & 3;

            world.SetBlockMetadataWithNotify(i, j, k, l);
        }
Пример #7
0
 public override bool Func_25007_a(net.minecraft.src.ItemStack itemstack, int i, int
                                   j, int k, int l, net.minecraft.src.EntityLiving entityliving)
 {
     if (i == net.minecraft.src.Block.LEAVES.ID || i == net.minecraft.src.Block.WEB
         .ID)
     {
         itemstack.DamageItem(1, entityliving);
     }
     return(base.Func_25007_a(itemstack, i, j, k, l, entityliving));
 }
Пример #8
0
        public void HitEntity(net.minecraft.src.EntityLiving entityliving, net.minecraft.src.EntityPlayer
                              entityplayer)
        {
            bool flag = net.minecraft.src.Item.itemsList[itemID].HitEntity(this, entityliving
                                                                           , entityplayer);

            if (flag)
            {
                entityplayer.AddStat(net.minecraft.src.StatList.StatUseItem[itemID], 1);
            }
        }
Пример #9
0
        public override void OnBlockPlacedBy(net.minecraft.src.World world, int i, int j,
                                             int k, net.minecraft.src.EntityLiving entityliving)
        {
            int l = DetermineOrientation(world, i, j, k, (net.minecraft.src.EntityPlayer)entityliving
                                         );

            world.SetBlockMetadataWithNotify(i, j, k, l);
            if (!world.singleplayerWorld)
            {
                UpdatePistonState(world, i, j, k);
            }
        }
Пример #10
0
 public override void SaddleEntity(net.minecraft.src.ItemStack itemstack, net.minecraft.src.EntityLiving
                                   entityliving)
 {
     if (entityliving is net.minecraft.src.EntityPig)
     {
         net.minecraft.src.EntityPig entitypig = (net.minecraft.src.EntityPig)entityliving;
         if (!entitypig.GetSaddled())
         {
             entitypig.SetSaddled(true);
             itemstack.stackSize--;
         }
     }
 }
Пример #11
0
 public override void SaddleEntity(net.minecraft.src.ItemStack itemstack, net.minecraft.src.EntityLiving
                                   entityliving)
 {
     if (entityliving is net.minecraft.src.EntitySheep)
     {
         net.minecraft.src.EntitySheep entitysheep = (net.minecraft.src.EntitySheep)entityliving;
         int i = net.minecraft.src.BlockCloth.Func_21033_c(itemstack.GetItemDamage());
         if (!entitysheep.Func_21069_f_() && entitysheep.GetFleeceColor() != i)
         {
             entitysheep.SetFleeceColor(i);
             itemstack.stackSize--;
         }
     }
 }
Пример #12
0
        public override void OnBlockPlacedBy(net.minecraft.src.World world, int i, int j,
                                             int k, net.minecraft.src.EntityLiving entityliving)
        {
            int l = ((net.minecraft.src.MathHelper.Floor_double((double)((entityliving.rotationYaw
                                                                          * 4F) / 360F) + 0.5D) & 3) + 2) % 4;

            world.SetBlockMetadataWithNotify(i, j, k, l);
            bool flag = Func_22012_g(world, i, j, k, l);

            if (flag)
            {
                world.ScheduleUpdateTick(i, j, k, ID, 1);
            }
        }
Пример #13
0
 public Packet24MobSpawn(net.minecraft.src.EntityLiving entityliving)
 {
     // Referenced classes of package net.minecraft.src:
     //            Packet, EntityLiving, EntityList, MathHelper,
     //            DataWatcher, NetHandler
     entityId  = entityliving.entityId;
     type      = unchecked ((byte)net.minecraft.src.EntityList.GetEntityID(entityliving));
     xPosition = net.minecraft.src.MathHelper.Floor_double(entityliving.posX * 32D);
     yPosition = net.minecraft.src.MathHelper.Floor_double(entityliving.posY * 32D);
     zPosition = net.minecraft.src.MathHelper.Floor_double(entityliving.posZ * 32D);
     yaw       = unchecked ((byte)(int)((entityliving.rotationYaw * 256F) / 360F));
     pitch     = unchecked ((byte)(int)((entityliving.rotationPitch * 256F) / 360F));
     metaData  = entityliving.GetDataWatcher();
 }
Пример #14
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));
         }
     }
 }
Пример #15
0
 protected internal virtual void SetOwnedEntitiesToAttack(net.minecraft.src.EntityLiving entityliving, bool mustBeStanding)
 {
     if ((entityliving is net.minecraft.src.EntityCreeper) || (entityliving is net.minecraft.src.EntityGhast))
     {
         return;
     }
     if (entityliving is net.minecraft.src.EntityWolf)
     {
         net.minecraft.src.EntityWolf entitywolf = (net.minecraft.src.EntityWolf)entityliving;
         if (entitywolf.IsTamed() && username.Equals(entitywolf.GetOwner()))
         {
             return;
         }
     }
     if ((entityliving is net.minecraft.src.EntityPlayer) && !IsPVPEnabled())
     {
         return;
     }
     System.Collections.Generic.List <Entity> list = worldObj.GetEntitiesWithinAABB(Sharpen.Runtime.GetClassForType
                                                                                        (typeof(net.minecraft.src.EntityWolf)), net.minecraft.src.AxisAlignedBB.GetBoundingBoxFromPool
                                                                                        (posX, posY, posZ, posX + 1.0D, posY + 1.0D, posZ + 1.0D).Expand(16D, 4D, 16D));
     System.Collections.IEnumerator iterator = list.GetEnumerator();
     do
     {
         if (!iterator.MoveNext())
         {
             break;
         }
         net.minecraft.src.Entity     entity      = (net.minecraft.src.Entity)iterator.Current;
         net.minecraft.src.EntityWolf entitywolf1 = (net.minecraft.src.EntityWolf)entity;
         if (entitywolf1.IsTamed() && entitywolf1.GetEntityToAttack() == null && entitywolf1.GetOwner() == username && (!mustBeStanding || !entitywolf1.GetIsSitting()))
         {
             entitywolf1.SetIsSitting(false);
             entitywolf1.SetEntityToAttack(entityliving);
         }
     }while (true);
 }
Пример #16
0
 public virtual bool Func_25007_a(net.minecraft.src.ItemStack itemstack, int i, int
                                  j, int k, int l, net.minecraft.src.EntityLiving entityliving)
 {
     return(false);
 }
Пример #17
0
 public virtual void SaddleEntity(net.minecraft.src.ItemStack itemstack, net.minecraft.src.EntityLiving
                                  entityliving)
 {
 }
Пример #18
0
 public override bool HitEntity(net.minecraft.src.ItemStack itemstack, net.minecraft.src.EntityLiving
                                entityliving, net.minecraft.src.EntityLiving entityliving1)
 {
     SaddleEntity(itemstack, entityliving);
     return(true);
 }
Пример #19
0
 public virtual bool HitEntity(net.minecraft.src.ItemStack itemstack, net.minecraft.src.EntityLiving
                               entityliving, net.minecraft.src.EntityLiving entityliving1)
 {
     return(false);
 }
Пример #20
0
 public override bool HitEntity(net.minecraft.src.ItemStack itemstack, net.minecraft.src.EntityLiving
                                entityliving, net.minecraft.src.EntityLiving entityliving1)
 {
     itemstack.DamageItem(1, entityliving1);
     return(true);
 }
Пример #21
0
 public override bool Func_25007_a(net.minecraft.src.ItemStack itemstack, int i, int
                                   j, int k, int l, net.minecraft.src.EntityLiving entityliving)
 {
     itemstack.DamageItem(2, entityliving);
     return(true);
 }
Пример #22
0
 public virtual void UpdateKillStatistic(net.minecraft.src.EntityLiving entityliving)
 {
 }
Пример #23
0
 public virtual void OnBlockPlacedBy(net.minecraft.src.World world, int i, int j,
                                     int k, net.minecraft.src.EntityLiving entityliving)
 {
 }
Пример #24
0
 private net.minecraft.src.Packet GetSpawnPacket()
 {
     if (trackedEntity is net.minecraft.src.EntityItem)
     {
         net.minecraft.src.EntityItem          entityitem          = (net.minecraft.src.EntityItem)trackedEntity;
         net.minecraft.src.Packet21PickupSpawn packet21pickupspawn = new net.minecraft.src.Packet21PickupSpawn
                                                                         (entityitem);
         entityitem.posX = (double)packet21pickupspawn.xPosition / 32D;
         entityitem.posY = (double)packet21pickupspawn.yPosition / 32D;
         entityitem.posZ = (double)packet21pickupspawn.zPosition / 32D;
         return(packet21pickupspawn);
     }
     if (trackedEntity is net.minecraft.src.EntityPlayerMP)
     {
         // CRAFTBUKKIT start - limit name length to 16 characters
         if (((EntityPlayerMP)this.trackedEntity).username.Length > 16)
         {
             ((EntityPlayerMP)this.trackedEntity).username = ((EntityPlayerMP)this.trackedEntity).username.Substring(0, 16);
         }
         // CRAFTBUKKIT end
         return(new net.minecraft.src.Packet20NamedEntitySpawn((net.minecraft.src.EntityPlayer)trackedEntity));
     }
     if (trackedEntity is net.minecraft.src.EntityMinecart)
     {
         net.minecraft.src.EntityMinecart entityminecart = (net.minecraft.src.EntityMinecart
                                                            )trackedEntity;
         if (entityminecart.minecartType == 0)
         {
             return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 10));
         }
         if (entityminecart.minecartType == 1)
         {
             return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 11));
         }
         if (entityminecart.minecartType == 2)
         {
             return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 12));
         }
     }
     if (trackedEntity is net.minecraft.src.EntityBoat)
     {
         return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 1));
     }
     if (trackedEntity is net.minecraft.src.IAnimals)
     {
         return(new net.minecraft.src.Packet24MobSpawn((net.minecraft.src.EntityLiving)trackedEntity
                                                       ));
     }
     if (trackedEntity is net.minecraft.src.EntityFish)
     {
         return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 90));
     }
     if (trackedEntity is net.minecraft.src.EntityArrow)
     {
         net.minecraft.src.EntityLiving entityliving = ((net.minecraft.src.EntityArrow)trackedEntity
                                                        ).owner;
         return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 60, entityliving
                                                           == null ? trackedEntity.entityId : entityliving.entityId));
     }
     if (trackedEntity is net.minecraft.src.EntitySnowball)
     {
         return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 61));
     }
     if (trackedEntity is net.minecraft.src.EntityFireball)
     {
         net.minecraft.src.EntityFireball       entityfireball       = (net.minecraft.src.EntityFireball)trackedEntity;
         net.minecraft.src.Packet23VehicleSpawn packet23vehiclespawn = new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 63, ((net.minecraft.src.EntityFireball)trackedEntity).owner?.entityId ?? 1); // CRAFTBUKKIT -- added check for null shooter
         packet23vehiclespawn.motionX = (int)(entityfireball.field_9199_b * 8000D);
         packet23vehiclespawn.motionY = (int)(entityfireball.field_9198_c * 8000D);
         packet23vehiclespawn.motionZ = (int)(entityfireball.field_9196_d * 8000D);
         return(packet23vehiclespawn);
     }
     if (trackedEntity is net.minecraft.src.EntityEgg)
     {
         return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 62));
     }
     if (trackedEntity is net.minecraft.src.EntityTNTPrimed)
     {
         return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 50));
     }
     if (trackedEntity is net.minecraft.src.EntityFallingSand)
     {
         net.minecraft.src.EntityFallingSand entityfallingsand = (net.minecraft.src.EntityFallingSand
                                                                  )trackedEntity;
         if (entityfallingsand.blockID == net.minecraft.src.Block.SAND.ID)
         {
             return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 70));
         }
         if (entityfallingsand.blockID == net.minecraft.src.Block.GRAVEL.ID)
         {
             return(new net.minecraft.src.Packet23VehicleSpawn(trackedEntity, 71));
         }
     }
     if (trackedEntity is net.minecraft.src.EntityPainting)
     {
         return(new net.minecraft.src.Packet25EntityPainting((net.minecraft.src.EntityPainting
                                                              )trackedEntity));
     }
     else
     {
         throw new System.ArgumentException((new java.lang.StringBuilder()).Append("Don't know how to add ").Append(trackedEntity.GetType()).Append("!").ToString());
     }
 }
Пример #25
0
        public override void UpdateEntity()
        {
            yaw2 = yaw;
            if (!AnyPlayerInRange())
            {
                return;
            }
            double d  = (float)xCoord + worldObj.rand.NextFloat();
            double d2 = (float)yCoord + worldObj.rand.NextFloat();
            double d4 = (float)zCoord + worldObj.rand.NextFloat();

            worldObj.SpawnParticle("smoke", d, d2, d4, 0.0D, 0.0D, 0.0D);
            worldObj.SpawnParticle("flame", d, d2, d4, 0.0D, 0.0D, 0.0D);
            for (yaw += 1000F / ((float)spawnDelay + 200F); yaw > 360D;)
            {
                yaw  -= 360D;
                yaw2 -= 360D;
            }
            if (!worldObj.singleplayerWorld)
            {
                if (spawnDelay == -1)
                {
                    UpdateDelay();
                }
                if (spawnDelay > 0)
                {
                    spawnDelay--;
                    return;
                }
                byte byte0 = 4;
                for (int i = 0; i < byte0; i++)
                {
                    net.minecraft.src.EntityLiving entityliving = (net.minecraft.src.EntityLiving)net.minecraft.src.EntityList
                                                                  .CreateEntityInWorld(mobName, worldObj);
                    if (entityliving == null)
                    {
                        return;
                    }
                    int j = worldObj.GetEntitiesWithinAABB(entityliving.GetType(), net.minecraft.src.AxisAlignedBB.GetBoundingBoxFromPool(xCoord, yCoord, zCoord
                                                                                                                                          , xCoord + 1, yCoord + 1, zCoord + 1).Expand(8D, 4D, 8D)).Count;
                    if (j >= 6)
                    {
                        UpdateDelay();
                        return;
                    }
                    if (entityliving == null)
                    {
                        continue;
                    }
                    double d6 = (double)xCoord + (worldObj.rand.NextDouble() - worldObj.rand.NextDouble
                                                      ()) * 4D;
                    double d7 = (yCoord + worldObj.rand.Next(3)) - 1;
                    double d8 = (double)zCoord + (worldObj.rand.NextDouble() - worldObj.rand.NextDouble
                                                      ()) * 4D;
                    entityliving.SetLocationAndAngles(d6, d7, d8, worldObj.rand.NextFloat() * 360F, 0.0F
                                                      );
                    if (!entityliving.GetCanSpawnHere())
                    {
                        continue;
                    }
                    worldObj.AddEntity(entityliving);
                    for (int k = 0; k < 20; k++)
                    {
                        double d1 = (double)xCoord + 0.5D + ((double)worldObj.rand.NextFloat() - 0.5D) *
                                    2D;
                        double d3 = (double)yCoord + 0.5D + ((double)worldObj.rand.NextFloat() - 0.5D) *
                                    2D;
                        double d5 = (double)zCoord + 0.5D + ((double)worldObj.rand.NextFloat() - 0.5D) *
                                    2D;
                        worldObj.SpawnParticle("smoke", d1, d3, d5, 0.0D, 0.0D, 0.0D);
                        worldObj.SpawnParticle("flame", d1, d3, d5, 0.0D, 0.0D, 0.0D);
                    }
                    entityliving.SpawnExplosionParticle();
                    UpdateDelay();
                }
            }
            base.UpdateEntity();
        }
Пример #26
0
 public void UseItemOnEntity(net.minecraft.src.EntityLiving entityliving)
 {
     net.minecraft.src.Item.itemsList[itemID].SaddleEntity(this, entityliving);
 }