From fb631371eb2b90f194d914304fa18753d3b667cf Mon Sep 17 00:00:00 2001 From: darksonic300 Date: Sun, 4 Aug 2024 20:24:09 +0200 Subject: [PATCH] improv: Scroll Durability --- gradle.properties | 2 +- .../com/github/darksonic300/seidr/effect/SeidrEffects.java | 5 +++-- .../java/com/github/darksonic300/seidr/item/ScrollItem.java | 6 +++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index fe4ccbc..7488204 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ loader_version_range=[4,) mod_id=seidr mod_name=Seidr mod_license=LGPL-3.0 -mod_version=0.3 +mod_version=0.4 mod_group_id=com.github.darksonic300.seidr mod_authors=darksonic300 mod_description=Seidr - A simple magic mod based on Norse Mythology.\nIt is mainly based on Galdr, a branch of magic with singing incantations,\n and plans to cover more. diff --git a/src/main/java/com/github/darksonic300/seidr/effect/SeidrEffects.java b/src/main/java/com/github/darksonic300/seidr/effect/SeidrEffects.java index 646db07..3c359df 100644 --- a/src/main/java/com/github/darksonic300/seidr/effect/SeidrEffects.java +++ b/src/main/java/com/github/darksonic300/seidr/effect/SeidrEffects.java @@ -4,12 +4,13 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectCategory; +import net.minecraft.world.effect.MobEffects; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; public class SeidrEffects { public static final DeferredRegister MOB_EFFECTS = DeferredRegister.create(BuiltInRegistries.MOB_EFFECT, Seidr.MODID); - public static final DeferredHolder LIQUID_WALK = MOB_EFFECTS.register("liquid_walk", () -> new LiquidWalkEffect(MobEffectCategory.BENEFICIAL, 100000)); - public static final DeferredHolder ATTRACTION = MOB_EFFECTS.register("attraction", () -> new AttractionEffect(MobEffectCategory.NEUTRAL, 112330)); + public static final DeferredHolder LIQUID_WALK = MOB_EFFECTS.register("liquid_walk", () -> new LiquidWalkEffect(MobEffectCategory.BENEFICIAL, 3402751)); + public static final DeferredHolder ATTRACTION = MOB_EFFECTS.register("attraction", () -> new AttractionEffect(MobEffectCategory.NEUTRAL, 16262179)); } diff --git a/src/main/java/com/github/darksonic300/seidr/item/ScrollItem.java b/src/main/java/com/github/darksonic300/seidr/item/ScrollItem.java index 8e1fbd9..e643d02 100644 --- a/src/main/java/com/github/darksonic300/seidr/item/ScrollItem.java +++ b/src/main/java/com/github/darksonic300/seidr/item/ScrollItem.java @@ -4,11 +4,14 @@ import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.player.Player; @@ -19,6 +22,7 @@ import com.github.darksonic300.seidr.particle.SeidrParticleTypes; import java.util.List; +import java.util.function.Consumer; public class ScrollItem extends Item { private int cooldown; @@ -69,7 +73,7 @@ public boolean isFoil(ItemStack pStack) { public ItemStack finishUsingItem(ItemStack pStack, Level pLevel, LivingEntity pLivingEntity) { if (pLivingEntity instanceof Player player) player.getCooldowns().addCooldown(this, cooldown); - // Decrease durability here + pStack.hurtAndBreak(1, pLivingEntity, EquipmentSlot.MAINHAND); pLevel.addParticle(SeidrParticleTypes.WAVE_PARTICLE.get(), pLivingEntity.getX(), pLivingEntity.getY() + 0.05, pLivingEntity.getZ(), 0.0D, 0.0D, 0.0D); return pStack; }