User Tools

Site Tools






Blocks and Block Entities



World Generation

Recipe Types




Dynamic Data Generation

Tutorials for Minecraft 1.15

Tutorials for Minecraft 1.14

Contribute to Fabric

Extremely Strange People


Adding Status Effects

To add status effects to your mod, you'll need to:

  • create a class that extends StatusEffect
  • add custom functionality
  • register your status effect
  • add translations and textures for your status effect

Creating Status Effect Class

We will add a new status effect that gives you EXP every tick.

public class ExpStatusEffect extends StatusEffect {
  public ExpStatusEffect() {
      StatusEffectCategory.BENEFICIAL, // whether beneficial or harmful for entities
      0x98D982); // color in RGB
  // This method is called every tick to check whether it should apply the status effect or not
  public boolean canApplyUpdateEffect(int duration, int amplifier) {
    // In our case, we just make it return true so that it applies the status effect every tick.
    return true;
  // This method is called when it applies the status effect. We implement custom functionality here.
  public void applyUpdateEffect(LivingEntity entity, int amplifier) {
    if (entity instanceof PlayerEntity) {
      ((PlayerEntity) entity).addExperience(1 << amplifier); // Higher amplifier gives you EXP faster

Registering Status Effect

This registers our status effect.

public class ExampleMod implements ModInitializer {
  public static final StatusEffect EXP = new ExpStatusEffect();
  public void onInitialize() {
    Registry.register(Registry.STATUS_EFFECT, new Identifier("tutorial", "exp"), EXP);

Adding Translations & Textures

You'll need to add a translation to your status effect. Head over to your mod lang file and add a new entry:

  "effect.tutorial.exp": "Experience"

You'll need to add a texture as well. The direct path is:



You can run a command /effect give @p tutorial:exp in game to test your status effect.

tutorial/status_effects.txt · Last modified: 2022/02/17 08:59 by sattes