【MOD作成】既存のブロックのドロップアイテムを変更する方法

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

【MOD作成】既存のブロックのドロップアイテムを変更する方法

投稿記事by yuta0381 » 2016年12月27日(火) 00:04

マインクラフト1.8(forge-1.8-11.14.4.1563)で
既存(バニラ)のブロックのドロップアイテムを変更する方法を教えてください
yuta0381
ID:1ca90264
大工さん
 
記事: 58
登録日時: 2016年6月18日(土) 22:01

  • (PostNo.291564)

Re: 【MOD作成】既存のブロックのドロップアイテムを変更する方法

投稿記事by Hayabusa58 » 2016年12月27日(火) 17:47

Hayabusa58@運営チーム[運営宛のメッセージ(PM)を作成] 投稿者からの移動申請を確認したため,「質問:MOD/テクスチャ/その他ツール関係」より移動しました。
アバター
Hayabusa58
ID:8d3bab20
けだものだもの
 
記事: 666
登録日時: 2014年5月01日(木) 21:49
お住まい: おふとん

  • (PostNo.291593)

Re: 【MOD作成】既存のブロックのドロップアイテムを変更する方法

投稿記事by Ch1a » 2016年12月27日(火) 23:07

まずこちらのコードを好きなクラスに書きます。
コード: 全て選択
   //ブロックがドロップされるときのイベントを取得
   @SubscribeEvent
   public void onDropBlock(HarvestDropsEvent event) {
      //もし"ドロップされるブロック"が土なら
      if (event.state.getBlock() == Blocks.dirt) {
         Block diamond = Blocks.diamond_block;
         //ダイヤモンドブロックを代わりにドロップ
         diamond.dropBlockAsItem(event.world, event.pos, diamond.getDefaultState(), 0);
         //元の土ブロックがドロップされないように
         event.setCanceled(true);
      }
   }


次にpreInitやinit、postInitなどで
コード: 全て選択
MinecraftForge.EVENT_BUS.register(obj);

と書きます。objというのは先ほどのコードを書いたクラスのインスタンスです。
アバター
Ch1a
ID:444dffca
大工さん
 
記事: 54
登録日時: 2016年8月30日(火) 22:59

  • (PostNo.292137)

Re: 【MOD作成】既存のブロックのドロップアイテムを変更する方法

投稿記事by yuta0381 » 2017年1月02日(月) 20:42

ありがとうございます
yuta0381
ID:1ca90264
大工さん
 
記事: 58
登録日時: 2016年6月18日(土) 22:01


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

x