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.
-
View User Profile
-
Send Message
Posted Jul 26, 2014Yeah, he's back! Hope he updates it.
-
View User Profile
-
Send Message
Posted Jul 24, 2014The last time he came to bukkit was in May so yeah this might be dead.
-
View User Profile
-
Send Message
Posted Jul 20, 2014@Monezombie
I posted that ticket almost 3 months ago, still no fix, while it still works, this plugin may be dead.
-
View User Profile
-
Send Message
Posted Jul 6, 2014@tingeel
Same problem even with the last version :/ , I just saw someone with the same problem in the ticket section, so I'll just wait for the new version to come out hoping this will be fixed
-
View User Profile
-
Send Message
Posted Jun 12, 2014the plugin is working fine but each time a player login to my server there is an error
[18:24:35] [Server thread/ERROR]: [ReMap] Unhandled exception occured in onPacketSending(PacketEvent) for ReMap java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONObject at com.kiwhen.remap.ChatListener$1.onPacketSending(ChatListener.java:43) [ReMap.jar:?] at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:612) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:588) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.netty.NettyProtocolInjector.packetQueued(NettyProtocolInjector.java:267) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.netty.NettyProtocolInjector.onPacketSending(NettyProtocolInjector.java:235) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:260) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.netty.ChannelInjector.access$300(ChannelInjector.java:51) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:236) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:213) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:100) [ProtocolLib.jar:?] at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:76) [ProtocolLib.jar:?] at net.minecraft.server.v1_7_R3.NetworkManager.b(NetworkManager.java:122) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.NetworkManager.handle(NetworkManager.java:100) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.PlayerConnection.sendPacket(PlayerConnection.java:740) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer.sendRawMessage(CraftPlayer.java:147) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer.sendMessage(CraftPlayer.java:154) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at com.earth2me.essentials.textreader.TextPager.showPage(TextPager.java:106) [Essentials.jar:?] at com.earth2me.essentials.EssentialsPlayerListener$2.run(EssentialsPlayerListener.java:242) [Essentials.jar:?] at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftTask.run(CraftTask.java:53) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:600) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] [18:24:35] [Server thread/WARN]: [ProtocolLib] Warning: Cannot convert to a String with Apache: null [18:24:35] [Server thread/ERROR]: Parameters: { a = (("TextComponent{text='', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null}}")), b = true, timestamp = 1402611875850 }
-
View User Profile
-
Send Message
Posted May 16, 2014I have this set in config: bleep: '[BlockRegeneration]': '&7[&cMelo&8Co&7]'
And for some reason it is replacing almost every letter of anything any plugin or person says with '&7[&cMelo&8Co&7]'
0.4.2 on ProtocolLib 3.3.1 and 3.4.0 With Spigot-1475 (MC: 1.7.9)
EDIT: Adding quotes in a different program fixes it, but stops all bleeps from working completely, removing the quotes causes the bug again.
-
View User Profile
-
Send Message
Posted May 9, 2014@Rothendras
The upcoming version will support these features. I'm rewriting the whole "translation language" to allow for hooking specific events to specific actions, also taking permissions into account. Interestingly, this will allow for multi-language support, using permission nodes to define a user's language.
It's a bit of a jump from the current version, which is why it has taken a while to get it up and running. Working on it, though!
Thank you for your interest in ReMap!
-
View User Profile
-
Send Message
Posted May 8, 2014A really good & essential plugin! I would follow the evolution!
But, I have one question :p - Can we block certain commands, and not all those not remap ? Or, just let activate all commands for OPs or Admins perm group ?
-
View User Profile
-
Send Message
Posted May 5, 2014@technowix
Oh no, not dead at all! Just a bit late. There's some serious updating at work.
-
View User Profile
-
Send Message
Posted May 2, 2014This amazing plugin is dead ? :/
-
View User Profile
-
Send Message
Posted Mar 9, 2014@Geoneo97
To avoid this, you can wrap your search patterns in "quotes".
Something like "Error: Not enough whatshisface": "Your text"
-
View User Profile
-
Send Message
Posted Mar 1, 2014ähhm how can i remap a :
also example i will change
Error: No enaught Money to No Money
it doesnt work because of the :
-
View User Profile
-
Send Message
Posted Jan 16, 2014Hi folks, sorry for taking this long. I've had some major computer issues of late. The "quick" fix will be available real soon. The chat protocol for Minecraft has changed substantially since 1.6, and I've had to redo everything that deals with ProtocolLib. That part's now done, and 0.4.2 is awaiting approval by the BukkitDev mods.
The requested features will be available in the upcoming ReMap 0.5.
-
View User Profile
-
Send Message
Posted Dec 23, 2013The epic thing would be a "mapping perm", when you have "remap.mapping.<file.txt>" the remapping in the folder is enable for you :) !
(sorry for my bad english >_>"")
-
View User Profile
-
Send Message
Posted Dec 22, 2013Only an information: ProtocollLib is out for 1.7.2 :) Sorry if you already know it
-
View User Profile
-
Send Message
Posted Dec 15, 2013@ryan_the_leach
The plugin has bigger potential than translating commands, though, as the remap can be used for more friendly commands or 'shortcuts.'
I personally hope you'll update soon, though I understand that it takes time. :)
-
View User Profile
-
Send Message
Posted Dec 12, 2013That would certainly reduce the need for this plugin, provided that all other plugin developers actually implement custom languages. I will however maintain ReMap for as long at it is needed. Might just implement a multi-language support using this 1.7.2-feature, too, to compensate for plugins that do not implement this. ^^
-
View User Profile
-
Send Message
Posted Dec 12, 2013Just a heads up, 1.7.2 introduced a packet that contains the settings menu, this means you can get the language that a player is using, rather then use commands to set a users language!
-
View User Profile
-
Send Message
Posted Dec 4, 2013I'm kind of waiting for the 1.7.2-version of ProtocolLib. I can try to push an 1.7.2 version of ReMap from the current build (no new functions), but I'm pretty sure that the swaps and such won't work until we get a working ProtocolLib build.
Long story short; I'm on it! Thank you! :-D
-
View User Profile
-
Send Message
Posted Dec 3, 2013On my 1.7.2 craftbukkit server my swapped messages don't work anymore.. Pls help me