GeometricMagic Reloaded
Note: cakenggt is the original developer of this plugin. However, he discontinued development of this project, so I am continuing it for him.
This plugin contains optional Vault integration. If you want to use the Vault transmutation system instead of the XP system, you need to set the value of transmutation.cost in the config file to 'vault'. Along with Vault, you will also need a Vault-compatible economy plugin.
Geometric Magic
GeometricMagic adds the functionality of Geometric Magic, like that shown in Fullmetal Alchemist and more. Through redstone designs on the ground, one can do wondrous things such as teleport, transmute blocks, and build grand sculptures with little to no effort.
Features
- Transmutation (change blocks of one type into another with energy costs, or magnify a small template)
- Teleportation (works better if the player actually puts time into calculating where they want to end up)
- Set-Circles (circles with a specific purpose which can be activated remotely through Alkahestry)
- Philosopher's Stone (an item that will magnify your alchemical power, the construction of which comes with a terrible price)
- Storage (store up to 1225 blocks in a file for later use)
Permissions
v2.4 and onwards contains new permissions! However, by default you do not need to set any permissions up. The only reason why you would need to set permissions up would be if you wanted to restrict access to standard features to certain groups/players, or if you wanted to allow some groups/players to use transmutation circles larger than the default size of 1.
Permission | Effect(s) | Default value |
geometricmagic.* | Gives full access to the plugin | OP |
geometricmagic.standard | Gives standard access to the plugin | True |
geometricmagic.teleportation | Gives access to the teleportation circle | True |
geometricmagic.micro | Gives access to the micro circle | True |
geometricmagic.transmutation.* | Gives access to all sizes of transmutation circles | OP |
geometricmagic.transmutation.<Odd # from 1-9> | Gives access to size (x) transmutation circles | 1: True, Other: OP |
geometricmagic.storage.* | Gives access to all sizes of storage circles | True |
geometricmagic.storage.<Odd # from 1-9> | Gives access to size (x) storage circles | True |
geometricmagic.set | Gives access to all set circles and /setcircle | True |
geometricmagic.set.* | Gives access to all set circles | True |
geometricmagic.bypass.* | Gives access to all bypasses | OP |
geometricmagic.bypass.cooldown | Allows bypassing of cooldowns | OP |
geometricmagic.bypass.crafting | Allows bypassing of crafting restriction | OP |
geometricmagic.bypass.hunger | Allows bypassing of hunger costs | OP |
geometricmagic.bypass.sacrifice | Allows bypassing of loss of alchemical abilities | OP |
geometricmagic.command.setcircle | Gives access to /setcircle | True |
geometricmagic.command.circles | Gives access to /circles | True |
geometricmagic.command.geometricmagic | Gives access to /geometricmagic | True |
geometricmagic.command.geometricmagic.reload | Gives access to /geometricmagic reload | OP |
TL;DR: By default, you shouldn't have to change any permissions. If you want to completely prevent a user from using any features in this plugin, set geometricmagic.standard to false. If you want to give a user full access to this plugin, including all sizes of transmutation circles and the /geometricmagic reload command, set geometricmagic.* to true.
Commands
There are 3 commands included in this plugin:
- /setcircle #### - Binds set circle #### for use when right clicking with flint. 0 resets
- /circles - Displays a list of set circles
- /geometricmagic [reload] - Displays plugin help or executes given sub-command (Only sub-command is reload at the moment, which reloads the plugin's config file
Creation
Bug Reports
Please post these on GitHub. Please provide (at minimum) the following information:
- What the most likely cause of the issue was (such as what you were doing at the time)
- Any errors displayed in the console (Please use pastie.org for these!)
- The version numbers of the plugin and of Craftbukkit (Don't say 'latest'!)
- Any additional information you can provide, such as potentially conflicting plugins
To-Do
- Balance changes
- Leveling system
- Multiple people required for some advanced circles
- More than just flint for linking circles to items
- Add command to list learnt circles
- Add circles that are harder to learn
- Limit amount of souls that can be used
- Configuration option for disabling villagers dropping souls
- Prevent player soul farming
- Third system for stored alchemy value: alchemy points
- Cooldown on lightning to prevent spam
- More configuration for souls
- Name items (fire could be called 'soul')
- Other circle designs
- More circles with varying effects (suggestions please?)
Contributors
- cakenggt (BukkitDev, GitHub) - Original plugin
- ryvix (BukkitDev) / ty2u (GitHub) - Code contributions
- Goldkoron (BukkitDev) - Video
Servers using GeometricMagic
Please notify me via PM if you want your server to be listed here, making sure to list the server's name and the IP.
Note: Geometric Magic implements a notification system for updates, and in versions newer than 2.8.5 can be disabled by changing autoNotify in the config to false.
Geometric Magic also collects anonymous statistics via PluginMetrics, data of which can be found here. This can be disabled by setting opt-out to true in 'plugins/PluginMetrics/config.yml'.
@Goldkoron
Great, thanks. I'll do that.
http://www.youtube.com/watch?v=p5wlYgsFbYk&feature=youtu.be
Video link, still uploading though but you can put that here when its done.
Okay, made a 25 minute video which shows most features, will be uploaded within an hour or 2
@Hoot215
Give me a little bit to remember how to use the plugin =D
@Goldkoron
Sure! That'd be awesome, thanks.
Hey Hoot, could I create a video to show off this plugin and you link to it on this page?
@ryvix
Yes, it is possible to "simulate" a block event to check whether or not it is actually possible. You would not have to make an individual link into each of the protection plugins.
In response to your example, yes, it currently would allow Player B to use Player A's redstone circle without permission. I'll see if I can change that when I have time for development.
And also, yes, I will be doing this for transmutation as well, to make sure that the player has build permissions in the area. Additionally, I have a fairly big idea planned on how to do large transmutations without lag, but it might take a while to code.
Thanks for fixing all of those bugs and such. I'll start development again once you put the changes on GitHub, if possible.
@Hoot215
I should hopefully have some time today to work on it.
Do you mean it should be possible to test if a block can be placed somewhere and support the protection plugins like WorldGuard, Towny and Grief Prevention, etc? Or would it be necessary to code in functionality for every one of those plugins?
Because I was thinking it should also take into account things such as connecting redstone for the teleportation, where blocks are allowed to be replaced when doing transmutations, the fire circle placing, and things like that. Those should only be allowed to happen in areas where the player can actually build and/or destroy.
An example with the redstone connection on the teleportation which I haven't tested so maybe it wouldn't work like this anyway, but, if Player A has their own protected plot but doesn't have permissions to use the teleportation circle, and they have a string of redstone leading to the edge of their plot, or even into the wilderness for some reason, and Player B comes along and connects their teleportation redstone to Player A's redstone, will it destroy Player A's redstone?
With the transmutation circle, it should only replace blocks on areas they have permissions for, possibly taking into account build permissions as well as destroy permissions before replacing one block type with another.
These are the things I wanted to set up still on my server at least and was planning to do them somehow or another. I don't know if that's what you meant by block break/place simulation but I will figure out github later and see if I can get it there and you can take whatever you like from it.
I also added in the ability to use item subtypes, such as different wool, leaves, stone bricks, etc. and I think probably fixed a couple bugs and some other things I am forgetting. I will make a list of all the changes I made and document them in the code and in a changelog file to make it easier.
@ryvix
Sure, that's fine.
If you just wanted finished up what you've already started, I could probably do the block break/place simulation for integration with WorldGuard and such, and put out another official release ASAP. Thanks again for doing this, although I know you didn't do it for me. I don't have much development time as it is.
@ryvix
Any way I could try out your version? I'm looking to put this on my server and really like the vault support.
@Hoot215
This is my (Sacredox) other account which I use now. I haven't used Git too much yet but have been meaning to learn so I can give it a shot when I get a chance.
I was going to finish the transmute permissions and let my players test it a bit and before I published anything.
I also ripped the code out that was dropping items instead of amounts of exp. I also made it so you can't transmute mob spawners and probably did some other things. I also want to make it check to make sure it isn't doing things where it doesn't have permission, such as protected blocks such as with World Guard, Towny, Grief Prevention, etc.
@Sacredox That sounds cool. Do you think that you could publish the source on GitHub so that I can pull those changes into the official release?
@Anevarez I will definitely be changing this page a lot soon, and when I do so, I will also be listing the changes that I have added.
Awesome =) I have been playing around with this plugin myself yesterday. I added Vault support for transactions, rather than using exp. And I was on the way to adding permissions to the size of transmutation circles. I just have it limiting the size to 1 for now. I probably did some other things I forget. Defintely a nice plugin to keep around =)
Thank you for releasing this since the plugin can go far through its implementation of new circles, and it was such a shame when cake discontinued it.