Andreas Troelsen 96c1f18517 Make MASpawnThread logic cancellable.
This commit changes how MASpawnThread is started. Instead of simply scheduling a task and letting it run whenever, we now explicitly tell it to stop when the arena ends. This matters, because if the scheduled task does not get cancelled, it will run at the scheduled time. MASpawnThread's run() method has an early return to stop whenever the arena isn't running, but with unlucky timing, it's possible to start a new arena session before the task runs again, meaning the same MASpawnThread keeps scheduling itself on the previous scheduling loop.

Instead of this whacky approach, we now specifically have MASpawnThread track its own BukkitTask. Upon arena start, we instantiate a new MASpawnThread and call its start() method, which in turn schedules itself and stores a reference to the associated BukkitTask. Upon arena end, we call the MASpawnThread's stop() method, which explicitly calls the BukkitTask's cancel() method, effectively stopping/unscheduling the task.

This fixes the (very) long-standing "double wave spawner" bug that we haven't been able to reproduce for so long. Hooray!
2018-08-19 20:47:25 +02:00
2018-08-19 20:47:25 +02:00
2018-04-17 18:18:05 +02:00
2018-04-27 16:32:02 +02:00
2018-08-19 11:06:17 +02:00

MobArena Build Status Documentation 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 or IRC channel to have a chat:

Remember, though, that these communication channels are 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

S
Description
No description provided
Readme GPL-3.0
19 MiB
Languages
Java 99.4%
Python 0.6%