diff --git a/TrueCraft.Client/Modules/PlayerControlModule.cs b/TrueCraft.Client/Modules/PlayerControlModule.cs index 0fbe8e0..a24807b 100644 --- a/TrueCraft.Client/Modules/PlayerControlModule.cs +++ b/TrueCraft.Client/Modules/PlayerControlModule.cs @@ -213,6 +213,12 @@ namespace TrueCraft.Client.Modules BeginDigging(target); } return true; + case MouseButton.Right: + var item = Game.Client.Inventory.Hotbar[Game.Client.HotbarSelection]; + Game.Client.QueuePacket(new PlayerBlockPlacementPacket( + Game.HighlightedBlock.X, (sbyte)Game.HighlightedBlock.Y, Game.HighlightedBlock.Z, + Game.HighlightedBlockFace, item.ID, item.Count, item.Metadata)); + return true; } return false; } diff --git a/TrueCraft.Core/Networking/Packets/PlayerBlockPlacementPacket.cs b/TrueCraft.Core/Networking/Packets/PlayerBlockPlacementPacket.cs index 3597f1b..787eb85 100644 --- a/TrueCraft.Core/Networking/Packets/PlayerBlockPlacementPacket.cs +++ b/TrueCraft.Core/Networking/Packets/PlayerBlockPlacementPacket.cs @@ -12,6 +12,18 @@ namespace TrueCraft.Core.Networking.Packets { public byte ID { get { return 0x0F; } } + public PlayerBlockPlacementPacket(int x, sbyte y, int z, BlockFace face, short itemID, + sbyte? amount, short? metadata) + { + X = x; + Y = y; + Z = z; + Face = face; + ItemID = itemID; + Amount = amount; + Metadata = metadata; + } + public int X; public sbyte Y; public int Z;