Перейти к содержимому
Mineforgian

Trickster

Learn magic and create spells from scratch. The only limit is your creativity!

Загрузки
22K
Подписчики
196
Обновлён
19 августа 2026 г.
Лицензия
MIT

Опубликован 23 июня 2024 г.

Trickster

discord-plural kofi-singular fabric-api fabric-api

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.

A simple spell

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.

A persistent multi-core spell construct

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.

Documentation

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.

A few of the available toys

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.

Ченджлог

2.0.0-beta.53Бета1.21.1 · 19 августа 2026 г.
  • Fixed an issue where Ploy of Receipt would sometimes return non-list fragments. (@aurakle)
2.0.0-beta.52Бета1.21.1 · 18 августа 2026 г.
  • Added undrawable pattern Inline syntax. (@poolcritter)
  • Fixed storage fragments rendering slot indices with an absurd offset on the Z axis. (@aurakle)
  • Added a custom fragment renderer for Displacements. (@aurakle)
  • Re-worked blunder internals. (@aurakle)
2.0.0-beta.51Бета1.21.1 · 9 августа 2026 г.
  • Fixed zero-distance Swindler's blundering due to supposed lack of mana when cast by a construct with a Cracked Quartz Knot. (@aurakle)
  • Added Sable weight tagging for various blocks. (@BlueMoonJune)
  • Fixed various zoom issues in the editor. (@hazenebulous)
2.0.0-beta.50Бета1.21.1 · 9 августа 2026 г.
  • Fixed container fragment encoding resulting in nuked construct NBT and client desync. (@enjarai and @aurakle)
2.0.0-beta.49Бета1.21.1 · 5 августа 2026 г.
  • Added Very Basic Sable compatibility. (@BlueMoonJune)
    • Distances will be calculated correctly across sublevels.
    • Some basic tricks are available when Sable is installed to interact with sublevels.
  • Made the face position of Glasses configurable. (@enjarai)
    • Right click the Glasses in your inventory to change their position when worn.
  • Added unique mana icons to the guidebook for non-traditional mana types. (@hazenebulous)
  • Fixed a bug caused by incorrect handling of block entities in the swap block and levitate tricks. (@enjarai)
2.0.0-beta.48Бета1.21, 1.21.1 · 26 июня 2026 г.
  • Removed shulker mana conversion due to issues preserving the shulker contents for real this time (forgot to run datagen on the last update). (@aurakle)
2.0.0-beta.47Бета1.21, 1.21.1 · 26 июня 2026 г.
  • Various book fixes. (@aurakle)
  • Added dirt to mud erosion. (@aurakle)
  • Added an indicator on the exterior of numbers for the sign. (@aurakle)
  • Fixed a couple issues with inconsistent fragment equality. (@aurakle)
  • Removed shulker mana conversion due to issues preserving the shulker contents. (@aurakle)
2.0.0-beta.46Бета1.21, 1.21.1 · 23 июня 2026 г.
  • Re-worked Conduit Ploys. (@enjarai)
  • Re-worked floating block damage scaling. (@aurakle)
  • Gave Infused Ceramic a hardness and resistance value. (@aurakle)
  • Improved the texture of pondered circles. (@aurakle and @BlueMoonJune)
  • Made Branching variadic. (@BlueMoonJune)
  • Split mana into different types. (@enjarai and @aurakle)
    • All mana is now stored as a long rather than a float, making 1mG the smallest non-zero unit of mana.
    • Knots no longer charge while it is raining.
  • Added the Prismatic Knot. (@enjarai and @aurakle)
  • Added new mana generation methods. (@enjarai and @aurakle)
  • Blacklisted the smeltery structure from Lootr due to item voiding. (@aurakle)
  • Fixed a crash from spell fleck rendering. (@enjarai)
  • Fixed an issue with atlas rendering in certain situations. (@enjarai)
    • Textures would get messed up with: Supplementaries, Connector, and Kilt.
  • Made Alt and F in the editor configurable keybinds. (@enjarai)
  • Constructs no longer re-send their (possibly expensive to serialize) spells to clients when unrelated data is modified. (@aurakle)
  • Fragment components on items now cache their hash, significantly improving performance when comparing item stacks. (@enjarai)
  • Made it impossible to import overweight fragments via survival methods. (@aurakle)
  • Reverted the decrease in cost for setting entity scale. (@aurakle)
  • Reverted changes to player velocity querying that made values consistently unreliable. (@aurakle)
  • Fixed being able to insert any item into a spell construct. (@aurakle)
  • Added tricks to get the durability of items. (@enjarai)
  • Fixed Infused Ceramic gradients. (@hazenebulous)
  • Cleaned up pattern rendering tremendously. (@hazenebulous)
  • Miscellaneous Connector compatibility improvements. (@master_bw3)
  • Fix missing translation for the Fluid fragment type. (@aurakle)
  • Add missing subtitles. (@enjarai)
  • Halved the recharge rate of the Whorl. (@aurakle)
  • Astrals no longer generate "Traditional" mana. (@aurakle)
  • Unbreakable block and extended piston config settings now apply to Featherweight. (@AshAxolotl)
  • Various book improvements. (@AshAxolotl)
  • Re-written all the locked entries to be from the perspective of the player. (@enjarai and @aurakle)

Комментарии

Загружаем…