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

Entità (Mobs)

Anatomia di un’Entità

Le entità in Minecraft sono oggetti complessi che richiedono diverse parti per funzionare:

  1. Classe Entity: Logica e comportamento (AI).
  2. Renderer: Come viene disegnata nel gioco.
  3. Modello: La forma 3D (spesso fatta con Blockbench).
  4. Texture: La skin dell’entità.
  5. Attributi: Vita, attacco, velocità.

1. La Classe Entity

Estendiamo una classe base come PathAwareEntity (per mob che camminano) o AnimalEntity (se si riproducono).

```java public class CubeEntity extends PathAwareEntity { public CubeEntity(EntityType<? extends PathAwareEntity> entityType, World world) { super(entityType, world); }

// Definire gli attributi base
public static DefaultAttributeContainer.Builder createCubeAttributes() {
    return MobEntity.createMobAttributes()
            .add(EntityAttributes.GENERIC_MAX_HEALTH, 10.0)
            .add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.2f);
}

} ```

2. Registrazione

In ModEntities.java:

```java public static final EntityType CUBE = Registry.register( Registries.ENTITY_TYPE, new Identifier(“tutorial”, “cube”), FabricEntityTypeBuilder.create(SpawnGroup.CREATURE, CubeEntity::new) .dimensions(EntityDimensions.fixed(0.75f, 0.75f)) .build() ); ```

Non dimenticare di registrare gli attributi in onInitialize!

```java FabricDefaultAttributeRegistry.register(ModEntities.CUBE, CubeEntity.createCubeAttributes()); ```

3. Rendering Client-Side

Devi registrare il renderer nel client:

```java EntityRendererRegistry.register(ModEntities.CUBE, CubeEntityRenderer::new); ```

Usa Blockbench per creare il modello Java e la texture. Esporta come “Modded Entity (Fabric/Forge)”.