{"id":17689172,"url":"https://github.com/othyn/tools-plus-plus","last_synced_at":"2025-08-19T19:26:34.051Z","repository":{"id":84632914,"uuid":"230477044","full_name":"othyn/tools-plus-plus","owner":"othyn","description":"Minecraft mod to extend vanilla tools with power and subtlety.","archived":false,"fork":false,"pushed_at":"2021-05-09T14:35:35.000Z","size":4925,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"1.16.5","last_synced_at":"2025-02-06T02:19:31.077Z","etag":null,"topics":["java","minecraft-mod","minecraft-modding"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/othyn.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":"2019-12-27T16:30:35.000Z","updated_at":"2021-05-09T14:35:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"bcb95c60-d2f4-469d-8807-8c90298a8107","html_url":"https://github.com/othyn/tools-plus-plus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othyn%2Ftools-plus-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othyn%2Ftools-plus-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othyn%2Ftools-plus-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/othyn%2Ftools-plus-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/othyn","download_url":"https://codeload.github.com/othyn/tools-plus-plus/tar.gz/refs/heads/1.16.5","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246385407,"owners_count":20768668,"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":["java","minecraft-mod","minecraft-modding"],"created_at":"2024-10-24T11:46:46.745Z","updated_at":"2025-03-30T21:44:13.742Z","avatar_url":"https://github.com/othyn.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tools++\n\nMinecraft mod to subtly extend vanilla tools.\n\n## Excellent Resources\n\n- [TurtyWurty - 1.16 Modding Series](https://www.youtube.com/playlist?list=PLaevjqy3Xufavi5mWXvWnGmwRylL-QZy7)\n- [Jorrit Tyberghein - 1.16 Modding Series](https://www.youtube.com/playlist?list=PLmaTwVFUUXiDRjPTbDmBgJZN4MeQ5uYby)\n- [Cy4's Tutorials - 1.16 Modding Series](https://www.youtube.com/playlist?list=PLlbkaeFHn13HQlW5Pb7Gf-xLJoAlfVbNU)\n- [TechnoVision - 1.16 Modding Series](https://www.youtube.com/playlist?list=PLDhiRTZ_vnoVKPsdTLORpcRnQ50fRdb-S)\n\n- [Forge Docs](https://mcforge.readthedocs.io/en/latest/)\n- [Minecraft written mod tutorial](https://cubicoder.github.io/tutorials/1-12-2/tutorials/)\n- [Reference repo for the mod tutorial](https://github.com/cubicoder/tutorialmod)\n- [Reference repo for multi-block breaking and achievements, SparksHammers](https://github.com/thebrightspark/SparksHammers)\n- [Reference repo for ore generation, CompactOres](https://github.com/DoubleNegation/CompactOres)\n\n## Setup\n\nSee the [Minecraft written mod tutorial](https://cubicoder.github.io/tutorials/1-12-2/tutorials/), specifically \"[Setting Up the Development Environment](https://cubicoder.github.io/tutorials/1-12-2/2018-06-19-setting-up-the-development-environment/)\". Or, if that asset goes down, the mirrored asset in the project:\n\n```sh\n./docs/C - Setting Up the Development Environment.pdf\n```\n\n## Development\n\nTo view reference Minecraft files; assets, classes, etc. see the `Java Dependencies` window in the VSCode explorer sidebar. Then under `mods \u003e Project and External Dependencies \u003e forgeSrc-1.16.5-14.23.5.2847.jar` (or whatever Forge decomiled Minecraft to whilst running the gradle task to decompile it). Then within that Java package, there will be all of the reference structure and data of the game in its OG form. E.g. `\u003cforge\u003e/assets/minecraft` matches the structure of `mods/src/main/resources/assets/toolsplusplus`.\n\nOnce you are ready to test in the Minecraft client, simply run the Gradle task `mods \u003e forgegradle \u003e runClient`. Sometimes I've found VSCode bugs out and gets stuck binding the run arrow to a specific gradle task, regardless of which one you are hovering over and when you click it. If it does this, right click on the gradle task and click \"Run Task\" instead of clicking the rows run button.\n\n## Building \u0026 Releasing\n\nEdit the following line in `./mods/build.gradle`:\n\n```gradle\nversion = \"1.16.5-X.Y\" // This line, update the version\ngroup = \"com.othyn.toolsplusplus\"\narchivesBaseName = \"toolsplusplus\"\n```\n\nSimply run the Gradle task `mods \u003e build \u003e jar`:\n\n```sh\n./mods/gradlew build\n```\n\nThe mod will then be built to:\n\n```sh\n./mods/build/libs/toolsplusplus-1.16.5-X.Y.jar\n```\n\nWhich can then just be placed into the Minecraft Forge mods directory and away you go!\n\nIf you do do a new build, please add it to the `builds` directory in the root of the project:\n\n```sh\n./builds/toolsplusplus-1.16.5-X.Y.jar\n```\n\n## Issues\n\nDocumentation of the issues encountered during the development process, given that this is my first exploration into Java and Minecraft modding.\n\n### Java\n\nInstalled OpenJDK Java 8, `brew cask install adoptopenjdk8`. Then as I had Java 13 installed, `brew cask install java`, so removed it as it conflicted `brew cask remove java` with Java 8.\n\n### IDE (Eclipse) \u0026 Java Namespacing\n\nTo create the Java package, this is done at the top of the sidebar browser NOT manually by folder as the class isn't registered in the class map (like composer dump autoload class map), so at the top of the sidebar there are Java package containers that you can right click on and create a new package and name it something like com.othyn.mymodname and then create a class within that new package\n\n### Item Assets\n\nOriginal item model assets found in `~/Library/Application Support/minecraft/versions/1.16.5/1.16.5/assets/minecraft/textures/items` after first unpacking the base `1.16.5.jar` with an unarchiver.\n\nI then extract the iron colours from the iron bucket and used a sub-set of those to make a new pallet, which I've bundled with `./mods/src/main/resources/assets/toolsplusplus/textures/items/iron_stick.afpalette`. Then using Affinity Photo's ❤️ pixel tool, got to work transforming the tools into their new handle colours!\n\n## Todo\n\n- The `Area of Effect` logic, the horrible smelling duplicate code, needs abstracting out of the `ItemDiamond*Plus` classes and placing into an abstract class. Although need to think about logistics of that as the base class for each item extends differently. There may be a base shared class, such as `ItemTool` that I can base it off, but then the issue becomes then further extending for the type which is impossible... hmmm...\n\n- Add achievements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fothyn%2Ftools-plus-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fothyn%2Ftools-plus-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fothyn%2Ftools-plus-plus/lists"}