All Projects → aikar → Taskchain

aikar / Taskchain

Licence: mit
TaskChain Control Flow framework. Helps facilitate running tasks on an application's "Main Thread" (such as a game), and tasks off the main (async).

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Taskchain

Netherboard
Scoreboard API for your Minecraft Sponge and Bukkit Plugins.
Stars: ✭ 56 (-60.84%)
Mutual labels:  bukkit, sponge
Minecraftdev
Plugin for IntelliJ IDEA that gives special support for Minecraft modding projects.
Stars: ✭ 645 (+351.05%)
Mutual labels:  bukkit, sponge
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (+137.76%)
Mutual labels:  task-scheduler, concurrent-programming
Osmium
Abstraction layer for Bukkit, Sponge and BungeeCord that allows for development on all platforms simultaneously.
Stars: ✭ 34 (-76.22%)
Mutual labels:  bukkit, sponge
Banmanager
Minecraft Java Plugin
Stars: ✭ 89 (-37.76%)
Mutual labels:  bukkit, sponge
Flint
A Minecraft minigame engine.
Stars: ✭ 22 (-84.62%)
Mutual labels:  bukkit, sponge
Minecraftdeveloperguide
📝Minecraft developer Chinese guide,我的世界开发者中文指南
Stars: ✭ 574 (+301.4%)
Mutual labels:  bukkit, sponge
Viaversion
Allows the connection of newer clients to older server versions for Minecraft servers.
Stars: ✭ 463 (+223.78%)
Mutual labels:  bukkit, sponge
Luckperms
A permissions plugin for Minecraft servers.
Stars: ✭ 1,100 (+669.23%)
Mutual labels:  bukkit, sponge
Redprotect
RedProtect Easy and Light Weight Antigrief plugin.
Stars: ✭ 51 (-64.34%)
Mutual labels:  bukkit, sponge
Craftbook
🔧 Machines, ICs, PLCs, and more!
Stars: ✭ 226 (+58.04%)
Mutual labels:  bukkit, sponge
Serverlistplus
A flexible Minecraft plugin to customize the appearance of your server in the server list
Stars: ✭ 127 (-11.19%)
Mutual labels:  bukkit, sponge
Geyser
A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
Stars: ✭ 2,851 (+1893.71%)
Mutual labels:  bukkit, sponge
MinecraftDeveloperGuide
📝Minecraft developer Chinese guide,我的世界开发者中文指南
Stars: ✭ 1,307 (+813.99%)
Mutual labels:  bukkit, sponge
Worldedit
🗺️ Minecraft map editor and mod
Stars: ✭ 2,288 (+1500%)
Mutual labels:  bukkit, sponge
Libby
A runtime dependency management library for plugins running in Java-based Minecraft server platforms.
Stars: ✭ 36 (-74.83%)
Mutual labels:  bukkit, sponge
Bstats
bStats collects data for plugin authors. It's free and easy to use!
Stars: ✭ 99 (-30.77%)
Mutual labels:  bukkit, sponge
Viabackwards
Allows the connection of older clients to newer server versions for Minecraft servers.
Stars: ✭ 135 (-5.59%)
Mutual labels:  bukkit, sponge
Paddle Soccer
A simple, two player multiplayer game built to show how you can host dedicated game servers on Kubernetes.
Stars: ✭ 141 (-1.4%)
Mutual labels:  game-development
E Books
A collections of FREE ebooks
Stars: ✭ 143 (+0%)
Mutual labels:  game-development

TaskChain - Current Release Version: 3.7.2

What is TaskChain?

TaskChain is a Java Control Flow framework designed for Game Developers.

TaskChain helps facilitate running tasks on an application's "Main Thread", and parallel tasks off the main (async to main).

You define a series of tasks (a Task Pipeline) in the order that they should execute, and the registration of each task defines whether it should run on the main thread or not.

TaskChain then executes your task pipe line, switching thread context where needed, passing the result from the previous task to the next.

Documentation / Getting Started

  1. Why you should use TaskChain
  2. Learning TaskChain Terminology
  3. Using TaskChains & Examples
  4. Shared Task Chains

Supported Game Platforms

Currently Supported

Planned

  • Forge Minecraft Servers [#2]

3rd Party

  • Nukkit Minecraft Servers [#13]

Want to add your own game?

If you wish to add support for your own game, see Implementing a new game

JavaDocs

JavaDocs can be found at http://taskchain.aikar.co

Changelog

Please see CHANGELOG

Why does it require Java 8+?

Get off your dinosaur and get on this rocket ship!

On a serious note, Lambdas provided a much cleaner API and easier implementations.

Dinosaurs have been dead for a long time, so get off it before you start to smell.

Download Java 8

Using Kotlin 1.1 for Bukkit Plugins?

If you are a developing Bukkit plugins in Kotlin, we actually do not recommend using TaskChain. @okkero has created a vastly better experience using Coroutines in Kotlin.

We recommend using his framework, Skedule, which requires Kotlin 1.1.

Coroutines are a beautiful way to create this kind of behavior, but sadly we are not able to do that kind of stuff in Java Syntax.

Note that Skedule is only for Bukkit plugins. If you are working in a different platform, TaskChain does still work for Kotlin.

Older Versions

  • v2: Updated to a Java 8 Lambda API. Massive redesign and new features. Very close to v3 but uses a static registration and global state, so it can only be bound to a single Bukkit Plugin
    (note: some bugs were fixed in v3 with Shared chains done and error handlers)

  • v1: The original (ugly) API for Bukkit plugins, pre Java 8. Only version usable below java 8, but probably some bugs.

License

TaskChain (c) Daniel Ennis (Aikar) 2014-2017.

TaskChain is licensed MIT. See LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].