{"id":24056892,"url":"https://github.com/vlazed/color-tree","last_synced_at":"2025-09-25T13:45:13.169Z","repository":{"id":270390505,"uuid":"909876611","full_name":"vlazed/color-tree","owner":"vlazed","description":"Modify an entity's children and its descendants","archived":false,"fork":false,"pushed_at":"2025-02-12T04:27:27.000Z","size":5010,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T05:32:20.259Z","etag":null,"topics":["gmod","gmod-addon","gmod-lua","lua"],"latest_commit_sha":null,"homepage":"https://steamcommunity.com/sharedfiles/filedetails/?id=3410249572","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vlazed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-30T00:32:12.000Z","updated_at":"2025-02-12T04:27:30.000Z","dependencies_parsed_at":"2024-12-30T20:21:22.635Z","dependency_job_id":"6aeb78f9-54d1-4ea3-956c-464c5846374e","html_url":"https://github.com/vlazed/color-tree","commit_stats":null,"previous_names":["vlazed/color-tree"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vlazed%2Fcolor-tree","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vlazed%2Fcolor-tree/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vlazed%2Fcolor-tree/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vlazed%2Fcolor-tree/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vlazed","download_url":"https://codeload.github.com/vlazed/color-tree/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240849015,"owners_count":19867617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gmod","gmod-addon","gmod-lua","lua"],"created_at":"2025-01-09T05:27:27.844Z","updated_at":"2025-09-25T13:45:08.132Z","avatar_url":"https://github.com/vlazed.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tool Trees \u003c!-- omit from toc --\u003e\n\nUse the [Tool Trees](https://steamcommunity.com/sharedfiles/filedetails/?id=3410249572) to access and modify an entity's children and its descendants through the Material, Model, or Color Tree tools, with a familiar user interface.\n\n## Table of Contents \u003c!-- omit from toc --\u003e\n- [Tool Trees](#tool-trees)\n  - [Color Tree](#color-tree)\n  - [Model Tree](#model-tree)\n  - [Material Tree](#material-tree)\n- [Disclaimer](#disclaimer)\n- [Pull Requests](#pull-requests)\n\n## Tool Trees\nThis addon consists of three tools:\n\n- Color Tree,\n- Model Tree, and\n- Material Tree.\n\nThe key feature of these three tools is the ability to access the hierarchy of an entity and modify its colors, skin, bodygroups, or (sub)materials.\n\n### Color Tree\n![Color Tree Preview](/media/colortree-preview.png)\n\nThis tool sets the colors of an entity and its descendants.\n\nThis attempts to support addons that manipulate material proxies, such as\n- [Hat Painter \u0026 Crit Glow Tools](https://steamcommunity.com/sharedfiles/filedetails/?id=135491961)\n- [Cloak Effect Tool](https://steamcommunity.com/sharedfiles/filedetails/?id=608061297)\n- [Ragdoll Colorizer](https://steamcommunity.com/sharedfiles/filedetails/?id=267610127)\n- [Stik's Tools Ragdoll Color](https://steamcommunity.com/sharedfiles/filedetails/?id=2402581521)\n\nThe tool also supports submaterial colouring if the [Advanced Colour Tool](https://steamcommunity.com/sharedfiles/filedetails/?id=692778306) is installed. If it is installed, upon selecting an entity, the submaterial gallery from the [Material Tree](#material-tree) will pop up, allowing you to select a submaterial to modify its colors.\n\nUnlike the Color Tool, which requires the user to click on the entity to change colors, copy colors, or reset colors, the Color Tree requires the user to click on the entity only once. Color changes to the entity will show when the user clicks on the color mixer. In addition, the color mixer will also update itself when the entity's color changes externally (either from another user or from an external process such as Stop Motion Helper playback). \n\n### Model Tree\n![Model Tree Preview](/media/modeltree-preview.png)\n\nThis tool sets the skin, bodygroup, or model of the entity and its descendants.\n\nContrary to existing solutions (Composite Bonemerge Tool \"injects\" the bodygroups and skins to bonemerged entity), this tool gives direct access to the bonemerged entity, allowing you to set these properties directly, with no internal changes to the entity.\n\n### Material Tree\n![Material Tree Preview](/media/materialtree-preview.png)\n\nThis tool sets the materials or submaterials of the entity and its descendants.\n\nUnlike the submaterial tool, which lists the paths of the submaterials to modify and requires a scrolling input for navigation, this tool instead presents a submaterial gallery for the user to select a submaterial to modify. In addition, the user can set the material of multiple submaterials at once, without the need to scroll and click to find a submaterial. \n\n## Disclaimer\n\nThese tools have no conflicts of interests with the tools that it supports. Support for the tools above has been achieved by downloading the aforementioned addons using [gmpublisher](https://github.com/WilliamVenner/gmpublisher) and reading their source code. These tool trees interface with the addon tools (if they are installed) by calling their functions or setting networked variables.\n\n**This tool has been tested in singleplayer.** Although this tool may function in multiplayer, please expect bugs and report any that you observe in the issue tracker.\n\n## Pull Requests\n\nWhen making a pull request, make sure to confine to the style seen throughout. Try to add types for new functions or data structures. I used the default [StyLua](https://github.com/JohnnyMorganz/StyLua) formatting style.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvlazed%2Fcolor-tree","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvlazed%2Fcolor-tree","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvlazed%2Fcolor-tree/lists"}