catageek / ByteCart

Minecraft plugin for bukkit to create a LAN/WAN rail network with routing algorithm
GNU General Public License v3.0
27 stars 9 forks source link

Add tab completion #52

Closed Pokechu22 closed 5 years ago

Pokechu22 commented 7 years ago

This change depends on catageek/ByteCartAPI#1.

This PR handles tab-completion for all commands. For several commands, this means simply disabling the builtin tab completion handler (we don't need to tab complete player names); for others, this involves actually writing new tab completion logic.

It also refactors commands into separate classes, which was needed to add tab completion in a way that wouldn't produce a huge mess.

I have not done any significant amount of testing this ingame. There may be bugs. I am still learning this plugin, so I might not have done everything right.