[チュートリアル]精錬レシピ・燃料追加MODの作り方[初級][1.0.0]

クライアント/サーバーMODの開発に関する話題、技術交換はこちらで。質問は質問フォーラムへお願いします。
  • (PostNo.11619)

[チュートリアル]精錬レシピ・燃料追加MODの作り方[初級][1.0.0]

投稿記事by laco0416 » 2011年11月04日(金) 13:23

ModLoaderを利用しています。
MOD製作環境についてはWikiのMOD製作のページ(こちら)を参考にしてください。

・精錬レシピ追加
・用意するもの
mod_Tutorial.java

mod_Tutorial.java
コード: 全て選択
package net.minecraft.src;

public class mod_Tutorial extends BaseMod {    
   public String getVersion() {
      return "1.0.0";
   }
   public void load() {
      ModLoader.AddSmelting(Block.dirt.blockID, new ItemStack(Item.diamond, 1));
   }   
}

解説
ModLoader.AddSmelting(Block.dirt.blockID, new ItemStack(Item.diamond, 1))
土を焼くとダイヤになる精錬レシピです
("焼きたい物", new ItemStack(作りたいもの,個数)
注意:"焼きたいもの"はint型の引数なのでブロックの場合は末尾に.blockIDを、アイテムの場合は.shiftedIndexをつけます。
例)
ModLoader.AddSmelting(Item.iron.shiftedIndex, new ItemStack(Item.diamond, 1))
自作ブロック・アイテムでも同様に末尾につけてください。


・燃料追加
・用意するもの
mod_Tutorial.java

mod_Tutorial.java
コード: 全て選択
package net.minecraft.src;

public class mod_Tutorial extends BaseMod {
   
   public String getVersion() {
      return "1.0.0";
   }
   public void load(){       
   }   

   public int AddFuel(int i, int j)
   {
      if (i == Block.dirt.blockID) {
         return 100;
      } else {
         return 0;
      }
      
   }
}

解説
public int AddFuel(int i, int j)
燃料を追加するメソッドです。

if (i == Block.dirt.blockID) {
return 100;}

土を100Fの燃料に設定しています。
ここでもブロックなら.blockIDを、アイテムなら.shiftedIndexをつけてください。
返り値は燃え続ける時間(フレーム数)を指定します。
200…精錬一回分
石炭や木炭は1600です。

これで終わりです。ここからの手順はWikiを参照してください。
わからないことがあれば気軽に質問どうぞ
最後に編集したユーザー tsuttsu305 [ 2013年3月18日(月) 20:58 ], 累計 1 回
理由: トピック主の申請により閉鎖(申請理由: 情報が古いため)
MOD作ったりしてます。らこと呼んでください
http://forum.minecraftuser.jp/viewtopic.php?f=13&t=1047
アバター
laco0416
ID:f991a69e
石炭掘り
 
記事: 150
登録日時: 2011年9月17日(土) 19:58

  • (PostNo.32233)

Re: [チュートリアル]精錬レシピ・燃料追加MODの作り方[初級][1.0.0]

投稿記事by みどりぃ » 2012年3月31日(土) 13:37

焼きたい物にダメージ値を指定するにはどのようにすればいいのですか?
みどりぃ
ID:ace4c4c4
石掘り
 
記事: 115
登録日時: 2011年11月03日(木) 06:57

  • (PostNo.32300)

Re: [チュートリアル]精錬レシピ・燃料追加MODの作り方[初級][1.0.0]

投稿記事by rixyo » 2012年3月31日(土) 20:40

lacoさんコピペして コンパイルしてみましたがエラーが出ました。
Modloader.AddSmelting のところのAdd を add に変えるとエラーが出ずにコンパイルできます。
初心者のみなさんのために、直しておいてくれませんか。





実は私も初心者ですが・・・
マインクラフトはやっぱり一番
アバター
rixyo
ID:1bd9dced
水から上がったとこ
 
記事: 7
登録日時: 2011年10月13日(木) 17:22

  • (PostNo.32716)

Re: [チュートリアル]精錬レシピ・燃料追加MODの作り方[初級][1.0.0]

投稿記事by みどりぃ » 2012年4月03日(火) 09:12

みどりぃ さんが書きました:焼きたい物にダメージ値を指定するにはどのようにすればいいのですか?

