Posted July 27, 201312 yr Hi! As you might know, almost all methods in Block/Item classes are public. Although, many of them in reality provide only shortcut overloads, like "idDropped", which is called only by other Block's method that returns actual list of ItemStacks to drop. So my question is, is there some list of methods that are part of true public layer, i.e. they're called by Minecraft engine? This would make life much easier, so you don't need to override tons of aux methods that won't be called anyway. Thanks. EDIT: fixed terms; not overload, override of course
July 27, 201312 yr __ ___ _ _______ \ \ / / | | | /\|__ __| \ \ /\ / /| |__| | / \ | | \ \/ \/ / | __ | / /\ \ | | \ /\ / | | | |/ ____ \| | \/ \/ |_| |_/_/ \_\_| how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution-
July 27, 201312 yr I hope you meant "overriding" instead of "overloading". Overloading wouldn't do anything in most cases, since you can't tell Minecraft to call an overloaded method. Overriding on the contrary, allows many things, is commonly the easiest way and one of the basic principle of Java. I can't believe you are complaining about overriding. If the ModingAPI was perfect, you would only have to override.
July 28, 201312 yr Author @GotoLink Thanks for pointing typo. Of course, override. Fixed OP. Although, the question persists. Is there any list of methods that are part of true public layer, excluding ones that are public and used only by Block/Item classes themselves?
July 28, 201312 yr I think you should be more specific. I am sure you already searched for "public" keyword yourself, or used call hierarchy to found where calls to your method(s) of interest are mainly done. In the most general of case, I would say that what you are searching doesn't exist. There is no "public class CoreEngine ..."
July 28, 201312 yr Author Okay, from your responses I understood that there's no such thing. I thought that 'public layer' is a rather stable term. My bad then. Anyway, my initial question arose from multiple methods in Block class that are declared as public and used only internally.
July 28, 201312 yr Much of them are used by other Classes like the world section of minecraft during the rendering and gameplay process. They need to be public to be visible for these classes. You can find them by searching with eclipse for them. You can also override them to change their behaviour. PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered.
August 1, 201312 yr Author Not all of them actually. That's the source of my initial confusion. I've been imagining how pretty this API could be revamped and mapped onto component-based model. Like add Collidable component to block to make it collidable. Ah, dreams, dreams It would require to write Minecraft almost from zero though
August 1, 201312 yr If you have some good ideas how to make it, you can submit a pull request to the Forge team
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.