{"id":18470165,"url":"https://github.com/skriptlang/addonpatcher","last_synced_at":"2025-04-08T10:33:02.944Z","repository":{"id":107076728,"uuid":"562504872","full_name":"SkriptLang/AddonPatcher","owner":"SkriptLang","description":"Patch addons to make them compatible with new Skript versions","archived":false,"fork":false,"pushed_at":"2024-09-06T01:48:24.000Z","size":120,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-30T05:42:53.233Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/SkriptLang.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},"funding":{"github":"SkriptLang","open_collective":"SkriptLang"}},"created_at":"2022-11-06T15:11:50.000Z","updated_at":"2024-09-06T01:43:44.000Z","dependencies_parsed_at":"2024-10-23T02:28:58.963Z","dependency_job_id":null,"html_url":"https://github.com/SkriptLang/AddonPatcher","commit_stats":{"total_commits":17,"total_committers":3,"mean_commits":5.666666666666667,"dds":"0.47058823529411764","last_synced_commit":"30ce922bd4aa1b4f916457e22e4930ec1c54c9fa"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2FAddonPatcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2FAddonPatcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2FAddonPatcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SkriptLang%2FAddonPatcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SkriptLang","download_url":"https://codeload.github.com/SkriptLang/AddonPatcher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247824377,"owners_count":21002261,"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":[],"created_at":"2024-11-06T10:13:08.115Z","updated_at":"2025-04-08T10:33:02.925Z","avatar_url":"https://github.com/SkriptLang.png","language":"Java","funding_links":["https://github.com/sponsors/SkriptLang","https://opencollective.com/SkriptLang"],"categories":[],"sub_categories":[],"readme":"# AddonPatcher\nThe addon patcher is a tool that patches your addons to be more compatible with new versions of Skript.\n\nThe following is a list of changes in Skript this tool fixes, \nalong with the exceptions generated by incompatible addons:\n- Parallel Script Loading [#3924](https://github.com/SkriptLang/Skript/pull/3924):\n  - `java.lang.NoSuchFieldError: currentScript`\n  - `java.lang.NoSuchFieldError: currentSections`\n  - `java.lang.NoSuchFieldError: currentLoops`\n  - `java.lang.NoSuchFieldError: hasDelayBefore`\n- Structure API [#4108](https://github.com/SkriptLang/Skript/pull/4108)\n  - `java.lang.NoSuchMethodError: 'ch.njol.skript.config.Config ch.njol.skript.lang.parser.ParserInstance.getCurrentScript()'`\n  - `java.lang.NoSuchMethodError: 'java.io.File ch.njol.skript.lang.Trigger.getScript()'`\n  - `java.lang.NoSuchMethodError: 'void ch.njol.skript.lang.Trigger.\u003cinit\u003e(java.io.File, java.lang.String, ch.njol.skript.lang.SkriptEvent, java.util.List)'`\n\n## Variants\nThe addon patcher has 3 variants: Replacer, Agent and Java:\n\n### Agent (Recommended)\nThe Agent variant is a plugin that, when installed on your server, automatically patches each addon class used.\n\nThis variant requires you to run the server with a JDK instead of JRE.\n\n### Replacer\nThe Replacer variant is a plugin that, when installed on your server, \nautomatically patches all addons the moment you start the server.\nThe Replacer variant will modify your addon.jar file for the addons that require patching.\n\nThis variant [does not fully work](https://github.com/SkriptLang/AddonPatcher/issues/2) on Paper 1.19+.\nIt can be used on those Paper versions, but requires you to restart your server (twice) after initially installing AddonPatcher, \nand when installing new addons.\n\n### Java\nThe Java variant is not a plugin: it is a standalone Java program that \nyou can run to modify your addon.jar files, with the command `java -jar AddonPatcher.jar \u003caddon.jar\u003e`\nin a terminal / command prompt window in the folder with both your addon and AddonPatcher .jar files.\nAlternatively, you can run `java -jar AddonPatcher.jar \u003cfolder\u003e` in a folder with AddonPatcher.jar and the given folder,\nto patch all addons in the given folder.\n\n## Compiling\nTwo possible commands, depending on which variant you want (if you want Java, flip a coin):\n- `gradlew clean agentJar`\n- `gradlew clean replacerJar`\n\nThe current build script isn't great, so the clean task beforehand is very much recommended.\nPRs improving the build script would be greatly appreciated.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskriptlang%2Faddonpatcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskriptlang%2Faddonpatcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskriptlang%2Faddonpatcher/lists"}