fixed auto block breaking

This commit is contained in:
MasterGordon 2022-12-14 17:36:45 +01:00
parent 8edad6846b
commit d299222c09
5 changed files with 31 additions and 22 deletions

View File

@ -66,6 +66,10 @@ public class Breaking
{
return;
}
if (packet.Source == BreakSource.Move && player.Mining == Vector2.Zero)
{
return;
}
player.Mining = packet.Target;
}

View File

@ -48,7 +48,6 @@ public class ItemPhysics
var items = chunk.Value.Entities.Where(e =>
{
Console.WriteLine("Where");
return e is ItemEntity itemEntity &&
(player.Position + new Vector2(7, 3) - itemEntity.Position).LengthSquared() < 8 * 8 &&
player.Inventory.PickupItemStack(new ItemStack { Id = itemEntity.ItemId, Count = 1 });

View File

@ -1,9 +1,16 @@
namespace Mine2d.game.backend.network.packets;
public enum BreakSource
{
Move,
Click
}
public class BreakPacket : Packet
{
public override PacketType Type => PacketType.Break;
public Guid PlayerGuid { get; init; }
public Vector2 Target { get; init; }
public BreakSource Source { get; init; }
}

View File

@ -22,7 +22,8 @@ public class PlayerBreakInput
ctx.Backend.ProcessPacket(new BreakPacket
{
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
Target = amp
Target = amp,
Source = BreakSource.Move
});
}
}
@ -43,7 +44,8 @@ public class PlayerBreakInput
ctx.Backend.ProcessPacket(new BreakPacket
{
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
Target = amp
Target = amp,
Source = BreakSource.Click
});
}
@ -59,7 +61,8 @@ public class PlayerBreakInput
ctx.Backend.ProcessPacket(new BreakPacket
{
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
Target = Vector2.Zero
Target = Vector2.Zero,
Source = BreakSource.Click
});
}
}

View File

@ -15,9 +15,6 @@ public class WorldCursorRenderer : IRenderer
{
return;
}
if (ctx.GameState.World.HasTileAt((int)absoluteMousePos.X, (int)absoluteMousePos.Y))
{
var ts = Constants.TileSize;
var tilePos = new Vector2(absoluteMousePos.X - absoluteMousePos.X % ts, absoluteMousePos.Y - absoluteMousePos.Y % ts);
ctx.Renderer.SetColor(255, 255, 255);
@ -28,5 +25,4 @@ public class WorldCursorRenderer : IRenderer
16 * scale
);
}
}
}