Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ColorfulPieces
Color any building piece made with the hammer using RGB/HTML colors!
CHANGELOG
Changelog
1.19.0
- Finished new ColorPicker panel and ColorPalette panel.
- Updated
README.mdwith screenshots.
1.18.1
- Hot-fix to only allow ColorPicker panel to be created in-game (and not on start-screen) to prevent NPE.
1.18.0
- Fixed for the
v0.220.3patch. - Experimental WIP ColorPicker panel added, can be toggled on/off with command
/toggle-color-picker.
1.17.0
- Updated for the
v0.218.21patch. - Coloring pieces now uses vanilla
MaterialMangame code logic instead of its own. - Known issue: wards/guard_stone will be completed colored instead of partially (to be fixed in a later update).
1.16.0
- Updated for the
v0.218.19patch. - Bumped up
<LangVersion>to C# 12. - Code clean-up and refactoring.
- Added new logic to prevent coloring chests/ships/wagons if they are currently in-use.
- Simplified the change/remove-color prompt to not include
copyPieceColorShortcuttext. - Added a new
--position=<x,y,z>arg to thechange-colorandclear-colorcommands.
1.15.1
- Fixed a bug with
ClearPieceColorShortcutnot working.
1.15.0
- Updated for the
v0.217.38patch. - Moved changelog into
CHANGELOG.md. - Bumped up
<LangVersion>to C# 10. - Minor performance improvement by switching to singleton
PieceColorRenderer.
1.14.0
- Updated for
v0.217.31patch. - Major code clean-up and restructuring.
- Converted all commands to ComfyCommand format.
- Added new commands
clear-colorandchange-color. - Color palettes now wrap at 8 colors per row.
1.13.0
- Fixed for the
v0.217.24patch.
1.12.0
- Fixed for
v0.217.14patch.
1.11.1
- Work-around for bug introduced in
v0.216.9where Color.black (Vector3.zero) was stripped out during world load.
1.11.0
- Updated for
v0.216.8PTB patch. - Modified
Player.TakeInput()transpiler to happen afterPlayer.UpdateHover()and no longer block other inputs. - Modified all single-Piece color actions to no longer be coroutines.
- Added work-around for new ZDO behaviour that does not support removal of existing ZDO key-value pairs.
1.10.0
- Updated for the
v0.214.2patch.
1.9.2
- Reverted the 'Copied piece color' message back to an upper-left MessageHud notification.
1.9.1
- Fixed a bug with the CopyPieceColorAction not working correctly and converted it to a regular method.
- Organized some of the config files and other small clean-up.
- Modified the
Player.TakeInput()patch to also check that taking input is allowed.
1.9.0
- Overhauled config options to use
ExtendedColorConfigEntryfor any color options. - Add ColorPalette feature for ExtendedColorConfigEntry.
- Added
PieceLastColoredByHostZDO string field filled by player'sNetworkuserIdwhen modifying piece color.
1.8.0
- Reduced overall memory and cpu usage!
- Refactored entire colorization mechanism to use a new
PieceColorcomponent andPieceColorUpdaterloop. - Removed prefab Material caching (which created instances) and instead make use of MaterialPropertyBlocks.
- Added configuration options to override the Piece stability highlight gradient colors.
- Cleaned-up this README and added more instructions.
1.7.1
- Fixed a bug with the
Player.TakeInput()transpiler code blocking other inputs.
1.7.0
- Standardized
PluginConfigto match more recent mods. - Moved Harmony patching code into new
PlayerPatch,TerminalPatchandHudPatchclasses. - Terminal commands now check for
IsModEnabledfor initial add and in the commands themselves. - Added
manifest.jsonand changedicon.png. - Modified the project file to automatically create a versioned Thunderstore package.
1.6.0
- Fixed crashes related to the VPO-compatibiity introduced in v1.4.0.
- Reverted to original-caching behaviour that uses
WearNTearinstance itself as the key tied to Awake/Destroy. - Moved the SaveMaterialColor/ClearMaterialColor logic to WearNTearData.
- Added a cache for Vector3ToColor() method calls.
- Added a cache variable for Utils.ColorToVector3() method calls.
- Reverted to original-caching behaviour that uses
1.5.2
- Changed how hotkeys are detected from Player.TakeInput() prefix to better Player.Update() transpiler.
- This eliminates the double hot-key firing when in debugfly mode.
- Moved more config-related logic into PluginConfig class.
- Moved ZDO extensions to a new ZdoExtensions class.
- Added two new Terminal.ConsoleCommands: /clearcolor and /changecolor
- Fixed a missing check for isModEnabled and showChangeRemoveColorPrompt flags in Hud.UpdateCrosshair() postfix.
- Fixed a missing yield return null condition in ChangeColorsInRadiusCoroutine().
1.4.0
- Use
WearNTear.m_nview.m_zdo.m_uidas the cache key for compatibility with ValheimPerformanceOptimizations. - Also call
ClearWearNTearColors()inWearNTear.Awake()andWearNTear.OnDestroy()to assist with the above.
1.3.0
- Fixed
PieceEmissionColorFactornot being copied during copy color action. - Renamed
LastColoredBytoPieceLastColoredByto be more consistent with other colorful mods. - Added an option to change the font-size for the text prompt on hover.
1.2.1
- Recompiled against H&H patch.
1.2.0
- Fixed for Hearth & Home update.
- Added new action to copy the (existing) color of the hovered piece.
- Defaults to
LeftCtrl + R.
- Defaults to
- All keyboard shortcuts for actions (including set color and clear color) are now configurable.
- Increased maximum emission factor from
0.6to0.8to allow for brighter colors. - Added a new
LastColoredBylong ZDO property set to the PlayerId on set or clear.
1.1.0
- Fixed a memory leak causing the game to crash/freeze during a player profile save.
- This is because we used ConditionalWeakTable to cache piece materials but the Unity docs state that UnityEngine.Object does not support WeakReferences.
- Changed to a Dictionary instead and patch
WearNTear.OnDestroy()to remove the reference.
- Added configuration setting to hide the 'change color' and 'remove color' prompt over a ward.
1.0.0
- Initial release.