Jump to content

[1.12.1] How do i add custom models to my items


dragonwhisper92

Recommended Posts

3 minutes ago, diesieben07 said:

I don't understand how to fix this so any help would be great

 

3 minutes ago, diesieben07 said:

Which ones specifically and how do i fix? 

 

 

5 minutes ago, diesieben07 said:
  • You still have references to client-only classes in common code (ModelRegistryEvent in RegistryHandler).

why is this an issue, (copied of a tutorial so still not 100% on how to fix this issue)

 

6 minutes ago, diesieben07 said:
  • You never register any models. Your item does call CommonProxy::registerItemRenderer, but that method is empty.

That would be correct i haven't actually got to adding my custom models yet was wondering if theirs a tutorial somewhere?

Link to comment
Share on other sites

5 minutes ago, diesieben07 said:

Please clarify what you don't understand about this. Just throwing your hands up and crying "help" is not helpful.

i guess what i dont understand is why using common proxy is so diffrent from @sidedproxy and i dont understand how to change my code as ive only ever done it this way

 

7 minutes ago, diesieben07 said:

Because common classes are loaded on both client and server (physical sides, learn about sides in the documentation). If such a common class now has a reference to a client-only class the server will try to load that client-only class and fail, because the class is client-only (i.e. not present on the server). This is why @SidedProxy exists.

is this similar to the problem above

 

7 minutes ago, diesieben07 said:

You call ModelLoader.setCustomModelResourceLocation, that's it for basic models. I do not know of a tutorial.

Hmm ok ill look into this thanks

 

 

P.S sorry for asking so many question have a decent background in programming it just takes me a long time to get used to new frameworks and the such

Link to comment
Share on other sites

26 minutes ago, diesieben07 said:

The two are not mutually exclusive (in fact you are using both currently). The point is that @SidedProxy is designed to switch between a server implementation and a client implementation. There is nothing "common" here. If you have code that needs to be ran on both sides on startup, that's what your main mod class is for. The a client proxy for client-only code and a server-proxy for server-only code. Then so that you can interact with both in a uniform way they both implement an interface simply called Proxy.

hmm okay do you have an example mod  i could see that shows how i should set it up?

 

26 minutes ago, diesieben07 said:

No, the problem above is mostly a code-style issue. This one will actually make a server crash.

ah okay so one is just like hey this is just stupidly long way and makes it harder to read and the other just wont run at all, if that is the case, what should i do to fix this

"you  still have references to client-only classes in common code (ModelRegistryEvent in RegistryHandler)"

Link to comment
Share on other sites

1 minute ago, diesieben07 said:

If you need an example mod for "an interface and two classes that implement it" you need to go back to Java basics. There is nothing special here, just polymorphism.

yeah Ill definitely need too haven't worked with java in a long time i'm forgetting allot

 

3 minutes ago, diesieben07 said:

You must only reference client-only classes from other client-only classes, such as your client proxy.

Hmmm okay

Link to comment
Share on other sites

The "common" proxy thing is something that set in many modders' psyche early on and honestly I continue to perpetuate it although as diesieben07 rightly mentions it is a misleading way to implement things.

 

The confusion occurred because in many modding situations the sided concerns are mostly related to the client-only stuff rather than the server side stuff. However, the annotation was intended to also have a server side so some early modder came up with an example that used inheritance where the server proxy only contained common stuff and the client inherited from that and extended it with the client-side stuff. Everyone else copied from that person and this scheme has been used by lots of people since.

 

I should probably update my tutorials and example mods accordingly. It's just that very few people seem to run into cases where they have server-only stuff to manage and so lumping server as "common" has worked for most.

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

Link to comment
Share on other sites

15 hours ago, jabelar said:

The "common" proxy thing is something that set in many modders' psyche early on and honestly I continue to perpetuate it although as diesieben07 rightly mentions it is a misleading way to implement things.

 

The confusion occurred because in many modding situations the sided concerns are mostly related to the client-only stuff rather than the server side stuff. However, the annotation was intended to also have a server side so some early modder came up with an example that used inheritance where the server proxy only contained common stuff and the client inherited from that and extended it with the client-side stuff. Everyone else copied from that person and this scheme has been used by lots of people since.

 

I should probably update my tutorials and example mods accordingly. It's just that very few people seem to run into cases where they have server-only stuff to manage and so lumping server as "common" has worked for most.

Hmm okay i didnt realise thats where it came from thats interesting, thanks, also if you could link your tutorials that would be great

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.