コメント > MOD製作チュートリアル > ブロックの追加

  • アルミニウムモッドの時のブロック作成法はないのですか。 - # 2015-07-04 14:49:30
    • (7月2日までのこのページのソースコードがみたいです。) - # 2015-07-04 14:51:54
    • ご意見ありがとうございます。現在修正、もしくは併記予定です。 - Tom Kate 2015-07-05 12:22:45
      • 併記する形で修正いたしました。 - Tom Kate 2015-07-05 13:27:24
    • とても見やすくなってよかったです。ありがとうございます。 - # 2015-07-05 14:46:28
  • ブロックの面によってテクスチャを変えるにはどうしたらよいのでしょうか - 名無しさん 2015-07-05 20:20:18
    • ご意見ありがとうございます。使えるメソッドのgetIcon と registerBlockIconsに追記いたしました。 - Tom Kate 2015-07-06 19:56:48
      • 一時的に削除します。「メタデータを持つブロックの追加」で触れるよう修正する予定です。 - 赤砂蛇凪浜 2015-07-10 21:12:56
        • 遅くなりましたが、修正が完了しました。 - 赤砂蛇凪浜 2015-07-23 12:35:35
  • 申し訳ありません blockAluminium = new AluminiumBlock(Material.rock) の部分でなぜかいつもAluminiumBlockのところにエラーが付きますどうすればよいでしょうか?丸コピペしたソースコードを使ってもそうなります - 名無しさん 2015-09-19 15:28:50
    • クラッシュレポートをクラウドサービスか何かにおいていただいて、urlを送っていただくことはできますか? - Tom Kate 2015-09-19 15:59:11
    • クラッシュレポートを見せていただければ、こちらで対応いたします。 - Tom Kate 2015-09-19 15:59:49
  • net.minecraft.block.Blockを参照 と書かれているのですが、どうやって参照するのですか? - 名無しさん 2015-11-01 17:26:38
    • AluminiumBlock.javaをeclipse上で開き、...extends Block {...のBlockにカーソルを合わせてF3を押せば、Block.classを表示することができます。
      Blockにはバニラのブロックを追加している部分があるので、そこを見れば、バニラのブロックがどういう設定をされているかを知ることができます。 - 赤砂蛇凪浜 2015-11-04 19:23:57
  • ブロックを複数追加し、クリエイティブタブも参考にさせていただき作成できました。ですが、ブロック1、ブロック2と数を増やしていくとタブ内での並び順がバラバラになってしまいます。この場合どうすればよいのでしょうか? - 名無しさん 2016-03-05 20:30:20
    • forge側の不具合で、既存のワールドのクリエイティブタブにアイテム・ブロックを追加すると順序がばらばらになってしまいます。
      新しくワールドを作り直すと正しい順で表示されると思います。お試しください。 - 赤砂蛇凪浜 2016-03-06 09:15:21
    • 返信ありがとうございます。ワールドを再生成しましたが直りませんでした。。何か設定し忘れているのでしょうか……。ブロックの並び順はブロックIDで決められているのですよね? - 名無しさん 2016-03-07 19:11:47
      • はい。ブロックIDはMOD側から指定することができないため、基本的にGameRegistryに登録した順ですね。 - 赤砂蛇凪浜 2016-03-07 20:38:17
        • 多分、そこが自分は理解できてないと思うんです。登録順を並べるにはどうすればいいのでしょう?また、registerBlock(X, "Y");このXとYはどういう値にすればうまく並べれるのでしょうか。今は - 名無しさん 2016-03-07 21:40:26
          • (○○1, "1")、(○○2, "2")という感じになっています - 名無しさん 2016-03-07 21:41:41
          • おそらく、GameRegistry.registerBlockを呼び出した順だと思われます。 - 赤砂蛇凪浜 2016-03-08 21:37:25
            • 呼び出し順を変える方法を教えて頂きたいです! - 名無しさん 2016-03-09 23:14:39
              • コード内で記述する順を変えるだけです。 - 赤砂蛇凪浜 2016-03-10 19:21:04
                • 記述する順番はしっかりならべてるんだけどなぁ・・・。どうしても解決できません。。。メタブロックの追加だとうまく表示できたのでそちらに切り替えることにします。初心者に丁寧に教えていただいてありがとうございました!(涙) - 名無しさん 2016-03-13 20:55:45
  • 基本的にできないことはわかっていることを前提として置いて質問します。何か裏技的な形でブロックid - anatawa12 2016-12-16 01:01:27
    • 続き 裏技的な形でブロックidを指定することはできませんか? - anatawa12 2016-12-16 01:03:10
      • 私達も試したことがないためはっきりとしたことは言えません。すみません。
        以下は軽く調べてみた結果で、間違っている可能性がありますので、ご了承ください。
        Forgeのシステムに入り込む形で指定することは可能かもしれませんが、簡単ではないと思います。
        Forgeのブロック追加処理は、GameRegistryからGameData、FMLControlledNamespacedRegistryを経由して行っているようです。
        ブロックIDは、GameDataやFMLControlledNamespacedRegistryでItem IDとの対応を見ながら決定しているようです。
        GameData.getMain()がprotectedに指定されているため、代替メソッドを作ろうとしたらそこで詰まりました。 - 赤砂蛇凪浜 2016-12-17 18:26:34
        • 返信ありがとうございます やっぱり難しいですよね 1.7にはたを1.8のidで追加するmodを作ろうと思ったのですが、、 - anatawa12 2016-12-22 15:51:48
  • 質問です。レッドストーンブロックのようにブロックをレッドストーン動力源にするにはどうすればいいのでしょうか? - 名無しさん 2017-01-07 16:00:06
    • レッドストーンブロックのクラスであるBlockCompressedPoweredを見るとわかると思いますが、以下のようにすればよいです。
      canProvidePowerをオーバーライドし、常にtrueを返す。
      isProvidingWeakPowerをオーバーライドし、常に15を返す。 - 赤砂蛇凪浜 2017-01-10 16:06:40
      • 解決しました!! もうひとつ質問なんですけどブロックが光を透過するようにするにはどうすればいいのでしょう。 - 名無しさん 2017-01-11 20:39:31
        • こっちも解決しました!! .setLightOpacityというメソッドを使いました。 - 名無しさん 2017-01-14 15:12:24
  • このブロックを階段にするにはどうすればいいですか? - 名無しさん 2017-02-04 16:05:17
    • 返信が遅くなってしまい申し訳ありません。
      今後チュートリアルを作成する予定です。
      また、単純な階段ならば、BlockStairsのインスタンスを生成することで実装できます。
      以下、そのサンプルです。perInitに追記すれば動作します。
      stairsAluminium = new BlockStairs(blockAluminium, 0)
      .setBlockName("stairsAluminium")
      .setBlockTextureName("aluminiummod:aluminium_block");
      stairsAluminium.setCreativeTab(CreativeTabs.tabBlock);
      stairsAluminium.setHarvestLevel("pickaxe", 2);
      stairsAluminium.useNeighborBrightness = true;
      GameRegistry.registerBlock(stairsAluminium, "stairsAluminium"); - 赤砂蛇凪浜 2017-02-23 17:46:40
最終更新:2017年02月23日 17:52