ReMap
What is ReMap?
ReMap is a translation-plugin. It can translate itself, other plugins and even Bukkit into any language. WorldEdit in Norwegian? Swedish command names for WorldGuard? Profanity filters? Anything related to translations and replacements in the chat can be done using this plugin.
ReMap is currently in a beta-state, awaiting bug reports and feature requests.
In short - what can ReMap do?
- Translate any plugin into any language
- Add new command aliases to any existing commands
- Make a single command trigger multiple actions
- Modify any chat message sent by either players or the server itself
- Block commands
Dependencies?
ReMap depend on ProtocolLib to hook into chat messages sent by the server. It uses the PlayerCommandPreprocessEvent to translate commands. ProtocolLib is a "soft dependency", which means that ReMap will function without it, but swaps and bleeps will become disabled (learn what that means in the tutorial).
Basically, if you run ReMap without ProtocolLib, you can only use command-related features, like changing command names, adding aliases, auto-replies and such. ProtocolLib does not require any kind of setup. Just download it, and ReMap will put it to good use automatically.
How do I get ReMap up and running?
To get started quickly, head over to the quick start guide. To explore the full power of ReMap, read the detailed tutorial.
Does ReMap have any commands or permissions?
Yes, it does.
Commands
- /remap - Display this command list.
- /remap block - Toggle command blocking. When enabled, only remapped commands will work.
- /remap message - Change the message sent to players who are using a blocked command. Can be empty.
- /remap reload - Reloads configuration and translation files.
- /remap status - Display some stats.
Note: For safety reasons, "/remap block" can still be used when command blocking is enabled. However, it will act as if it's blocked if the client does not have permission to turn it off.
Permissions
ReMap accept commands from players with the "remap" permission node as well as server operators (OP).
How does ReMap handle permissions for remapped commands?
ReMap executes remapped commands as if they were executed by the player. If the player doesn't have permission, the usual permission-message for that command is displayed, if any.
Source code?
Visit GitHub.
Recent changes
This list only contains important stuff. For a more technical and complete list of changes for each version, please read the log attached to each file in the download section.
- ProtocolLib is now a "soft dependency". ReMap can function without it. Sort of.
- Words and phrases can now be removed, not just replaced.
Hello, great plugin! Awesome idea of translating messages! Thanks for this. I have an idea, because I am using now 2 plugins for the same thing - ReMap and BetterAlias. BetterAlias has multi line commands and can perform multiple commands at once plus send message to player. It will be greatly appreciated if you can implement this in your plugin so I can use only yours ;)
Version 0.2 is now uploaded and awaiting approval. I've changed lots of stuff, fixed a lot of errors and added some more goodies. Most importantly, I've written a whole new method for reading the translation files, so it's no longer in the proper YAML-format. This means that periods now work and no indenting is required. It should be a whole lot easier to deal with.
For the next update, I'll be working on HammyHavoc's idea to put in a chat filter of sorts, and also streamline the whole project for an easier read.
As for lilblue22's problems, I'm not quite sure what's up. It looks fine to me. Did you remember to put in line breaks, or did you type it out exactly as you did in that comment?
The front page and the tutorial section has been updated as well.
Thank you so much for downloading and testing, you guys are awesome!
This would of been highly useful but this doesn't work:
'/island reset': '/help' '/island restart': '/help' '/island %1': '/help' '/enchant': '/help'
/island is a command used for Ultimate Skyblock but the /enchant is an essentials command and also does not work!
Wow, cool! A more lightweight version would be amazing.
Is there a way to just translate the chat and only the chat to reduce server load?
Looks interesting. Testing now, will let you know how it goes. I hope you continue to develop this.
EDIT
Can you setup a null check for when there are no files to load? As of right now if it doesn't find any it wont load and gives error;
2013-05-19 20:08:41 [INFO] [ReMap] Enabling ReMap v1.0 2013-05-19 20:08:41 [SEVERE] Error occurred while enabling ReMap v1.0 (Is it up to date?) java.lang.NullPointerException at com.kiwhen.remap.Main.getRemaps(Main.java:77) at com.kiwhen.remap.Main.onEnable(Main.java:41) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:264) at net.minecraft.server.v1_5_R3.MinecraftServer.j(MinecraftServer.java:304) at net.minecraft.server.v1_5_R3.MinecraftServer.e(MinecraftServer.java:283) at net.minecraft.server.v1_5_R3.MinecraftServer.a(MinecraftServer.java:243) at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:151) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)