1.1.1
- Fixed the false
Not all requirements have been met rejection for Magic Supremacy's MagicWeaverDO and every other piece in a custom build category. The isolated relocation table now uses its own vanilla Misc slot and never calls category/index lookup.
- Removed build-menu visibility, category order, AAABuildMenu columns/search/filters, required materials, and
Player.HaveRequirements from relocation authorization.
- Made
Require known piece use only the player's real known-recipe set through Player.IsRecipeKnown; when disabled, knowledge is bypassed unconditionally.
- Restored the intended build-area boundary using the source position's existing
EffectArea.Type.PlayerBase territory (the base area used by Valheim's spawn suppression), without requiring the piece's original crafting station.
- Capture the exact source build-area instances before creating the ghost, preventing a workbench or other base-piece ghost from authorizing its own destination.
- Resolve the canonical relocation prefab from the authoritative ZDO prefab hash before falling back to its name, improving compatibility with renamed runtime instances.
- Kept the final vanilla placement ghost as the surface/connection/biome/spacing validator and removed the second divergent owner-side static-rule clone that could reject a valid preview.
- Retained owner-side source/target build-area, ward, no-build, reach, unsafe-state, and structural-support rollback checks; bumped multiplayer traffic to protocol V4 so mixed releases fail cleanly.
1.1.0
- Re-audited relocation against the current vanilla placement, ZDO synchronization, crafting-station, station-extension, effect-area, and structural-support paths.
- Removed non-vanilla
PlayerBase, station-at-destination, and repeated source-distance requirements while preserving final vanilla placement validation, ward/no-build checks, target reach, connection rules, and structural support.
- Preserved
Require known piece as an independent recipe-knowledge policy; disabling it permits only the selected existing object and never teaches or exposes recipes.
- Always use an isolated one-piece placement table in
World, BuildMenu, and Mixed, preserving the normal table and selection across success or cancellation.
- Unified placement input across all three modes so relocation is not accidentally gated by the hammer's stamina, durability, or resource-consumption path.
- Added optional AAABuildMenu compatibility for its filtered/search build lists without adding a hard dependency or changing AAABuildMenu when it is absent.
- Rebuild moved workbench upgrade lists/ranges, station-extension links, cached burning/no-monster bounds, and ward connection caches after move and rollback.
- Made nonessential
WearNTear reflection caches optional while retaining the fail-closed support check for pieces that can break without support.
- Replaced six per-piece routed-RPC closures with six session-level handlers keyed by
ZDOID; bumped the network protocol and message names to V3.
- Hold the object lock until server observation completes so a second move cannot overwrite a pending transaction record.
- Keep that lock lease refreshed while confirmation is pending, and validate fast visual updates against the committed token and ZDO pose.
- Snapshot and restore moved rigidbody velocities plus component cache/environment fields when an owner-side transaction rolls back.
- Store cancelled-request tombstones without retaining player, piece, or
ZNetView objects for the late-response safety window.
- Cache unchanged move-link geometry and stopped duplicate placement-ghost setup and per-frame duplicate destination scans.
- Allow an explicitly configured
E move hotkey while giving a successful door interaction priority for that press.
1.0.23
- Prevented
Physics.ClosestPoint warning spam when movable pieces use non-convex mesh or other unsupported collider types.
- Kept exact proximity checks for primitive and convex colliders, used collider bounds as a safe fallback for piece-distance checks, and ignored inactive or trigger-only piece colliders.
- Made custom player-base area checks fail closed for unsupported collider shapes instead of calling an invalid Unity physics API.
- Reused component buffers and calculated each object's link endpoint and ring radius from one bounds scan per frame; corrected rotated mesh-only fallback bounds.
1.0.22
- Read player-built identity from the authoritative ZDO creator field whenever Valheim's one-time local
Piece.m_creator cache differs from the network data.
- Split non-removable and missing-creator failures into separate messages and added network identity diagnostics for genuine creator mismatches.
1.0.21
- Fixed the dashed link endpoint jumping toward world origin by removing the premature placement-ghost bounds cache and calculating current object endpoints after vanilla updates the ghost.
- Ignored inactive and near-zero collider/renderer bounds so temporary Unity bounds cannot distort link anchors or floor rings.
- Changed the clean-config default to
Mixed, using its separate hotkey both inside and outside build mode. Existing saved configs remain unchanged.
1.0.20
- Added
Mixed mode and its own configurable hotkey, usable both inside and outside build mode.
- Replaced the old move RPCs with versioned, peer-authenticated lock and transaction messages, a direct server capability challenge and authoritative commit check, exact-owner routing, cancellation tombstones, owner-change retry, and bounded timeouts.
- Made the server's enable/safety/knowledge/lease policy authoritative for every possible ZDO owner instead of depending on a random owner's local config.
- Added owner-side requester, distance, ward, base, station, connection, finite-transform, occupied-piece, nested-network-object, and unsafe-area validation.
- Revalidated the vanilla placement ghost immediately before commit and locked the active PieceTable/prefab so copy, removal, or selection changes cannot move the wrong object.
- Fixed duplicate World placement-ghost updates and restored vanilla-style mouse/gamepad rotation handling.
- Rebuilt WearNTear relocation refreshes, including support geometry, roof, biome, heightmap subscription, water, Ashlands, lava, rain, and shield state, without treating the object as newly placed.
- Refreshed sap collectors, shield visuals, fireplace/cinder biome caches, static rotation, and claimed-bed spawn points after a move.
- Optimized active visuals by caching object bounds, reusing renderers/materials, growing dense-base support buffers safely, and targeting support-cache RPCs only at their owners.
- Added complete disable, cancel, death, teleport, logout, Piece destruction, and late-response cleanup.
- Excluded the original object from move-only spacing, required-connection, overlap, and clipping checks while preserving it as a snap source, including rotation in place; prevented a second placement-ghost update in the commit frame.
- Added an expiring challenge-bound server-capability lease, target-bound commit replies, coalesced lock refreshes, exact-owner release during ownership gaps and graceful logout, fail-closed ward compatibility, and transactional owner rollback on exceptions.
1.0.19
- Refuse moves that would immediately violate
WearNTear structural support, preventing unsupported pieces from breaking after relocation.
- Revert owner-side transforms before syncing if the moved piece cannot survive at the target position.
1.0.18
- Prevented vanilla placement from running while move mode is active, even if the selected prefab changes.
- Made the post-move
WearNTear refresh softer so moved pieces recalculate support bounds without being treated as newly placed objects.
1.0.17
- Clarified the Thunderstore description and README with the two move modes, current defaults, and existing-config behavior.
1.0.16
- Changed new config defaults to
Move mode = World and Require known piece = false.
1.0.15
- Enforced
Require known piece before entering move mode, including World mode moves that use the temporary one-piece build table.
1.0.14
- Wait for the ZDO owner to confirm multiplayer moves before completing local move mode.
- Avoid owner-side ward checks that used the ZDO owner's local player instead of the moving player.
- Reduced redundant support-cache broadcasts when clients receive visual move updates.
1.0.13
- Restored the equipped build tool's normal build table when a
World mode move is cancelled by equipping a hammer or another build tool.
- Prevented
World mode moves from starting while a build tool is already equipped.
1.0.12
- Reset relocated
WearNTear geometry, support, roof, and biome caches after a move so structural support is recalculated at the new position instead of using stale world-space data.
1.0.11
- Suppressed primary and secondary attack input while move mode is active, including the placement click when finishing a
World mode move.
1.0.10
- Fixed
Require known piece = false for pieces unavailable through the current build list by selecting the temporary move table without vanilla recipe filtering.
1.0.9
- Fixed
Require known piece = false by preserving the one-piece temporary move table instead of letting vanilla filter it by known recipes.
1.0.8
- Added multiplayer move locks so only one player can move the same object at a time.
- Added lock timeout recovery for disconnects or crashes during move mode.
- Cancelled move mode on player death and when
World mode is replaced by normal build mode.
- Allowed
Require known piece = false without granting recipes or opening the full build list.
1.0.7
- Added door interaction while move mode is active.
- Added
Require known piece config to allow moving player-built pieces before learning their recipes.
- Cancelled active move mode automatically when the player starts teleporting.
1.0.6
- Changed the default
BuildMenu move hotkey to U.
- Prevented vanilla placement updates during active
World mode moves to avoid null-reference errors when no build tool is equipped.
- Updated
World mode to refresh the placement ghost and finish moves directly while vanilla placement is skipped.
1.0.5
- Replaced separate mode toggles with a single
Move mode dropdown.
- Fixed
World mode piece detection outside build mode by using a direct build-piece raycast.
1.0.4
- Added separate build-mode and world-mode moving.
1.0.3
- Synchronized moved pieces to already connected multiplayer clients immediately after the ZDO owner applies the relocation.
1.0.2
- Moved multiplayer relocation to the ZDO owner instead of claiming ownership locally.
- Kept child rigidbodies in their own transforms while stopping leftover motion after a move.
1.0.1
- Scale the origin and ghost floor rings from the moved object's footprint size.
1.0.0
- Initial Thunderstore release.
- Added build-mode moving for known player-built pieces with a blue placement ghost, raised dashed link, station-range limits, and preserved network object state.