Entità (Mobs)
Anatomia di un’Entità
Le entità in Minecraft sono oggetti complessi che richiedono diverse parti per funzionare:
- Classe Entity: Logica e comportamento (AI).
- Renderer: Come viene disegnata nel gioco.
- Modello: La forma 3D (spesso fatta con Blockbench).
- Texture: La skin dell’entità.
- 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
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)”.