From 70a8d8eb4981b092c219a9e065e26c8cd6864368 Mon Sep 17 00:00:00 2001 From: bconlon Date: Mon, 13 Jul 2020 09:25:44 -0700 Subject: [PATCH] The Pig Slayer now properly spawns particles when killing mobs. --- .../com/legacy/aether/AetherEventHandler.java | 22 +++++++++++++++++++ .../aether/items/weapons/ItemPigSlayer.java | 8 ------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/legacy/aether/AetherEventHandler.java b/src/main/java/com/legacy/aether/AetherEventHandler.java index 84f311e..cf99c25 100644 --- a/src/main/java/com/legacy/aether/AetherEventHandler.java +++ b/src/main/java/com/legacy/aether/AetherEventHandler.java @@ -12,7 +12,9 @@ import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.gameevent.PlayerEvent; import cpw.mods.fml.common.gameevent.TickEvent; import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityAgeable; +import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.boss.EntityWither; import net.minecraft.entity.item.EntityItem; @@ -53,6 +55,8 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; import net.minecraftforge.event.world.WorldEvent; +import java.util.Random; + public class AetherEventHandler { @@ -263,6 +267,24 @@ AetherEventHandler { } } } + else if (event.entityPlayer.getHeldItem().getItem() == ItemsAether.pig_slayer) + { + String s = EntityList.getEntityString((Entity) event.target); + + if (s != null && (s.toLowerCase().contains("pig") || s.toLowerCase().contains("phyg") || s.toLowerCase().contains("taegore") || event.target.getUniqueID().toString().equals("1d680bb6-2a9a-4f25-bf2f-a1af74361d69"))) { + if (event.target.worldObj.isRemote) + { + for (int j = 0; j < 20; j++) { + Random itemRand = new Random(); + double d = itemRand.nextGaussian() * 0.02D; + double d1 = itemRand.nextGaussian() * 0.02D; + double d2 = itemRand.nextGaussian() * 0.02D; + double d3 = 5D; + event.target.worldObj.spawnParticle("flame", (event.target.posX + (double) (itemRand.nextFloat() * event.target.width * 2.0F)) - (double) event.target.width - d * d3, (event.target.posY + (double) (itemRand.nextFloat() * event.target.height)) - d1 * d3, (event.target.posZ + (double) (itemRand.nextFloat() * event.target.width * 2.0F)) - (double) event.target.width - d2 * d3, d, d1, d2); + } + } + } + } } public boolean isGravititeTool(Item stackID) { diff --git a/src/main/java/com/legacy/aether/items/weapons/ItemPigSlayer.java b/src/main/java/com/legacy/aether/items/weapons/ItemPigSlayer.java index a9842aa..1b232d1 100644 --- a/src/main/java/com/legacy/aether/items/weapons/ItemPigSlayer.java +++ b/src/main/java/com/legacy/aether/items/weapons/ItemPigSlayer.java @@ -41,14 +41,6 @@ public class ItemPigSlayer extends ItemSword { if (entityliving.getHealth() > 0) { entityliving.attackEntityFrom(DamageSource.causeMobDamage(entityliving1), 9999); } - - for (int j = 0; j < 20; j++) { - double d = itemRand.nextGaussian() * 0.02D; - double d1 = itemRand.nextGaussian() * 0.02D; - double d2 = itemRand.nextGaussian() * 0.02D; - double d3 = 5D; - entityliving.worldObj.spawnParticle("flame", (entityliving.posX + (double) (itemRand.nextFloat() * entityliving.width * 2.0F)) - (double) entityliving.width - d * d3, (entityliving.posY + (double) (itemRand.nextFloat() * entityliving.height)) - d1 * d3, (entityliving.posZ + (double) (itemRand.nextFloat() * entityliving.width * 2.0F)) - (double) entityliving.width - d2 * d3, d, d1, d2); - } } return super.hitEntity(itemstack, entityliving, entityliving1);