From d2a95e12335050e64eb73edae203dfc3e80150ec Mon Sep 17 00:00:00 2001 From: remmintan Date: Sat, 16 Mar 2024 14:35:35 +0100 Subject: [PATCH] Display correct blueprint task blocks. --- src/main/java/org/minefortress/tasks/BlueprintTask.java | 9 +++++++++ .../networking/s2c/S2CAddClientTasksPacket.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/minefortress/tasks/BlueprintTask.java b/src/main/java/org/minefortress/tasks/BlueprintTask.java index 4b91fc82..69ac7b5e 100644 --- a/src/main/java/org/minefortress/tasks/BlueprintTask.java +++ b/src/main/java/org/minefortress/tasks/BlueprintTask.java @@ -11,6 +11,7 @@ import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; import net.remmintan.mods.minefortress.core.TaskType; +import net.remmintan.mods.minefortress.core.dtos.tasks.TaskInformationDto; import net.remmintan.mods.minefortress.core.interfaces.entities.pawns.IFortressAwareEntity; import net.remmintan.mods.minefortress.core.interfaces.entities.pawns.IWorkerPawn; import net.remmintan.mods.minefortress.core.interfaces.tasks.ITaskBlockInfo; @@ -145,4 +146,12 @@ private void removeReservedItem(IFortressAwareEntity colonist, Item item) { } } + @Override + public List toTaskInformationDto() { + Set allBlocks = new HashSet<>(blueprintData.keySet()); + if(blueprintEntityData != null) allBlocks.addAll(blueprintEntityData.keySet()); + if(blueprintAutomaticData != null) allBlocks.addAll(blueprintAutomaticData.keySet()); + final var positions = allBlocks.stream().map(it -> it.add(startingBlock)).toList(); + return List.of(new TaskInformationDto(id, positions, taskType)); + } } diff --git a/src/networking/java/net/remmintan/mods/minefortress/networking/s2c/S2CAddClientTasksPacket.java b/src/networking/java/net/remmintan/mods/minefortress/networking/s2c/S2CAddClientTasksPacket.java index 30bea2a1..5c4204d9 100644 --- a/src/networking/java/net/remmintan/mods/minefortress/networking/s2c/S2CAddClientTasksPacket.java +++ b/src/networking/java/net/remmintan/mods/minefortress/networking/s2c/S2CAddClientTasksPacket.java @@ -13,7 +13,7 @@ public class S2CAddClientTasksPacket implements FortressS2CPacket { - public static final String CHANNEL = "minefortress:client_task_state"; + public static final String CHANNEL = "minefortress_client_task_state"; private final List tasks;