自己解決しました。既存クラスのFurnaceRecipesの機能を使用して出来ました。
みどりぃ
ID:ace4c4c4
石掘り
 
記事: 115
登録日時: 2011年11月03日(木) 06:57

  • (PostNo.87038)

Re: [チュートリアル]精錬レシピ・燃料追加MODの作り方[初級][1.0.0]

投稿記事by YKhiguma » 2013年3月18日(月) 19:32

lacoさんのコードを独自に改良してみたのですがコンパイルの時に失敗してしまいます何か間違いがあれば返答をお願いします
エラー文↓
'"C:\Program Files\Java\jdk1.7.0_17\bin\javac" -Xlint:-options -deprecation -g -
source 1.6 -target 1....' failed : 1

== ERRORS FOUND ==

src\minecraft\net\minecraft\src\mod_Tutorial.java:8: エラー: ')'がありません
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden
Carrot, 1));

^

src\minecraft\net\minecraft\src\mod_Tutorial.java:8: エラー: ';'がありません
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden
Carrot, 1));

^

src\minecraft\net\minecraft\src\mod_Tutorial.java:8: エラー: 文ではありません
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden
Carrot, 1));

^

src\minecraft\net\minecraft\src\mod_Tutorial.java:8: エラー: ';'がありません
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden
Carrot, 1));

^

エラー4個
==================

改良したコード
package net.minecraft.src;

public class mod_Tutorial extends BaseMod {
public String getVersion() {
return "1.5.1";
}
public void load() {
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden Carrot, 1));
}
}
Minecraftバージョン1.5
MCP 742
です
返答お願いします
長文すみませんスポイラーにしようと思ってもできませんでした。本当にすみません。
YKhiguma
ID:4156ade7
水から上がったとこ
 
記事: 10
登録日時: 2012年12月26日(水) 10:25

  • (PostNo.87041)

Re: [チュートリアル]精錬レシピ・燃料追加MODの作り方[初級][1.0.0]

投稿記事by ayamitsu » 2013年3月18日(月) 19:44

YKhiguma さんが書きました:lacoさんのコードを独自に改良してみたのですがコンパイルの時に失敗してしまいます何か間違いがあれば返答をお願いします
エラー文↓
'"C:\Program Files\Java\jdk1.7.0_17\bin\javac" -Xlint:-options -deprecation -g -
source 1.6 -target 1....' failed : 1

== ERRORS FOUND ==

src\minecraft\net\minecraft\src\mod_Tutorial.java:8: エラー: ')'がありません
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden
Carrot, 1));

^

src\minecraft\net\minecraft\src\mod_Tutorial.java:8: エラー: ';'がありません
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden
Carrot, 1));

^

src\minecraft\net\minecraft\src\mod_Tutorial.java:8: エラー: 文ではありません
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden
Carrot, 1));

^

src\minecraft\net\minecraft\src\mod_Tutorial.java:8: エラー: ';'がありません
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden
Carrot, 1));

^

エラー4個
==================

改良したコード
package net.minecraft.src;

public class mod_Tutorial extends BaseMod {
public String getVersion() {
return "1.5.1";
}
public void load() {
ModLoader.addSmelting(Item.Carrots.shiftedIndex, new ItemStack(Item.Golden Carrot, 1));
}
}
Minecraftバージョン1.5
MCP 742
です
返答お願いします
長文すみませんスポイラーにしようと思ってもできませんでした。本当にすみません。

おそらく人参と金の人参をItemから参照しようとしているんでしょうけども・・・

まず第一に、"Item.Golden Carrot"のように変数に空白をあけてはいけません。
第二に、変数名を間違えている可能性があります。
MCPの環境で開発していると仮定して話しますが、
ItemにはCarrotsという変数はデフォルトではありません。正しくは"Item.carrot.shiftedIndex"かと思われます。
更に、"Item.GoldenCarrot"もないです。正しくは"Item.goldenCarrot"かと思われます。

Itemのクラスから参照するのであるならば、Itemのクラスを一度目を通すことをおすすめします。
アバター
ayamitsu
ID:40fb00df
ラピスラズリ収集家
 
記事: 1068
登録日時: 2011年8月10日(水) 19:04


Return to 開発関連

x