EntityBuilder builder = entityManager.newBuilder(block.getPrefab());
builder.addComponent(new LocationComponent(blockPosition.toVector3f()));
builder.addComponent(new BlockComponent(block, blockPosition));
if (block.isDestructible() && !builder.hasComponent(HealthComponent.class)) {
// Block regen should always take the same amount of time, regardless of its hardness
builder.addComponent(new HealthComponent(block.getHardness(), block.getHardness() / BLOCK_REGEN_SECONDS, 1.0f));
}
boolean isTemporary = isTemporaryBlock(builder, block);
if (!isTemporary && !builder.hasComponent(NetworkComponent.class)) {
builder.addComponent(new NetworkComponent());
}