It means you need to make your port public so your friends can access it.
Read the manual of your router to learn how to port forward with your specific router.
Personally, I would say yes.
i.e. All the custom name part are completely not necessary, and the getField/setField with an id is pointless. use normal getters and setters instead.
If you are indeed downloading from the official site, there will not be such problem.
Are you sure you are downloading from the official site?
Are you sure you selected the right version (1.14.2) to download?
Unless you've changed your previous code, since "stack == new ItemStack(Block blockIn, int amount, int meta)" will never be true.
Instead of direct comparison, it would be better to check the meta of the already existing ItemStack.
You could create an EventSubscriber for RenderGameOverlayEvent.Post and do your render there.
You might want to look at how this is achieved in Botania.
Add a breakpoint right before the damaging item line to see if the code is reached.
Why are you damaging the item and shrinking the stack at the same time though?
You don't register a Block from an ItemBlock; instead, you get an ItemBlock from a Block, then register the ItemBlock as an Item.
To get an (registered) ItemBlock from a Block (which I believe is what you are trying to do during ModelRegistryEvent), use Item::getItemFromBlock.
Please post your code so we can figure out what exactly went wrong.
@Velociraptor1923 Your questions are not remotely relevant to your topic, nor are they in the responsibility of Forge.
If you are serious in seeking the answers to those question, then you are in the wrong place. You should use Google instead.
If you are being a troll, then please stop spamming the forum.
What issues are you facing?
It would be easier for you and us to solve your exact issues than "this is my computer; please fix it."
If you are having trouble setting up Forge MDK, please describe the symptoms and provide logs when appropriate.