Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

You could use an access transform.

Read the EAQ before posting! OR ELSE!

 

This isn't building better software, its trying to grab a place in the commit list of a highly visible github project.

 

www.forgeessentials.com

 

Don't PM me, I don't check this account unless I have to.

There was a tutorial on our wiki, but it's broken.

Read the EAQ before posting! OR ELSE!

 

This isn't building better software, its trying to grab a place in the commit list of a highly visible github project.

 

www.forgeessentials.com

 

Don't PM me, I don't check this account unless I have to.

  • Author

It doesn't really help if I have no idea how to access it, or what it is :( If googling it doesn't bring some kind of answer, I doubt it's even what it's called.

  • Author

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

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

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

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.