MOD作成についての質問

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.231035)

MOD作成についての質問

投稿記事by DrLuigi » 2015年5月10日(日) 11:56

こちらの動画(http://www.youtube.com/watch?v=VhOSL7rGb10)を見てMiencraft 1.8でMOD作成をしているのですが、setCreativeTabをどこに書けばいいかわかりません。
ソースコードはこちら(http://www.mediafire.com/download/8iq7w ... ge-src.zip)にありますので、だれか知っている人がいたら教えてくださいませんでしょうか?
DrLuigi
ID:e44289de
 

  • (PostNo.231059)

Re: MOD作成についての質問

投稿記事by ryokusitai » 2015年5月10日(日) 14:42

1.7.10しか作成経験がないもので、もし間違っていたら申し訳ありません。

クリエイティブタブは、アイテムの固有名のようにアイテムそれぞれに設定します。
なので今回の形だと、initパッケージ内、DiamondItemsクラスの
コード: 全て選択
coal_dust = new Item().setUnlocalizedName("coal_dust");

の部分に
コード: 全て選択
coal_dust = new Item().setUnlocalizedName("coal_dust").setCreativeTab(CreativeTabs.tabMaterials);

というような形で指定すればいいのではないかと思います。

他のアイテムについても同様の方法で設定してください。
Minecraft1.7.10のModderでした9割死亡。公開場所
A.K.さんが製作している1.2.5のEE2アドオンであるEEAAを1.7.10のProjectE環境に対応させたPEAAを公開しています。
その他「OldMassFabricator」、「MoonLightDetector(月光センサーMod)」など。
アバター
ryokusitai
ID:1725ac56
石炭掘り
 
記事: 243
登録日時: 2014年5月24日(土) 11:37

  • (PostNo.231087)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年5月10日(日) 17:15

できました!ありがとうございます!
DrLuigi
ID:e44289de
 

  • (PostNo.231094)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年5月10日(日) 18:15

何度もすいません。
スタックできる数を決めるには、どこにどのように記述すればよいでしょうか?
上と同じようではだめですよね?
DrLuigi
ID:e44289de
 

  • (PostNo.231103)

Re: MOD作成についての質問

投稿記事by elise_blacklab » 2015年5月10日(日) 18:36

DrLuigi さんが書きました:何度もすいません。
スタックできる数を決めるには、どこにどのように記述すればよいでしょうか?
上と同じようではだめですよね?

Item#setMaxStackSize()を呼ぶことによりスタック数を変更できます。
呼ぶ場所はインスタンス生成時、独自クラスの場合はコンストラクタでも。
メイドつくってたりします.http://6docvc.net/
アバター
elise_blacklab
ID:e944b358
掘り廃人
 
記事: 2456
登録日時: 2014年6月25日(水) 18:30

  • (PostNo.231216)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年5月11日(月) 18:54

本当に何度もすいません。
TNTの爆発力ってソースコードのどこをいじれば変更できますかね?
DrLuigi
ID:e44289de
 

  • (PostNo.231281)

Re: MOD作成についての質問

投稿記事by ryokusitai » 2015年5月12日(火) 00:03

相変わらず1.7の情報な上に、今さっとコードを見ただけなので間違えてるor1.8にはそんなものはないかもしれません。
その場合は他の方の書き込みもしくは間違いを指摘してくださる訂正書き込みを待ってください。

さっと見た感じ、どうやらレッドストーン動力が伝わるなど、爆発のトリガーとなる動作が行われた場合、
TNTブロックは破壊され、代わりにあの点滅する爆発モードのTNTが同じ場所に召喚されるようです。
それがメソッド「 func_150114_a」や「onBlockDestroyedByExplosion」で呼ばれている「EntityTNTPrimed」です。
この「EntityTNTPrimed」内にある「explode」メソッド、この中の「float f = 4.0F;」が爆発力の指定のようです。
これを大きくすれば爆発力が大きくなり、小さくすれば下がると思います

が、

マインクラフト本体のソースコードを書き換えるには、リフレクションもしくはASMを利用する必要があります(そのはずです)。
今回はリフレクションは使えない気がするのでASMを利用した書き換えを行うことになります。
MinecraftModdingWikiの「こちら」などの情報を参考にすれば出来ないことはないと思いますが、上級者向けの難易度ですので
TNTの爆発力を変更するよりも、爆発力の違うTNTのようなブロックを追加するほうが、難易度は下がると思われます。
Minecraft1.7.10のModderでした9割死亡。公開場所
A.K.さんが製作している1.2.5のEE2アドオンであるEEAAを1.7.10のProjectE環境に対応させたPEAAを公開しています。
その他「OldMassFabricator」、「MoonLightDetector(月光センサーMod)」など。
アバター
ryokusitai
ID:1725ac56
石炭掘り
 
記事: 243
登録日時: 2014年5月24日(土) 11:37

  • (PostNo.231391)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年5月13日(水) 15:27

すいません、返信遅れました。
言い忘れてしまいましたが、マインクラフト本体のTNTを弄るのではなくて、ソースコードからコピーしてきたTNTのソースを弄っています。
↑のソースのcom.drluigi.diamondにblockというパッケージを追加し、その中にTNTのソースコード(.java)をリネームして配置している状態です。
そして、このソースコードを弄っています。
Twitterやってます。

プロアクティブMOD Unofficial for 1.10.2: 配布所
アバター
DrLuigi
ID:e44289de
石掘り
 
記事: 85
登録日時: 2015年5月13日(水) 15:19

  • (PostNo.231392)

Re: MOD作成についての質問

投稿記事by ryokusitai » 2015年5月13日(水) 15:50

なるほど、了解しました。
1.8ではメソッド名がfunc_150114_aからfunc_180692_aに変わっているようですね。
それ以外の部分は上に書いた方法でいけるのではないかと思います。

メソッド「func_180692_a」や「onBlockDestroyedByExplosion」で呼ばれている
「EntityTNTPrimed」内にある「explode」メソッド、この中の「float f = 4.0F;」が爆発力の指定のようなので、
この「EntityTNTPrimed」クラスを継承した「EntityNukePrimed」クラス(名前はなんでも)を作成して
「explode」メソッドのみをオーバーライドし、爆発力を変更したうえで上記2つのメソッドの「EntityTNTPrimed」を
作成したクラス名(今回の例ではEntityNukePrimed)に変えてあげれば爆発力の違うTNTが作成できると思います。
Minecraft1.7.10のModderでした9割死亡。公開場所
A.K.さんが製作している1.2.5のEE2アドオンであるEEAAを1.7.10のProjectE環境に対応させたPEAAを公開しています。
その他「OldMassFabricator」、「MoonLightDetector(月光センサーMod)」など。
アバター
ryokusitai
ID:1725ac56
石炭掘り
 
記事: 243
登録日時: 2014年5月24日(土) 11:37

  • (PostNo.231420)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年5月13日(水) 18:36

ソースをこんな感じにしてみたのですが、
これだと爆弾に火をつけた時、ブロックが消えてしまいます。
どうしたらいいでしょうか?
あと、テクスチャの設定方法も教えてくださると嬉しいです。
Twitterやってます。

プロアクティブMOD Unofficial for 1.10.2: 配布所
アバター
DrLuigi
ID:e44289de
石掘り
 
記事: 85
登録日時: 2015年5月13日(水) 15:19

  • (PostNo.231430)

Re: MOD作成についての質問

投稿記事by ryokusitai » 2015年5月13日(水) 19:38

テクスチャに関しては1.8では大幅に方法が変わってしまったと記憶しています。
恐らく1.7.10の方法は使えないはずですので1.8のModdingをご存知の方の回答を待つか、
MinecraftModdingWikiのチュートリアルを参考にしてみてください

火をつけたら消えてしまう点についてですが、申し訳ありません
実際にちゃんと動作するかどうか確認もせずに書き込んだ結果いくつか見落としがありました。

まず、explodeメソッドはprivateメソッドなのでオーバーライドできません。
したがってexplodeメソッドとは別に、このメソッドを呼び出している「onUpdate」メソッドを
オーバーライドしてください。特に処理は変える必要がないので、全てコピペでかまいません。

また、BlockTNTのソースコードを見れば分かると思いますが、この中ではEntityTNTPrimedのインスタンスを生成する際に
[World]ではなく[World, double, double, doubke, EntityLivingBase]を引数として渡しているはずです。

ですが、BlockNukeの中ではEntityNukePrimedのインスタンスを生成する際に[Workd]のみを渡しています。
着火時にブロックが消滅するのはそれが原因です。
コード: 全て選択
public EntityNukePrimed(World world, double x, double y, double z, EntityLivingBase entityLiving)
{
    super(world, x, y, z, entityLiving);
}

のようにこちらのコンストラクタを記述した上で、これを使ってインスタンスを生成すればうまくいくのではないかと思います。
(1.7.10では動作を確認)
Minecraft1.7.10のModderでした9割死亡。公開場所
A.K.さんが製作している1.2.5のEE2アドオンであるEEAAを1.7.10のProjectE環境に対応させたPEAAを公開しています。
その他「OldMassFabricator」、「MoonLightDetector(月光センサーMod)」など。
アバター
ryokusitai
ID:1725ac56
石炭掘り
 
記事: 243
登録日時: 2014年5月24日(土) 11:37

  • (PostNo.231626)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年5月15日(金) 20:56

またまた無理な質問で申し訳ないのですが、この動画のように、きれいな球形になるように爆発させたいのですが、可能でしょうか?
Twitterやってます。

プロアクティブMOD Unofficial for 1.10.2: 配布所
アバター
DrLuigi
ID:e44289de
石掘り
 
記事: 85
登録日時: 2015年5月13日(水) 15:19

  • (PostNo.231627)

Re: MOD作成についての質問

投稿記事by elise_blacklab » 2015年5月15日(金) 21:06

無責任なことを言いますが少しは自分で試しましょう
メイドつくってたりします.http://6docvc.net/
アバター
elise_blacklab
ID:fb908fb3
掘り廃人
 
記事: 2456
登録日時: 2014年6月25日(水) 18:30

  • (PostNo.231634)

Re: MOD作成についての質問

投稿記事by ryokusitai » 2015年5月15日(金) 22:09

動画で出来ているのなら可能なのだと思います。
ただ、私には爆発時のブロック消滅処理を行っているメソッドをオーバーライドするくらいしか思いつかない上に
どのメソッドがそれを行っているのか、どうオーバーライドして書き換えれば球状に爆発するようになるのかは分かりません。

申し訳ありませんが、他の方の回答を待つかご自分で試行錯誤してみてください。
Minecraft1.7.10のModderでした9割死亡。公開場所
A.K.さんが製作している1.2.5のEE2アドオンであるEEAAを1.7.10のProjectE環境に対応させたPEAAを公開しています。
その他「OldMassFabricator」、「MoonLightDetector(月光センサーMod)」など。
アバター
ryokusitai
ID:1725ac56
石炭掘り
 
記事: 243
登録日時: 2014年5月24日(土) 11:37

  • (PostNo.233678)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年6月01日(月) 14:05

すいません、最後に一つだけ質問させてください。

DiamondMod.java (一部)
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
・・・
DiamondDimension.register();
}

DiamondDimension.java

これだと遊ぶワールドを選んで、ロードしているところでクラッシュします。
何かが足りないのでしょうか?
記述ミスはないはずです。
Twitterやってます。

プロアクティブMOD Unofficial for 1.10.2: 配布所
アバター
DrLuigi
ID:e44289de
石掘り
 
記事: 85
登録日時: 2015年5月13日(水) 15:19

  • (PostNo.233680)

Re: MOD作成についての質問

投稿記事by ryokusitai » 2015年6月01日(月) 14:16

私は一部のソースを見ただけで分かるほどディメンション関連には詳しくないため、クラッシュレポートもしくはソースコード全体を貼っていただけるとありがたいです。
Minecraft1.7.10のModderでした9割死亡。公開場所
A.K.さんが製作している1.2.5のEE2アドオンであるEEAAを1.7.10のProjectE環境に対応させたPEAAを公開しています。
その他「OldMassFabricator」、「MoonLightDetector(月光センサーMod)」など。
アバター
ryokusitai
ID:1725ac56
石炭掘り
 
記事: 243
登録日時: 2014年5月24日(土) 11:37

  • (PostNo.233681)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年6月01日(月) 14:25

Twitterやってます。

プロアクティブMOD Unofficial for 1.10.2: 配布所
アバター
DrLuigi
ID:e44289de
石掘り
 
記事: 85
登録日時: 2015年5月13日(水) 15:19

  • (PostNo.233686)

Re: MOD作成についての質問

投稿記事by ryokusitai » 2015年6月01日(月) 15:31

WorldProviderModクラスをDiamondDimensionクラスのインナークラスとして定義しているのが原因ですね。
インナークラスには外部からの直接のアクセスができないため、インスタンスを生成したくても生成できずエラーになっているようです。
WorldProviderModクラスを普通のクラスとして作成してください。
Minecraft1.7.10のModderでした9割死亡。公開場所
A.K.さんが製作している1.2.5のEE2アドオンであるEEAAを1.7.10のProjectE環境に対応させたPEAAを公開しています。
その他「OldMassFabricator」、「MoonLightDetector(月光センサーMod)」など。
アバター
ryokusitai
ID:1725ac56
石炭掘り
 
記事: 243
登録日時: 2014年5月24日(土) 11:37

  • (PostNo.233692)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年6月01日(月) 16:38


この動画のディメンションを基にプログラミングしているのですが、指定したアイテムでポータルの外枠を右クリックすると、ネザーポータルのように、内側にポータルがでる、という処理ってどこでするのでしょう?
Twitterやってます。

プロアクティブMOD Unofficial for 1.10.2: 配布所
アバター
DrLuigi
ID:e44289de
石掘り
 
記事: 85
登録日時: 2015年5月13日(水) 15:19

  • (PostNo.233801)

Re: MOD作成についての質問

投稿記事by DrLuigi » 2015年6月02日(火) 16:52

自己解決しました。ご迷惑おかけしました。
Twitterやってます。

プロアクティブMOD Unofficial for 1.10.2: 配布所
アバター
DrLuigi
ID:e44289de
石掘り
 
記事: 85
登録日時: 2015年5月13日(水) 15:19


Return to 質問:開発・制作関連

x