Incantatio - A new take on incorporating magic into Minecraft. Version: 1.2.2 So, I just spent all of today porting and polishing a plugin I made in python for eventscripts into a genuine .jar plugin for Bukkit! Allow me to introduce Incantatio! What is Incantatio? Well, there can never be enough unique ideas for magic in Minecraft, right? Wrong! There are already too many, so drop whatever other plugins you're using for magic and use this one! It's got cookies! Well, not quite. Incantatio is a plugin that requires players to actually fully type out a spell to use it. It's based more on the ideas of magic in Harry Potter or Buffy or other AWESOME things than on the idea of MMO magic. See, this plugin doesn't make it so you press Q to use Fireball or jump three times to teleport home. That's for illiterate people! So how does it work? With Latin of course! Everyone knows Latin sounds all exotic and powerful and mysterious, and it turns out once you put this plugin into your server, it too will know to bend to the will of Latin! For example, I want light. But I don't want to use torches, I want to use MAGIC! So, I look at a block that I'd like light from and utter the word "lux". Lo and behold, the powers of LATIN make the block under your cross-hair turn into a Glowstone Block! Features: There are many spells - 31 actually, and increasing - that can be cast. These are the spells that you're probably going to use most often, and they're a good deal of fun. "Salio" - 'hop': Turns out there isn't a Latin word for 'teleport'. Who'd've guessed? Luckily, 'hop' does the trick and teleports you to the block your block could smell like - I mean the block before the block you have targeted. Caution: you can use it to get yourself nice and stuck or dead. Or both. Try not to aim at the sky when using it. "Respiro" - 'breathe': OK, so you didn't aim for the sky. But you've managed get your face stuck in a stone block. Kudos, I honestly wasn't expecting that. Well, lucky for you there's this nifty spell called "respiro" which changes the block your FACE is at into air. Yay breathing! No, I don't pretend to know how you can possibly say "respiro" when you're chocking on solid stone. Yes, you can use this underwater for a breath, but who would want to do that? "Mutatio" - 'mutate': Are you being chased by a Creeper? Wow, that's impressive, considering you're reading this at the same time. Kudos! There are a great number of ways to fix this Creeper problem (I recommend "fulmen" for example), but if you're looking for one that'll let you make it out alive, use this spell. It'll morph bad creatures in an area around your cross-hair into harmless, fun ones! "Vello" - 'pull': Now that your Creeper is a fluffy chicken, let's have some (humane) fun, shall we? Use this spell and it'll fling any creature around your cross-hair towards you! Careful, if you use this too close to yourself, it'll affect you too! "Urgeo" - 'push': Or maybe you want a different way to deal with that Creeper issue, and you're being MANLY about it and still reading while it's chasing you. Well you should screw with it with this spell! It's the opposite of "vello", and it pushes creatures near your cross-hair away from you. Spiffy! As with the previous spell, this one will affect you if you aim it too close to yourself. But you don't care, you're a MAN! "Lux" - 'light': A great example, and an awesome LoL champion, this spell simply places a glowstone block at the location you're looking at. Very pretty and efficient way of getting light. "Ignis perpetua" - 'perpetual flame': You're never satisfied, are you? "Lux" isn't good enough, you need something more ominous. Fine, this spell here sets down a netherrack block and sets it on fire. Please, look down at your feet when you do this. And when you 'accidentally' catch yourself on fire, don't look at me. "Extinguere" - 'extinguish': Are you on fire? Is there no water nearby? Do you not feel like creating a bubble of water with magic and would rather just STOP being on fire anymore? Then this spell is for you, just use it and you will be no longer on fire! Just remember: stop, drop and roll is for the illiterate type, you have WORDS! "Remedium" - 'heal': So, you're no longer on fire, right? Fu----antastic! Then I suppose you'll be wanting a heal and there aren't pigs around for you to slaughter (murderer). If you have a book in your hand, this spell will consume it and instantly heal you to full! If you don't (illiterate heathen), this nifty little word will heal you for half a heart every second, provided you stay relatively still. Use only if you don't care about the quality of the hearts, as we offer no guarantee that they didn't come from orphans. Monster. "Accendit" - 'enflame': Remember how you may or may not have set yourself on fire? You should look at the ground and use this. Really, nothing could go wrong. Except flames engulfing the area around your cursor. "Praemium" - 'explode': Have you had enough dying yet? If not, I dare you to take a book in your hand and use this spell. If you do, the book will be consumed and the block you're looking at will instantly explode very forcefully. If you don't have a book, it'll instead place a primed TNT block where you're looking at. Nice, isn't it? Now run from the primed TNT. "Fulmen" - 'lightning': Makes the sky incredibly angry at your cross-hair so that it sends down an inordinate amount of charged particles down there faster than the speed of sound! Also known as lightning. This becomes especially powerful if you have a book in your hand. "Frigidus" - 'freeze': So Jesus lifted up a stick and parted some lame sea, right? Well it'd have been way COOLER if he had used this spell. It freezes all water in a sphere around your targeted block. Additionally, it coats the area and snow and freezes all lava into obsidian. Cool, right? "Concalesco" - 'thaw': OK, so you don't have to get twitchy at those puns. Just use "concalesco" and the area you've targeted will thaw out. Except the obsidian - that's gonna stay that way forever. "Sereno" - 'calm/sunny': Rain sounds lovely and all, but sometimes you'd just like some peace. This spell requires a reagent - a book - in your hand in order for it to work. It will clear all the weather for you so you can be anti-social in the sun instead of the rain! "Pluvia" - 'rain': And then there are those that actually want the rain. Maybe you're dealing with an above ground lava pool or combating a forest fire and changing the weather is your best bet. This spell also requires a reagent (book), but think of the trees you might save! "Tempestas" - 'storm': Rain not good enough for you? Well this spell will create a storm for the cost of 1 book in your hand. Of course, there's no telling how long the storm will last, but you don't care do you? You just want your thunder. "Noctem" - 'night': You're the adventurous type. You want to go caving, fight for your life, then come out to the SUN? How inconvenient, you can't prove your manhood when all of the baddies above ground are dead thanks to not wearing sunscreen. Instead of crying EXTREMELY heterosexual tears at the lack of blood you get to shed, use "Noctem". It'll cost a book, but that pesky sun will be on the horizon and getting lower, making the night YOURS for the picking. "Lucem" - 'day': Or maybe you've had enough picking of the night. I mean, there's only so many times you almost die to a creeper before you decide to call it a day. Literally. Just utter the word and a book in your hand will be consumed to give rise to day - precious, safe, manly day. "Implete aquas" - 'replenish water': So, if you're using the PROPER amount of magic, your world should start showing signs of unseemly holes from 'accidentally' disintegrating large sections of water. This nifty spell will fill in all the water in a small plane at sea level where you're looking. Basically, it's to un-disintegrate (not to be confused with integrate, which will be on the test later) that water you may have destroyed. "Itero" - 'repeat': Did you just cast "magna sphaera aeris augere vi" and don't feel like typing all that out again? Well, if you use "itero", it behaves as if you repeated the last thing you said, be it a spell or not. This will be used A LOT. "Tueri" - 'protect': Do you have this sinking feeling in your stomach? Is it because you're about to fall to your doom? No? Did you just use "praemium" when someone entombed you? Ah, yeah, that'll do it. Too bad you're screwed. Nothing could possibly save you. OK fine, I'll be honest. You aren't dead yet? Arg, was hoping to stall. "Tueri" prevents the next source of damage you take, regardless of source or amount of damage. You can't use "itero" on this spell, but I'm not sure why you'd want to... it's the same number of syllables and keystrokes. "Domus" - 'home': Was this experience a bit much for you? If you're going to chicken out like a little girl, then you might as well do it with magic. This spell will consume a book in your hand and teleport you to your world's spawn point. You're welcome. Wimp. These spells each have selectable components/materials for a wide variety of use. They're pretty nifty. For example: "bulla vitrea" will create a bubble ("bulla") of glass ("vitrea") around you. Here is the full list of components: "aquae" - 'water' "aeris" - 'air' "vitrea" - 'glass' "glacies" - 'ice' "aranea" - 'web' <- Removed until further notice "folia" - 'leaves' "silice" - 'lava' "ignis" - 'fire' Note: not *every* spell listed here can be used with all of these components. For instance, "silice" can only be used in conjunction with "evanescere" or "uanescere". But for the most part, all spells below can use these components. "Evanescere" - 'disintegrate': Well you just trapped yourself using "tholus aranea", didn't you? I swear, the ideas some people think are good... Well lucky for you, "evanescere aranea" will fix your problem - it'll disintegrate all of the web around you in a large hemisphere. There, now you can escape, even though I REALLY wanted to see you slowly crawl your way out. "Uanescere" - 'vanish': "Evanescere" is great and all, but sometimes you really want to be a jerk at a distance. "Uansecere" works nearly identically to "evanescere" except its centred around your cross-hair, its effect is a full sphere, and it has a smaller radius. The following spells are meant to merely replace air in their affected areas with the component of your choice. "Libyes" is an exception to this, but I can't move it for fear of disrupting the space-time continuum. There are occasions where you'd like these spells to replace more than just air, and for that there is an augment. If you append "augere vi" to the end of these spells, it'll replace every non-bedrock block in its area of effect to the component of your choice. For instance, if you're on a flat plane of grass and you cast "sphaera vitrea", it'll only fill in everything above the grass. If, however, you used "sphaera vitrea augere vi", then it would replace everything with glass save the safe zone in the centre. "Bulla" - 'bubble': By bubble here, we mean a bubble that is one block thick at a certain radius away from you. Really spiffy for making shelters on the fly from those pesky skeletons and their arrows. "Sphaera" - 'sphere': This'll create a nice sphere of your component, with a safe zone in the middle so you don't suffocate yourself or anything. I mean, we're not *that* mean! "Libyes" - 'entomb': OK so maybe we are that mean. This spell will entomb the area around the block you're looking at with the component of your choice. Granted, it won't actually suffocate them. It is, however, incredibly obnoxious and hilarious to use right before someone presses enter on their "praemium" spell. Oh... good times. *Note, this cannot be augmented with force. "Tholus" - 'hemisphere': This is identical to "sphaera" except it doesn't affect blocks below you. "Annulus" - 'ring': Creates a spiffy ring of a component of a predetermined height around you. Nice if you want to make something like a circular structure with no roof. Well who needs a roof when you can control the weather? Oh, and blow up spiders, that's important too. "Murus" - 'wall': This spell uses MATHS to do strange things. It makes a wall (of a component) that is a plane whose normal vector is parallel to the x and z components of your eye's directional vector. Basically, it makes a wall. That's "it" for the spells! Boy, that's a lot to remember. Actually, there's more to remember. Every spell except world altering ones, "itero" and "tueri" can be further augmented to be cast silently. If you append "augere silentium" to a spell, its effect will go through but it will not broadcast to other players. You know, if you want to be sneaky. Keep in mind that a spell can only be augmented once per cast, so you can't use something like "magna sphaera aeris augere vi augere silentium" or any other combination. ONE MORE THING: A good deal of these spells can be *further* augmented with the prefix "magna" ('large') or "parva" ('small'). If you use "magna frigidus" it'll freeze a larger area than "frigidus" which freezes a larger area than "parva frigidus". Not all spells are affected by "magna"/"parva", but even if they aren't affected by it, they'll still work (so "magna lux" has no greater effect, but still functions as "lux" does). OK, that's actually it, for now. Try dueling someone with it, it's pretty wonderful. It's a contest of knowledge and cleverness, instead of how fast you can press certain keys. Well, OK, typing speed is really useful, but still. The power of an individual lies not within intangible levels, but within (intangible) memory and experience. It's pretty cool. Since version 1.2.1, this plugin now has a configuration file and permissions compatibility! It is highly recommended that you use the .config file included in the links below, as it's not a pain to read. The .config file goes in the folder with the server (AKA the .bat/.sh file you run your server with). Details are below: The configuration file should be pretty self-explanatory. Unfortunately, I haven't yet found a way to have Java create a configuration file in a neat, ordered fashion, which is why I've included a properly pretty-fied one in the .zip. Here are the options: <spell>_enabled - whether or not the spell is enabled by the server <spell>_consumes_book - whether or not the spell consumes a book upon casting <spell>_<component> - can this component be used with this spell <spell>_magna_parva - can this spell be augmented with "magna" or "parva" <spell>_book_augment - can this spell be made more powerful with a book consumed <spell>_can_augere_vi - is this spell allowed to be made forceful with this augment On top of these options, there are two more general options: instant_spells - do spells make their effects instantly, or take some time all_spells_require_book - do you need to have a book in your hand to cast spells (it won't necessarily be consumed) Finally, there's the "version" option. DO NOT EDIT THIS LINE. If you do, Incantatio will detect that it's out of date and will re-create the .config file. While this will preserve all of your settings, it will make your configuration file a pain to sort through and read! Note: All options in the .config file take precedence over the permissions setting. If you have "salio" disabled in the configuration file but admins have the permission "salio.allow", they will NOT be able to cast salio. So, this is now compatible with permissions. If you have dealt with permissions, you're aware that it's a bit of a pain to go through and add all 31 of these spells to your permissions file. This is why I have attached this section of code - this is proper formatting (12 spaces before the -) of each spell for your permissions file. As such, you can (instead of typing each spell every time) just copy and paste the ones you want where you want them. Code: - remedium.allow - vello.allow - urgeo.allow - mutatio.allow - domus.allow - fulmen.allow - sereno.allow - tempestas.allow - pluvia.allow - noctem.allow - lucem.allow - extinguere.allow - implete_aquas.allow - uanescere.allow - evanescere.allow - concalesco.allow - frigidus.allow - respiro.allow - ignis_perpetua.allow - salio.allow - lux.allow - accendit.allow - praemium.allow - libyes.allow - murus.allow - annulus.allow - tholus.allow - sphaera.allow - bulla.allow - tueri.allow - itero.allow Behind the scenes: This is a simple .jar plugin for Bukkit. I hope to keep it updated and would love your feedback. I'm posting this at 4AM after learning Java today to port the code over. I'm kind of REALLY liking Java for Minecraft modding, much more robust than Python was. But that's for another time. This plugin adds no new blocks or items, so it won't break your server if you drop it for some reason. Unlisted modifications are more for aesthetics, but ice breaking does not turn it into water. The only thing this plugin allows you an infinite supply of is water - but that's easy enough to get without mods. Obviously, this would give an incredible tool to griefers, so I suggest you don't use it in any public setting where you don't trust someone. Note: every spell is case INsensitive. So "Frigidus" == "frigidus" == "fRIgDus". 7/5 (v1.2.3) Removed threading, unfortunately. This means instant_spells option no longer functions. Remedium now heals 3 hearts on each cast again. Fulmen looks less cool again Annoying bug that was happening (probably due to improper threading) has been fixed. Spells that create blocks now function 100% of the time again. Supposedly. Eventually, when I'm not tired of looking at code, I'll re-incorporate many of these features. But for now, I just want a working version! 7/1 (v1.2.2) Fixed "fulmen" so that it does work without a book. Fixed opposite day where magna and parva wouldn't work unless you set them to "false" in the config file. 6/30 (v1.2.1) Added a configuration file - "Incantatio.config"! If you have no configuration file (and I highly recommend you use the one included with the .zip), it'll create a fresh one for you! There are many customizable options, just fool around if you'd like. Added compatibility with Permissions! If you do not have the permissions plugin, then Incantatio will give all players permission to cast all spells. Permissions are given by "-<spellname>.allow". If a spell has more than one word, and it's not a component, it's separated by an underscore (e.g. "-lux.allow", "-uanescere.allow", "ignis_perpetua.allow", etc). Praemium now functions properly everywhere, and spawns a genuine primed TNT block instead of some work-around. Fulmen's augmented effect with a book has been changed slightly to look cooler. Many spells now have visual cues. You'll see what I mean when you "uanescere" a wall of glass. Version numbering has changed to x.x.x. 6/22 (v1.1) Added "domus" - 'home': Consumes a book in your hand to teleport you to this world's spawn location. Added "mutatio" - 'change': Transforms all mean creatures in a radius from your cross-hair to harmless animals. Added "vello" - 'pull': Will telekinetically pull all creatures near your cursor towards you. Added "urgeo" - 'push': The opposite of 'pull'. Go figure. -Brings the current total of spells to 31. Accendit can now be modified by magna/parva. Remedium now heals 0.5 hearts a second so long as you stay still. If you use a book, it'll instantly heal you to full. Lux, ignis perpetua and praemium now modify the block *before* the block you're looking at, so it should no longer replace blocks. Praemium now creates already primed TNT, removing the need for fire above it and allowing it to work in water. If using Fulmen with a book in hand, the book will be consumed and the effect will also randomly dot an area around your cursor. Removed the component "aranea" from spells. Spiderwebs now cause suffocation and are unaffected by "respiro" somehow, so it was very unbalanced to have. 6/18 (v1.0) Posted Future goals/Known bugs: Make a barrage spell that creates arrows or something from above and flings them downwards. Create a spell that'll increase movement speed and remove falling damage for a while. Think of more spells - suggestions welcome! Download (v1.2.3) Mediafire: Plugin Mediafire: Config file (not absolutely needed but is really nice) Github link coming when I can get to my desktop. Edit: Firstly, have no fear. I will be posting pics and/or a video soon. I just figured I'd get this plugin out there. Secondly, I'm aware this is not quite Latin. I've ignored to proper changing of words based on genders, but I've done it for a reason. This is based more off Latin keywords as opposed to Latin sentences. "Magna frigidus" is technically incorrect Latin (so I'm told), but I don't want my users to legitimately have to learn Latin to be able to use this plugin. Plus, I have no idea how to properly say "large bubble of glass, augment silence". Thirdly, yes, it's a lot of spells. Treat it more as you would Runecraft, where you have the guide right next to you as you play and you pick and choose what you want until you get proficient enough you don't need the guide. I promise it's more intuitive than you'd think! Donate - Paypal I DO NOT NEED YOUR MONEY. I am not asking for it, I promise. I was just genuinely curious how to even do a "donate" button, and I wonder how effective these things are. I am *not* a poor soul, I do *not* expect any more compensation than feedback and downloads. Just felt like putting that out there, more of a science experiment than anything. Edit: Omnicrash has created a variant of Incantatio 1.1 that's vastly different and in a lot of ways more balanced. Check it out here if you're interested.