有没有办法从Bukkit中删除这些消息,以便添加自定义消息?
[{plugin}]正在加载{plugin} {version}
[{plugin}]启用{plugin} {version}
我想用第3到第5行替换此图像的第1行和第2行。
答案 0 :(得分:3)
是的,如果你真的想要,你可以为你的消息过滤System.out
:
你可以在你的插件的构造函数中使用它来确保执行这个过程在启用插件之前,会有效地覆盖日志记录消息。PrintStream old = System.out; System.setOut(new PrintStream(old) { @Override public void print(String s) { if (s != null && s.matches( ".*?\\[NoOpenHopper]\\s(Loading|Enabling)\\sNoOpenHopper.+"
regex)) super.print("NoOpenHopper has been enabled!"); super.print(s); } });
请确保您首先了解注意事项:
PrintStream
对象。您也可以使用反射(查看Proxy
和unreflect
)而不是使用包装对象进行过滤,以便在不将垃圾堆入堆中的情况下更有效。虽然,AWT做到了这一点,但Sun做到了这一点,甚至CraftBukkit也做到了这一点,所以不用太担心。old
的引用,然后重置System.setOut
(你真的应该或你的服务器所有者真的讨厌你),否则你无法恢复)。答案 1 :(得分:2)
您无法。您需要更改服务器来源。
这些消息非常有用。它们可以帮助用户快速找到错误和许多其他事情。
仅仅因为它们是you should keep the console clean。
没有理由打印诸如" {$ PluginName}之类的消息已被启用!"因为bukkit会自动执行此操作。