{"id":30333924,"url":"https://github.com/ftbteam/ftb-pack-companion","last_synced_at":"2025-08-18T04:05:04.894Z","repository":{"id":78943121,"uuid":"530602364","full_name":"FTBTeam/FTB-Pack-Companion","owner":"FTBTeam","description":"A pack developers best friend!","archived":false,"fork":false,"pushed_at":"2025-06-25T17:41:00.000Z","size":293,"stargazers_count":2,"open_issues_count":0,"forks_count":4,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-06-25T18:40:38.413Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FTBTeam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2022-08-30T10:17:02.000Z","updated_at":"2025-06-25T17:42:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"b83dfcb4-7e5f-42bd-9e89-8d433070a62a","html_url":"https://github.com/FTBTeam/FTB-Pack-Companion","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/FTBTeam/FTB-Pack-Companion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FFTB-Pack-Companion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FFTB-Pack-Companion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FFTB-Pack-Companion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FFTB-Pack-Companion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FTBTeam","download_url":"https://codeload.github.com/FTBTeam/FTB-Pack-Companion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FTBTeam%2FFTB-Pack-Companion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270940725,"owners_count":24671687,"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","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-08-18T04:05:04.163Z","updated_at":"2025-08-18T04:05:04.885Z","avatar_url":"https://github.com/FTBTeam.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FTB Pack Companion\n\nYour best friend when developing a Modpack. With an ever-growing list of features, tools, game fixes and more that'll aid in the creation, maintenance and stability of your pack. There is nothing better than bring along a good companion.\n\n## Features so far\n\n- Structure Processor to resolve issues with WaterLogging blocks that should not be water logged\n- Removal of toasts that are annoying\n- Custom spawners behaviour\n  - Punish the player on break\n  - Prevent breaking of spawners\n  - Break torches / light sources near a spawner\n  - Modify the difficulty of the spawners mobs via a custom attribute\n- A new `RandomNameLootFunction` that lets you set a list of names for an item and have the function select one at random\n- A relatively simple re-implementation of (https://github.com/MCTeamPotato/SparseStructuresReforged/) for 1.21.1 to bridge the gap until they port. This is allowed per their MIT license.\n\n## Using the features\n\n### WaterLogging Structure Processor fixer\n\nThe WaterLogging fix is applied directly into your `template_pool`. When creating a `pool` add the processor `ftbpc:waterlogging_fix_processor` to your processors list. The companion will now figure out when a block shouldn't be water logged and fix it!\n\nIt should look like this\n\n```json\n{\n  \"processors\": [\n    {\n      \"processor_type\": \"ftbpc:waterlogging_fix_processor\"\n    }\n  ]\n}\n```\n\n### RandomNameLootFunction\n\nThe `RandomNameLootFunction` it a `LootItemFunction` that allows you to set an item's name based on a list of names. This requires a list of `Component`'s in `JSON` format to be placed in the `data/ftbpc/sources/random-name-loot-source.json` folder. You can use a `datapack` or `KubeJS` to modify this file as by default, it simply contains an example.\n\n**Example of how the json file should look**\n\n```json\n{\n  \"example\": [\n    {\"bold\":true,\"color\":\"blue\",\"text\":\"I'm an examples!\"}\n  ],\n  \"list2\": [\n    {\"text\":\"I'm an example 2!\"},\n    {\"text\":\"More than just one\"}\n  ]\n}\n```\n\nEach key in the Map / Object List must be unique as it's used as the identifier category for the loot function to find a random name. As you can see, you need to use a fully JSON compliant `Component` for the function to work correctly. Errors will be logged if this is done wrong.\n\n**Here is what the loot table can look like to take advantage of the above json file**\n\n```json\n{\n  \"entries\": [\n    {\n      \"type\": \"minecraft:item\",\n      \"name\": \"minecraft:stone\",\n      \"functions\": [\n        {\n          \"function\": \"ftbpc:random_loot_item_function\",\n          \"nameSetKey\": \"example\"\n        }\n      ]\n    },\n    {\n      \"type\": \"minecraft:item\",\n      \"name\": \"minecraft:gold\",\n      \"functions\": [\n        {\n          \"function\": \"ftbpc:random_loot_item_function\",\n          \"nameSetKey\": \"list2\"\n        }\n      ]\n    }\n  ]\n}\n```\n\n\n## Support\n\n- For **Modpack** issues, please go here: https://go.ftb.team/support-modpack\n- For **Mod** issues, please go here: https://go.ftb.team/support-mod-issues\n- Just got a question? Check out our Discord: https://go.ftb.team/discord\n\n## Licence\n\nAll Rights Reserved to Feed The Beast Ltd. Source code is `visible source`, please see our [LICENSE.md](/LICENSE.md) for more information. Any Pull Requests made to this mod must have the CLA (Contributor Licence Agreement) signed and agreed to before the request will be considered.\n\n## Keep up to date\n\n[![](https://cdn.feed-the-beast.com/assets/socials/icons/social-discord.webp)](https://go.ftb.team/discord) [![](https://cdn.feed-the-beast.com/assets/socials/icons/social-github.webp)](https://go.ftb.team/github) [![](https://cdn.feed-the-beast.com/assets/socials/icons/social-twitter-x.webp)](https://go.ftb.team/twitter) [![](https://cdn.feed-the-beast.com/assets/socials/icons/social-youtube.webp)](https://go.ftb.team/youtube) [![](https://cdn.feed-the-beast.com/assets/socials/icons/social-twitch.webp)](https://go.ftb.team/twitch) [![](https://cdn.feed-the-beast.com/assets/socials/icons/social-instagram.webp)](https://go.ftb.team/instagram) [![](https://cdn.feed-the-beast.com/assets/socials/icons/social-facebook.webp)](https://go.ftb.team/facebook) [![](https://cdn.feed-the-beast.com/assets/socials/icons/social-tiktok.webp)](https://go.ftb.team/tiktok)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftbteam%2Fftb-pack-companion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fftbteam%2Fftb-pack-companion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftbteam%2Fftb-pack-companion/lists"}