I have found a decent-ish musket mod, called Reforged but it comes with a ridiculous amount of other accessories and has some sound and compatibility issues. My method is mostly vanilla.
Considering Version 1.12.2 as a distance model, there are several factors that are innate to Minecraft now that could easily be implemented into a 90% vanilla musket mod for hunting and combat.
I search for a simple 1-gun mod as a powerful long-shot alternative to the bow and arrow, and all I get are PVP MLG Call of Duty Minecraft edition crap.
Consider the following:
- Iron Nugget.
- The wood of your choice.
- Iron ingots or blocks.
- Modified Bow Mechanics (Parabolic drop, hold and release to fire, etc)
Lets say we make a scripted bow-like weapon with higher projectile velocity (its not gonna travel in a straight line, just further and faster than the Bow&arrow) and with each shot requires and consumes a determined amount of gunpowder from the inventory, as well as 1 Iron Nugget.
Create a 3D iron nugget projectile as makeshift musketballs in place of the arrows and you got a basic gun.
Then there is an expensive, yet powerful alternative to the Bow, and providing another use for gunpowder.
It can be crafted in a shape similar to the fishing rod, except using iron ingots or even iron blocks, and with any kind of wood. Possibly script variants of muskets for customization based on the wood used; same function.
From there its a matter of creating a 2-or-3- frame animation for the musket's hammer for flavor, and either using the vanilla TNT sound for the shot, or a custom one and you're set.
I'd love to make this myself but java is well, not exactly up my alley.