MobArena plugin for Minecraft
Go to file
Andreas Troelsen b7aedf6c8b Refactor prefix-based thing parsing.
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.
2024-10-06 15:55:16 +02:00
.github Add 1.21 to supported game versions. 2024-07-23 02:22:48 +02:00
gradle/wrapper Convert to Gradle. 2023-12-09 21:08:09 +01:00
scripts Add hangar format to release note script. 2023-12-31 15:14:25 +01:00
src Refactor prefix-based thing parsing. 2024-10-06 15:55:16 +02:00
.gitignore Convert to Gradle. 2023-12-09 21:08:09 +01:00
build.gradle.kts Bump version to 0.108.1. 2024-06-24 23:30:08 +02:00
changelog.md Use Mob interface for on-spawn targeting. 2024-10-06 14:56:09 +02:00
gradlew Convert to Gradle. 2023-12-09 21:08:09 +01:00
gradlew.bat Convert to Gradle. 2023-12-09 21:08:09 +01:00
LICENSE Add LICENSE 2018-04-27 16:32:02 +02:00
README.md Add Hangar link to README. 2023-11-13 12:21:40 +01:00
settings.gradle.kts Convert to Gradle. 2023-12-09 21:08:09 +01:00

MobArena Build Status

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