lucko / commodore

Utility for using Minecraft's 1.13 'brigadier' library in Bukkit plugins.
MIT License
176 stars 15 forks source link

Add a replacement for MinecraftArgumentTypes #26

Open Revxrsal opened 2 years ago

Revxrsal commented 2 years ago

Since the original MinecraftArgumentTypes required too much maintenance and reflection to work across all versions, it was removed in commodore 2.0. Unfortunately, my command library Lamp depended on it internally to provide support for entity selectors.

I've written a simple enum that constructs ArgumentTypes as needed. It does not hook into the registry or look up ArgumentTypes by their names internally. All it does is construct them, optionally with arguments.

Tested on Minecraft 1.13.2, 1.16.5, 1.17, and 1.19.

You may want to remove the MinecraftArgumentTypes.ensureSetup() call in CommodoreProvider. I didn't know whether to add it or not, so I added it anyway