正确实现无法破坏

This commit is contained in:
Light_Quanta 2025-05-14 00:37:45 +08:00
parent 140e764381
commit b3a83d2465
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959

View file

@ -11,7 +11,6 @@ import com.atsuishio.superbwarfare.network.message.receive.PlayerGunKillMessage;
import com.atsuishio.superbwarfare.tools.TraceTool; import com.atsuishio.superbwarfare.tools.TraceTool;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Holder; import net.minecraft.core.Holder;
import net.minecraft.core.component.DataComponents;
import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.protocol.game.ClientboundSoundPacket; import net.minecraft.network.protocol.game.ClientboundSoundPacket;
@ -27,7 +26,6 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.SwordItem; import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.Tiers; import net.minecraft.world.item.Tiers;
import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.component.Unbreakable;
import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.neoforged.neoforge.network.PacketDistributor; import net.neoforged.neoforge.network.PacketDistributor;
@ -45,7 +43,6 @@ public class Beast extends SwordItem {
.rarity(ModEnumExtensions.getLegendary()) .rarity(ModEnumExtensions.getLegendary())
.setNoRepair() .setNoRepair()
.durability(114514) .durability(114514)
.component(DataComponents.UNBREAKABLE, new Unbreakable(false))
); );
} }
@ -56,6 +53,11 @@ public class Beast extends SwordItem {
return true; return true;
} }
@Override
public boolean isDamageable(@NotNull ItemStack stack) {
return false;
}
public static void beastKill(@Nullable Entity attacker, @NotNull Entity target) { public static void beastKill(@Nullable Entity attacker, @NotNull Entity target) {
if (target.level().isClientSide || if (target.level().isClientSide ||
(target instanceof LivingEntity living && living.isDeadOrDying()) (target instanceof LivingEntity living && living.isDeadOrDying())