Jump to content

Recommended Posts

Posted (edited)

I have a block that is functionally similar to a vanilla block that has an associated INVENTORY_CHANGED advancement. Of course, the advancement only triggers for the vanilla block, but I would like it to also accept my block as completing the advancement. Is there a way to override vanilla advancements and replace some with my own?

 

Currently I've found that the AdvancementList inside the AdvancementManager is my best bet. Unfortunately, the remove() method of the AdvancementList is client only, and I'm not sure whether calling loadAdvancements() after the vanilla advancements are loaded would work. In addition, accessing the AdvancementList would require passing through multiple private variables with reflection, which is possible, but unfavorable. I'd appreciate either some more insight on this approach or a new approach I hadn't considered.

 

Edit: as it turns out the only AdvancementManager instance is final. So the above approach won't work. I also don't think that creating an advancement named the same would work because it is by modid - there is no way for me to replace the "minecraft:" advancement without having it under the minecraft modid. Are there any ideas to how something like this could be implemented?

 

Thanks for the help.

Edited by ComputerCraze
Posted
1 hour ago, ComputerCraze said:

I also don't think that creating an advancement named the same would work because it is by modid - there is no way for me to replace the "minecraft:" advancement without having it under the minecraft modid

Then save it under the minecraft ID. Advancements are just json files, put it with the same name, in the correct place, and it'll override.

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.

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.