【解決積み】[1.11]上に植物を設置できるブロックの追加

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

【解決積み】[1.11]上に植物を設置できるブロックの追加

投稿記事by おんみつ » 2018年3月17日(土) 15:05

Minecraft 1.11
Forge 1.11-13.19.1.2189

タイトルのとおり、上に植物(ポピーや苗木など)を設置できるブロックを追加したいです。
最初はブロックのクラスを直接いじれば問題ないと思っていましたが、バニラのソースではBlockBush側で植えられるブロックが
指定されていたようで、現在行き詰まっています。そこで、上のブロックを取得してそれが植物であればそのブロックを保持するといった
形をとりたいのですが、方法が分かりません。

どなたかご教授お願いします。
最後に編集したユーザー おんみつ [ 2018年3月17日(土) 15:23 ], 累計 1 回
建築ともっぢんぐやってます。ミンチにするのだ!
おんみつ
ID:55d8b547
水から上がったとこ
 
記事: 8
登録日時: 2017年7月18日(火) 13:59
お住まい: 古の都

  • (PostNo.314783)

Re: [1.11]上に植物を設置できるブロックの追加

投稿記事by おんみつ » 2018年3月17日(土) 15:23

質問したばかりですが、自己解決しました。

サボテンが砂にしか置けないのを応用して、 canSustainPlant を使用することでできました。


コード: 全て選択
@Override
   public boolean canSustainPlant(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing direction, net.minecraftforge.common.IPlantable plantable) {
      IBlockState plant = plantable.getPlant(world, pos.offset(direction));
      
      if (plant.getBlock() == Blocks.RED_FLOWER || plant.getBlock() == Blocks.YELLOW_FLOWER || plant.getBlock() == Blocks.DOUBLE_PLANT)
        {
            return true;
        }
        return false;
    }
建築ともっぢんぐやってます。ミンチにするのだ!
おんみつ
ID:55d8b547
水から上がったとこ
 
記事: 8
登録日時: 2017年7月18日(火) 13:59
お住まい: 古の都


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

x