Skip to content

feat(IdeIntegration): add EntryPointsManager for CommonProxy and children - #75

Open
leagris wants to merge 3 commits into
masterfrom
IdeIntegration-EntryPoints
Open

feat(IdeIntegration): add EntryPointsManager for CommonProxy and children#75
leagris wants to merge 3 commits into
masterfrom
IdeIntegration-EntryPoints

Conversation

@leagris

@leagris leagris commented Feb 25, 2026

Copy link
Copy Markdown
Contributor

Registers CommonProxy and its children such as ClientProxy as entry points in IDEA so they are not marked as "Unused Declaration".

…dren

Registers `CommonProxy` and its children such as `ClientProxy` or
`ServerProxy` as entry points in IDEA so they are not marked as
"Unused Declaration".

Signed-off-by: Léa Gris <lea.gris@noiraude.net>
@leagris leagris added the Enhancement Improve an existing mechanic. Please explain the change with a before/after comparison. label Feb 25, 2026
@Alexdoru

Copy link
Copy Markdown
Member

btw there is no such thing as a serverproxy, it's either a CommonProxy used for dedicated servers or ClientProxy (that extends CommonProxy) for clients

@Alexdoru

Copy link
Copy Markdown
Member

if you see a mod with a common, client and server proxy it's a mistake there should only be common and client

@leagris
leagris enabled auto-merge (squash) February 25, 2026 14:32
@Nikolay-Sitnikov

Copy link
Copy Markdown
Contributor

if you see a mod with a common, client and server proxy it's a mistake there should only be common and client

Wrong. There are a couple dedicated-server-only classes, for instance DedicatedServer and DedicatedPlayerList. If you have code that uses those classes, it must be loaded through a server proxy, since a common proxy would also get loaded on the client (since it is the superclass of the client proxy), and thus would crash.

@Alexdoru

Copy link
Copy Markdown
Member

to do this correctly it should :

  • look at the usages of the field annotated with @SidedProxy and collect the description of the methods invoked with that field
  • mark the methods of the clientSide and serverSide classes that match the methods from the list as entry points

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement Improve an existing mechanic. Please explain the change with a before/after comparison.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants