ページ 11

updateTickについて Forge1.7.10

投稿記事Posted: 2017年11月12日(日) 14:25
by Sui19980706
コード: 全て選択
public class MODBlock extends Block {

     public MODBlock() {

          super(Material.rock);
          this.setBlockName("MODBlock");
          this.setTickRandomly(true);

     }

     @Override
     public void updateTick(World world, int x, int y, int z, Random rnd) {

          super.updateTick(world, x, y, z, rnd);

          if(!world.isRemote) {
               if(world.getBlock(x, y - 2, z) == Blocks.lava) world.setBlock(x, y, z, Blocks.stone);
          }

     }
}

上のようなコードだと、MODBlockを溶岩の2ブロック上に置いたら、石になりますが、
石になるまでの時間がランダムになってしまっています。
このMODBlockが石になるまでの時間を決められるのでしょうか。

Re: updateTickについて Forge1.7.10

投稿記事Posted: 2017年11月12日(日) 14:49
by elise_blacklab
Sui19980706 さんが書きました:this.setTickRandomly(true);

そりゃランダムにtickするように指定してるんですからそうなります.
適当なタイミングでworld.scheduleBlockUpdate(~);を呼んであげないといけません(この場合は設置時)