myUltraWarps
This very efficient warp plugin has so many features that your head may just implode, and with THE FEATURE MATCH GUARUNTEE, if you find a warp-related feature that this plugin doesn't have, just tell me and I'll add it to the future features list! It's that easy!
My goal is to give you a warping plugin to ensure that you never need any other warping plugin ever again. With this plugin, you can do some much more than just warp. You can customize the messages for each warp that appear when someone warps to it or tries to and doesn't have permission. I'm a perfectionist and I use this plugin on my own Minecraft server, so you can be assured that this plugin works and it works well.
The full feature, command, permissions, and future features lists are linked to this page below. They're very long, but don't be intimidated. You don't have to read all of it. :P
features
^Click me to see all the cool features myUltraWarps has to offer. Remember: you don't have to read everything. It's a long, long list. :)
commands
^Click me to see all the cool commands you can use!
permissions
^Click me to see all the permission nodes this plugin has. Note that we have myultrawarps.user and myultrawarps.admin for easy setup!
the config.txt
^Click me to get help with the config.txt. It's not as complicated as it looks!
known bugs
Though you can teleport with vehicles, you can't teleport between worlds yet. That's CraftBukkit's fault. I would love it if you could help me convince CraftBukkit to fix this stupid bug! I have not been able to find any workarounds; I have tried everything and everything else. I tried reporting the bug, but they have been persistent in ignoring me for weeks now. They even marked my first report as "resolved" when it wasn't and I had to remake it. We need to force them to listen to us! Please help by going here, making an account, and posting a comment! I would really appreciate it!
future features
^There are even more features yet to come listed here!
source code
As per some users' request, I have published the full source code for myUltraWarps on GitHub. Click the heading above to go see it and/or download it for free. If you're one of those people who hates waiting for Bukkit to approve the newest version of myUltraWarps (and I don't blame you if you are), you can download the source code that will be updated immediately with every new released version, compile it using Eclipse or some other J.D.K., and replace the stuff inside the myUltraWarps.jar with the new source code. (Remember to update the plugin.yml, too!)
other plugins
myGuardDog
- Griefers can go find a different server to grief on.
myPluginWiki
- This is like the Minecraft Bukkit developer's Library of Congress.
donations
^I run a Minecraft server myself and it costs a good amount of money each month to have it hosted, so if you love this plugin, you can click the link above and donate to show your gratitude! Every cent helps!
my server
^I know that most of you here are Bukkit server admins yourselves, so you probably won't be interested in this, but I have a server. If you're interested, I put a link to our website here. Our server is hosted by FragNet and is up 24/7. It's a basic Survival freebuild server with a few basic plugin modifications. Building is vanilla, but everyone can warp freely (using myUltraWarps). I have written almost half of the plugins on the server and we're moving toward having all the plugins written by me. There are some plugins of mine on that server that aren't even on Bukkit yet. If you feel like visiting, please do! We love new people!
comments
If you have any opinions, ideas for new features, bugs to report, or anything else, pleeeeeeeeeeeeeeeeeease post a comment below! Also, if you feel inclined to be harsh, I won't take it personally. Feel free.
Have fun ultra-warping!
I've already made a note in bold at the top of the change log of myUltraWarps v5.1 concerning this, but clearly I need to restate it because people aren't reading the big bold writing next to the download button! What's in that change log that I want you to read and obey is STOP DOWNLOADING V5.1!!! To be honest, v5.1 SUCKS, okay?! v6 has more features, not a single bug of true consequence that is actually fixable (see known bugs above for details), and it's so much more efficient than v5.1 that despite it's amazing new features, it's actually smaller in size!
v6 is infinitely better than v5.1.
So I say again:
STOP DOWNLOADING V5.1!!!
That's all. Have fun ultra-warping. :)
@REALDrummer
I know exactly what you mean. The scheduler was a bit strange to figure out when I tried it. There are different types of scheduler tasks. http://wiki.bukkit.org/Scheduler_Programming
One that can run it once (the delayed task, probably what you want) and one that can have a delay and then repeat over and over again. You can also set them to use async but that can always lead to issues when things happen at the same time, or you try to use bukkit api calls that don't support it, etc.
Here is the one I used to make it do it one time if it helps: https://github.com/ty2u/FixFirstLogin/blob/master/src/me/ryvix/FixFirstLogin/FixFirstLoginListener.java
Also, you can make certain events check a variable with the time saved to it and compare the current time to that to see how long it has been but I usually use that for command cooldowns or something like that.
I like the sounds of the block command. Good idea!
School is probably more important than Minecraft, in some ways...
Life is definitely more important than Minecraft =) Unless of course you make a lot of money to survive from it.
@ryvix
I have been trying to work out something like that, but I have yet to fully understand the Bukkit scheduler, which is what you have to use to create timed actions like that (as you probably already know). It's not very straightforward. I'll probably figure it out, but lately, most of my work has been on myScribe (myChat renamed) and myZeus. This morning, I actually posted the source code that I have so far on those two new plugins on GitHub, but I have not published them to Bukkit yet. myScribe is getting there, but myZeus isn't even close to finished, so I wouldn't touch that yet.
I do want to put a timeout system on teleportation requests, though. That's already part of the plan. :) I think I can even combine the timeout system and the anti-spam system into one system. I'll just make the timeout period relatively short (a minute or so), but you will only be allowed to send one request to a player until that request times out. I'll also put in a command called /block [player/"everyone"] that allows players to just ignore all teleportation requests from certain players or from everyone. I'll even make it so that if someone replies "no" to a player's request two or three times in a row, it will ask something like "Hey, [player] seems to be bugging you a lot. Do you want me to just block their teleportation requests?"
That's the plan. Again, though, I don't know how soon that's going to happen concerning the other plugins I've been working on...not to mention school work and other things. Sometimes even I have trouble believing it, but I do have a life outside of Minecraft. Ha ha.
@zebillem
Lots of people have trouble with the config the first time. Usually the problem is they don't know that if you modify anything in the config manually (actually opening and modifying the config.txt file), once you're done, the plugin has no way of telling that the config has been modified. Therefore, it won't load your changes unless you use the command /myUltraWarps load ("the") config or /mUW load ("the") config to load your changes from file onto the server. Reloading the whole server doesn't work because when all the plugins are disabled, it saves the configuraions that are on the server to the file first, then loads from file, so your changes will be lost. You have to use that command if you change the config or your changes will be lost.
I also know the questions may seem a little confusing to some people, but they're actually very user-friendly and simple. Just answer them. They accept a variety of answers from "Yes." to "yeah" to "Hell no" to "nah." The lines below the questions that are slightly indented display the current status of that setting the question concerns. When you load the config after answering the questions, myUltraWarps will read your answers to the questions and change the settings accordingly. You still need to use /mUW load ("the") config when you're done answering them, though!
You can also modify some of the config settings straight from the server using a few commands. You can use /default ["warp"/"no warp"] ("message") ("for" "server"/"group:"[group]/[player]) [message] to change the default warp or no warp messages or /max warps ("for" "server"/"group:"[group]/[player]) [#] to set the maximum number of warps for the entire server, for certain permissions groups (if you have Vault), or for individual players. Non-admins can set their own default warp and no warp messages with the former command as well. By default, autosave is on for the config, so if you use these commands, it should automatically save your changes to the file. However, if you turn it off, make sure you use /mUW save ("the") config before you perform any modifications on the config file itself.
If I didn't answer your question, please leave another comment and I can try to help some other way. Thanks!
Hey, hope you are doing well!
Do /to requests time out eventually? If not I think it's a good idea to make them time out after a configurable amount of time or when one of the players goes offline. Maybe it does this in the background already but it might be good to send both players a message saying the request timed out or something =)
I've just put this plugin on our server - it works fantastically well. Thanks. I will let you know of bugs if we find any.
I'm struggling with the config though - setting the default messages, type of warp etc. Have you got a 'standard config' file or anything else I can use as a template?
thanks
@ohjays
Unfortunately, with the way Bukkit plugins have to be set up, I don't think there is a way. I may have an idea for an override like that, but there definitely is not one included in myUltraWarps v6.
However, /spawn and /home are very standard commands with very standard functions. I know myUltraWarps is overriding those commands, but if you have separate plugins for handling /spawn and /home, I would really suggest getting rid of them. myUltraWarps can handle those commands just fine. The other plugins with those commands would just be redundant. The point of myUltraWarps is to give people a warping plugin that works well and has every imaginable warp-related feature so that no one who uses myUltraWarps will ever have to use another warping plugin.
Even if you have a setup in which admins and ops can warp freely and regular users can only use /spawn and /home, you can do that just as easily with myUltraWarps. Just give regular users the permissions myultrawarps.home and myultrawarps.spawn only instead of the full myultrawarps.user. There's really no reason I can see for keeping other plugins that handle that stuff. I'd suggest just using myUltraWarps for that. You won't be disappointed.
Is there a way to disable internal commands ie the home,spawn commands ? as they are overriding other plugins im using was just looking for warps plugin to replace niftywarp , may have to retry it. thanks
@Remi_Scarlet
I don't mind you posting that at all, Remi. In fact, I appreciate you doing all that very much. Thanks. I still plan on adding a built in conversion feature to myUltraWarps, but thanks a lot for your help in the meantime!
Just a quick note, I finally got off my lazy bum and converted over all my CommandBook warps over to myUltraWarps using a pretty simple python script. If anyone wants it, the code is here http://pastie.org/4660921
If you have questions on how to use it, feel free to PM me.
(I hope you don't mind that I'm posting this, REALDrummer)
edit: Because I'm terrible at prioritizing life and time management, I quickly wrote up another version that will convert from NiftyWarp to myUltraWarps. However, you'll have to download sqlite3 from http://www.sqlite.org/download.html Make sure you download the correct version accordingly to your operating system. After you've done that, you'll HAVE to put sqlite3 in the SAME directory/folder as your python script. That being said, the link to the script is http://pastie.org/4661155
DISCLAIMER: I'm not sure how the homes work in either NiftyWarps or myUltraWarps as I currently use uHome for admin use and faction homes for my users, so I HAVE ABSOLUTELY NO IDEA IF NIFTYWARP HOMES WILL PROPERLY CONVERT TO MYULTRAWARPS HOMES, KEEP THAT IN MIND
Looking at the files for NiftyWarps, it appears that homes are just listed as "PRIVATE" with name "home" so I'm guessing that worst case scenario, your users can just use "/warp home" or something with myUltraWarps.
@McF4rtson
Well, I have some bad news. It turns out that the P.H.P. script I was thinking of was for Points, not NiftyWarp. There are two other options.
Your best option is to put myUltraWarps on your server at the same time, tell all your players to warp to each of their warps and create them again using the myUltraWarps commands. You can use /mUW create to create a warp for myUltraWarps and I think NiftyWarp has a command called /nwwarp to warp to a NiftyWarp warp. After a week or so to allow players to remake all their warps, delete NiftyWarp.
The other option is making a file called warps.txt in the myUltraWarps plugin data folder and manually type out all the data for all your NiftyWarp warps. This is what I did when I first put myUltraWarps on my server back when it was v0, but this method is a lot of work and I do not advise it.
Sorry I can't be more helpful right now.
@Remi_Scarlet
Ha ha. Yeah. Lots of Bukkit plugins are dependent on Vault. myUltraWarps isn't actually dependent on Vault. It's actually "soft dependent", so myUltraWarps will work just fine without Vault with just a few features rendered unusable (in this case any form of permissions group management). I'm going to continue that same trend with the other plugins I make. Thanks for your comment. That will definitely be in the next version.
Thanks for the quick response! I like the group idea. It'll work just as well. As for vault, I didn't realize any server with more than 10 plugins could run without it, lol.
@McF4rtson
You'll be happy you changed over from NiftyWarp. Anyway, I think I should add a feature that would allow you to put a NiftyWarp warp database into the plugin folder and it would automatically convert all the data for you since most people who get this plugin are changing over from NiftyWarp. However, before that happens, I need to figure out how to use database files in Java and stuff like that and thanks to the new CraftBukkit update, I can no longer run a server on my computer and log onto it without WiFi for plugin testing, so that will definitely take time. (Thanks, CraftBukkit! -_-)
For now, though, there's a guy who posts comments here often called "ryvix" who said he was able to write a P.H.P. script that can translate NiftyWarp data into myUltraWarps data. Try talking to him. I'm sure he can help. He's a cool guy. He may even just read this comment himself and talk to you, but I'll private message him for you in case he stopped his regular checks of this comment line.
@Remi_Scarlet
Yay! I'm glad you love the plugin. I also like that feature idea a lot. We already have a similar feature. As you may have read, you can add people to a "list" for specific warps that acts as both a blacklist (or ban list) for unrestricted warps and a whitelist for restricted warps. That means that if you don't have too many donators, you could just use /change donormarket list:donator1,donator2,etc. to allow them to use the warp.
However, I know that that would be annoying because you have to list them all manually plus you have to remember to list new people or unlist people who no longer donate, so how about this: I'll add the ability to put group names in brackets when listing people to add who groups to the warp lists. Then, you'll be able to use /change donormarket list:[donators] and it will allow all donators to use the warp and track all those changes for you. Sound good? By the way, I already know that this is going to be one of the features that will not work without Vault, so make sure you get Vault if you don't already have it.
Just a question. I used to use NiftyWarp, and it's been recently causing problems since it is outdated. How can I transfer the warps from NiftyWarp to this plugin?
Absolutely LOVE this plugin, but I've got one feature request.
Could you add permissions nodes for SPECIFIC warps? Eg, If I have a warp called "market" and "donormarket" and I only want people with donator status to have access to "donormarket", I want to be able to add a permission node like "myultrawarps.warp.donormarket" or something of the sort.
Otherwise, love the plugin!
Other than one gender-specific typo in the /to request message system, myUltraWarps v6 seems to be bug-free! If you have any bugs to report at all, major or minor, feel free to post them here and I will work them out. However, I will not be working on myUltraWarps much for a while because I have two other new and exciting plugins coming soon. There are a bunch of plugins I want to make and when I'm done, my final plugin will be a conglomeration of all of them called myCraft (so my server called "myCraft" will have only one master plugin called "myCraft"). There are a few things I need to work out with the Bukkit scheduler before I can do some of the ones I want, but these are the two newest plugins that will be coming soon:
myChat
(I am going to rename myChat before I release it because "myChat" is just a boring name).
myChat will be like myUltraWarps...a kind of plugin to rule all plugins of its kind and to have every feature of every plugin of its kind plus many, many more that I come up with. It will be a chat plugin (duh) and it will be amazing. I think myChat will probably become my favorite plugin. You'll want it. Trust me.
myZeus
myZeus will be a small, very simple plugin (at least compared to myUltraWarps and the other plugins I'll make) that will allow admins to control the weather. Not only will you be able to make rain or thunder go away or even set it so that it never rains, but you will truly have the powers of Zeus, the Greek god of the sky, in Minecraft. You will be able to change the weather with commands or with your emotions (emoticons), use commands to strike your foes with lightning, and even set an item of your choosing as a tool that will create great bolts of lightning when you left-click with it in your hand. It will be nice.
@UbuntuFreak
Sure. Have fun ultra-warping.
Thank you so much for this plugin and even more for the new version! :)