René's URL Explorer Experiment


Title: RFC: Entrypoint reworks · Issue #119 · PatchworkMC/patchwork-api · GitHub

Open Graph Title: RFC: Entrypoint reworks · Issue #119 · PatchworkMC/patchwork-api

X Title: RFC: Entrypoint reworks · Issue #119 · PatchworkMC/patchwork-api

Description: Patchwork's current entrypoint system needs a rework. I've drafted up some ideas on what that might look like. Please tell me what you think about them! Introduction One of the future refactors I have in mind for Patchwork Patcher is to ...

Open Graph Description: Patchwork's current entrypoint system needs a rework. I've drafted up some ideas on what that might look like. Please tell me what you think about them! Introduction One of the future refactors I h...

X Description: Patchwork's current entrypoint system needs a rework. I've drafted up some ideas on what that might look like. Please tell me what you think about them! Introduction One of the future refac...

Opengraph URL: https://github.com/PatchworkMC/patchwork-api/issues/119

X: @github

direct link

Domain: patch-diff.githubusercontent.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"RFC: Entrypoint reworks","articleBody":"Patchwork's current entrypoint system needs a rework. I've drafted up some ideas on what that might look like. Please tell me what you think about them!\r\n\r\n## Introduction\r\n\r\nOne of the future refactors I have in mind for Patchwork Patcher is to rework the entrypoint system. However, Patchwork API (more specifically, patchwork-dispatcher) would need to be modified to support and use these entrypoints, which is why I'm posting this here. The current single, unsided entrypoint system introduced back in September 2019 is showing its age, and has a few definite limitations:\r\n\r\n* No support for getting the mod instance\r\n* No (proper) support for sided automatic event bus subscribers (excluding using something like DistExecutor, which is arguably a hack)\r\n* Classes containing `@ObjectHolder` and `@CapabilityInject` annotations are potentially loaded too early (during mod construction rather than after registry creation)\r\n\r\nWhen implementing these entrypoints in Patcher, I intend on adding the methods to existing classes, and then using method references, as opposed to generating separate entrypoint classes.\r\n\r\nAs such, I propose adding a few different entrypoints:\r\n\r\n## patchwork:mod_instance\r\n\r\nA marker entrypoint to denote classes originally annotated with `@Mod`. Used get the mod instance. This would be an alternate approach to solve the same problem as https://github.com/PatchworkMC/patchwork-patcher/issues/53. As a side effect, fabric-loader will construct the mod for us when we query the entrypoint, which is convenient.\r\n\r\n```java\r\npublic interface ModInstance {\r\n    // Loader has a feature similar to this, but since it doesn't support having multiple modids for the same jar\r\n    /// this is still needed. - Glitch\r\n    String getModId();\r\n}\r\n```\r\n\r\n## patchwork:common_automatic_subscribers\r\n\r\nRegister unsided `@EventBusSubscriber`s. Uses `ModInitializer`. Method name used in method references: `patchwork$onInitialize`. TODO: Should the automatic subscriber entrypoints use a custom interface that e.g. provides the MOD / FORGE bus in the entrypoint method?\r\n\r\n## patchwork:client_automatic_subscribers\r\n\r\nRegister client-only `@EventBusSubscriber`s. Uses `ClientModInitializer`. Method name used in method references: `patchwork$onInitializeClient`.\r\n\r\n## patchwork:server_automatic_subscribers\r\n\r\nRegister dedicated-server-only `@EventBusSubscriber`s. Uses `DedicatedServerModInitializer`. Method name used in method references: `patchwork$onInitializeServer`.\r\n\r\n## patchwork:object_holders\r\n\r\nRegister all object holders with the ObjectHolderRegistry here. Fired after new registries have been created, but before registry events have been dispatched.\r\n\r\n```java\r\npublic interface ObjectHolderInitializer {\r\n\tvoid registerObjectHolders(ObjectHolderRegistry registry);\r\n}\r\n```\r\n\r\n## patchwork:capability_injections\r\n\r\nBasically the same thing as `patchwork:register_object_holders` (and fired right afterwards) but for `@CapabilityInject`.\r\n\r\n```java\r\npublic interface CapabilityInjectionInitializer {\r\n\tvoid registerCapabilityInjections(CapabilityManager manager);\r\n}\r\n```","author":{"url":"https://github.com/coderbot16","@type":"Person","name":"coderbot16"},"datePublished":"2020-07-11T04:24:35.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4},"url":"https://github.com/119/patchwork-api/issues/119"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:6d2b4e30-bf3c-8fd0-6705-eab0cb986185
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idD6B4:10C25C:1EF8E1:28FDD3:698EBB35
html-safe-noncead6cccefc4d7fbda2c7becbf2946b57e9c74e6479dab4c8ec9b92dd6c5dfd895
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENkI0OjEwQzI1QzoxRUY4RTE6MjhGREQzOjY5OEVCQjM1IiwidmlzaXRvcl9pZCI6IjM3Nzg2OTY1Nzc5MzA5MzUwOTQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac1240f975bc498e7597698afb9766c32ac8d86d9b9c69cade5847f91eacab5cbe
hovercard-subject-tagissue:655131400
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/PatchworkMC/patchwork-api/119/issue_layout
twitter:imagehttps://opengraph.githubassets.com/84d10e3092cd8d1a6fb9c837cb30933d4f1d116bb6d9fc301a03ec279dbfe553/PatchworkMC/patchwork-api/issues/119
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/84d10e3092cd8d1a6fb9c837cb30933d4f1d116bb6d9fc301a03ec279dbfe553/PatchworkMC/patchwork-api/issues/119
og:image:altPatchwork's current entrypoint system needs a rework. I've drafted up some ideas on what that might look like. Please tell me what you think about them! Introduction One of the future refactors I h...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamecoderbot16
hostnamegithub.com
expected-hostnamegithub.com
Nonecb2828a801ee6b7be618f3ac76fbf55def35bbc30f053a9c41bf90210b8b72ba
turbo-cache-controlno-preview
go-importgithub.com/PatchworkMC/patchwork-api git https://github.com/PatchworkMC/patchwork-api.git
octolytics-dimension-user_id56008689
octolytics-dimension-user_loginPatchworkMC
octolytics-dimension-repository_id227717133
octolytics-dimension-repository_nwoPatchworkMC/patchwork-api
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id227717133
octolytics-dimension-repository_network_root_nwoPatchworkMC/patchwork-api
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasee6b91a7e6e46287d26887e3fb7a4161657bab8f7
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/issues/119#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FPatchworkMC%2Fpatchwork-api%2Fissues%2F119
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2FPatchworkMC%2Fpatchwork-api%2Fissues%2F119
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=PatchworkMC%2Fpatchwork-api
Reloadhttps://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/issues/119
Reloadhttps://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/issues/119
Reloadhttps://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/issues/119
PatchworkMC https://patch-diff.githubusercontent.com/PatchworkMC
patchwork-apihttps://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2FPatchworkMC%2Fpatchwork-api
Fork 47 https://patch-diff.githubusercontent.com/login?return_to=%2FPatchworkMC%2Fpatchwork-api
Star 283 https://patch-diff.githubusercontent.com/login?return_to=%2FPatchworkMC%2Fpatchwork-api
Code https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api
Issues 21 https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/issues
Pull requests 3 https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/pulls
Actions https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/actions
Projects 0 https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/projects
Wiki https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/wiki
Security 0 https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/security
Insights https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/pulse
Code https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api
Issues https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/issues
Pull requests https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/pulls
Actions https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/actions
Projects https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/projects
Wiki https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/wiki
Security https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/security
Insights https://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/pulse
RFC: Entrypoint reworkshttps://patch-diff.githubusercontent.com/PatchworkMC/patchwork-api/issues/119#top
rfcRequesting comments and thoughtshttps://github.com/PatchworkMC/patchwork-api/issues?q=state%3Aopen%20label%3A%22rfc%22
1.15https://github.com/PatchworkMC/patchwork-api/milestone/1
https://github.com/coderbot16
https://github.com/coderbot16
coderbot16https://github.com/coderbot16
on Jul 11, 2020https://github.com/PatchworkMC/patchwork-api/issues/119#issue-655131400
PatchworkMC/patchwork-patcher#53https://github.com/PatchworkMC/patchwork-patcher/issues/53
rfcRequesting comments and thoughtshttps://github.com/PatchworkMC/patchwork-api/issues?q=state%3Aopen%20label%3A%22rfc%22
1.15No due datehttps://github.com/PatchworkMC/patchwork-api/milestone/1
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.