From 69c3d18a3655581b1151e02814a76b6721d06854 Mon Sep 17 00:00:00 2001 From: anth64 Date: Fri, 31 Jul 2026 07:13:43 +0200 Subject: [PATCH] feat: make ClaimLinkVisualizer client-only, fix buffer highlight rendering --- .../ClaimLinkVisualizer.csproj | 4 -- .../ClaimLinkVisualizerClient.cs | 32 ++++--------- .../ClaimLinkVisualizerModSystem.cs | 4 -- .../ClaimLinkVisualizerServer.cs | 47 ------------------- ClaimLinkVisualizer/modinfo.json | 5 +- build.sh | 0 6 files changed, 11 insertions(+), 81 deletions(-) delete mode 100644 ClaimLinkVisualizer/ClaimLinkVisualizerServer.cs mode change 100644 => 100755 build.sh diff --git a/ClaimLinkVisualizer/ClaimLinkVisualizer.csproj b/ClaimLinkVisualizer/ClaimLinkVisualizer.csproj index 8cf0c33..5338f99 100644 --- a/ClaimLinkVisualizer/ClaimLinkVisualizer.csproj +++ b/ClaimLinkVisualizer/ClaimLinkVisualizer.csproj @@ -16,10 +16,6 @@ $(VINTAGE_STORY)/Lib/protobuf-net.dll False - - $(CLAIMLINK)/ClaimLink.dll - false - diff --git a/ClaimLinkVisualizer/ClaimLinkVisualizerClient.cs b/ClaimLinkVisualizer/ClaimLinkVisualizerClient.cs index 266b751..61a8263 100644 --- a/ClaimLinkVisualizer/ClaimLinkVisualizerClient.cs +++ b/ClaimLinkVisualizer/ClaimLinkVisualizerClient.cs @@ -15,8 +15,7 @@ internal static class ClaimLinkVisualizerClient { capi = api; - api.Network - .RegisterChannel(ClaimLinkVisualizerModSystem.ChannelName) + api.Network.RegisterChannel(ClaimLinkVisualizerModSystem.ChannelName) .RegisterMessageType() .RegisterMessageType() .SetMessageHandler(OnBufferResponse); @@ -24,7 +23,7 @@ internal static class ClaimLinkVisualizerClient api.Input.RegisterHotKey( "claimlinkvisualizertoggle", "Toggle ClaimLink buffer visualization", - GlKeys.J, + GlKeys.R, HotkeyType.CharacterControls, ctrlPressed: true ); @@ -35,8 +34,7 @@ internal static class ClaimLinkVisualizerClient { visible = !visible; if (visible) - capi.Network - .GetChannel(ClaimLinkVisualizerModSystem.ChannelName) + capi.Network.GetChannel(ClaimLinkVisualizerModSystem.ChannelName) .SendPacket(new ClaimLinkBufferRequest()); else Clear(); @@ -55,11 +53,11 @@ internal static class ClaimLinkVisualizerClient { int color = HashToColor(entry.GroupId); foreach (BufferCuboidDto cuboid in entry.Cuboids) - foreach (BlockPos corner in Corners(cuboid)) - { - positions.Add(corner); - colors.Add(color); - } + { + positions.Add(new BlockPos(cuboid.MinX, cuboid.MinY, cuboid.MinZ)); + positions.Add(new BlockPos(cuboid.MaxX, cuboid.MaxY, cuboid.MaxZ)); + colors.Add(color); + } } capi.World.HighlightBlocks( @@ -68,7 +66,7 @@ internal static class ClaimLinkVisualizerClient positions, colors, EnumHighlightBlocksMode.Absolute, - EnumHighlightShape.Arbitrary + EnumHighlightShape.Cubes ); } @@ -80,18 +78,6 @@ internal static class ClaimLinkVisualizerClient new List() ); - private static IEnumerable Corners(BufferCuboidDto c) - { - yield return new BlockPos(c.MinX, c.MinY, c.MinZ); - yield return new BlockPos(c.MaxX, c.MinY, c.MinZ); - yield return new BlockPos(c.MinX, c.MaxY, c.MinZ); - yield return new BlockPos(c.MinX, c.MinY, c.MaxZ); - yield return new BlockPos(c.MaxX, c.MaxY, c.MinZ); - yield return new BlockPos(c.MaxX, c.MinY, c.MaxZ); - yield return new BlockPos(c.MinX, c.MaxY, c.MaxZ); - yield return new BlockPos(c.MaxX, c.MaxY, c.MaxZ); - } - private static int HashToColor(int groupId) { unchecked diff --git a/ClaimLinkVisualizer/ClaimLinkVisualizerModSystem.cs b/ClaimLinkVisualizer/ClaimLinkVisualizerModSystem.cs index 28d99ea..aa75236 100644 --- a/ClaimLinkVisualizer/ClaimLinkVisualizerModSystem.cs +++ b/ClaimLinkVisualizer/ClaimLinkVisualizerModSystem.cs @@ -1,6 +1,5 @@ using Vintagestory.API.Client; using Vintagestory.API.Common; -using Vintagestory.API.Server; namespace ClaimLinkVisualizer; @@ -8,9 +7,6 @@ public class ClaimLinkVisualizerModSystem : ModSystem { internal const string ChannelName = "claimlinkvisualizer"; - public override void StartServerSide(ICoreServerAPI api) => - ClaimLinkVisualizerServer.Start(api); - public override void StartClientSide(ICoreClientAPI api) => ClaimLinkVisualizerClient.Start(api); } diff --git a/ClaimLinkVisualizer/ClaimLinkVisualizerServer.cs b/ClaimLinkVisualizer/ClaimLinkVisualizerServer.cs deleted file mode 100644 index 75d5cc3..0000000 --- a/ClaimLinkVisualizer/ClaimLinkVisualizerServer.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Collections.Generic; -using ClaimLink; -using Vintagestory.API.MathTools; -using Vintagestory.API.Server; - -namespace ClaimLinkVisualizer; - -internal static class ClaimLinkVisualizerServer -{ - internal static void Start(ICoreServerAPI api) - { - api.Network - .RegisterChannel(ClaimLinkVisualizerModSystem.ChannelName) - .RegisterMessageType() - .RegisterMessageType() - .SetMessageHandler((fromPlayer, _) => - SendBuffers(api, fromPlayer) - ); - } - - private static void SendBuffers(ICoreServerAPI api, IServerPlayer toPlayer) - { - ClaimLinkBufferResponse response = new(); - - foreach (var (groupId, cuboids) in ClaimLinkAPI.BufferMap) - { - ClaimLinkBufferEntryDto entry = new() { GroupId = groupId }; - foreach (Cuboidi cuboid in cuboids) - entry.Cuboids.Add( - new BufferCuboidDto - { - MinX = cuboid.MinX, - MinY = cuboid.MinY, - MinZ = cuboid.MinZ, - MaxX = cuboid.MaxX, - MaxY = cuboid.MaxY, - MaxZ = cuboid.MaxZ, - } - ); - response.Entries.Add(entry); - } - - api.Network - .GetChannel(ClaimLinkVisualizerModSystem.ChannelName) - .SendPacket(response, toPlayer); - } -} diff --git a/ClaimLinkVisualizer/modinfo.json b/ClaimLinkVisualizer/modinfo.json index 3045eff..a25de42 100644 --- a/ClaimLinkVisualizer/modinfo.json +++ b/ClaimLinkVisualizer/modinfo.json @@ -3,14 +3,13 @@ "type": "Code", "modid": "claimlinkvisualizer", "name": "ClaimLinkVisualizer", - "side": "Universal", + "side": "Client", "authors": [ "anth64" ], "description": "Visualizes ClaimLink buffer zones client-side.", "version": "0.0.1", "dependencies": { - "game": "1.22.5", - "claimlink": "0.1.0" + "game": "1.22.5" } } \ No newline at end of file diff --git a/build.sh b/build.sh old mode 100644 new mode 100755