User Tools

Site Tools


zh_cn:tutorial:waterloggable

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

zh_cn:tutorial:waterloggable [2022/03/20 13:43] – created solidblockzh_cn:tutorial:waterloggable [2022/12/16 02:12] (current) solidblock
Line 17: Line 17:
     public VerticalSlabBlock(Settings settings) {     public VerticalSlabBlock(Settings settings) {
         super(settings);         super(settings);
-        setDefaultState(this.stateManager.getDefaultState()+        setDefaultState(getDefaultState()
             .with(Properties.HORIZONTAL_FACING, Direction.NORTH)             .with(Properties.HORIZONTAL_FACING, Direction.NORTH)
             .with(WATERLOGGED, false);             .with(WATERLOGGED, false);
Line 24: Line 24:
     // 让方块认识这个属性,否则设置该属性将会抛出异常。     // 让方块认识这个属性,否则设置该属性将会抛出异常。
     @Override     @Override
-    protected void appendProperties(StateManager.Builder<Block, BlockState> stateManager) { +    protected void appendProperties(StateManager.Builder<Block, BlockState> builder) { 
-        stateManager.add(Properties.HORIZONTAL_FACING, WATERLOGGED);+        builder.add(Properties.HORIZONTAL_FACING, WATERLOGGED);
     }     }
 </code> </code>
Line 38: Line 38:
     }     }
 </code> </code>
- 
  
 覆盖 ''getFluidState'',这样方块含水后就会显示水。 覆盖 ''getFluidState'',这样方块含水后就会显示水。
Line 49: Line 48:
  
 覆盖 ''getStateForNeighborUpdate'',以正确地处理水流。 覆盖 ''getStateForNeighborUpdate'',以正确地处理水流。
-<code java>+<yarncode java>
     @Override     @Override
     public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) {     public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) {
         if (state.get(WATERLOGGED)) {         if (state.get(WATERLOGGED)) {
             // 1.17 之前是这么写的:world.getFluidTickScheduler().schedule(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));             // 1.17 之前是这么写的:world.getFluidTickScheduler().schedule(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));
-            world.createAndScheduleFluidTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));+            world.method_39281(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));
         }         }
  
         return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos);         return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos);
     }     }
-</code>+</yarncode>
  
 现在方块可含水了,并且与水有关的功能都能正常运作。 现在方块可含水了,并且与水有关的功能都能正常运作。
zh_cn/tutorial/waterloggable.1647783804.txt.gz · Last modified: 2022/03/20 13:43 by solidblock