Pythonでマインクラフト自動化してみた with pydirectinput
事の発端はマインクラフトをしていた時にふと「課題やりたいけどTP狩りも続けてえええ」ってなったことです。なんで今回は自動クリックとかそういう単純作業の自動化を目指します。
PythonでGUI(今回はマインクラフト)って言ったら大体pyautoguiを使うことが多いんですが。実はマインクラフトはpyautoguiでは操作出来ません。
というのもマインクラフトなどDirectXを使用しているゲームは仮想キーを受け付けません。
なので今回はpydirectinputというライブラリを使います。このライブラリは使い方と機能はほとんどpyautoguiと同じですが、DirectXを使用しているゲームでも操作することが出来ます。
さっそくインストールから
ちなみに私はwindows環境です(python 3.9.2)
pip install pydirectinput
インストール確認
PyDirectInput 1.0.4
マインクラフトの剣の待機時間も考えてコードは大体こんな感じ?
import pydirectinput as direct import time import sys try: while True: direct.click() time.sleep(0.7) except KeyboardInterrupt: sys.exit()
これに色々付け加えて作っていきます。
pydirectinputのほかの文法については基本的にpyautoguiと同じなので各自調べてもらえれば。
そんな感じでGUIを順序通り操作するコード書いてみました。
(win32guiがあるのにdllを読み込んでウィンドウをアクティブにしているのは私の知識不足です。なのでpythonnet通さなくてもwin32guiだけでも代用できます。)
先に言っておきますがプログラミング初心者です。クラスとか全然使ってません。許容してください。