From a11c98c6cad501e081837ec8fa2e323edaeb1ca3 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 24 May 2018 15:52:43 -0400 Subject: Initial commit --- .../main/java/tf2crates/handler/EventHandler.java | 284 +++++++++++++++++++++ 1 file changed, 284 insertions(+) create mode 100755 TF2 Crates/src/main/java/tf2crates/handler/EventHandler.java (limited to 'TF2 Crates/src/main/java/tf2crates/handler/EventHandler.java') diff --git a/TF2 Crates/src/main/java/tf2crates/handler/EventHandler.java b/TF2 Crates/src/main/java/tf2crates/handler/EventHandler.java new file mode 100755 index 0000000..212c13f --- /dev/null +++ b/TF2 Crates/src/main/java/tf2crates/handler/EventHandler.java @@ -0,0 +1,284 @@ +package tf2crates.handler; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import tlhpoeCore.util.MCUtil; +import tlhpoeCore.util.MathUtil; + +public class EventHandler { + @SubscribeEvent + public void playerTick(TickEvent.PlayerTickEvent event) { + EntityPlayer player = event.player; + + if (event.phase == Phase.START) { + Minecraft mc = MCUtil.getMC(); + if (player != mc.thePlayer || (player == mc.thePlayer + && mc.gameSettings.thirdPersonView != 0)) { + ItemStack helmet = player.getEquipmentInSlot(4); + + if (helmet != null) { + NBTTagCompound nbt = helmet.getTagCompound(); + if (nbt != null && nbt.hasKey("UnusualEffect")) { + int unusualEffect = + nbt.getInteger("UnusualEffect"); + + switch (unusualEffect) { + case (0): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle("flame", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(16), rDouble(16), + rDouble(16)); + } + + break; + + case (1): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle( + "explode", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + + case (2): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle( + "fireworksSpark", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + case (3): + + if (MathUtil.getChance(1, 2)) { + player.worldObj.spawnParticle( + "depthsuspend", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + player.worldObj.spawnParticle( + "depthsuspend", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + + case (4): + if (MathUtil.getChance(1, 4)) { + player.worldObj.spawnParticle("crit", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + player.worldObj.spawnParticle("crit", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + + case (5): + if (MathUtil.getChance(1, 4)) { + player.worldObj.spawnParticle( + "magicCrit", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + player.worldObj.spawnParticle( + "magicCrit", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + + case (6): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle("note", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + + case (7): + if (MathUtil.getChance(1, 2)) { + player.worldObj.spawnParticle("portal", + player.posX + rDouble(4), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(4), + rDouble(16), rDouble(16), + rDouble(16)); + player.worldObj.spawnParticle("portal", + player.posX + rDouble(4), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(4), + rDouble(16), rDouble(16), + rDouble(16)); + } + + break; + + case (8): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle( + "enchantmenttable", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(2), rDouble(2), + rDouble(2)); + player.worldObj.spawnParticle( + "enchantmenttable", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(2), rDouble(2), + rDouble(2)); + } + + break; + + case (9): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle("lava", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), 0, rDouble(8)); + } + + break; + + case (10): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle( + "largesmoke", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + player.worldObj.spawnParticle( + "reddust", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + + case (11): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle("slime", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + player.worldObj.spawnParticle("slime", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + + case (12): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle("heart", + player.posX + rDouble(1.25), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1.25), + rDouble(8), rDouble(16), + rDouble(8)); + } + + break; + + case (13): + if (MathUtil.getChance(1, 5)) { + player.worldObj.spawnParticle( + MathUtil.getChance(1, 10) + ? "angryVillager" + : "happyVillager", + player.posX + rDouble(1), + player.posY + 0.5D + + rDouble(4), + player.posZ + rDouble(1), + rDouble(2), rDouble(16), + rDouble(2)); + } + + break; + } + } + } + } + } + } + + private static double rDouble(double randomness) { + return (MathUtil.nextDouble() / randomness) + - (MathUtil.nextDouble() / randomness); + } +} \ No newline at end of file -- cgit v1.2.3