問題タブ [minecraft]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
terrain - 3D パーリン ノイズ関数を使用して地形を生成するにはどうすればよいですか?
2D パーリン ノイズ関数を使用して高さの値を生成することはできますが、3D パーリン ノイズ関数を使用する理由がわかりません。Notch のブログで、彼はMinecraft の地形生成に 3D Perlin ノイズ関数を使用することについて言及しました。それがどのように行われるのか、そしてなぜそれが役立つのか誰か知っていますか? x
、y
、および値を渡している場合、z
それはすでに高さを持っていることを意味しませんか?
python - ツイスト Python + spawnProcess。コマンドからの出力の取得
現在接続されているプレイヤーのリストを取得するための RESTful API を持つ Twisted Python サーバーで Minecraft サーバー アプリケーションをラップする作業を行っています。Twisted アプリは、reactor.spawnProcess()を介して minecraft サーバーを起動し、標準入力に書き込むProcessTransportを介して通信します。stdout と stdin の読み取りは、別のprotocol.ProcessProtocolクラスによって処理されます。
非常に具体的なコマンド (「list」コマンド、次のような結果を返す) の結果を取得したい場合:
stdout でプレーヤー リストの行を選択できる場合、接続されているプレーヤーのリストを要求している RESTful API ビューにこれを配信する最良の方法は何ですか? 私のstdout リーダーは、接続されているプレーヤーのリストを取得しようとしている関数と直接通信できないことに注意してください。ビューと stdout リーダーが直接接続されていないため、stdout を解析して、配信するプレーヤー リストを特定できます。接続されたプレーヤー リストをクライアントに送信する Web API ビューにそれを配信する方法がわかりません。コンタクト。
これを処理するためのハックな方法がいくつかありますが、誰かがアイデアを持っている場合は、これを「正しい方法」で行うことをお勧めします。
opengl - Minecraft のようなユニット キューブの世界で顔を削除するにはどうすればよいですか?
重要な注意:この質問は、ジオメトリのカリング (錐台のカリング、背面のカリング、オクルージョンのカリング、またはそれらの仲間) に関するものではありません。
ユニット キューブ レンダリングされた世界 (ラマインクラフト) で、カメラがどこにあっても、どの角度からも見ることができないジオメトリ面のリストから削除する方法のアルゴリズムを見つけようとしています。
たとえば、2 つの正方形があるとします。
明らかに 8 つの側面が表示されています (各正方形に 4 つ)。次に、正方形を一緒に移動します。
8面だったのが6面になりました!真ん中で触れている二人は、カメラをどこに置いても、どの角度から見ても見えません。(四角は質感が違うので4面とは言えません。)
(立方体の 3D でも同じことが機能しますが、12 の面 (立方体あたり 6 つ) は 2 つの接触がなくなるため 10 になります。)
私の質問は、これらの隠された顔を認識するのに役立つアルゴリズムは何ですか? (私は自分でグーグルをやってうれしいですが、これが何と呼ばれているのかさえ知りません!)特に、真ん中の中空のスポットを処理するものを探しています。そこにはありますが、ジオメトリに囲まれているため、それらを見ることはできません。
例えば:
この場合、18 の「見える」側面があると考えるかもしれませんが、カメラがジオメトリの外側にあることがわかっているため、正方形「A」の 4 つの側面は見えません。
さらに複雑なことに、ブロックが追加または削除された場合に迅速に更新できるアルゴリズムを見つけたいと思っています (これもMineCraft風です)。
ありがとう!
c# - SendMessage API を Java プログラムに - 方法
プログラミングは初めてです。
マインクラフトと呼ばれるゲームに入力/テキストを送信できるプログラムを作成する予定です-そのゲームはJavaで作成されました。
SendMessage API を使用しようとしていますが、使用方法がわかりません。
これはこれまでの私のコードです:
java - Java を使用してコマンド ライン コマンドを順番に実行する
コマンドプロンプトを介してMinecraftサーバーを開いたり終了したりできるようにする必要があるプログラムを書いています。これまでのところ、私が持っているコードは次のとおりです。
これは、私が思いついた基本的なロジック コードです。BufferedWriters を使用してみましたが、機能せず、cd コマンドを実行してもエラーが発生します。minecraft.net/download.jsp にある Minecraft_Server.exe を使用しています。「停止」コマンドは、プロセスがアクティブなときに実行され、プログラムにサーバーを保存してから終了するように指示します。何らかの方法でスレッドを使用する必要がありますか? 助けてください:)私はすでに答えを見つけようとして数時間を費やしましたが、私はただ無知です笑。
java - このコード ブロックは何をしますか?
これが何を意味するのか、何をしているのかよくわかりません。誰か詳しく説明してもらえますか?
java - 円内、グリッド内のすべてのブロックを効率的に見つける方法は?
人気のインディー ゲーム Minecraft のサーバー プラグインを作成しようとしています。私がこれまでに持っているのは、プレイヤーの位置から 2 スペース離れたすべてのブロックを見つける非再帰的な方法です。これを効率的に行う方法を考えています。距離を指定できるようにしてほしい。これが私が現在持っているものです:
手伝ってくれませんか?ありがとうございました。
mesh - 動的地形変形
非常にシンプルなゲームのデザインに興味があります(学習目的のためだけに、壮大な計画はありません)。変形可能な地形システム(Minecraftを考えてください)が欲しいのですが、もう少し複雑なものがあります。
MineCraftがボクセルと呼ばれる概念を使用していることを理解しています。また、ボクセルがCPU側で正確に優れているわけではありませんが、現在はGPUのトリックを使用して実現できます(これまで読んだ内容からはわかりません)。
これまでのところ、ボクセルは進むべき道のように見えますが、私が探しているものはありません。それらはオーバーハングと洞窟を許可しますが、それらは非常に単純に見えます。
オーバーハングを使用して自由に変形および操作できる、非常に大きくて広大な地形が必要です。風景のサイズに合わせてある種のページングを実装する必要があることを理解しています。おそらく、考えている地形のタイプに合わせて3次元のページングを実装する必要があります。
ROAMを少し見てきましたが、学ぶことがたくさんあり、正しい方向かどうかはわかりません。おそらく、階層化された高さマップを使用し、その間にトンネルなどのメッシュを使用してgeomipmappingを使用する方法があることを確認しました(意味がある場合)。
基本的に、オーバーハング、崖、トンネル、洞窟を可能にする方法で完全に変形可能な巨大な地形を含む、優れたアルゴリズムと開始場所を探しています。
Mine Craftのように、美しい必要はありませんが、ブロック状である必要はありません。
どこから研究を始めるかについてのどんな方向性も大いに役立つでしょう。
ありがとう。
java - マインクラフトのJavaScriptエラー
シングルプレイヤー コマンドを使用してマインクラフトの円を描くスクリプトを作成しようとしています。まず、基本をやろうとしました。ここに私のコードがあります:
しかし、実行すると、次のように表示されます。
実行に失敗しました: JavaScript 引数の型 (文字列) に一致する Java コンストラクター setY の選択があいまいです。コンストラクタの候補は次のとおりです。C:\Users\Darcy\AppData\Roaming 内の class com.sk89q.worldedit.Vector setY(int) (C:\Users\Darcy\AppData\Roaming.minecraft\craftscripts\circle.js#6)。 minecraft\craftscripts\circle.js の 6 行目
助言がありますか?
http - HTTP とゲーム サーバーのトラフィックを同じアドレスに分離する
2 つの専用サーバーがあります。サーバー 1 は Linux CentOS を実行しており、Web サーバーとして機能します。サーバー 2 は Windows Server 2008 を実行しており、ほとんどがゲームサーバーなどのサービスをホストしており、Apache などはインストールされていません。
サーバー 1 は、ウェブサイト minecraft.nl をホストしています。また、サーバー 1 で Minecraft サーバーを実行していました。このようにして、ゲーム内のアドレス バーに「minecraft.nl」と入力することでサーバーに参加できました。
パフォーマンスの問題により、Minecraft サーバーはサーバー 1 からサーバー 2 に移動する必要があります。 . 私が今見ている唯一の解決策は、「play.minecraft.nl」のようなサブドメインを作成し、それをサーバー 2 にリダイレクトすることですが、それは私が望んでいることとはまったく異なります。
ゲーム サーバーと Web サイトを同じアドレス (minecraft.nl) に保ちながら、Web サイトとゲーム サーバーのどちらにアクセスするかに基づいてサーバー 1 またはサーバー 2 に接続する方法はありますか?