From 7b45edaa6aececddd9c128b316ef02a06b0788c3 Mon Sep 17 00:00:00 2001 From: 1dianliu Date: Sat, 11 Apr 2026 14:20:55 +0800 Subject: [PATCH] =?UTF-8?q?=E9=93=81=E7=A0=A7=E7=A0=B8=E5=A4=A7=E7=8C=AA?= =?UTF-8?q?=E4=BA=A7=E7=8C=AA=E7=A0=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/AnvilHurtEntityListener.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/dev/anvilcraft/pigsplus/event/AnvilHurtEntityListener.java diff --git a/src/main/java/dev/anvilcraft/pigsplus/event/AnvilHurtEntityListener.java b/src/main/java/dev/anvilcraft/pigsplus/event/AnvilHurtEntityListener.java new file mode 100644 index 00000000..58a1e843 --- /dev/null +++ b/src/main/java/dev/anvilcraft/pigsplus/event/AnvilHurtEntityListener.java @@ -0,0 +1,29 @@ +package dev.anvilcraft.pigsplus.event; + +import dev.anvilcraft.pigsplus.AnvilCraftPigsPlus; +import dev.anvilcraft.pigsplus.init.AddonBlocks; +import dev.dubhe.anvilcraft.api.event.AnvilEvent; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.animal.Pig; +import net.minecraft.world.level.Level; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import org.jetbrains.annotations.NotNull; + +@EventBusSubscriber(modid = AnvilCraftPigsPlus.MOD_ID) +public class AnvilHurtEntityListener { + @SubscribeEvent + public static void onAnvilHurtEntity(@NotNull AnvilEvent.HurtEntity event) { + Entity entity = event.getHurtedEntity(); + Level level = event.getLevel(); + if (level.isClientSide()) return; + + if (entity instanceof Pig pig) { + if (pig.getName().getString().equals("triple_bpig")) { + entity.spawnAtLocation(AddonBlocks.PIG_ANVIL.asStack(64)); + } else if (level.random.nextDouble() < 0.5) { + entity.spawnAtLocation(AddonBlocks.PIG_ANVIL); + } + } + } +}