00
:
00
:
00
:
00
Corso SEO AI - Usa SEOEMAIL al checkout per il 30% di sconto

Blocks & Crops

Blocchi Trasparenti

Se crei un blocco come il vetro o le foglie, devi specificare che non è opaco. Altrimenti vedrai attraverso il mondo (X-Ray effect).

```java public static final Block RUBY_GLASS = new Block( FabricBlockSettings.create().nonOpaque() // Fondamentale! .strength(0.3f) .sounds(BlockSoundGroup.GLASS) ); ```

Nel client initializer (ClientModInitializer), devi anche impostare il render layer:

```java BlockRenderLayerMap.INSTANCE.putBlock(ModBlocks.RUBY_GLASS, RenderLayer.getCutout()); ```

  • getCutout(): Per blocchi con parti completamente trasparenti (vetro, erba).
  • getTranslucent(): Per blocchi semitrasparenti (ghiaccio, acqua colorata).

Coltivazioni (Crops)

Le coltivazioni estendono CropBlock. Hai bisogno di un seme (Item) che pianta il blocco.

```java public class TomatoCropBlock extends CropBlock { public TomatoCropBlock(Settings settings) { super(settings); }

@Override
protected ItemConvertible getSeedsItem() {
    return ModItems.TOMATO_SEEDS;
}

} ```

Registrazione:

```java public static final Block TOMATO_CROP = new TomatoCropBlock( FabricBlockSettings.create().noCollision().ticksRandomly().breakInstantly() ); ```

Blocchi Orientabili (Directional)

Se vuoi che il blocco abbia una faccia frontale (come la fornace):

  1. Estendi Block.
  2. Aggiungi Properties.HORIZONTAL_FACING al StateManager.

```java public class CustomFurnaceBlock extends Block { public static final DirectionProperty FACING = Properties.HORIZONTAL_FACING;

public CustomFurnaceBlock(Settings settings) {
    super(settings);
    setDefaultState(getDefaultState().with(FACING, Direction.NORTH));
}

@Override
protected void appendProperties(StateManager.Builder<Block, BlockState> builder) {
    builder.add(FACING);
}

@Override // Ruota il blocco quando piazzato
public BlockState getPlacementState(ItemPlacementContext ctx) {
    return this.getDefaultState().with(FACING, ctx.getHorizontalPlayerFacing().getOpposite());
}

} ```