Under the assumption that your condition is only ever true for witches (I haven't messed with entity predicates, so I am not sure that your condition is actually what you want) the "alter this section" is very easy:
@Nonnull
@Override
public List<ItemStack> doApply(List<ItemStack> generatedLoot, LootContext context) {
generatedLoot.add(new ItemStack(dust, 1));
return generatedLoot;
}
You would have a field for the dust that you would deserialize to (look at how the reward field is deserialized) and would not need the other two fields at all.
Because the company has decided that it likes people like you (because people like you generate page views and ad clicks) despite the fact that people like you never actually get your question answered because it's garbage content (duplicate, poorly explained, spam, whatever).
I'll let this meta-answer explain.
https://meta.stackexchange.com/a/355674
You do realize that that is the entire point of StackOverflow, right? It's not a "I need halp, solve my problem for me" site, it's an encyclopedia.
(Conversely, this is a forum, which is a "I need help" site).
This is wrong. You will never receive a packet instance as a parameter here because your job is to create it.
https://github.com/Draco18s/ReasonableRealism/blob/1.14.4/src/main/java/com/draco18s/industry/network/ToServerFilterClick.java#L38-L47
You're trying to use the vanilla crafting GUI.
The vanilla crafting gui checks to see if the block being accessed is The One And Only Vanilla Crafting Table.
Your block is not The One And Only Vanilla Crafting Table.
Therefor the use of that gui is invalid and thus closed.
You need a custom ItemEntity to accomplish that.
Then you need to detect ItemEntities joining the world, check that their item is your item (and not your custom ItemEntity), and replace it.
Because the code it exports when not doing custom code things is garbage. And because its generated by MCreator not Forge nor the user, its pointless trying to fix it.
Well yes, but no. They don't have to delete stuff, they can just make a new zip file that has the same folder structure and files names and override your stuff without ever touching it.
That's....kinda the whole point of the json system.