This plugin requires ProtocolLib 4.4.0+ , and OPTIONAL PlaceHolderAPI 2.10.7+ Notice: If you are trying to replace colors in your ReplacerConfig, use '§'(Vanilla Minecraft color character) instead of '&'(Bukkit color character). e.g. §3§l instead of &3&l
┃ Introduction ProtocolStringReplacer is a plugin that realizes the function of replacing strings by editing packets. It is committed to optimizing efficiency and providing more functions for use.
Because only the packet sent to the player is edited, plugin will not affect the processing from the server.
┃ Features
Fix Log4j 0day CVE vulnerability (For all servers)
We have a `/psr capture` command to let you easily copy the original texts.
Edit 1.19.0-1.19.2 ChatPreview Component
Edit Item full NBT, DisplayName and Lore
Edit TabComplete Strings
Edit Combat Died(Death Screen) Message
Edit Kick Disconnect Message
Edit Book Contents / Author
Edit Boss-Bar Texts
Edit Sign full NBT, 4/8 Text Lines
Edit ScoreBoard Texts
Edit Console Messages
Edit Title Messages
Edit Chat Messages
Edit Window-Title Texts
Edit Entity name
Support Convert PLAYER_CHAT packets to SYSTEM_CHAT packets, to make sure replacements on 1.19. (Side Effect: Clients cannot detect the player who sent the messages. E.g. cannot report players via chat)
Support Replace strings, or just block that packet!
Use Aho-Corasick Algorithm for string replace! It's crazy fast!
Will not increase the bandwidth pressure of the server! All replacements are processed on the original packet.
Support editing Json , and Intelligent processing of Json,
Will not break any extra contents(e.g. HoverEvent) in messages.
ItemMeta cache System, only needs 1ms for processing ItemStacks in a window.
Edit the replaces and blocks in game.
You can create multiple replacer configs for greater legibility.
Safe placeholder replacement system.
Full hot-load and hot-unload support.
Filter System(Client locale, permission and many else).
…… And more.
┃ Commands /psr help - List all the commands
/psr edit - Replacer configs editor in game
/psr parse - Test replacing strings
/psr capture - Capture contents in packets
/psr reload - Reload replacer configs
┃ Permissions protocolstringreplacer.command.edit - Allow to use edit commands
protocolstringreplacer.command.parse - Allow to use parse commands
protocolstringreplacer.command.reload - Allow to use reload commands
protocolstringreplacer.command.capture - Allow to use capture commands
protocolstringreplacer.feature.usermetacache - Restore original itemstack when receive packet from player to avoid errors in Creative gamemode.
protocolstringreplacer.feature.usermetacache.noncreative - Same with above, but for other gamemodes. To avoid errors caused by other plugins usually.
┃ Example ReplacerConfig Replacer Config Examples are now built in the plugin jar, and will be created the first time you run the plugin.
┃ Support For docs, please check Config.yml and Replacers\Example.yml . The comments in the files explain almost all the features we have. We don't have a maintaining wiki right away.
For discussing, supporting you can join our
Discord server.
If you met any bug, please report it on GitHub. Write the issue in English or Chinese.
DO NOT post it in the spigotmc comments. I don't check it often, which means you will not get support.
┃ bStats Thanks to all the servers who join the bStats anonymous data collection. This really helps me a lot in development and provides me with a steady motivation.