Jump to content

Recommended Posts

Posted

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

Posted

__          ___    _      _______

\ \        / / |  | |  /\|__  __|

  \ \  /\  / /| |__| |  /  \  | | 

  \ \/  \/ / |  __  | / /\ \ | | 

    \  /\  /  | |  | |/ ____ \| | 

    \/  \/  |_|  |_/_/    \_\_| 

                                   

                                   

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Posted

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.

Posted

@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?

Posted

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

Posted

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.

Posted

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.

Posted

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 :)

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.