This commit removes the prefix-aware `parse()` method on ThingManager and refactors all of its call sites such that they are now responsible for properly distinguishing between the prefixed input string and the input string itself in their error messages. Luckily, they all rethrow the InvalidThingInputString as a ConfigError with a lot more context, which means the raw `input` value in the former is not actually needed in these specific places. The primary reason for this change is to get rid of the ambiguity in the interface. It seems like some of the original choices in the config-file syntax are at odds with the design of the Things API; sometimes there is a lot more context needed to correctly parse an input string to a Thing, and there is currently no meaningful way to pass that context along, but the prefix-centric approach is definitely not flexible enough. Ideally, we would have some sort of "context object" that we could query for info about the Thing being parsed. Like when we are parsing the Things in an "armor" node, we generally only want ItemStackThings, because we can't very well "equip" a command or economy money, so if we could somehow use the "context object" to set limits to what _kinds_ of things we should be able to parse, it might be easier to employ the "pickers" everywhere, so we could have a "random helmet" or a "random potion effect" without having to _prefix_ everything. |
||
---|---|---|
.github | ||
gradle/wrapper | ||
scripts | ||
src | ||
.gitignore | ||
build.gradle.kts | ||
changelog.md | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
README.md | ||
settings.gradle.kts |
MobArena 
MobArena is an arena-style minigame for Spigot-based Minecraft servers
Getting Started
If you don't want to compile the plugin yourself, grab a release artifact from one of these two sites:
The wiki here on Github should have all the information you need to get started using the plugin.
Getting Help
If you run into problems or need help with something, feel free to hop on the MobArena Discord server to have a chat: Instant Invite
Remember, though, that this communication channel is idle chat, which means you likely won't get a response immediately. It could take anything from a couple of seconds to a day, but your message will be seen.
Contributing
Found a bug, got a suggestion, or want to dig into the code base? There are many ways to contribute to the project!
Get started here: Contributing