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.