Whats this?
Its a musket datapack, easy to install and use. While downloading the datapack please also install the provided resourcepack for better experience! The musket does 16 damage (8 hearts) to players and 20 damage (10 hearts) to mobs, this can be reduced with armor and/or projectile protection enchantments. The projectile can travel thru air and most non-full blocks excluding water.
How its made?
Using 8 teleports and detections per tick an armor stand travels for 5 seconds in a straight line before disapearing, using the coordinate distance selector (dy=,dx=,dz=) it detects any entity within 0.5 block range from the projectile and deals the damage to it using the damage command, the damage type being arrow. Reloading happens automatically and takes 10 seconds with actionbar messages every second, every shot requires the shell seen below. To ensure the safety of the player shooting it, the hit detection is disabled for 1 tick after shot making the weapon ineffective at very close ranges. I put effort into as much optimizing as possible but there is still multiple checks running every tick, This datapack was not tested with large numbers of projectiles existing at the same time.