Posted April 20, 20232 yr Hiya, to make a long story start I am altering the Phantom AI and part of this involved using reflection to fetch various private parts of the AI system (like the various goal objects in Forge). Problem I'm having is, after I run all these calculations, I need to put them back into the AI goal - but I can't quite do this. See, the field I'm trying to edit is "attackTargeting", within the Phantom.PhantomAttackPlayerTargetGoal subclass. Problem is, this subclass is not public. Attempting to use reflection to get the value of the field simply throws me an error that the field and subclass are not visible. I'm experienced in Java but have absolutely no idea how to get around accessing a non-visible field without being able to edit said field (which I can't, because it's vanilla code). What can I do here?
April 20, 20232 yr https://forge.gemwire.uk/wiki/Access_Transformers There is a bot on forge's discord where you can lookup the runtime field and method names. Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
April 20, 20232 yr Author I've already been using the bot, but thank you for the link! Had no idea of this functionality!
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.