public override MetadataDictionary GetMetadata() { MetadataDictionary metadata = base.GetMetadata(); metadata[1] = new MetadataInt(12); metadata[2] = new MetadataInt(0); metadata[3] = new MetadataByte(CollarColor); //metadata[4] = new MetadataString("Testing"); if (Owner != null) { metadata[5] = new MetadataLong(Owner.EntityId); } metadata[7] = new MetadataShort(300); metadata[8] = new MetadataInt(0); metadata[9] = new MetadataByte(0); metadata[38] = new MetadataLong(0); metadata[39] = new MetadataFloat(1.0f); metadata[44] = new MetadataShort(300); metadata[45] = new MetadataInt(0); metadata[46] = new MetadataByte(0); metadata[47] = new MetadataInt(0); metadata[53] = new MetadataFloat(0.6f); metadata[54] = new MetadataFloat(0.8f); metadata[56] = new MetadataVector3(0, 0, 0); metadata[57] = new MetadataByte(0); metadata[58] = new MetadataFloat(0f); metadata[59] = new MetadataFloat(0f); return(metadata); }
public void FlagToStringTest() { long value = new MetadataLong(8590508032).Value; // 1000000000000010001100000000000000 BitArray bits = new BitArray(BitConverter.GetBytes(value)); byte[] bytes = new byte[8]; bits.CopyTo(bytes, 0); long dataValue = BitConverter.ToInt64(bytes, 0); Assert.AreEqual(value, dataValue); Assert.IsTrue(bits[14]); Assert.IsTrue(bits[15]); List <Entity.DataFlags> flags = new List <Entity.DataFlags>(); foreach (var val in Enum.GetValues(typeof(Entity.DataFlags))) { if (bits[(int)val]) { flags.Add((Entity.DataFlags)val); } } Assert.AreEqual(4, flags.Count); StringBuilder sb = new StringBuilder(); sb.Append(string.Join(", ", flags)); Assert.AreEqual("", sb.ToString()); }
public override MetadataDictionary GetMetadata() { MetadataDictionary metadata = new MetadataDictionary(); metadata[0] = new MetadataLong(0); // 0 metadata[1] = new MetadataInt(1); metadata[2] = new MetadataInt(12); metadata[3] = new MetadataByte(0); metadata[4] = new MetadataString(""); metadata[5] = new MetadataLong(-1); metadata[7] = new MetadataShort(300); metadata[39] = new MetadataFloat(1f); metadata[44] = new MetadataShort(300); metadata[45] = new MetadataInt(0); metadata[46] = new MetadataByte(0); metadata[47] = new MetadataInt(0); metadata[53] = new MetadataFloat(0.98f); metadata[54] = new MetadataFloat(0.98f); metadata[56] = new MetadataVector3(0, 0, 0); metadata[57] = new MetadataByte(0); metadata[58] = new MetadataFloat(0f); metadata[59] = new MetadataFloat(0f); return(metadata); }
public override MetadataDictionary GetMetadata() { //[0] byte 0 0, //[1] short 1 300, //[2] string 4 Client12, //[3] byte 0 1, //[4] byte 0 0, //[7] int 2 0, //[8] byte 0 0, //[15] byte 0 0, //[16] byte 0 0, //[17] long 6 0 MetadataDictionary metadata = new MetadataDictionary(); metadata[0] = new MetadataByte((byte)(HealthManager.IsOnFire ? 1 : 0)); metadata[1] = new MetadataShort(HealthManager.Air); metadata[2] = new MetadataString(Username); metadata[3] = new MetadataByte(1); metadata[4] = new MetadataByte(0); metadata[7] = new MetadataInt(0); metadata[8] = new MetadataByte(0); metadata[15] = new MetadataByte(0); metadata[16] = new MetadataByte(0); metadata[17] = new MetadataLong(0); return(metadata); }
public override MetadataDictionary GetMetadata() { MetadataDictionary metadata = base.GetMetadata(); metadata[0] = new MetadataLong(549755846656); // 1000000000000000000000001000000000000000; AlwaysShowName if (Owner != null) { metadata[5] = new MetadataLong(Owner.EntityId); } return(metadata); }
public override MetadataDictionary GetMetadata() { var metadata = base.GetMetadata(); if (Shooter != null) { metadata[5] = new MetadataLong(Shooter.EntityId); } return(metadata); }
public override MetadataDictionary GetMetadata() { IsInWater = true; IsUsingItem = false; var metadata = base.GetMetadata(); if (Shooter != null) { metadata[5] = new MetadataLong(Shooter.EntityId); } Log.Debug($"Projectile metadata: \n{MetadataDictionary.MetadataToCode(metadata)}"); return(metadata); }
// Metadata: //[0] long 7 536870912, //[1] int 2 1, //[2] int 2 0, //[3] byte 0 0, //[4] string 4 , //[5] long 7 1, //[6] long 7 0, //[7] short 1 300, //[8] int 2 0, //[9] byte 0 0, //[38] long 7 0, //[39] float 3 1, //[44] short 1 300, //[45] int 2 0, //[46] byte 0 0, //[47] int 2 0, //[53] float 3 1,99, //[54] float 3 1,99, //[56] vector3 8 <0� 0� 0>, //[57] byte 0 0, //[58] float 3 0, //[59] float 3 0 public override MetadataDictionary GetMetadata() { MetadataDictionary metadata = base.GetMetadata(); //MetadataDictionary metadata = new MetadataDictionary(); metadata[0] = new MetadataLong(GetDataValue()); metadata[39] = new MetadataFloat(1.0f); metadata[44] = new MetadataShort(300); metadata[53] = new MetadataFloat(1.99f); metadata[54] = new MetadataFloat(1.99f); metadata[57] = new MetadataByte(0); metadata[58] = new MetadataFloat(0); metadata[59] = new MetadataFloat(0); return(metadata); }
public override MetadataDictionary GetMetadata() { var metadata = base.GetMetadata(); if (IsCritical) { metadata[16] = new MetadataByte(1); } if (Shooter != null) { metadata[17] = new MetadataLong(Shooter.EntityId); } return(metadata); }
public override MetadataDictionary GetMetadata() { MetadataDictionary metadata = new MetadataDictionary(); metadata[0] = new MetadataLong(8592556032); // 1000000000001010000000000000000000; CanClimb, CanFly, Breathing metadata[1] = new MetadataInt(1); metadata[2] = new MetadataInt(0); metadata[3] = new MetadataByte(0); metadata[4] = new MetadataString(""); metadata[5] = new MetadataLong(-1); metadata[7] = new MetadataShort(300); metadata[8] = new MetadataInt(0); metadata[9] = new MetadataByte(0); metadata[10] = new MetadataByte(0); metadata[22] = new MetadataByte(0); metadata[38] = new MetadataLong(0); metadata[39] = new MetadataFloat(1f); metadata[43] = new MetadataShort(300); metadata[44] = new MetadataInt(0); metadata[45] = new MetadataByte(0); metadata[46] = new MetadataInt(0); metadata[47] = new MetadataInt(0); metadata[49] = new MetadataInt(AnimationStep); metadata[50] = new MetadataLong(-1); metadata[51] = new MetadataLong(-1); metadata[52] = new MetadataLong(-1); metadata[53] = new MetadataShort((short)(ShowAuora ? 0 : 1)); metadata[54] = new MetadataFloat(1f); metadata[55] = new MetadataFloat(3f); metadata[58] = new MetadataByte(0); metadata[59] = new MetadataFloat(0f); metadata[60] = new MetadataFloat(0f); metadata[70] = new MetadataByte(0); metadata[71] = new MetadataString(""); metadata[72] = new MetadataString(""); metadata[73] = new MetadataByte(1); metadata[74] = new MetadataByte(0); metadata[75] = new MetadataInt(0); metadata[76] = new MetadataInt(0); metadata[77] = new MetadataInt(0); metadata[78] = new MetadataInt(-1); //metadata[49] = new MetadataInt(0); //metadata[53] = new MetadataShort(0); return(metadata); }
public override MetadataDictionary GetMetadata() { MetadataDictionary metadata = new MetadataDictionary(); metadata[0] = new MetadataByte((byte)(HealthManager.IsOnFire ? 1 : 0)); metadata[1] = new MetadataShort(HealthManager.Air); metadata[2] = new MetadataString(NameTag ?? Name); metadata[3] = new MetadataByte(!HideNameTag); metadata[4] = new MetadataByte(Silent); metadata[7] = new MetadataInt(0); // Potion Color metadata[8] = new MetadataByte(0); // Potion Ambient metadata[15] = new MetadataByte(NoAi); metadata[16] = new MetadataByte(0); // Player flags metadata[17] = new MetadataLong(0); return(metadata); }
public virtual MetadataDictionary GetMetadata() { MetadataDictionary metadata = new MetadataDictionary(); metadata[0] = new MetadataByte(GetDataValue()); metadata[2] = new MetadataString(NameTag ?? string.Empty); metadata[3] = new MetadataByte(!HideNameTag); metadata[4] = new MetadataByte(Silent); metadata[7] = new MetadataInt(0); // Potion Color metadata[8] = new MetadataByte(0); // Potion Ambient metadata[15] = new MetadataByte(NoAi); metadata[16] = new MetadataByte(0); // Player flags //metadata[17] = new MetadataIntCoordinates(0, 0, 0); metadata[23] = new MetadataLong(-1); // Leads EID (target or holder?) metadata[24] = new MetadataByte(0); // Leads on/off return(metadata); }
public override MetadataDictionary GetMetadata() { Log.Warn("Metadata"); MetadataDictionary metadata = new MetadataDictionary(); //metadata[38] = new MetadataLong(0); //metadata[39] = new MetadataFloat(1f); //metadata[44] = new MetadataShort(300); //MetadataDictionary metadata = new MetadataDictionary(); metadata[0] = new MetadataLong(8388608); // 100000000000000000000000; Sitting metadata[1] = new MetadataInt(1); metadata[2] = new MetadataInt(0); metadata[3] = new MetadataByte(0); metadata[4] = new MetadataString(""); metadata[5] = new MetadataLong(-1); metadata[7] = new MetadataShort(300); metadata[8] = new MetadataInt(0); metadata[9] = new MetadataByte(0); metadata[10] = new MetadataByte(0); metadata[22] = new MetadataByte(0); metadata[38] = new MetadataLong(0); metadata[39] = new MetadataFloat(1f); metadata[43] = new MetadataShort(300); metadata[44] = new MetadataInt(0); metadata[45] = new MetadataByte(0); metadata[46] = new MetadataInt(0); metadata[47] = new MetadataInt(0); metadata[54] = new MetadataFloat(13f); metadata[55] = new MetadataFloat(4f); metadata[58] = new MetadataByte(0); metadata[59] = new MetadataFloat(0f); metadata[60] = new MetadataFloat(0f); metadata[70] = new MetadataByte(0); metadata[71] = new MetadataString(""); metadata[72] = new MetadataString(""); metadata[73] = new MetadataByte(1); metadata[74] = new MetadataByte(0); metadata[75] = new MetadataInt(0); metadata[76] = new MetadataInt(0); metadata[77] = new MetadataInt(0); metadata[78] = new MetadataInt(-1); return(metadata); }
public override MetadataDictionary GetMetadata() { MetadataDictionary metadata = new MetadataDictionary(); metadata[0] = new MetadataLong(4398046511104); // 1000000000000000000000000000000000000000000; metadata[1] = new MetadataInt(1); metadata[2] = new MetadataInt(0); metadata[3] = new MetadataByte(0); metadata[4] = new MetadataString(""); metadata[5] = new MetadataLong(-1); metadata[7] = new MetadataShort(300); metadata[8] = new MetadataInt(0); metadata[9] = new MetadataByte(0); metadata[10] = new MetadataByte(0); metadata[22] = new MetadataByte(0); metadata[38] = new MetadataLong(0); metadata[39] = new MetadataFloat(1f); metadata[43] = new MetadataShort(300); metadata[44] = new MetadataInt(0); metadata[45] = new MetadataByte(0); metadata[46] = new MetadataInt(0); metadata[47] = new MetadataInt(0); metadata[54] = new MetadataFloat(0.4f); metadata[55] = new MetadataFloat(0.8f); metadata[58] = new MetadataByte(0); metadata[59] = new MetadataFloat(0f); metadata[60] = new MetadataFloat(0f); metadata[70] = new MetadataByte(0); metadata[71] = new MetadataString(""); metadata[72] = new MetadataString(""); metadata[73] = new MetadataByte(1); metadata[74] = new MetadataByte(0); metadata[75] = new MetadataInt(0); metadata[76] = new MetadataInt(0); metadata[77] = new MetadataInt(0); metadata[78] = new MetadataInt(-1); return(metadata); }
public override void SpawnEntity() { lock (_spawnSync) { if (IsSpawned) { throw new Exception("Invalid state. Tried to spawn projectile more than one time."); } Level.AddEntity(this); IsSpawned = true; if (Shooter == null) { var addEntity = McpeAddEntity.CreateObject(); addEntity.entityType = EntityTypeId; addEntity.entityId = EntityId; addEntity.x = KnownPosition.X; addEntity.y = KnownPosition.Y; addEntity.z = KnownPosition.Z; addEntity.yaw = KnownPosition.Yaw; addEntity.pitch = KnownPosition.Pitch; addEntity.metadata = GetMetadata(); addEntity.speedX = (float)Velocity.X; addEntity.speedY = (float)Velocity.Y; addEntity.speedZ = (float)Velocity.Z; Level.RelayBroadcast(addEntity); McpeSetEntityData mcpeSetEntityData = McpeSetEntityData.CreateObject(); mcpeSetEntityData.entityId = EntityId; mcpeSetEntityData.metadata = GetMetadata(); Level.RelayBroadcast(mcpeSetEntityData); } else { { var addEntity = McpeAddEntity.CreateObject(); addEntity.entityType = EntityTypeId; addEntity.entityId = EntityId; addEntity.x = KnownPosition.X; addEntity.y = KnownPosition.Y; addEntity.z = KnownPosition.Z; addEntity.yaw = KnownPosition.Yaw; addEntity.pitch = KnownPosition.Pitch; addEntity.metadata = GetMetadata(); addEntity.speedX = (float)Velocity.X; addEntity.speedY = (float)Velocity.Y; addEntity.speedZ = (float)Velocity.Z; Level.RelayBroadcast(Shooter, addEntity); McpeSetEntityData mcpeSetEntityData = McpeSetEntityData.CreateObject(); mcpeSetEntityData.entityId = EntityId; mcpeSetEntityData.metadata = GetMetadata(); Level.RelayBroadcast(Shooter, mcpeSetEntityData); } { MetadataDictionary metadata = GetMetadata(); metadata[17] = new MetadataLong(0); var addEntity = McpeAddEntity.CreateObject(); addEntity.entityType = EntityTypeId; addEntity.entityId = EntityId; addEntity.x = KnownPosition.X; addEntity.y = KnownPosition.Y; addEntity.z = KnownPosition.Z; addEntity.yaw = KnownPosition.Yaw; addEntity.pitch = KnownPosition.Pitch; addEntity.metadata = metadata; addEntity.speedX = (float)Velocity.X; addEntity.speedY = (float)Velocity.Y; addEntity.speedZ = (float)Velocity.Z; Shooter.SendPackage(addEntity); McpeSetEntityData mcpeSetEntityData = McpeSetEntityData.CreateObject(); mcpeSetEntityData.entityId = EntityId; mcpeSetEntityData.metadata = metadata; Shooter.SendPackage(mcpeSetEntityData); } } } }
public static MetadataDictionary ReadMetadataDictionaryAlternate(this Packet packet) { MetadataDictionary metadata = new MetadataDictionary(); uint count = 0; int index; uint type; try { //var stream = (Stream)ReflectionHelper.GetPrivateFieldValue<MemoryStreamReader>(typeof(Packet), packet, "_reader"); count = packet.ReadUnsignedVarInt(); //VarInt.ReadInt32(stream); for (int i = 0; i < count; ++i) { index = (int)packet.ReadUnsignedVarInt(); //VarInt.ReadInt32(stream); type = packet.ReadUnsignedVarInt(); //VarInt.ReadInt32(stream); switch (type) { case 0: metadata[index] = new MetadataByte(packet.ReadByte()); break; case 1: metadata[index] = new MetadataShort(packet.ReadShort()); break; case 2: metadata[index] = new MetadataInt(packet.ReadVarInt()); break; case 3: metadata[index] = new MetadataFloat(packet.ReadFloat()); break; case 4: metadata[index] = new MetadataString(packet.ReadString()); break; case 5: metadata[index] = new MetadataNbt(packet.ReadNbt()); break; case 6: metadata[index] = new MetadataIntCoordinates( packet.ReadVarInt(), packet.ReadVarInt(), packet.ReadVarInt()); break; case 7: metadata[index] = new MetadataLong(packet.ReadVarLong()); break; case 8: metadata[index] = new MetadataVector3(packet.ReadVector3()); break; default: Log.Warn($"Unknown metadata type: {type} at index {index}"); break; } } return(metadata); } catch (Exception ex) { Log.Warn(ex, $"Incomplete metadata: {ex.ToString()}"); return(metadata); } }
public override void SpawnEntity() { Level.AddEntity(this); if (Shooter == null) { var addEntity = McpeAddEntity.CreateObject(); addEntity.entityType = EntityTypeId; addEntity.entityId = EntityId; addEntity.x = KnownPosition.X; addEntity.y = KnownPosition.Y; addEntity.z = KnownPosition.Z; addEntity.yaw = KnownPosition.Yaw; addEntity.pitch = KnownPosition.Pitch; //addEntity.metadata = GetMetadata(); addEntity.speedX = (float)Velocity.X; addEntity.speedY = (float)Velocity.Y; addEntity.speedZ = (float)Velocity.Z; Level.RelayBroadcast(addEntity); IsSpawned = true; McpeSetEntityData mcpeSetEntityData = McpeSetEntityData.CreateObject(); mcpeSetEntityData.entityId = EntityId; mcpeSetEntityData.metadata = GetMetadata(); Level.RelayBroadcast(mcpeSetEntityData); } else { { var addEntity = McpeAddEntity.CreateObject(); addEntity.entityType = EntityTypeId; addEntity.entityId = EntityId; addEntity.x = KnownPosition.X; addEntity.y = KnownPosition.Y; addEntity.z = KnownPosition.Z; addEntity.yaw = KnownPosition.Yaw; addEntity.pitch = KnownPosition.Pitch; //addEntity.metadata = GetMetadata(); addEntity.speedX = (float)Velocity.X; addEntity.speedY = (float)Velocity.Y; addEntity.speedZ = (float)Velocity.Z; Level.RelayBroadcast(Shooter, addEntity); McpeSetEntityData mcpeSetEntityData = McpeSetEntityData.CreateObject(); mcpeSetEntityData.entityId = EntityId; mcpeSetEntityData.metadata = GetMetadata(); Level.RelayBroadcast(Shooter, mcpeSetEntityData); } { MetadataDictionary metadata = GetMetadata(); metadata[17] = new MetadataLong(0); var addEntity = McpeAddEntity.CreateObject(); addEntity.entityType = EntityTypeId; addEntity.entityId = EntityId; addEntity.x = KnownPosition.X; addEntity.y = KnownPosition.Y; addEntity.z = KnownPosition.Z; addEntity.yaw = KnownPosition.Yaw; addEntity.pitch = KnownPosition.Pitch; //addEntity.metadata = metadata; addEntity.speedX = (float)Velocity.X; addEntity.speedY = (float)Velocity.Y; addEntity.speedZ = (float)Velocity.Z; Shooter.SendPackage(addEntity); McpeSetEntityData mcpeSetEntityData = McpeSetEntityData.CreateObject(); mcpeSetEntityData.entityId = EntityId; mcpeSetEntityData.metadata = metadata; Shooter.SendPackage(mcpeSetEntityData); } } }