Lemon Effects

This commit is contained in:
Vos
2025-11-11 11:27:29 -06:00
parent ce65339a04
commit b027fb1945
6 changed files with 64 additions and 1 deletions
@@ -2,6 +2,7 @@ package com.acethewildfire.acesbs;
import com.acethewildfire.acesbs.block.ModBlocks; import com.acethewildfire.acesbs.block.ModBlocks;
import com.acethewildfire.acesbs.component.ModDataComponentTypes; import com.acethewildfire.acesbs.component.ModDataComponentTypes;
import com.acethewildfire.acesbs.effect.ModEffects;
import com.acethewildfire.acesbs.item.ModItemGroups; import com.acethewildfire.acesbs.item.ModItemGroups;
import com.acethewildfire.acesbs.item.ModItems; import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.sounds.ModSounds; import com.acethewildfire.acesbs.sounds.ModSounds;
@@ -12,6 +13,7 @@ import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.event.player.AttackEntityCallback; import net.fabricmc.fabric.api.event.player.AttackEntityCallback;
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents; import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
import net.fabricmc.fabric.api.renderer.v1.Renderer;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -34,6 +36,7 @@ public class AcesBS implements ModInitializer {
ModItems.registerModItems(); ModItems.registerModItems();
ModBlocks.registerModBlocks(); ModBlocks.registerModBlocks();
ModSounds.registerSounds(); ModSounds.registerSounds();
ModEffects.registerEffects();
ModDataComponentTypes.registerDataComponentsTypes(); ModDataComponentTypes.registerDataComponentsTypes();
@@ -0,0 +1,25 @@
package com.acethewildfire.acesbs.effect;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectCategory;
public class LemonEffect extends StatusEffect {
public LemonEffect(StatusEffectCategory category, int color) {
super(category, color);
}
@Override
public boolean applyUpdateEffect(LivingEntity entity, int amplifier) {
entity.damage(entity.getDamageSources().wither(), 0.1F);
return true;
}
@Override
public boolean canApplyUpdateEffect(int duration, int amplifier) {
return true;
}
}
@@ -0,0 +1,28 @@
package com.acethewildfire.acesbs.effect;
import com.acethewildfire.acesbs.AcesBS;
import net.minecraft.entity.attribute.EntityAttribute;
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.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.util.Identifier;
public class ModEffects {
public static final RegistryEntry<StatusEffect> LEMON = registerStatusEffect("lemon",
new LemonEffect(StatusEffectCategory.HARMFUL, 0xfae640)
.addAttributeModifier(EntityAttributes.GENERIC_MOVEMENT_SPEED, Identifier.of(AcesBS.MOD_ID, "lemon"),
-0.75F, EntityAttributeModifier.Operation.ADD_MULTIPLIED_TOTAL));
private static RegistryEntry<StatusEffect> registerStatusEffect (String name, StatusEffect effect){
return Registry.registerReference(Registries.STATUS_EFFECT, Identifier.of(AcesBS.MOD_ID, name), effect);
}
public static void registerEffects(){
AcesBS.LOGGER.info("Registering Mod Effects for " + AcesBS.MOD_ID);
}
}
@@ -1,5 +1,6 @@
package com.acethewildfire.acesbs.item; package com.acethewildfire.acesbs.item;
import com.acethewildfire.acesbs.effect.ModEffects;
import net.minecraft.component.type.FoodComponent; import net.minecraft.component.type.FoodComponent;
import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.effect.StatusEffects;
@@ -9,7 +10,7 @@ public class ModFoodComponent {
public static final FoodComponent LEMON = new FoodComponent.Builder() public static final FoodComponent LEMON = new FoodComponent.Builder()
.nutrition(3) .nutrition(3)
.saturationModifier(0.25f) .saturationModifier(0.25f)
.statusEffect(new StatusEffectInstance(StatusEffects.BLINDNESS, 200), 0.3f) .statusEffect(new StatusEffectInstance(ModEffects.LEMON, 200), 0.8f)
.build(); .build();
public static final FoodComponent COOKED_LEMON = new FoodComponent.Builder() public static final FoodComponent COOKED_LEMON = new FoodComponent.Builder()
.nutrition(6) .nutrition(6)
@@ -13,6 +13,12 @@
"item.minecraft.lingering_potion.effect.blindness": "Lingering Potion of Blindness", "item.minecraft.lingering_potion.effect.blindness": "Lingering Potion of Blindness",
"item.minecraft.tipped_arrow.effect.blindness": "Arrow of Blindness", "item.minecraft.tipped_arrow.effect.blindness": "Arrow of Blindness",
"effect.acesbs.lemon": "Puckered",
"item.acesbs.potion.effect.lemon": "Potion of Puckered",
"item.acesbs.splash_potion.effect.lemon": "Splash Potion of Puckered",
"item.acesbs.lingering_potion.effect.lemon": "Lingering Potion of Puckered",
"item.acesbs.tipped_arrow.effect.lemon": "Arrow of Puckered",
"item.acesbs.prisma_steel": "Prisma Steel", "item.acesbs.prisma_steel": "Prisma Steel",
"item.acesbs.prisma_steel_sword": "Prisma Steel Sword", "item.acesbs.prisma_steel_sword": "Prisma Steel Sword",
"item.acesbs.prisma_steel_pickaxe": "Prisma Steel Pickaxe", "item.acesbs.prisma_steel_pickaxe": "Prisma Steel Pickaxe",
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB