THIS MOD IS STILL IN DEVELOPMENT. YOU CAN ONLY ACCESS IT IN CREATIVE MODE. THERE IS A VERY SLIGHT CHANCE THAT THIS MOD BREAKS YOUR WORLD. DO NOT USE THIS IN YOUR PRIMARY WORLD.
Looking for people to make reviews and feedback in general. If you have any questions, feedback or need some further explanations, just reply here!
Or message me on Discord: CAS_ual_TY#4737
The Mundus Magicus Mod allows You to design, create and customize Your own spells. Thanks to a "system" You can decide:
- When to activate the spell (Right click? Every second? When You take fall damage?)
- Who/What to affect (The player or mob You are looking at? The blocks around you? All players in Your dimension?)
- What these effects are (Ignite the target? Inflict simple damage? Create an ice sphere around it?)
and some more details.
This system basically breaks spells down into different parts which can be (ex)changed and customized (more about that below). My goal with this mod is to make it feel like an extension of minecraft rather than a mod introducing completely new features and mechanics. Thats why this mod also only uses vanilla textures (it doesnt copy them, it uses them - 100% texture pack compatible).
In the future this mod can be used as:
- a base for addons (/API). Coding addons is very easy and gives a lot of freedome. Source will be released once this mod is in a healthy state. I will release some myself
- a base for adventure maps. You can define what spells the player gets to explore your world and make every available spell truly unique.
- a base for servers. The possibilities are endless here. You could even make admin tools if you want to.
A Spell Book consists of different parts. Some of these parts can be broken down once more into even smaller parts. That was the short explanation. Now the detailed one:
A Spell Book item consists of Spells. Those can be activated individually or all together depending on what Activation IDs they are holding. You do something (or someone does something to You) and the Spell has that particular Activation ID matching that action, the Spell gets activated. However, to completely resolve the Spell, You also need to fulfill the Owner Conditions and Sender Conditions. The Owner is the one who owns the Spell that got activated. The Sender is the one who is holding it. Example: You put an over-time effect on someone that does damage over time; You are the owner, the player affected by the Spell is the sender (he would probably be the Target, as well, but more on that later). The last part missing is the Spell Part (or rather Spell Parts - plural). Once the Conditions are met this thing gets activated.
The Spell Part contains the actual fun of this mod. The first thing it does is calling its Detector Chains. These basically detect the Targets. A Target is either a player, a living mob (doesnt matter if hostile, neutral or friendly) or a block. The way these things detect targets is by chaining Detectors one by one to activate them out of different perspectives. Example: A "range" Detector gives You all Targets within X blocks. A "look at" Detector gives You the Target You are looking at. Now chaining the "look at" Detector on to the "range" Detector gives You all Targets within X blocks of the Target You are looking at. Now you have the Targets, these need to meet the Target Conditions. A Target that does not meet the Conditions gets sorted out. And now, of course, the last mechanic of the Spell Part are the Effects. These affect all Targets found earlier. They can basically do everything (or rather: everything I added so far).
How To - Quick Startup
To quickly see the potential of this, I suggest simply installing it and trying out the Spells in the creative mode on mobs or Your friends.
If you want to learn how to make Spells, then You need to take a look at the Page Modifier and the Book Binder. For examples just check out the tutorial books in the MM creative tab.
Now take different pages out of the MM pages creative tabs and put them in according to the required order (A > D > E). To finish up, put the filled Book Binder in the crafting field and take the resulting Spell Book.
In general I highly suggest, however, reading through the crafting practice further below. Once You understand how to make Your own Spell Books, your possibilities will be endless!
How To - Crafting Theory
Let me explain these 3 items in the picture first:
The first item (Paper icon) is a Page. This Page is either an Activation ID, a Condition, a Detector Chain, a Detector or an Effect.
The second item (Written book icon) is a Spell Part. It already contains atleast one Effect, one Target Condition or one Detector Chain.
The third item (Book icon) is a Spell. It already contains atleast one Spell Part, one Sender Condition, one Target Condition or one Activation ID.
The fourth item (Enchanted book icon) is a Spell Book. It already contains atleast one Spell.
To successfully create a Spell Book, You need work in this order. First create a Spell Part with atleast one Effect and one Detector Chain (a Target Condition is not needed for an operational Spell Part). Then create a Spell, containing this Spell Part and add atleast one Activation ID (once again, the Sender Conditions and Owner Conditions are optional). And finally, add that Spell to a Spell Book. Important: Spells and Spell Parts that do not meet the minimum requirements can not be used! Example: You can not add a Spell Part containing only Effects to a Spell!
To make this easier: The items (non-pages) change their rarity once they meet all requirements to be added to the next "stage" (rarity is displayed as color when mouse hovering over an item). Pages change their rarity depending on if they are "clean" or not (more on that later). A short introduction on what colors on items mean:
This Page is fully usable. However, random modifiers (like Conditions, Effects ...) may be in there as well!
This Page is fully usable, as well, and it does not add any randomness to whatever You are planning to do.
This indicates that the Spell Part is not done yet and can thus not be added to a Spell yet. It requires atleast one Effect and one Detector Chain.
This Spell Part meets all minimum requirements and can be added to a Spell.
This Spell is not ready yet. It requires atleast one Spell Part and one Activation ID.
This Spell meets all minimum requirements and can be added to a Spell Book.
How To - Crafting Practice
You can obtain Pages by <I have no idea yet. I am still figuring out the best way to do this. I am thinking about adding trades to villagers. And if its hard to obtain pages I will add a way to copy them (with a more or lesse expensive cost). I will also add a way to "purify" (= remove random modifiers from ->) pages.>.
Each Page can be modified using the Page Modifier. Just open it and put a Page in the slot. It is pretty self explaining. Just hover over the buttons for more info!
To craft a Spell Book you need to open Your Book Binder. Now simply put in the correct Pages one by one on the following order:
Activation ID > Owner Condition > Sender Condition > Detector (Chain) > Target Condition > Effect
You can also have multiple Pages of the same type, of course.
What happens now is that the Book Binder goes through the Pages and builds your Spell Book according to this order. Now in case you add a Page that comes earlier according to this order than the Page previously added, the Book Binder considers this as a "restart" and it falls back the the last Spell/Spell Part.
To then finish up the process, simply put the filled Book Binder in a crafting field and take out the resulting Spell Book. Currently, a Spell Book is final and can not be undone! The Book Binder will process no matter what, meaning that if you make a mistake, the Spell Book might not work!
Every example Spell Book also comes with a filled Book Binder as some sort of "Tutorial"! So for a live Tutorial, just check out the main creative tab and open the "Tutorial: ..." items!
Activation ID > Detector > Effect:
This builds a simple Spell containing the Detector and the Effect, activated by the Activation ID.
Activation ID > Detector > Effect > Activation ID > Detector > Effect
This builds 2 simple Spells, one containing the first 3 Pages, the other containing the last 3 Pages.
Activation ID > Detector > Effect > Detector > Effect:
This builds a Spell, containing 2 Spell Parts: One containing the first Detector and Effect, the other containing the 2nd Detector and Effect. Both Spell Parts are activated by the same Activation ID.
Activation ID > Activation ID > Detector > Effect > Effect > Effect:
Another simple Spell, but activated by either one of these Activation IDs and resolves 3 Effects on the Target found by the Detector.
This spoiler covers the old way using the Ancient Book. Currently, to craft Detector Chains, you still need to use the Ancient Book (bottom of this spoiler):
For crafting, You need to open Your Ancient Book:
- To add a Page to a Spell Part (Page = Effect/Detector/Detector Chain/Target Condition) or a Spell (Page = Sender Condition/Target Condition/Activation ID) and simply put the Page in the top slot and put the Spell Part/Spell in the bottom slot. Done.
- To add a Spell Part to a Spell, put the Spell Part in the top slot and put the Spell in the bottom slot. Done.
- To add a Spell to a Spell Book, put the Spell in the top slot and put the Spell Book in the bottom slot. Didnt expect that, did You?
But now You might ask, how do You obtain a Spell Part, Spell or Spell Book? Well, You dont. You create it:
- To create a Spell Part, put a Page being a possible content of that Spell Part (Page = Effect/Detector/Detector Chain/Target Condition) in the top slot and put a Book and Quill in the bottom slot. After combining You will get a Spell Part containing the used Page.
- To create a Spell, put a Spell Part meeting all requirements or a Page being a possible content of that Spell (Page = Sender Condition/Target Condition/Activation ID) in the top slot and put a Book and Quill in the bottom slot. After combining... blabla You know what is going to happen.
- To create a Spell Book, put a Spell meeting all requirements in the top slot and a Book and Quill in the bottom slot.
Note: By adding a single Detector instead of a Chain Detector to a Spell Part/Book and Quill this Detector becomes a one-chain Chain Detector. By adding another single Detector it will add another one-chain Chain Detector. To Create a Chain Detector You need to combine them before adding them to a Spell Part/Book and Quill. And when creating a Chain Detector, its important to know, that when combining two Detectors, the top one will be chained on the bottom one (or rather: The bottom Detector will be used first, then the top Detector). By combining a Detector and a Chain Detector (Detector in top slot), the Detector will be added at the end of the Chain Detector.
And finally, this is important: Once You added something onto something, there is no going back!
Outdated. So many things are changing/being reconsidered right now, it is too much work to change this list on every minor update. If you want to find out what something does, simply test it! Or put it in the Page Modifier. At one point in the future I will create a proper documentation for all Pages.
Only use the ones that are listed here! The others could bring horrible lag if used the wrong way! I will add them here and explain them once everything is ready for them!
Also: Only use a tick activation that ticks once per second unless the Effect requires another one!
Every Activation ID begins with "A":
A Right Click This Book: Activate a Spell Book by right clicking that exact Spell Book.
A Right Click Any Book: Activate a Spell Book by right clicking any Spell Book.
A Potion Effect Tick: Currently unused.
A Skillshot Tick: Called every second during a skillshots lifetime. The sender here is the position of the skillshot.
A Skillshot Impact: Called when a skillshot hits a target.
A Equipped Spell Book Tick: Called every second whilst holding a Spell Book (only sent to that Spell Book).
A Global Spell Book Tick: Called every second and sent to every Spell Book in Your inventory.
A Skillshot Tick (20x): Called every tick (20x/second) during a skillshots lifetime. The sender here is the position of the skillshot.
A Equipped Spell Book Tick (20x): Called every tick (20x/second) whilst holding a Spell Book (only sent to that Spell Book).
A Global Spell Book Tick: Called every tick (20x/second) and sent to every Spell Book in Your inventory.
A Equipped Spell Book Tick (Render): Called every frame whilst holding a Spell Book (only sent to that Spell Book).
Its a bit more advanced with Conditions since there are Owner Conditions, Sender Conditions and Target Conditions,
Owner Conditions begin with "CO",
Sender Conditions begin with "CS",
Target Conditions begin with "CT".
Every type of Condition is available in all three forms. In this list, we will use "C" as placeholder for "CO", "CS" and "CT":
C Target Type <X>: The Owner/Sender/Target must be a player (<X> = "P"), an animal or a mob (<X> = "L") or a block (<X> = "B") or one of multiple of these types (Example; CS Target Type BP: The Sender must be a block or a player.).
Every Detector begins with "D":
D Owner: The owner will be a target.
D Sender: The sender will be a target.
DL Range <X>: All mobs and animals within <X> blocks (Example; DL Range 35: All mobs and animals within 35 blocks.).
DP Dimension: All players in the same dimension as the sender.
D Look At: The player/mob or animal/block the sender is looking at.
D Skillshot Impact: The player/mob or animal/block hit by the skillshot.
Every Effect begins with "E":
E Cancel Event: Currently unused.
E Cooldown <X>: Sets the Spell Book on cooldown for <X> seconds (Example; E Cooldown 17: Sets the Spell Book on cooldown for 17 seconds.).
E Damage <X>: Inflicts <X> damage (1 damage = 1 half heart) (Example; E Damage 5: Inflicts 5 damage.).
E Consume: Destroys the Spell Book.
E Ignite <X>: Ignites the target for <X> seconds (infinite amount of time for blocks!) (Example; E Ignite 5: Ignites the target for 5 seconds.).
E <X>x Particle <Y>: Spawns <X> particles of type "<Y>" (Example; E 10x Particle lava: Spawns 10 particles of type "lava").
E Skillshot: Fires a skillshot containing all Spells of the Spell Book that contains this Effect.
E Freeze: Freezes rotation and motion of the target. Requires a 20x tick activation as well as a render tick activation.
E Motion Leap <X>: The target leaps forward to the direction it is moving to. <X> determines how far the target leaps.
E Look Leap <X>: The target leaps forward to the direction it is looking at. <X> determines how far the target leaps.
How To - Potions (WIP)
The mechanics are there and potions work perfectly. However, there is no way of creating them yet. You are also not able to add any spells to them yet.
There are potions without any spells in the creative tab already, tho.
TODO - Stuff You will see in the future
More Activation IDs, Conditions, Detectors and Effects
- A system that allows You to cancel certain events (like fall damage, healing, attacks, death, drowning, whatever)
Skillshots - Fire the spell as some sort of fireball DONE! I will add more tweaks tho (and a different texture)
- Add the spell to potions
(over time effects in general)
- More example Spell Books in the creative tab.
- Even more Activation IDs, Conditions, Detectors and Effects
Better way to create Spell Books
Some Final Words
I hope I could gain some interest in this mod. If not, well then I guess the interest is here once I start adding gifs of fireballs and teleportation magic and other stuff in here.
Anyways, I am looking for Ideas in general. How to obtain pages? What Pages do You think are missing to allow more different spells? Do you like the idea of this mod in general?