Jump to content

[1.16.3] Registering LootFunctionType and LootConditionType


Recommended Posts

Posted

For 1.16.x custom loot conditions and loot functions require registration of matching LootConditionType and LootFunctionType. There are no hooks via Forge registry events and using the builtin registry directly (sample how below) doesn't work (tried doing before registry events and after...nada).

Registry.register(Registry.LOOT_CONDITION_TYPE, <my_name>, new LootConditionType(<my_serializer>))

 

This is probably staring me right in the eyeball, but I can't see it. Any directions/samples would be appreciated.

 

Posted

"The guy who wrote this had to test it somehow! I wonder if he wrote any test code and where I might find it...maybe the Forge Github? Nah, couldn't be there, that would be dumb."

https://github.com/MinecraftForge/MinecraftForge/blob/1.16.x/src/test/java/net/minecraftforge/debug/gameplay/loot/GlobalLootModifiersTest.java#L83

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
  On 11/7/2020 at 2:32 PM, Draco18s said:

"The guy who wrote this had to test it somehow! I wonder if he wrote any test code and where I might find it...maybe the Forge Github? Nah, couldn't be there, that would be dumb."

https://github.com/MinecraftForge/MinecraftForge/blob/1.16.x/src/test/java/net/minecraftforge/debug/gameplay/loot/GlobalLootModifiersTest.java#L83

Expand  

 

The OP is asking about Vanilla loot conditions and functions, not global loot modifiers.

 

  On 11/7/2020 at 5:33 AM, The_Wabbit said:

For 1.16.x custom loot conditions and loot functions require registration of matching LootConditionType and LootFunctionType. There are no hooks via Forge registry events and using the builtin registry directly (sample how below) doesn't work (tried doing before registry events and after...nada).

Registry.register(Registry.LOOT_CONDITION_TYPE, <my_name>, new LootConditionType(<my_serializer>))

 

This is probably staring me right in the eyeball, but I can't see it. Any directions/samples would be appreciated.

 

Expand  

 

I'm not 100% sure if it's the correct time to register them, but I do it on the main thread after FMLCommonSetupEvent (i.e. inside a lambda passed to event.enqueueWork). I use the Vanilla registries, just like in your example.

 

I'm not sure if it's necessary to register non-Forge registry entries at any specific time like it is with Forge registry entries.

 

This is my FMLCommonSetup handler, this is my LootConditionType registration and this is my LootFunctionType registration.

  • Like 1

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Posted
  On 11/7/2020 at 5:31 PM, Choonster said:

The OP is asking about Vanilla loot conditions and functions, not global loot modifiers.

Expand  

Oops, you're right.

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • And without soulsweapons?
    • In France, we deeply value financial security and independence. After my divorce, my life took a chaotic turn, and amidst all the turmoil, I misplaced the backup phrase for my Bitcoin wallet, which held a significant amount, $220,000. I was already grappling with emotional challenges, and the thought of losing my Bitcoin felt like the final blow. In moments like these, I couldn't help but think of the French saying, “Il ne faut jamais dire jamais,” which means “Never say never.” Little did I know that this would become a mantra for my recovery journey. I spent days searching for that elusive phrase, going through old documents and turning my apartment upside down, but it was as if the universe had conspired against me—the backup was simply gone. Feeling desperate and overwhelmed, I confided in a friend who works in the cryptocurrency space. He recommended Hack Buster Recovery, mentioning that they had helped many French investors in similar situations. Skeptical but out of options, I decided to reach out. From the moment I contacted Hack Buster Recovery, I was struck by their understanding of my situation. They were professional and compassionate, reassuring me that I wasn’t alone in this struggle. Their team quickly got to work, explaining the recovery process in a way that put my mind at ease. It was clear they had dealt with cases like mine before, WEBSITE: hackbusters.online
    • (LEEULTIMATEHACKER @ A O L . C O M)  telegram: LEEULTIMATE With LEE ULTIMATE HACKER, a team which specializes in recovering a wide range of digital assets including, Bitcoin, Etherium, stablecoins, non -fungible tokens (NFTs), and other various cryptocurrencies, In the ever evolving crypto world the need for effective recovery solutions is very critical. Their services are specifically tailored to assist clients dealing with fraud, LEE ULTIMATE HACKER's strength lies in its team of industry pioneers who have contributed to shaping the legal and regulatory frameworks around crypto assets, They also work closely with trusted insolvency practitioners, crypto custodians leading exchanges, and Insurance providers, LEE ULTIMATE HACKER and team works with a robust network allows them to delivery seamless end-to-end recovery service capable of handling even the most complex cases, services that are specifically tailored to assist clients dealing with fraud, Bitcoin scams and digital assets that are deliberately concealed or Misappropriated. LEE ULTIMATE HACKER strength lies in its team of industry pioneers who have contributed to shaping the legal and regulatory framework around crypto assets, from the moment assets go missing LEE ULTIMATE HACKER is dedicated to guiding clients through every step of the recovery process, they understand the urgency and emotional weight of such situations and leverage their expertise to maximize the chances of successful outcome, whether facing fraud, scams, or other crypto -related challenges, LEE ULTIMATE HACKER stands ready to help clients reclaim what is rightfully theirs.
    • I deleted wildbackport and now i get this https://mclo.gs/1Q7mHD1
    • Add the full crash-report or latest.log (logs-folder) with sites like https://mclo.gs/ and paste the link to it here
  • Topics

×
×
  • Create New...

Important Information

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