
1.1K
2
Список изменений
GriefPrevention v17.3.5
Highlights
- Major shaped-claim performance pass: shaped edits and large shaped path creation are now viable at sizes that previously stalled or failed the geometry layer.
- Reduced per-edit CPU cost for nib growth, merges, and boundary tracing on claims with long orthogonal perimeters.
Shaped Claim Performance
- Replaced the per-cell scan used to measure shaped claims with a closed-form count derived from the boundary polygon, so measuring a shaped claim is now
O(edges)instead ofO(width * height). - Large shaped paths (winding corridors, perimeter walls, sprawling multi-segment outlines) can now be created and resized without the prior cost wall, because measurement no longer grows with the claim's bounding box.
- Added a cached boundary polygon on each claim so repeated measurement, containment, and overlap queries within the same edit no longer rebuild and re-validate the polygon from scratch.
Technical Improvements
- New
OrthogonalPolygon.cellCount()computes the number of integer-lattice cells inside or on the boundary of a shaped claim directly from its corners, using Pick's theorem (A + B/2 + 1) with the shoelace formula for the areaAand the summed Manhattan edge lengths for the boundary countB. This is exact for axis-aligned polygons with integer corners, which is always the case for shaped claims. Claim.getClaimBlocks()now callscellCount()instead of iterating every(x, z)in the bounding box and callingcontainsColumn.DataStore.polygonCellArea(...)no longer builds a throwaway measuring claim and runs a per-cellcontains(...)test; it also delegates tocellCount().- Added a transient
cachedBoundaryPolygononClaim, invalidated on shape mutation and on the copy constructor, and populated from the already-validated polygon insetShapedCornerssogetBoundaryPolygon()does not re-validate on first access.
Notes
- This release is the recommended base for GPExpansion
v1.0.4, whose/claimmapperformance work depends on the shaped-claim geometry speedups shipped here. - Behavior of existing shaped edits is unchanged; only their cost and upper size limits have improved.
Файлы
GriefPrevention.jar(615.20 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
17.3.5
Загрузчики
BukkitFoliaPaperPurpurSpigot
Версии игры
1.20–1.21.11
Загрузок
4
Дата публикации
11 ч. назад