Jump to content

Access protected variable?


zombiekiller222

Recommended Posts

http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

Please read and understand how access levels work.

Protected is nothing you have to go crazy over. Majority of the time reflection or other hacks are not needed.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Considering the Biome Decorator is a variable inside my SubClass, my only options to access it are presumably:

[*]Using reflection: Slow and very hacky, and as you said, not needed.

[*]Changing the Access Level: Breaks compatibility, and if FML hasn't done it, there is likely a reason not to.

[*]Making my class in the minecraft.net.src package: Heavily discouraged amongst the forge community, might break compatibility and also makes it hard to keep track of classes.

[*]Making my own WorldGenBase, BiomeDecorator (and plenty more) classes: Tedious, messy, and seems unnecessary.

[*]Creating some kind of wrapper for BiomeDecorator (and some more) classes: Better option, it seems, but still tedious, messy and unnecessary.

All of these seem like a "hack" and suboptimal (not to mention tedious). I must be missing something, because everyone talks about this "Access Transformer" or says that a hack is not needed (not only in this forum post, I did search before posting this).

Link to comment
Share on other sites

Considering the Biome Decorator is a variable inside my SubClass, my only options to access it are presumably:

  • Using reflection: Slow and very hacky, and as you said, not needed.
  • Changing the Access Level: Breaks compatibility, and if FML hasn't done it, there is likely a reason not to.
  • Making my class in the minecraft.net.src package: Heavily discouraged amongst the forge community, might break compatibility and also makes it hard to keep track of classes.
  • Making my own WorldGenBase, BiomeDecorator (and plenty more) classes: Tedious, messy, and seems unnecessary.
  • Creating some kind of wrapper for BiomeDecorator (and some more) classes: Better option, it seems, but still tedious, messy and unnecessary.

All of these seem like a "hack" and suboptimal (not to mention tedious). I must be missing something, because everyone talks about this "Access Transformer" or says that a hack is not needed (not only in this forum post, I did search before posting this).

I currently use a wrapper/workaround but I love to be able to do it directly. I don't see why we have to do this workaround to do something as simple as setting the tree rate of a biome?
Link to comment
Share on other sites

  • 1 month later...

Bump. Until now I used a utility class located in the Minecraft package. Now this won't work as the Minecraft code is split between packages when in MCP but isn't when reobfuscated.

 

I'd use the subclass method but it does not work for objects you did not instantiate yourself.

 

Before I get into weird hacks, anybody has a "clean" solution to this? To pick an example, for EntityCreature.entityToAttack for an existing entity, not a mod-created one?

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.



×
×
  • Create New...

Important Information

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