Posted December 20, 20177 yr current code https://github.com/Dragonwhisper92/FF7 so can someone please help me figure out how to add a custom model to this item (sword)
December 20, 20177 yr Author 3 minutes ago, diesieben07 said: Still: Code style, issue 1. I don't understand how to fix this so any help would be great 3 minutes ago, diesieben07 said: Still: Problematic code, issue 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?
December 20, 20177 yr Author 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
December 20, 20177 yr Author 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)"
December 20, 20177 yr Author 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
December 20, 20177 yr Author Just now, diesieben07 said: This place isn't the place for a Java basics tutorial. Yeah i understand that i got plenty of sites for basic tutorials, thanks for the help so far :>
December 20, 20177 yr 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/
December 21, 20177 yr Author 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
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.