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!
@REALDrummer
I am a system administrator as well as a web developer and experienced programmer of many languages. I have it on a nice dedicated Linux server and I use Linux as my desktop as well and don't even have windows installed, but I do like WinSCP, nice app. So all that being said, I can say confidiently that the file is definitely there while the server is running with an unmodified mUW 7.3. However, perhaps it could have been because of that error which randomly shows on startup. Maybe it removes the file when the error doesn't happen but fails to remove it when the error does happen. Maybe it kicks out of running the rest of the code when it happens. I haven't tested. I also found a warp from an old deleted world and removed that but the error on startup still appears to happen anyway, randomly.
That does sound pretty cool for the telportation system to queue requests. Though it would still be cool if a player sends a teleport request to someone it should detect that and stop them from sending additional teleport requests to prevent people from being spammed.
@ryvix
That's odd. I've never seen that before. Well, with remote file control programs like WinSCP and FileZilla, I've found that it never recognizes that deleted file unless you refresh. If that's not it, as long as it's not causing any errors to pop up in the console, I wouldn't worry about it. It's probably a miscommunication between your computer and the server host's computer. (I'm assuming you use server hosting like most servers, especially ones as big as yours.)
Concerning the teleportation request system, that's very similar to what I was thinking with a few minor differences. I'd probably make the timeout less than 60 seconds, at least by default; a full minute is a long time. Also, I wouldn't make it so that someone can only receive one request at a time. However, maybe when someone gets a new request and they have another already waiting, it will tell them "[player 1] and [player 2] want to teleport to you. Is it okay if [player 1] teleports to you?", then after they answer, it asks "Is it okay if [player 2] teleport to you?" Does that sound cool?
@REALDrummer
Hmm, interesting. The server is up and running but the file is there. However if I try to open the file it complains about UTF-8 encoding and I can see a couple strange characters below a few lines near the end of the file. I will send you a PM with the link.
@REALDrummer
What if the player can only send one TP request at a time and they time out after a configurable amount of time, like 60 seconds or something.
I have actually been rewriting this plugin and making it the way I want. But it really will be nothing like the original and I don't plan to release it or anything. Just to use on my server. I don't see it being of much use to you in helping with this plugin since its nearly unrecognizable and won't be able to merge changes, etc. But I am definitely adding MySQL support and tweaking and removing various things I don't use. I could share it with you if you like whenever it's done and you could take whatever you like from it.
@ryvix
I am making progress, but it's been halted the last few days because I have school work. The first round of essays and tests are coming up. Also, my plugin work has been on myGuardDog lately because unfortunately that's the real problem on my server right now. It's our only good protection plugin since most people are too lazy to zone their houses even though we have a zoning plugin and it has a few serious issues. It just gets so complicated when you have a plugin that has to handle that much data.
Anyway, that would probably be an option I could look into. Again, the Bukkit command system isn't that smart, so being able to configure the commands for rejection and acceptance might be tricky, but it's possible as long as Bukkit doesn't mind me making those commands absolutely dominant using the CommandPreProcessEvent. I've actually considered completely dropping the onCommand() method and just running everything through the CommandPreProcessEvent. Then, I might even be able to configure something that would allow you to choose which commands in myUltraWarps are dominant and which are "recessive" as I like to call it (being a microbiology major :P). At the very least, I could make all myUltraWarps commands dominant. We'll see.
Also, right now I'm planning things that will hopefully ease that teleportation accept process. Not only do I want to make requests time out, but I want to make little reminders pop up before the timeout. I also want to make it so that after someone sends a request, the player receiving the request can't accept the request for two seconds or so after the request was sent. This should help stop that problem you mentioned with people trying to say "Yes" to answer a question in the chat and accidentally accepting a teleportation request that was sent right when they hit Enter.
I know progress has been slow. I've been swamped. However, I am starting to branch out and look for people who know Java to work with on all these plugins. Trying to do all of this by myself is just not working.
Heck, maybe I should start searching around on Bukkit for people interested in Java. Yeah. I think I'm gonna go make a post about that now. Hopefully new people will get things moving again while I'm busy.
@kyrosiakio46
Ah. That's a tricky one. myUltraWarps uses a .txt file to save its warps, which is unique, so there's probably not a good way to do that. Sorry. I feel your pain, though. I had to transfer 235 warps into myUltraWarps format when I first made this plugin.
My best advice is this: Put myUltraWarps on your server, but keep Essentials warping on, too. Almost any plugin has unique aliases to all their commands, so you can just tell everyone they have a certain amount of time - maybe a week or so - to go to all the Essentials warps they have that they want to keep and just make a new warp there with myUltraWarps. That will allow everyone to copy their own warps into myUltraWarps. Then, after the time is up, you can turn off Essentials warping and myUltraWarps has copies of all the important Essentials warps.
I want to add code to allow myUltraWarps to read and bring in warp data from other plugins some time, but right now, it doesn't have that. Sorry. Still, the procedure I suggested above works well for most people.
@ryvix
Sorry about the delay. School work is taking up most of my time right now.
I think that was an error in an earlier version, but it should be fixed now. It was a problem with the way myUltraWarps saved the temporary data. If it's still giving you that error, though, could you send me your temp.txt file so I can see what's going on? I'm not getting that error in my tests, so unfortunately, I can't investigate it without seeing yours. The only tricky part is that the temp.txt only appears when myUltraWarps is disabled. When myUltraWarps is enabled, it reads the data from the temp.txt, then deletes the file.
Hope everything is going well and you are making progress somewhere, even if it's with other plugins =) Can you please add an option to use commands to say yes or no? And possibly allow to configure the command used because I already have /accept and /yes commands on this server. Players are still complaining that they are getting teleport requests in the middle of typing stuff and people are coming and bugging them and they don't like it much at all.
Is there a way to upload my warps i have already with Essentials? I have over 75 and it would be a huge pain to have to re make them all >.<
@REALDrummer
Sounds good. Well I haven't yet tried to change the priority of a command but you would think there would be a way to do such things these days.
Also, got some random error on the last restart. I noticed in testing on my dev server it randomly shows up with nothing changed even. I can just restart and it will work fine one time and the next time it shows this error. Made a ticket: http://dev.bukkit.org/server-mods/myultrawarps-v0/tickets/4-java-lang-array-index-out-of-bounds-exception-1/
@ryvix
I'm glad it seems to be working well other than the /t conflict. That's a tricky problem. Bukkit's command system is...well, not very smart. Unfortunately, removing the /t alias from myUltraWarps's plugin.yml like you did is the only way to ensure that it doesn't override other plugins. It's impossible to tell what order CraftBukkit is going to prioritize plugins in, so while on your server the myUltraWarps /t dominated, on another server, Towny's /t might dominate. I still haven't found any good way to do that. Maybe I can figure out a clever way to fix that and add it to myOpAids, one of a number of plugin I'm currently working on. Maybe myOpAids could have a configuration where it would find any conflicting commands and ask you which one you want to dominate, then myOpAids can preemptively process commands with the CommandPreProcessEvent and direct the command to the plugin you want to dominate.
I've never seen a plugin that can do that, though, so I'm not sure if there's currently a good way to resolve that problem other than what you did. Sorry.
Is there some way you can make the /t not override Towny's /t shortcut? People use that far more often than the /top command for this plugin. Other then that I think it seems to be working pretty well =)
Update: I removed the t alias from the plugin.yml and restarted the server and it works ok.
@REALDrummer
I think I used to have that problem before with Herochat. I'm not sure what I did to fix it exactly but I had made a lot of modifications to the code. Lets see what using the original version is like for awhile =)
I have a question for everyone who uses the /to and/or /from teleportation request systems.
Have you been getting a bug lately where when you say "yes" or "no" or something similar to accept or deny teleportation requests, the "yes" or "no" or whatever you typed still appears in the chat? That little bug recently appeared on my server, but I was wondering if anyone else was having that problem. Your answer will help me determine whether myUltraWarps is the cause or if it's the new chat plugin I've been working on. Thanks!
@OgStyle
Okay. Cool. One other thing I thought of is that maybe you're using a different version of CraftBukkit. I test myUltraWarps versions with the CraftBukkit for the most recent versions of Minecraft, which in this case is the 1.4.7 CraftBukkit builds. If you have a different version, it should still work fine, but it may not for some reason, so I would recommend getting the 1.4.7 CraftBukkit version of your choosing if the other suggestions don't work.
@REALDrummer
Sorry, i haven't free minute to try that, cause my server hosting have some problems, that i can't connect to my server. As soon as posible i'll answer you, and try what you recomended.
@REALDrummer
Thx.
@OgStyle
Did you try naming the warp something else? Is it working now?
@MarioG1
Oh, shoot. I was supposed to add that when v7 came out. Sorry. Yeah. I'll add that.
@REALDrummer Can you also add this into 7.4?
At the moment you re-spawn at your home point if you die. This is a very nice feature but this leads to an problem if you want to play an PVP adventure map like Hypixel's maps. So it would be nice if you can add an option in the config on which maps he home re-spawn system should be enabled and on which not.
@MarioG1
Oh...yeah, I didn't really think of that, did I? [facepalm] Okay then. I'll make a permission node called "myultrawarps.from.accept" for that purpose. I'll put that small modification in v7.4, which I can release once we figure out what's going on with OgStyle's /link issues here. Sorry about that. My mistake.
I tacked the permission for /from accepting onto the "myultrawarps.to" permission because I thought 'if they couldn't teleport themselves to someone else, why should they be able to allow someone to teleport them to that someone else unless that someone else is an admin?' I guess I didn't think about the kind of setup you have going on. I'll get right on that.