- 192
- 2
- 9
Здравствуйте. Я наверняка что-то не доганяю. Пробовал так, но не получилось (два варианта присвоения ради теста):
Лог отвечается всегда дефолтным значением для моего состояния, но для состояния AGE всё меняется как надо:
Что в общем-то я делаю... Пытаюсь обозначить свой блок, как искуственно выращенный (с помощью муки). Возможно есть готовые решения в игре?
BlockCrops:
public static final IntegerProperty AGE = BlockStateProperties.AGE_7;
private static final BooleanProperty BOOSTED = BooleanProperty.create("boosted");
public BlockCropsExp() {
super();
this.registerDefaultState(this.stateDefinition.any().setValue(AGE, 0).setValue(BOOSTED, false));
}
@Override
public void performBonemeal(ServerWorld world, Random rand, BlockPos bpos, BlockState bstate) {
bstate = bstate.setValue(BOOSTED, true);
world.getBlockState(bpos).setValue(BOOSTED, true);
this.growCrops(world, bpos, bstate);
System.out.println(world.getBlockState(bpos).toString());
}
@Override
protected void createBlockStateDefinition(StateContainer.Builder<Block, BlockState> container) {
container.add(AGE).add(BOOSTED);
}
Лог:
[11:50:16] [Server thread/INFO] [STDOUT/]: [bbrains.mod.morebushes.block.BlockCropsExp:performBonemeal:56]: Block{morebushes:exp}[age=0,boosted=false]
[11:50:20] [Server thread/INFO] [STDOUT/]: [bbrains.mod.morebushes.block.BlockCropsExp:performBonemeal:56]: Block{morebushes:exp}[age=2,boosted=false]
Последнее редактирование: