This repository includes a variety of features and creations relating to NMS plugin development. A big part of the repo is code I have written while watching MineAcademy's NMSAdvanced course. This is a constant work-in-progress repo and new features are often being pushed.
The NMSAdvanced repository is a Spigot 1.8.8 plugin including everything from particles, animations, commands, NPCs, NBT data, GUIs and much more. As I build onto this project, I will keep updating the features section down below. The plugin does not serve any direct purpose - it is a general collection of things I have built that requires the use of NMS during my journey of learning the advanced parts of plugin development.
This project covers a wide aspect of NMS topics and features. Quality has been focused over quantity to provide as many different NMS topics as possible but few at each one. As a bonus, the project is very well commenteted which makes it a great starting point if you are trying to learn NMS. Fork it, view, experiment, learn!
Certain classes/methods may be documented with '@author Liam'. Code from there is not taken from the course but instead developed by me.
- Commands
/directping- get the users ping by accessing NMS directly/reflectionping- get the users ping by accessing NMS using reflection/display- display an action bar or title using direct NMS with a specified message/particlesbehind- spawn particles behind a player when they walk using direct NMS/gameentityspawn- spawn any custom game entity registered in the plugin/spawnnpc- spawn an npc with a specific name, skin and decide if it should show in tablist or not/nbt- modifies NBT on the item in hand using direct NMS access and the NBT-API
- Models
Server Menu Info Modifier- modifies the server menu info by listening for the OutServerInfo packet and intercepting it
- Custom Entities
Killer Snowman- custom entity snowman that overrides target+goal selectors to target nearby players and shots them with snowballsPersistent- the custom entites are kept and not removed nor replaced with default ones
- NPCs
GameNPC- class to spawn NPCs, set their skin, show and hide to players and set if they should look at a playerNPC Registry- persistant storage for NPCs. NPCs are serialized on server shutdown and stored in a data.yml
- Pathfinder Goals
- Pathfinder goal wrapper class to give obfustaced methods nice-understandable names
PathfinderGoalGamePet- custom pathfinder goal that makes an entity navigate to a player (its owner) to create a pet-like feeling
- Pets
Friendly Wolf- custom wolf pet that turns any wolf into a player pet and applies a custom pathfinder goal upon clicked