public void PlayerDigging(DiggingStatus status, BlockCoordinates position, BlockFace face, Vector3 cursorPosition) { if (WorldReceiver?.GetPlayerEntity() is Entities.Player player) { var item = player.Inventory[player.Inventory.SelectedSlot]; if (status == DiggingStatus.Started) { SendPlayerAction(PlayerAction.StartBreak, position, (int)face); } else if (status == DiggingStatus.Finished) { SendPlayerAction(PlayerAction.StopBreak, position, (int)face); var packet = McpeInventoryTransaction.CreateObject(); packet.transaction = new Transaction() { ActionType = (int)McpeInventoryTransaction.ItemUseAction.Destroy, ClickPosition = new System.Numerics.Vector3(cursorPosition.X, cursorPosition.Y, cursorPosition.Z), TransactionType = McpeInventoryTransaction.TransactionType.ItemUse, EntityId = NetworkEntityId, Position = new MiNET.Utils.BlockCoordinates(position.X, position.Y, position.Z), //Item = MiNET.Items.ItemFactory.GetItem() }; SendPacket(packet); } else if (status == DiggingStatus.Cancelled) { SendPlayerAction(PlayerAction.AbortBreak, position, (int)face); } } }
public AcknowledgePlayerDigging(Block block, DiggingStatus status, bool successful, Position pos) { _block = block; _status = status; _success = successful; _pos = pos; }
public override void PlayerDigging(DiggingStatus status, BlockCoordinates position, API.Blocks.BlockFace face, Vector3 cursorPosition) { Client.SendPacket(new PlayerDiggingPacket() { Face = face, Location = position, Status = status }); }
public void PlayerDigging(DiggingStatus status, BlockCoordinates position, BlockFace face, Vector3 cursorPosition) { SendPacket(new PlayerDiggingPacket() { Face = face, Location = position, Status = status }); }
public override void PlayerDigging(DiggingStatus status, BlockCoordinates position, BlockFace face, Vector3 cursorPosition) { }
public abstract void PlayerDigging(DiggingStatus status, BlockCoordinates position, BlockFace face, Vector3 cursorPosition);