Introduction
THIS MOD IS STILL IN DEVELOPMENT. YOU CAN ONLY ACCESS IT IN CREATIVE MODE. YET IT MIGHT BREAK YOUR WORLD BY ADDING ITEMS THAT CRASH ON STARTUP. DO NOT USE THIS IN YOUR PRIMARY WORLD.
THIS DOESNT MEAN THAT THIS MOD WILL 100% BREAK ANYTHING. BUT THERE IS A SLIGHT CHANCE IT WILL; JUST BE CAREFUL PLEASE!
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).
The "System"
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 to everything (or rather: everything I added
so far).
A visualization:
How To - Startup
The first thing you need to obtain is the
Ancient Book. This item allows you to simply combine pages and books to create Spell Books. To to that you put an item on top, and it will get forged with the bottom. No button and no going back. Once there is an item in both slots and they can be combined, they will be combined immediately. You can also ruin your items if they somehow interfere with each other. So, be careful!
The GUI looks like this (for now, I will probably change the look):
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.>.
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!
Pages List
First of all, Pages are unnamed when obtaining them (unless you copy them). So you need to find out what they are and what they are doing by <not implemented yet. The only way to obtain them right now is via creative mode and they come in correct names already. Though you might need to check this site here to know what these names mean exactly.> Once you did that, there is no surprise for you (unless it contains random modifiers of course. Dont know what I am talking about? Read "How To - Crafting Theory"!).
Now the list (<X>, <Y>... are dynamic variables); <of course I will add a lot more stuff. I am just focusing on the core mechanic as of right now>
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!
Spoiler (click to hide)
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.
Spoiler (click to hide)
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.).
Spoiler (click to hide)
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.
Spoiler (click to hide)
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.
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)
- Example Spell Books in the creative tab.
I added a single skillshot so far hehe xd
- Even more Activation IDs, Conditions, Detectors and Effects
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?