Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[SOLVED] Proxy / Server error


Iceminecrafter
 Share

Recommended Posts

With my mod, after running it on a server and researching I know that my code is erroring due to the server running client related stuff, yet when i try to create a proxy using @SidedProxy i get the error of

 

Attempted to load a proxy type com.iceminecrafter.IME.proxy.ClientProxy into com.iceminecrafter.IME.IcesMinecraftExpansion.MFCAluminiumArmorMat, but the types don't match [16:57:35] [Client thread/ERROR] [FML]: An error occured trying to load a proxy into {clientSide=com.iceminecrafter.IME.proxy.ClientProxy, serverSide=com.iceminecrafter.IME.proxy.ServerProxy}.com.iceminecrafter.IME.IcesMinecraftExpansion cpw.mods.fml.common.LoaderException

 

Help would be much appreciated

Link to comment
Share on other sites

My code shortened down

 

 

package com.iceminecrafter.IME;

 

 

 

 

@Mod(modid = IcesMinecraftExpansion.modid, name = IcesMinecraftExpansion.name, version = IcesMinecraftExpansion.version)

 

public class IcesMinecraftExpansion{

 

public static CommonProxy serverproxy;

public static ClientProxy clientproxy;

@Instance(IcesMinecraftExpansion.modid)

public static IcesMinecraftExpansion modInstance;

@SidedProxy(clientSide="com.iceminecrafter.IME.proxy.ClientProxy", serverSide="com.iceminecrafter.IME.proxy.ServerProxy")

@EventHandler

public void preInit(FMLPreInitializationEvent e){

 

 

clientproxy.registerRenderThings();

serverproxy.registerRenderThings();

serverproxy.registerTileEntities();

serverproxy.registerNetworkStuff();

 

}

 

 

 

Link to comment
Share on other sites

A proxy being a replacement for your main registry to register specific stuff for client and server sides, so if it only is rendered on the client side, such as a mobs physical appearance, then that isnt registered in the server, as the server doesnt have the files necessary to use the class file

Link to comment
Share on other sites

No, it is WAY simpler.

 

@SidedProxy tells FML to load either one class, or the other. Based on which side you are running (Dedicated Server or Client). It does that once, at startup. Once that one class is loaded, it puts it into the field that is annotated with @SidedProxy. That's all.

 

You can use that mechanism to interact with client only classes safely, but that's not the only application.

Link to comment
Share on other sites

In terms of organizing and instantiating your proxy, you might want to check out my tutorial here: http://jabelarminecraft.blogspot.com/p/minecraft-modding-organizing-your-proxy.html

 

There is a section there about an example annotation and instantiation of the proxy.

 

In terms of your problem, if the entity rendering is only registered in your client proxy then it shouldn't be invoked on server side. In the link above I explain where I recommend you do things like registering renderers.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

This is so sad.

 

I agree that people should mostly figure things out on their own, so my "tutorials" never give full code but rather just point the direction. But the proxy concept takes a while to understand and it is one of the first things a new modder will encounter -- no point in scaring off new modders with one of the more obtuse aspects of modding.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

Proxies are one of the most simplest things in Modding.

Provided you understand one of the key concepts of Java: Inheritance. But if that requirement is missing, of course you are not going to understand it. But Proxies are not the only thing that you are not going to understand.

 

Why I said this is sad is: Instead of just telling people to learn basics of java people write more and more specific tutorials that teach ONE exact thing. If we would teach people the concepts behind things we would have far less tutorial topics.

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
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.

 Share



×
×
  • Create New...

Important Information

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