diff --git a/src/main/java/net/krituximon/stalinium/item/ModItems.java b/src/main/java/net/krituximon/stalinium/item/ModItems.java index 4a90ab1..15e7d2e 100644 --- a/src/main/java/net/krituximon/stalinium/item/ModItems.java +++ b/src/main/java/net/krituximon/stalinium/item/ModItems.java @@ -22,7 +22,7 @@ public class ModItems { () -> new Item(new Item.Properties().jukeboxPlayable(ModSounds.SOVIET_ANTHEM_KEY).stacksTo(1))); public static final DeferredItem STALINIUM_SWORD = ITEMS.register("stalinium_sword", - () -> new SwordItem(ModTiers.STALINIUM, new Item.Properties() + () -> new StaliniumSwordItem(ModTiers.STALINIUM, new Item.Properties() .attributes(SwordItem.createAttributes(ModTiers.STALINIUM, 8, -2.75f)))); public static void register(IEventBus eventBus) { diff --git a/src/main/java/net/krituximon/stalinium/item/ModTiers.java b/src/main/java/net/krituximon/stalinium/item/ModTiers.java index 036ea47..92c6d9f 100644 --- a/src/main/java/net/krituximon/stalinium/item/ModTiers.java +++ b/src/main/java/net/krituximon/stalinium/item/ModTiers.java @@ -1,11 +1,8 @@ package net.krituximon.stalinium.item; import net.minecraft.tags.BlockTags; -import net.minecraft.tags.TagKey; import net.minecraft.world.item.Tier; -import net.minecraft.world.item.component.Tool; import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.common.SimpleTier; public class ModTiers { diff --git a/src/main/java/net/krituximon/stalinium/item/StaliniumSwordItem.java b/src/main/java/net/krituximon/stalinium/item/StaliniumSwordItem.java new file mode 100644 index 0000000..f89baab --- /dev/null +++ b/src/main/java/net/krituximon/stalinium/item/StaliniumSwordItem.java @@ -0,0 +1,35 @@ +package net.krituximon.stalinium.item; + +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.SwordItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Tier; +import net.minecraft.world.level.Level; + +import java.util.List; + +public class StaliniumSwordItem extends SwordItem { + public StaliniumSwordItem(Tier tier, Properties props) { + super(tier, props); + } + + @Override + public boolean hurtEnemy(ItemStack stack, LivingEntity target, LivingEntity attacker) { + boolean result = super.hurtEnemy(stack, target, attacker); + if (!attacker.getCommandSenderWorld().isClientSide) { + MobEffectInstance strength = new MobEffectInstance(MobEffects.DAMAGE_BOOST, 100, 0, false, true); + attacker.addEffect(strength); + Level world = attacker.getCommandSenderWorld(); + var box = attacker.getBoundingBox().inflate(5.0); + List nearby = world.getEntitiesOfClass(Player.class, box, p -> p instanceof ServerPlayer); + for (Player p : nearby) { + p.addEffect(strength); + } + } + return result; + } +}