Shortify
Hate the fact that sharing URLs in Minecraft completely sucks? Hate the truncation? Then this plugin will fix all your problems regarding URLs in Minecraft.
This plugin will shorten all URLs present in a chat message and then changes the message to display the shortened links.
As far as I know (from decompiling and testing other plugins like bShortLinks, URL Shorten, and ShortURL), this is one of a few plugins that uses something other than word.startsWith("http://") for URL detection, and so can handle punctuation, multiple URLs, and URLs anywhere in the message properly.
It is fully configurable, and allows you to choose between a large pool of URL shorteners, including bit.ly, is.gd (default) and is the only URL shortening plugin that supports YOURLS. It also allows you to configure how it shortens the link (see config.yml after installation of the JAR).
Automatically shorten URLs:
With advanced multiple-URL support:
It's compiled for JRE6, and should be compatible with all future CraftBukkit versions.
There are several other URL shortening plugins available, but this one is objectively the best because:
- Optimized to not cause chat lag for messages that don't contain URLs
- Essentially lagless
- Does not require any external dependencies
- Can shorten a URL in ANY position in the message
- Has full REGEX detection to perfectly detect URLs, including advanced punctuation handling
- Allows you to choose between many URL shorteners
- Lets you configure to only shorten URLs above a specific length
- 100% compatible with BukkitForge and MCPC+
Here is a basic configuration description.
Here is the archive of stable versions (from latest to oldest).
Source on Github: https://github.com/vemacs/Shortify
Installation:
Simply download the jar to your /plugins folder, and then restart or reload your server.
Configuration:
See Shortify/config.yml for more info. Shortify should work out of the box, but if you want to use another service, change the config.
Please post feedback and suggestions!
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
@bagheadinc
I've found the source of the bug and fixed it. Let me know if this fix doesn't work!
@tuxed
Recompiled, it's not saying that error anymore upon loading the plugin, however it's still using is.gd.
I've set shortener to yourls and the yourlsURI to my yourls-api.php URI (and added the username and password), not sure what's going on...
@bagheadinc
Make sure to use the yourls-api.php page, and I've just fixed the issue (it was purely cosmetic; the check in the listener was seperate and wasn't affected as far as I know).
@vemacs
Ok, got it compiled now and it's running, however when I try to setup YOURLS, I get this error...
2012-11-23 17:10:27 [INFO] [Shortify] §cYOURLS is not properly configured, see config.yml for details. 2012-11-23 17:10:27 [INFO] [Shortify] §cReverting to default shortener is.gd.
I have tried using my yourls-api.php URI and just the main YOURLS URI, both with the same result...
@bagheadinc
Apparently the config.yml and plugin.yml weren't in the right places in the package. Try again.
@tuxed
I think I'm doing something wrong. After compiling the src on git, I get this error when the plugin enables...
2012-11-23 13:58:00 [SEVERE] Error occurred while enabling ShortifyMaster v1.0 (Is it up to date?) java.lang.NullPointerException at com.nullblock.vemacs.Shortify.Shortify.onEnable(Shortify.java:18) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:374) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:270) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:252) at net.minecraft.server.MinecraftServer.j(MinecraftServer.java:320) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:299) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:258) at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:147) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:398) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856)
@bagheadinc
It's on git now!
@tuxed
Awesome! You guys rock.
@bagheadinc
That's what I've been wanting to add for a while, and I'll be adding support for it in git.
Great plugin, working flawlessly on 1.4.5 beta. :)
Any chance of getting YOURLS functionality? I can understand if it's not worth the bother since I doubt many people have their own YOURLS setup, just thought I'd plant the idea in your head anyway ;)
Thanks again for the awesome plugin.
@deleted_8435363
Thanks for using it!
Fantastic plugin, thank you!
1.3.0 will be released shortly, with improved bit.ly support, additional shortening options (set the minimum amount of characters you need to shorten a URL), and a rewritten backend. EDIT: 1.3.0 has been released
@Racorac
On a home server running Debian.
Where are you hosting the Jenkins?
@vemacs
Jenkins will let you build new versions (and let you download them) as they are pushed to GitHub. It's difficult to configure yourself so I took the time to do so.
@tuxed
I'm fine with github now, but I plan for a slightly more conservative release timeline, and possibly implement bukkit updater (i'm doing so now). Thanks for all the work you've done! Also, 2350 downloads! Wow!
@barnabas02
I have no intention of getting a Go Daddy account. But I can add a "fake" j.mp (which is a shorter version of bit.ly's domain) shortener.
Can you implement x.co?
Awesome plugin