Effetti dei mob
Gli effetti dei mob, anche noti come effetti di stato, o semplicemente effetti, sono una condizione che interessa un'entità. Possono essere positivi, negativi o neutrali in natura. Il gioco base applica questi effetti in vari modi, come cibi, pozioni ecc.
Il comando /effect può essere usato per applicare effetti su un'entità.
Effetti dei mob Personalizzati
In questo tutorial aggiungeremo un nuovo effetto personalizzato chiamato Tater che ti darà un punto esperienza in ogni tick di gioco.
Estendere MobEffect
Creiamo una classe per il nostro effetto personalizzato estendendo MobEffect, che è la classe base per tutti gli effetti.
java
No lines matched.1
Registrare il tuo Effetto Personalizzato
Come nella registrazione di blocchi e oggetti, usiamo Registry.register per registrare i nostri effetti personalizzati nella registry MOB_EFFECT. Questo può essere fatto nel nostro initializer.
java
No lines matched.1
Texture
L'icona dell'effetto è un PNG 18x18 che apparirà nella schermata dell'inventario del giocatore. Posiziona la tua icona personalizzata in:
text
resources/assets/example-mod/textures/mob_effect/tater.pngTraduzioni
Come per qualsiasi altra traduzione, puoi aggiungere un'entrata con il formato ID "effect.example-mod.effect-identifier": "Value" al file di lingua.
json
{
"effect.example-mod.tater": "Tater"
}1
2
3
2
3
Applicare l'Effetto
Vale la pena di dare un'occhiata a come si aggiunge solitamente un effetto ad un'entità.
TIP
Per un test rapido, potrebbe essere una buona idea usare il comando /effect citato prima:
mcfunction
effect give @p example-mod:tater1
Per applicare un effetto internamente, vorrai usare il metodo LivingEntity#addEffect, che accetta una MobEffectInstance, e restituisce un booleano, che indica se l'effetto è stato applicato con successo.
java
No lines matched.1
| Argomento | Tipo | Descrizione |
|---|---|---|
effect | Holder<MobEffect> | Un holder che rappresenta l'effetto. |
duration | int | La durata dell'effetto in tick; non in secondi |
amplifier | int | L'amplificatore al livello dell'effetto. Non corrisponde al livello dell'effetto, ma è invece aggiunto al di sopra. Per cui un amplifier di 4 => livello 5 |
ambient | boolean | Questo è un po' complesso. In pratica indica che l'effetto è stato aggiunto dall'ambiente (per esempio un Faro) e non ha una causa diretta. Se true, l'icona dell'effetto nel HUD avrà un overlay color ciano. |
particles | boolean | Se si mostrano le particelle. |
icon | boolean | Se si mostra un'icona dell'effetto nel HUD. L'effetto sarà mostrato nell'inventario indipendentemente da questo valore. |
INFO
Per creare una pozione che usa questo effetto, per favore vedi la guida Pozioni.







