Lemon Effects
This commit is contained in:
@@ -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 |
Reference in New Issue
Block a user