Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Trickster
Trickster is an esolang-based magic mod loosely inspired by Hex Casting. Equipped with a book written by an ancient arcane scholar, learn to compose spells which create magical effects as simple or complex as you want.

So what can I make?
Yes.
The spells you can compose are made in a turing-complete tree-like structure, offering complete freedom in creating the results you want. Spells can do literally anything you can imagine*!
*Assumes your imagination is limited by the scope of available glyphs. Library inc. takes no responsibility for overactive imagination or other forms of undue creativity.

That's a pretty bold statement isnt it?
Yes it is, but we don't think its unfounded.
For one, spells will not stop casting until they are complete, which can, in fact, be never! Spells run concurrently with the rest of the game and can be saved to and loaded from disk at any moment, just like everything else in Minecraft. This means you can leave a spell running, log out, come back two days later, and have it continue where you left off.
But also, spells can be infinitely big and complex. While there is a limit to the speed spells execute at (to avoid straining the server) the spell itself can be as convoluted or as simple as you want!
So how do I begin?
Well, we've made that part pretty easy.
All patterns, items, and blocks are documented in The Teacher's Language by Areli Haron, one of the few remnants of an ancient civilization proficient in the arcane. As you discover more about the world, notes will be added to the book reflecting on those discoveries.
If preferred, there is also a web book at trickster.ing.

What else can I expect?
As any good magic mod should, we provide a solid selection of tools and trinkets to facilitate spell composition and casting.

Functional as in Functional Programming
For the more programming-minded, the spellcasting system in this mod can be described as tree-based functional programming, most closely resembling a Lisp. This means a few things:
- Data is immutable.
- Recursion is not only possible, but also the main way to achieve loop-like behaviour.
- Which also means infinite (and even mutual!) recursion via Tail-Call Optimization.
- Data can only move up the tree from one node to the next.
- Though various flow control options exist to overcome this limitation.
This combines with other functional paradigms to create a very clean, but powerful scripting language.
Credits
Some of the item textures are courtesy of @midnightcartridge on Discord.
Thanks to @crephan as well for help with a bunch of item textures and models.
This mod was originally made for Modfest: Carnival, but has since been further developed far beyond its original scope.



