Send players their health on log in

Health is already being saved to disk with their NBT file, so this just
involves sending it to them when they log in.
This commit is contained in:
Drew DeVault 2015-10-08 08:19:15 -04:00
parent 6942786b32
commit facf8ce2c6
4 changed files with 8 additions and 1 deletions

View File

@ -89,7 +89,7 @@ namespace TrueCraft.Client
SocketPool = new SocketAsyncEventArgsPool(100, 200, 65536);
connected = 0;
cancel = new CancellationTokenSource();
Health = 15;
Health = 20;
}
public void RegisterPacketHandler(byte packetId, PacketHandler handler)

View File

@ -53,6 +53,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Commandlineparameters>localhost SirCmpwn</Commandlineparameters>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
</PropertyGroup>

View File

@ -10,6 +10,11 @@ namespace TrueCraft.Core.Networking.Packets
{
public byte ID { get { return 0x08; } }
public UpdateHealthPacket(short health)
{
Health = health;
}
public short Health;
public void ReadPacket(IMinecraftStream stream)

View File

@ -61,6 +61,7 @@ namespace TrueCraft.Handlers
remoteClient.QueuePacket(new LoginResponsePacket(client.Entity.EntityID, 0, Dimension.Overworld));
remoteClient.UpdateChunks();
remoteClient.QueuePacket(new WindowItemsPacket(0, remoteClient.Inventory.GetSlots()));
remoteClient.QueuePacket(new UpdateHealthPacket((remoteClient.Entity as PlayerEntity).Health));
remoteClient.QueuePacket(new SpawnPositionPacket((int)remoteClient.Entity.Position.X,
(int)remoteClient.Entity.Position.Y, (int)remoteClient.Entity.Position.Z));
remoteClient.QueuePacket(new SetPlayerPositionPacket(remoteClient.Entity.Position.X,