41 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.world.level.block;
 | |
| 
 | |
| import com.mojang.serialization.MapCodec;
 | |
| import com.mojang.serialization.codecs.RecordCodecBuilder;
 | |
| import net.minecraft.core.BlockPos;
 | |
| import net.minecraft.server.level.ServerLevel;
 | |
| import net.minecraft.util.RandomSource;
 | |
| import net.minecraft.world.level.block.state.BlockBehaviour;
 | |
| import net.minecraft.world.level.block.state.BlockState;
 | |
| 
 | |
| public class WeatheringCopperGrateBlock extends WaterloggedTransparentBlock implements WeatheringCopper {
 | |
| 	public static final MapCodec<WeatheringCopperGrateBlock> CODEC = RecordCodecBuilder.mapCodec(
 | |
| 		instance -> instance.group(WeatheringCopper.WeatherState.CODEC.fieldOf("weathering_state").forGetter(WeatheringCopperGrateBlock::getAge), propertiesCodec())
 | |
| 			.apply(instance, WeatheringCopperGrateBlock::new)
 | |
| 	);
 | |
| 	private final WeatheringCopper.WeatherState weatherState;
 | |
| 
 | |
| 	@Override
 | |
| 	protected MapCodec<WeatheringCopperGrateBlock> codec() {
 | |
| 		return CODEC;
 | |
| 	}
 | |
| 
 | |
| 	protected WeatheringCopperGrateBlock(WeatheringCopper.WeatherState weatherState, BlockBehaviour.Properties properties) {
 | |
| 		super(properties);
 | |
| 		this.weatherState = weatherState;
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	protected void randomTick(BlockState state, ServerLevel level, BlockPos pos, RandomSource random) {
 | |
| 		this.changeOverTime(state, level, pos, random);
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	protected boolean isRandomlyTicking(BlockState state) {
 | |
| 		return WeatheringCopper.getNext(state.getBlock()).isPresent();
 | |
| 	}
 | |
| 
 | |
| 	public WeatheringCopper.WeatherState getAge() {
 | |
| 		return this.weatherState;
 | |
| 	}
 | |
| }
 |