注意事項
- ゲームでのチート行為は、時には犯罪となりえます。チートが禁止されているサーバーでは使用せず、自分のワールドや、2B2Tといったチートが許可されているサーバーでのみ使用してください。また、この記事のコードを使用する際に生じた損害について、一切の責任を負いかねます。
こんにちは、Nodokaです。
今回も、前回に引き続きクライアント作成をしていきます。
前回の記事をまだ読んでない方は下記リンクからどうぞ
マイクラのハッククライアントの作り方 (1.12.2) – モジュール編 | 閑々たるサイト (kankantari.net)
今回は、第三回、ティックイベント(毎ティック更新されるイベント)を実装していきます。
前回に比べてかなり軽い内容になっています。
今回のコードもGithubにアップロードしてあります。
リンクは記事の最後にありますので、ぜひ活用ください。
実装
まずは、Module.javaに空のonUpdateメソッドを追加してください。
これは、各モジュールでオーバーライドして使います。
次に、eventパッケージにPlayerTickEvent.javaを追加します。
名前はお好みで変更しても大丈夫です。
そして、このようにPlayerTickEventを引数に持つ関数をSubscribeEventとして作成します。
これは、ティック更新の際のイベントハンドラとなります。
イベントの段階についてと、イベントのプレイヤーについて条件を絞ります。
最後に、全てのモジュールを参照し、有効になってるモジュールのonUpdate()を実行します。
実装はこれで完了です。
クライアント起動時に呼び出せるように、メインファイルを編集します。
ティックイベントを利用したモジュール
実際に、実装したティックイベントを使用して簡単なモジュールを作成していきます。
作成するモジュールは、Sprintです。
まず、moduleパッケージ内にmovementパッケージを新規作成し、Sprint.javaを追加します。
前回の記事のように、Moduleクラスを継承してモジュールの設定をコンストラクタに記述します。
この通りに記述した場合、「U」キーを押すことで有効 / 無効の切り替えができます。
次に、onUpdate()をオーバーライドして毎ティック実行したい処理を記述します。
Sprintの場合は、プレイヤーが前に進んでいるかを判定して、前に進んでいればダッシュを有効にするという処理を書けばいいでしょう。
例↓
これで簡単なSprintは完成です。
最後に、SprintをModuleManagerのmodulesに追加します。
テスト
ここまで書けたら実行してみましょう。
実行の方法については、前回までの記事を参照ください。
ワールドに入ったら、先ほどのモジュールでキーバインドとして設定したキー(この記事通りの場合、「U」キー)を押してください。
前に進んでみて、自動的にダッシュされたら成功です!
ちゃんとトグルできているかの確認もするといいでしょう。
最後に
結構gdgdになってしまった…()
今回は、マイクラハッククライアント作成の第三回、ティックイベントについて説明しました。
次回は、簡単なHUDとして、ArrayListを実装します。画面に要素を追加することになるので、いよいよクライアントらしくなっていきます!
今回までのサンプルコードは、下記リンクにあります。
Nodoka4318/OnigiriClient at day3 (github.com)
最後まで読んでいただきありがとうございました!