2016-10-21 3 views
1

私はアンチハックプラグインを作って、クライアントに ".msg Test"を書き込ませる必要があります。だから、 "Test"を印刷し、ハッククライアント ".msg Test"(ikr、すべてのハッククライアントではなくたくさんあります)を使わないでください。CraftBukkit 1.8.8 - クライアントが自分でメッセージを送信することは可能ですか?

このために、クライアントは自分自身でメッセージを書き込む必要があります。これを行うには、プレーヤーにメッセージを送信し、テキストをクリックするときにクライアントがこの ".msg"メッセージを送信するようにすることができます。

しかし、プレイヤーとのやりとりなしにこれを行う方法はありますか?

+0

残念なことに、あなたがしようとしていることはありません。 Player.chat(String str);メソッドを使って、プレーヤーがサーバー経由でチャットメッセージを送信できるようにすることができます。 –

答えて

1

残念ながら、これはbukkit-apiでは不可能です。これに最も近いのはサーバ#dispatchCommandですが、サーバ側に登録されている場合にのみコマンドを実行します。あなたは、NMS(net.minecraft.server)コードを使用して、最大感じている場合、これは私が実装は1.8で、コマンドの兆候のためだった見たものであるとして https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Server.html#dispatchCommand(org.bukkit.command.CommandSender,%20java.lang.String)

しかし、

CommandBlockListenerAbstract.executeCommand(ICommandListener sender, org.bukkit.command.CommandSender bSender, String command) 

は、動作するはずです.8スピゴットサーバ(TileEntitySign.java行:181)。

+0

他の答えで述べたように、実際には可能です。 – Kerooker

+0

@Kerooker少し新しいStackOverflowに。私はそれから私の答えを削除するか、私が言ったことを編集するべきですか? –

+0

わからないあなたはメタでそれを尋ねるべきですが、私はそのokと思う – Kerooker

2

これは私の友人も可能でチャットやコマンドの両方を通過するので

人々は方法がチャットで何かを置くためにプレーヤーを強制

myPlayer.chat(); 

方法の有用性を欠場する傾向があり、同じストリーム、あなたは単ににargUでコマンド「MSG」を実行するためにプレーヤーを強制する「/」

myPlayer.chat("/msg test"); 

を付けることによって、コマンドにチャットメッセージを変更することができます「テスト」。

関連する問題