Jump to content

Recommended Posts

Posted

Hello guys. I have a problem with access transformer.

I need to make a private field "Set trackedEntities = new HashSet();" public, so according to http://www.minecraftforge.net/wiki/Using_Access_Transformers i added to my gradle build file:

jar {

        manifest {

        attributes 'FMLAT': 'test_at.cfg'

    }

}

and created test_at.cfg at src/main/resources/META-INF.

After that i did gradle clean and gradle setupDecompWorckspace, but in IDE my field remained private. What have i done wrong?

My test_at.cfg:

#Test access tranformer config file

# EntityTracker

public net.minecraft.entity.EntityTracker field_72793_b  # trackedEntities

 

There is no spoon

Posted

I need to modify this field. Reflection is a bit expensive method, and i want to learn how to use access transformer in case of increasing my expirience. There is lack of information about AT, so i will be glad for help with this issue.

There is no spoon

Posted

Reflection in Java is actually not that expensive, this is the official Oracle tutorial on Reflection, and is a good place to start.

 

Unless you are accessing the field every single frame, or every single tick, you don't need to use an access transformer and reflection will work fine.

Don't make mods if you don't know Java.

Check out my website: http://shadowfacts.net

Developer of many mods

Posted

We can hide entities on the server side by manipulation with trackedEntities and trackedEntitiesIDs.

There is no spoon

Posted

It will be private mode, so compatibility is the last thing i'm care about.

What is the reason of haiting AT? I know, that i can use reflection, but i'm interesting in using AT.

There is no spoon

Posted

Wow nobody answered the original question >.<

 

You probably forgot to do "gradlew eclipse" which updates the code eclipse sees.

"you seem to be THE best modder I've seen imo."

~spynathan

 

ლ(́◉◞౪◟◉‵ლ

Posted

Duuuuude, thank u very much, it helps! Now my fields are public :3

I think people hate AT because they just dont know how to use it in the right way. Anyway, we'll see :)

Thank you again

There is no spoon

Posted

Duuuuude, thank u very much, it helps! Now my fields are public :3

I think people hate AT because they just dont know how to use it in the right way. Anyway, we'll see :)

Thank you again

 

Reflection's

setAccessible(true);

would have done that too.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

If u need to call some field not one time and even not two times, its better just once change your _at config and not to clog code with reflection.

 

There is no spoon

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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