package com.atsuishio.superbwarfare.item; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.tiers.ModItemTier; import net.minecraft.sounds.SoundSource; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.SwordItem; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent; import org.jetbrains.annotations.NotNull; @EventBusSubscriber(modid = Mod.MODID, bus = EventBusSubscriber.Bus.MOD) public class SteelPipe extends SwordItem { public SteelPipe() { super(ModItemTier.STEEL, new Item.Properties() .durability(810) .attributes(SwordItem.createAttributes(ModItemTier.STEEL, 4, -3)) ); } @Override public boolean hurtEnemy(@NotNull ItemStack pStack, LivingEntity pTarget, LivingEntity pAttacker) { pAttacker.level().playSound(null, pTarget.getOnPos(), ModSounds.STEEL_PIPE_HIT.get(), SoundSource.PLAYERS, 1, (float) ((2 * org.joml.Math.random() - 1) * 0.1f + 1.0f)); return super.hurtEnemy(pStack, pTarget, pAttacker); } @SubscribeEvent private static void registerItemExtensions(RegisterClientExtensionsEvent event) { event.registerItem(new IClientItemExtensions() { @Override public boolean shouldBobAsEntity(@NotNull ItemStack stack) { return false; } }, ModItems.STEEL_PIPE); } }