Skip to content
This repository was archived by the owner on Oct 26, 2025. It is now read-only.

Commit 69ec4fe

Browse files
add check if shifted spawn points, nodes and flags are outside of the output map borders then do not copy them
1 parent 0a83a03 commit 69ec4fe

File tree

8 files changed

+45
-0
lines changed

8 files changed

+45
-0
lines changed

UnturnedMapMergeTool/DataMergeTools/FlagsDataMergeTool.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ public override void CombineAndSaveData(OutputMap outputMap)
5252

5353
flagItem.CopyMap.ApplyPositionShift(flag.Point);
5454

55+
if (flagItem.CopyMap.IsOutputMapBorder(flag.Point))
56+
{
57+
continue;
58+
}
59+
5560
flagsContent.Flags.Add(flag);
5661
flagsDataContent.FlagsData.Add(flagData);
5762
}

UnturnedMapMergeTool/DataMergeTools/NodesDataMergeTool.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ public override void CombineAndSaveData(OutputMap outputMap)
4343
}
4444

4545
dataItem.CopyMap.ApplyPositionShift(node.Point);
46+
47+
if (dataItem.CopyMap.IsOutputMapBorder(node.Point))
48+
{
49+
continue;
50+
}
51+
4652
content.Nodes.Add(node);
4753
}
4854
}

UnturnedMapMergeTool/DataMergeTools/Spawns/AnimalsDataMergeTool.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ public override void CombineAndSaveData(OutputMap outputMap)
4646
};
4747

4848
dataItem.CopyMap.ApplyPositionShift(shiftedZombieSpawnpoint.Point);
49+
50+
if (dataItem.CopyMap.IsOutputMapBorder(shiftedZombieSpawnpoint.Point))
51+
{
52+
continue;
53+
}
54+
4955
shiftedZombieSpawnpoint.Type = dataItem.CopyMap.GetShiftedZombieType(shiftedZombieSpawnpoint.Type);
5056

5157
if (!Regions.tryGetCoordinate(shiftedZombieSpawnpoint.Point, out byte regionX, out byte regionY))

UnturnedMapMergeTool/DataMergeTools/Spawns/FaunaDataMergeTool.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ public override void CombineAndSaveData(OutputMap outputMap)
4343

4444
animalSpawnPoint.Type = (byte)(animalSpawnPoint.Type + startTableId);
4545
dataItem.CopyMap.ApplyPositionShift(animalSpawnPoint.Point);
46+
47+
if (dataItem.CopyMap.IsOutputMapBorder(animalSpawnPoint.Point))
48+
{
49+
continue;
50+
}
51+
4652
content.SpawnPoints.Add(animalSpawnPoint);
4753
}
4854
}

UnturnedMapMergeTool/DataMergeTools/Spawns/JarsDataMergeTool.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ public override void CombineAndSaveData(OutputMap outputMap)
4040
};
4141

4242
dataItem.CopyMap.ApplyPositionShift(shiftedItemSpawnpoint.Point);
43+
44+
if (dataItem.CopyMap.IsOutputMapBorder(shiftedItemSpawnpoint.Point))
45+
{
46+
continue;
47+
}
48+
4349
shiftedItemSpawnpoint.Type = dataItem.CopyMap.GetShiftedItemType(shiftedItemSpawnpoint.Type);
4450

4551
if (!Regions.tryGetCoordinate(shiftedItemSpawnpoint.Point, out byte regionX, out byte regionY))

UnturnedMapMergeTool/DataMergeTools/Spawns/PlayersDataMergeTool.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ public override void CombineAndSaveData(OutputMap outputMap)
3535

3636
dataItem.CopyMap.ApplyPositionShift(playerSpawn.Point);
3737

38+
if (dataItem.CopyMap.IsOutputMapBorder(playerSpawn.Point))
39+
{
40+
continue;
41+
}
42+
3843
content.Spawns.Add(playerSpawn);
3944
}
4045
}

UnturnedMapMergeTool/DataMergeTools/Spawns/VehiclesDataMergeTool.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ public override void CombineAndSaveData(OutputMap outputMap)
4545

4646
vehicleSpawnpoint.Type = (byte)(vehicleSpawnpoint.Type + startTableId);
4747
dataItem.CopyMap.ApplyPositionShift(vehicleSpawnpoint.Point);
48+
49+
if (dataItem.CopyMap.IsOutputMapBorder(vehicleSpawnpoint.Point))
50+
{
51+
continue;
52+
}
53+
4854
content.Spawnpoints.Add(vehicleSpawnpoint);
4955
}
5056
}

UnturnedMapMergeTool/Services/CopyMap.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,5 +93,10 @@ public bool ShouldIncludePosition(Vector3 position)
9393
{
9494
return config.WithBorders || !TilesHelper.IsBorder(position, config.Size);
9595
}
96+
97+
public bool IsOutputMapBorder(Vector3 position)
98+
{
99+
return TilesHelper.IsBorder(position, outputMap.Config.Size);
100+
}
96101
}
97102
}

0 commit comments

Comments
 (0)