Jump to content

Role of ClientProxy and CommonProxy classes?


bpshawarma

Recommended Posts

Hello Forge people,

 

I have had a very hard time understanding the role of the Common Proxy and Client Proxy Code that are frequently recommended in Forge Modding tutorials.

 

The code I'm referring to goes in the Main mod file that looks like this:

 

@SidedProxy(clientSide = "mymod.proxies.ClientProxy", serverSide = "mymod.proxies.CommonProxy")

public static CommonProxy proxy;

 

These refer to pretty much empty java classes named "ClientProxy" and "CommonProxy"

 

I have gone blindly forward and included them in my mod, but they don't seem to be doing anything.

When I remove them, nothing happens... Everything still seems to work fine!

 

So my questions are:

1. If they can be removed with no consequences, what exactly are those classes doing?

2. Am I making a rookie mistake by removing them?

 

Thanks in advance!

Link to comment
Share on other sites

Typically, the name 'Common' is used because the client and server are integrated.

So the normal setup is 'ClientProxy extends CommonProxy' with almost every function calling it's super. So the server part gets called as well as the client part.

Hence.. common. But yes, this is, if you use it correctly, a pretty elegant way of dealing with the fact that Minecraft is obfusicated, and stripped. Meaning that a lot of classes/fields/functions don't exist on one side or the other. As long as you wrap those functions in your proxy you should never have a ClassNotFoundException or NoMethodException.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.