goldodemon/Minecraft-JavaSet / ExampleStatusEffects.java
goldodemon's picture
download
raw
1.89 kB
package com.example.examplemod;
import net.minecraft.entity.attribute.EntityAttributeModifier;
import net.minecraft.entity.attribute.EntityAttributes;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectCategory;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.util.Identifier;
import net.minecraft.util.Util;
/**
* Custom status effect ("Overcharged": boosts movement speed, drains hunger
* faster). StatusEffect registration API unchanged across 1.21.7 - 1.21.11.
*/
public final class ExampleStatusEffects {
private ExampleStatusEffects() {}
private static final RegistryKey<StatusEffect> OVERCHARGED_KEY = RegistryKey.of(
RegistryKeys.STATUS_EFFECT, Identifier.of(ExampleMod.MOD_ID, "overcharged"));
public static final StatusEffect OVERCHARGED = Registry.register(
Registries.STATUS_EFFECT,
OVERCHARGED_KEY,
new StatusEffect(StatusEffectCategory.BENEFICIAL, 0xF5C518) {
}.addAttributeModifier(
EntityAttributes.MOVEMENT_SPEED,
Identifier.of(ExampleMod.MOD_ID, "overcharged_speed"),
0.25, // +25% per amplifier level
EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL
)
);
public static void register() {
// no-op; triggers static init of OVERCHARGED above when called from onInitialize()
}
/** Helper: apply the effect to an entity for 10 seconds at amplifier level 1. */
public static void applyOvercharged(net.minecraft.entity.LivingEntity entity) {
entity.addStatusEffect(new StatusEffectInstance(OVERCHARGED, 200, 1));
}
}

Xet Storage Details

Size:
1.89 kB
·
Xet hash:
55086a49add0b3c2afe4d2755412c53905f7dbafffd2b6012f601960850a0ec2

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.