fixed auto block breaking
This commit is contained in:
parent
8edad6846b
commit
d299222c09
|
|
@ -66,6 +66,10 @@ public class Breaking
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (packet.Source == BreakSource.Move && player.Mining == Vector2.Zero)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
player.Mining = packet.Target;
|
player.Mining = packet.Target;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,6 @@ public class ItemPhysics
|
||||||
|
|
||||||
var items = chunk.Value.Entities.Where(e =>
|
var items = chunk.Value.Entities.Where(e =>
|
||||||
{
|
{
|
||||||
Console.WriteLine("Where");
|
|
||||||
return e is ItemEntity itemEntity &&
|
return e is ItemEntity itemEntity &&
|
||||||
(player.Position + new Vector2(7, 3) - itemEntity.Position).LengthSquared() < 8 * 8 &&
|
(player.Position + new Vector2(7, 3) - itemEntity.Position).LengthSquared() < 8 * 8 &&
|
||||||
player.Inventory.PickupItemStack(new ItemStack { Id = itemEntity.ItemId, Count = 1 });
|
player.Inventory.PickupItemStack(new ItemStack { Id = itemEntity.ItemId, Count = 1 });
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,16 @@
|
||||||
namespace Mine2d.game.backend.network.packets;
|
namespace Mine2d.game.backend.network.packets;
|
||||||
|
|
||||||
|
public enum BreakSource
|
||||||
|
{
|
||||||
|
Move,
|
||||||
|
Click
|
||||||
|
}
|
||||||
|
|
||||||
public class BreakPacket : Packet
|
public class BreakPacket : Packet
|
||||||
{
|
{
|
||||||
public override PacketType Type => PacketType.Break;
|
public override PacketType Type => PacketType.Break;
|
||||||
|
|
||||||
public Guid PlayerGuid { get; init; }
|
public Guid PlayerGuid { get; init; }
|
||||||
public Vector2 Target { get; init; }
|
public Vector2 Target { get; init; }
|
||||||
|
public BreakSource Source { get; init; }
|
||||||
}
|
}
|
||||||
|
|
@ -22,7 +22,8 @@ public class PlayerBreakInput
|
||||||
ctx.Backend.ProcessPacket(new BreakPacket
|
ctx.Backend.ProcessPacket(new BreakPacket
|
||||||
{
|
{
|
||||||
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
|
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
|
||||||
Target = amp
|
Target = amp,
|
||||||
|
Source = BreakSource.Move
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -43,7 +44,8 @@ public class PlayerBreakInput
|
||||||
ctx.Backend.ProcessPacket(new BreakPacket
|
ctx.Backend.ProcessPacket(new BreakPacket
|
||||||
{
|
{
|
||||||
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
|
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
|
||||||
Target = amp
|
Target = amp,
|
||||||
|
Source = BreakSource.Click
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -59,7 +61,8 @@ public class PlayerBreakInput
|
||||||
ctx.Backend.ProcessPacket(new BreakPacket
|
ctx.Backend.ProcessPacket(new BreakPacket
|
||||||
{
|
{
|
||||||
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
|
PlayerGuid = ctx.FrontendGameState.PlayerGuid,
|
||||||
Target = Vector2.Zero
|
Target = Vector2.Zero,
|
||||||
|
Source = BreakSource.Click
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,6 @@ public class WorldCursorRenderer : IRenderer
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx.GameState.World.HasTileAt((int)absoluteMousePos.X, (int)absoluteMousePos.Y))
|
|
||||||
{
|
|
||||||
var ts = Constants.TileSize;
|
var ts = Constants.TileSize;
|
||||||
var tilePos = new Vector2(absoluteMousePos.X - absoluteMousePos.X % ts, absoluteMousePos.Y - absoluteMousePos.Y % ts);
|
var tilePos = new Vector2(absoluteMousePos.X - absoluteMousePos.X % ts, absoluteMousePos.Y - absoluteMousePos.Y % ts);
|
||||||
ctx.Renderer.SetColor(255, 255, 255);
|
ctx.Renderer.SetColor(255, 255, 255);
|
||||||
|
|
@ -28,5 +25,4 @@ public class WorldCursorRenderer : IRenderer
|
||||||
16 * scale
|
16 * scale
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue