Change NoScope to fire a hilariously overpowered homing arrow
Also contains some other changes that I had to do to get the project running in my IDE. I pretty much only mod on Forge so there's a good chance I just don't know what I'm doing; I will revert such changes upon request if they are problematic.
I ported this feature from a Forge mod I've been working on for a little while now, manually translating it from Mojang maps to Yarn. I might have messed it up in a couple spots but everything seems to be working fine.
Contains some voice clips from the Sniper from Team Fortress 2, but I don't think this will cause any copyright issues. People make TF2 animations using the voice clips all the time, and they are publicly avaliable for download on the Team Fortress 2 wiki. If copyright is an issue it's quite simple to just remove the sounds, they arent necessary (although it would become a lot less funny).
Some things about the arrow:
- It pathfinds around obstacles, borrowing much from Minecraft's pathfinding logic (A*)
- It also gives up relatively easily if it cant find a path (and stops pathfinding)
- Only lasts for 10 seconds, after which it vanishes
- Is not saved to the disk to prevent weird stuff
- Re-implements a lot of the Entity and Projectile tick logic with some modifications
- Target for the arrow can be manually set by right-clicking while the arrow is active
- As a result, only 1 Arrow can be out at a time per NoScope item
- Arrow deals damage in the same way as the /kill command
- Arrow can be seen through walls (glowing effect) to better keep track of it
- Arrow is really fun to watch do its thing
- I tried to strip things down, but there may still be some remnants from the aforementioned mod I've been working on
Project successfully builds in my IDE, and everything I changed seems to be working as I intend, both in dev and in production. I have a video file of the arrow in action but it's a bit too big for GitHub, let me know if you want me to upload that somewhere and put it here.