問題タブ [minecraft-forge]
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.
java - 実行時の Java Enum オブジェクトの作成とオーバーライド [GregTech/minecraft]
この列挙型を操作して、新しい素材を追加しようとしています。まだ削除されていないものは、他の場所に強い依存関係があります。それでも、これは mods の作成者によると Java のバイト制限にほぼ達しているため、とにかく作業する余地はあまりありません。
GregoriousT は次のように述べています。
私たちが話している列挙型: http://pastebin.com/g0aJ2Qjd
だから私はただ尋ねます、これについてどうすればいいですか?
[FML]: Variable m:1|newInstance|public java.lang.Object sun.reflect.DelegatingConstructorAccessorImpl.newInstance(java.lang.Object[]) throws java.lang.InstantiationException,java.lang.IllegalArgumentException,java.lang.reflect.InvocationTargetException|false
これは、クライアントがクラッシュする前に私の現在の試行がスローするものです。(ログコードは読みやすいように削除されています)
現在の試行:
Forge IRC の連中もよくわかりませんでした。
coordinates - プレイヤーがマインクラフトで持っているアイテムの座標を取得する方法は? MinecraftForge の使用
Minecraft Forge を使用していますが、プレイヤーが保持または見ているブロックまたはアイテムの座標を取得する方法を知りたいです。または、プレイヤーが壊したばかりのブロックでもかまいません。いずれにせよ、y=Sin(x) になるように座標を変更できるようにする必要があり、Sinus 関数をプロットするために、同じ項目のコピーをループして生成し続けます。私は本当にあなたの助けに感謝します..私はこれで何日も立ち往生しています。一番、
java - 単一のクラスを使用して、任意のメタブロックからサブブロックに名前を付けますか?
このクラス登録を使用するメタブロックからサブブロックに名前を付けるために必要なクラスが1つだけになるようにしようとしています。つまり、パラメーター値であるかのように名前を付けますが、パラメーター値を使用しません。
これは API (Minecraft Forge) を中心に展開していますが、これは Java に関する質問だと思うので、ここで、私が意図したことがどのように機能するかを簡単に説明します。
メタブロックは、同じブロックのバリエーションであるサブブロックで構成されます (たとえば、同じブロックでテクスチャと名前のみが変更されます)。各サブブロックには、それを識別するための名前が必要です。これらの名前は のクラスExampleItemBlock
にリストされ、次を使用String[]
して形式MetablockName.SubBlockName
(例: ExampleMetablock.blue
、ExampleMetablock.green
など) で名前が付けられます。
次に、メタブロックExampleMetablock
がインスタンス化され、次を使用して登録されます。
この後、すべて問題なく動作しますが、作成する新しいメタブロックごとに新しい *ItemBlock クラスを作成する必要があります。これは良いことでも適切なことでもなく、作成した方がよいと思います将来のメタブロックで使用される単一のクラス。
お気づきのとおり、 method の 2 番目のパラメーターGameRegistry.registerBlock()
(API からのメソッド) には type の値が必要Class
です。ExampleItemBlock
それが問題です。インスタンスを使用せずにクラスを動的にするにはどうすればよいでしょうか?
コンストラクターに String[] パラメーターを追加してからExampleItemBlock
、クラスの代わりに名前を持つインスタンスを使用しようとしましたが、予想どおり、型の不一致が示されました。
それを達成する方法をどこでも探しましたが、2つの方法しか見つかりませんでした。
1.新しいメタブロックごとに ItemBlock クラスを作成します。
2.またはに変更SUBNAMES[i]
します。これにより、サブブロックが名前ではなく数字として名前が付けられ (例: 、など)、String[] などを使用する必要がなくなり、ユニバーサル クラスになります。ただし、この方法も非常に非現実的です。これは、どのサブブロックがどれであるかを特定する際に非常に複雑になるためです。getUnlocalizedName()
i
itemStack.getItemDamage()
ExampleMetablock.0
ExampleMetablock.1
また、GitHub でいくつかの mod を検索しましたが、コード内にこれに関連するものは見つかりませんでした (私が知っていることです)。
だから私の質問は: 普遍的な *ItemBlock クラスを作成する方法はありますか?
クラスの内容: ExampleMetablock、ExampleItemBlock。
server - Minecraft Forge を使用して新しいコマンドを作成し、コマンドの実行時にブロックを生成する
CommandBase を拡張する Command クラスを作成し、作成してプレイヤーが見ている位置に「ゼロ」と呼ばれるブロックをスポーンさせたいと考えています。ここに私が書いたコードがありますが、何もしません。誰かが助けてくれることを願っています。事前に感謝します。コマンド実行コード イベント ハンドラ コード
前もって感謝します :)
client-side - Minecraft-Forge Java コーディング: サーバー コマンドをクライアント側に接続して、世界の変化を即座に表示する方法は?
/fireworks
Minecraft コマンド ラインでコマンドを実行すると花火が表示されるコマンドを作成しています。このサーバー コマンドをクライアント側に接続して、ゲーム内で花火を表示するために、特に何かする必要がありますか? コマンドでを使用してworld.makefireworks(x,y,z,motionX,motionY,motionZ,compound)
います。前もって感謝します。
minecraft - gradlew 逆コンパイル エラー
forge src を逆コンパイルしたかったのですが、コマンドを入力するとエラーが発生しました。それはどういう意味ですか、どうすれば修正できますか?
最終ログイン: 2 月 6 日土曜日 20:59:20 ttys000
Quangs-MacBook-Pro で:~ quangnguyen200415$ bash /Users/quangnguyen200415/code/nullum\ et\vacuum/gradlew setupDecompWorkspace
スレッド「メイン」で例外 java.lang.RuntimeException: Gradle ディストリビューション '/Users/quangnguyen200415/.gradle/wrapper/dists/gradle-2.0-bin/5h57m9vra0mjv9qs45oqtsb5c0/gradle-2.0' で Gradle ランチャー JAR を見つけることができませんでした。org.gradle.wrapper.BootstrapMainStarter.findLauncherJar(BootstrapMainStarter.java:39) で org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:25) で org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127) ) org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56) で Quangs-MacBook-Pro:~ quangnguyen200415$
Java 8の最新バージョンを実行しています
編集:単純化しようとしましたが、効果はありません
Quangs-MacBook-Pro:nullum etvacuum quangnguyen200415$ ./gradlew setupDecompWorkspace Exception in thread "main" java.lang.RuntimeException: Could not find the Gradle launcher JAR in Gradle distribution '/Users/quangnguyen200415/.gradle/wrapper/dists/ gradle-2.0-bin/5h57m9vra0mjv9qs45oqtsb5c0/gradle-2.0'. org.gradle.wrapper.BootstrapMainStarter.findLauncherJar(BootstrapMainStarter.java:39) で org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:25) で org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127) ) org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56) で Quangs-MacBook-Pro:nullum と真空 quangnguyen200415$
java - Minecraft Forge セットアップ JAVA_HOME 変数 - Ubuntu
タイトルの通り、Ubuntuを持っていて、マインクラフトのForgeフォルダにある./gradlew setupDecompWorkspaceコマンドをtunしようとしていたのですが、7割くらいで以下のエラーが出てしまいました
javac コンパイラが見つかりません。com.sun.tools.javac.Main がクラスパスにありません。おそらく、JAVA_HOME は JDK を指していません。現在、「/usr/lib/jvm/java-7-openjdk-amd64/jre」に設定されています
JAVA_HOME変数をJREではなくJDKに設定していますが、ターミナルでエクスポートを実行して確認したところ、次のように記載されていました
この問題で私を助けてください!!
java - Apple に経験を与えてもらう?? | | Minecraft Forge Modding 1.7.10
インターネットの皆さん、こんにちは。カスタム フード アイテムで XP を獲得する方法があれば教えてください。私は mod を作成している途中で、"SimonApple" に XP を渡してほしいと思っています。これを行う方法があれば教えてください。
java - Minecraft ForgeでJavaを使用してブロックにレバーを配置する方法は?
私のMinecraft modでは、特定の場所にブロックを配置し、ブロックを配置した後、そのブロックにレバーを配置するコードを記述しようとしています。
どうすればこれを達成できますか?
これは、レバーを配置する必要があるブロックを配置するコードです。
基本的に、このブロックを配置した後にレバーを配置する機能を知りたいです。
または、デフォルトでレバーが付いている特別なタイプのブロックがあれば、それを使用したいと思います。レバーをクリックするとイベントが発生するようにしたい。