本帖最后由 您的维恩吖 于 2019-1-9 01:18 编辑




插件命令

插件配置文件

使用截图


开源这东西就不管啥协议了,看bbs没人发这东西,就发出来分享了
复制代码

然后就是下载地址了
★ChatReplace——聊天替换★
全版本|配合实现Emoji|超级轻量

一个没卵用的插件
灵活运用可提高服务器b格(花里胡哨)
第一次发帖qwq盼个小支持就好了

/cr add 替换 被替换 -添加一个替换
/cr remove 替换 -删除一个替换
/cr reload -重载替换配置(只允许OP执行)

只有一行:
test: qwq
替换:被替换


开源这东西就不管啥协议了,看bbs没人发这东西,就发出来分享了
- package moe.vien.chatreplace;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.concurrent.atomic.AtomicBoolean;
- import java.util.concurrent.atomic.AtomicReference;
- public class Main extends JavaPlugin implements Listener {
- public Map<String, String> map = new HashMap<>();
- @Override
- public void onEnable() {
- super.onEnable();
- getServer().getPluginManager().registerEvents(this, this);
- reload();
- }
- @EventHandler
- public void onASYNChat(AsyncPlayerChatEvent e) {
- AtomicReference<String> msg = new AtomicReference<>(e.getMessage());
- AtomicBoolean returnFlag = new AtomicBoolean(true);
- map.keySet().forEach(ks -> {
- if (msg.get().contains(ks)) {
- msg.set(msg.get().replaceAll(ks, map.get(ks)));
- returnFlag.set(false);
- }
- });
- if (returnFlag.get()) return;
- e.setMessage(msg.get());
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- if (args.length == 2 && args[0].equals("remove")) {
- String beRemove = args[1];
- if (getConfig().contains(beRemove)) {
- getConfig().set(beRemove, null);
- saveConfig();
- reloadConfig();
- sender.sendMessage(" 移除 " + beRemove + " 成功");
- return true;
- }
- sender.sendMessage("配置文件不存在节点: " + beRemove);
- return true;
- } else if (args.length == 3 && args[0].equals("add")) {
- String a = args[1];
- String b = args[2];
- if (a.equals(b)) {
- sender.sendMessage("替换和被替换不能一致");
- return true;
- }
- getConfig().set(a, b);
- saveConfig();
- reload();
- sender.sendMessage("添加成功");
- return true;
- }else if (args.length == 1 && args[0].equals("reload")) {
- if (! sender.isOp()) {
- sender.sendMessage("此指令只能op执行");
- return true;
- }
- reload();
- sender.sendMessage("重读成功");
- return true;
- }else {
- String[] help = new String[]{"/cr add x y: 将x替换为y", "/cr remove x: 移除x的替换", "/cr reload: 重读配置文件(只能op执行)"};
- sender.sendMessage(help);
- return true;
- }
- }
- public void reload() {
- saveDefaultConfig();
- reloadConfig();
- map.clear();
- getConfig().getKeys(false).forEach(ks -> {
- String re = getConfig().getString(ks);
- map.put(ks, re);
- });
- }
- }

然后就是下载地址了
别忘了评分一下,俺不希望你们当伸手党,谢谢啦
本插件所用所有代码均为原创,不存在借用/抄袭等行为
我觉得可以
送个字体材质包 , 已带上图使用图中的表情功能:
https://pan.baidu.com/s/1mxzlCBM5R_srbublCb8yBA
https://pan.baidu.com/s/1mxzlCBM5R_srbublCb8yBA
66666666666666666
可以用来当关键词屏蔽功能,很不错。
本来想写的到不曾想被你先弄出来了
插件不错,不知道材质包是客户端的材质包还是什么。没有特别详细的介绍,不过插件还是不错 支持一下[:dragon:]
引用了java api
是个大佬!
是个大佬!
请问一下
这个替换怎么搞。是网页链接还是什么
求告诉一下- -
这个替换怎么搞。是网页链接还是什么
求告诉一下- -
/cr add 替换 被替换 -添加一个替换 /cr remove 替换 -删除一个替换 /cr reload -重载替换配置(只允许OP执行) 我觉得这个教程不详细,可以不在详细一些?
- hj: 鴁
- cj: 鴂
- sq: 鴀
- pj: 鴃
- bx: 鴄
- xs: 鴅
- ca: 鴑
- bs: 鴒
- an: 鴆
- ye: 鴇
- ok: 鴓
- qi: 鴈
- ku: 鴉
- ee: 鴊
- em: 鴋
- di: 鴌
- rua: 鴍
- jz: 鴎
- kk: 鴏
- sr: 鴐
- ka: 鴔
- lh: 鴘
- nb: 鴕
- lj: 鴖
- mg: 鴗
配合材质包使用, 这是配置文件
这个是替换游戏中文字外貌的吗,就是比如在方块折叠的时候,方块数量显示的文字外貌改变了,是吗楼主,有点搞不明白,问一下
没有1.13的材质包。。
wc592035976 发表于 2019-1-30 18:09
没有1.13的材质包。。
可以自己做的, 关键在font
维恩我爱你