複数のプログラミング言語でMinecraftを制御
hackCraft2では、複数のプログラミング言語とエディタをサポートしており、お好みの環境でMinecraftの制御を行えます。Python、Dart、TypeScript、JavaScriptなど、様々な言語でプログラミングが可能です。
PythonPyPIで公開されているPythonライブラリです。Google ColabやローカルのPython環境などで利用できます。
pip install py2hackCraft2
from py2hackCraft2.modules import Player, Volume, LocationFactory
# プレイヤーの接続
player = Player("your_name")
player.login("localhost", 25570)
# エンティティの取得と操作
entity = player.get_entity("entity_name")
entity.set_event_area(Volume.local(10, 10, 10, -10, -10, -10))
# その他の操作...
Dartpub.devで公開されているDartライブラリです。Flutterアプリケーションでの利用に最適です。
dependencies: hackcraft: ^0.0.3
import 'dart:async'; import 'package:hackcraft/src/hackcraft_client.dart'; Futuremain() async { // プレイヤーを生成 final player = Player('your name'); // サーバーにログイン(host, portはサーバーに合わせて設定) await player.login('localhost', 25570); // エンティティ(例: エージェント)を取得 final agent = await player.getEntity('MyAgent'); // エージェントにチャットさせる await agent.say('hello world'); // エージェントを前進させる await agent.forward(n: 2); // ログアウト await player.logout(); }
TypeScriptJavaScriptPython他の言語サポートとは異なり、サーバー側で直接実行するので高速です。
// 4x4の正方形を描く
for (let i = 0; i < 4; i++) {
for (let j = 0; j < 4; j++) {
entity.forward(1)
}
entity.turnLeft()
}
JavaScriptこちらも、サーバー側で直接実行するので高速です。ブラウザ上で直接プログラミングができます。
ブラウザ上で動作するJavaScriptエディタ
| 機能 | Python | Dart | VSCode拡張 | JavaScriptエディタ |
|---|---|---|---|---|
| 実行速度 | 中 | 中 | 高 | 高 |
| インストール | 必要 | 必要 | 必要 | 不要 |
| 環境 | ローカル/Colab | Flutter | VSCode | ブラウザ |
| 3Dビュー連携 | × | × | ○ | ○ |
| デバッグ機能 | ○ | ○ | ○ | △ |
hackCraft2は今後も様々な言語をサポートする予定です。新しい言語やエディタの追加により、より多くの開発者がMinecraftプログラミングを楽しめるようになります。