Я делаю мод для Minecraft с кузницей 1.14, который добавляет цветок, который должен расти.Как я могу заставить их расти после случайного времени?
Это уже работает с костной мукой, но я не хочу, чтобы их выращивали с костной мукой.Я также пытался поместить оператор print в методы grow () и tick (), но в консоли ничего не отображалось.
Вот класс java моего цветка:
public class EnergyFlowerBlock extends FlowerBlock implements IGrowable {
public EnergyFlowerBlock(Effect p_i49984_1_, int p_i49984_2_, Properties p_i49984_3_) {
super(p_i49984_1_, p_i49984_2_, p_i49984_3_);
}
public boolean canGrow(IBlockReader worldIn, BlockPos pos, BlockState state, boolean isClient) {
return !(worldIn.getBlockState(pos) == BlockRegistry.BLOOMING_ENERGY_FLOWER.getDefaultState());
}
public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, BlockState state) {
return false;
}
public void grow(World worldIn, BlockPos pos, BlockState state) {
worldIn.setBlockState(pos, BlockRegistry.BLOOMING_ENERGY_FLOWER.getDefaultState());
}
public void grow(World worldIn, Random rand, BlockPos pos, BlockState state) {
this.grow(worldIn, pos, state);
}
@Override
public void tick(BlockState state, World worldIn, BlockPos pos, Random random) {
System.out.println("hello from tick in EnergyFlowerBlock");
super.tick(state, worldIn, pos, random);
if (!worldIn.isAreaLoaded(pos, 1)) return;
if (worldIn.getLightSubtracted(pos, 0) >= 9) {
if (canGrow(worldIn, pos, state, true)) {
float f = 0.1F;
if (net.minecraftforge.common.ForgeHooks.onCropsGrowPre(worldIn, pos, state, random.nextInt((int)(25.0F / f) + 1) == 0)) {
worldIn.setBlockState(pos, BlockRegistry.BLOOMING_ENERGY_FLOWER.getDefaultState());
net.minecraftforge.common.ForgeHooks.onCropsGrowPost(worldIn, pos, state);
}
}
}
}
}