MCCoroutine Versions Save

MCCoroutine is a library, which adds extensive support for Kotlin Coroutines for Minecraft Server environments.

2.7.0

1 year ago

Bugs/Issues

  • #82 Fixed potential deadlocks when joining a job in onDisable with runBlocking. Thanks to @Jupiops.
  • #84, #85 Fixed MCCoroutineExceptionEvent is not correctly called when using asyncDispatcher in Paper. Thanks to @Spliterash.

2.6.0

1 year ago

Developer Notes

  • See 2.0 changes if you are upgrading from 1.x.x to 2.x.x.

Changes

  • #80 Changed the base class for MCCoroutineExceptionEvent to PluginEvent. Thanks to @DaRacci.

2.5.0

1 year ago

Developer Notes

  • See 2.0 changes if you are upgrading from 1.x.x to 2.x.x.

Changes

  • #76 The return value of SuspendingTabCompleter for the bukkit module was changed to nullable.

2.4.0

1 year ago

Developer Notes

  • See 2.0 changes if you are upgrading from 1.x.x to 2.x.x.

Changes

  • #72 Added a function to delay for minecraft ticks. delay(1.ticks). See the wiki for details.

2.3.0

1 year ago

Developer Notes

  • See 2.0 changes if you are upgrading from 1.x.x to 2.x.x.

Changes

  • #69 Added assigning meaningful task names to Coroutines for Spigot timings. See the wiki for details.

2.2.0

2 years ago

Developer Notes

  • See 2.0 changes if you are upgrading from 1.x.x to 2.x.x.

Changes

  • #67 Added asynchronous event processing to mccoroutine-bungeecord. See the wiki for details.

2.1.0

2 years ago

Developer Notes

  • See 2.0 changes if you are upgrading from 1.x.x to 2.x.x.

Changes

  • #60 Introduced support for Velocity. See the new wiki for details.

2.0.1

2 years ago

Developer Notes

  • See the 2.0.0 release below.

Bugs/Issues

  • #58 Fixed mccoroutine-bungeecord-core.jar contains Kotlin libraries.

2.0.0

2 years ago

Developer Notes

This change is a major version change and contains breaking changes. Please follow the upgrade guide below.

Changes

  • #52 Changed the way how exceptions are handled. It is now possible to fully control any coroutine exceptions using the new event MCCoroutineExceptionEvent. The details are explained on the new wiki page.
  • #52 CoroutineCancellations are no longer being logged by MCCoroutine because people were confused why this exception is printed in the first place. You can still catch it using the new MCCoroutineExceptionEvent.
  • #50 Introcuded support for BungeeCord and Waterfall. See the new wiki for details.
  • #50 Removed any implementation details from the mccoroutine-framework-api projects.
  • #50 Removed plugin.launchAsync from MCCoroutine. This function was an idea to directly allow async dispatches. However, after investigating open source projects, this function was almost always used incorrectly and caused to return on unknown threads. Please see the upgrade guide below, how to fix it.
  • #50 Moved classes to different packages.
  • #50 plugin.launch behaves now exactly the same as plugin.scope.launch.
  • #50 Added start parameter to plugin.launch

Upgrading from 1.x.x to 2.x.x

  • Replace plugin.launchAsync
// 1.x.x
fun foo(){
  plugin.launchAsync {
     // Code A
  }
}
// 2.x.x
fun foo(){
  plugin.launch {
    withContext(Dispatchers.IO) {
       // Code A
    }
  }
}
  • Fix the import changes:

com.github.shynixn.mccoroutine.* has become either:

  • com.github.shynixn.mccoroutine.bukkit.*
  • com.github.shynixn.mccoroutine.sponge.*
  • com.github.shynixn.mccoroutine.bungeecord.*

1.6.0

2 years ago

Changes

  • #51 Added support to call suspending events consecutively. Use the new overload plugin.server.pluginManager.callSuspendingEvent(event, plugin, EventExecutionType.Consecutive) . The default behaviour (as in previous versions) is EventExecutionType.Concurrent.