From d6fc826ad8bcb6234efec6a3e5e5e47ff148b43e Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 24 Jun 2022 00:23:26 +0200 Subject: [PATCH] i did nothing all day --- .../com/hbm/items/weapon/ItemAmmoArty.java | 64 ++++++++++++++++-- .../com/hbm/particle/ParticleRBMKMush.java | 2 + .../textures/items/ammo_arty_phosphorus.png | Bin 0 -> 347 bytes .../hbm/textures/models/turrets/arty.png | Bin 3441 -> 5587 bytes 4 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus.png diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java index a0caea460..1b4cec380 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java @@ -3,28 +3,41 @@ package com.hbm.items.weapon; import java.util.List; import com.hbm.entity.projectile.EntityArtilleryShell; +import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNukeSmall; +import com.hbm.lib.Library; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.potion.HbmPotion; +import com.hbm.util.ParticleUtil; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.IIcon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; public class ItemAmmoArty extends Item { - public static ArtilleryShell[] types = new ArtilleryShell[5]; + public static ArtilleryShell[] types = new ArtilleryShell[ /* >>> */ 6 /* <<< */ ]; public int NORMAL = 0; public int CLASSIC = 1; public int EXPLOSIVE = 2; public int MINI_NUKE = 3; public int NUKE = 4; + public int PHOSPHORUS = 5; public ItemAmmoArty() { this.setHasSubtypes(true); @@ -35,9 +48,12 @@ public class ItemAmmoArty extends Item { @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { - for(int i = 0; i < types.length; i++) { - list.add(new ItemStack(item, 1, i)); - } + list.add(new ItemStack(item, 1, NORMAL)); + list.add(new ItemStack(item, 1, CLASSIC)); + list.add(new ItemStack(item, 1, EXPLOSIVE)); + list.add(new ItemStack(item, 1, PHOSPHORUS)); + list.add(new ItemStack(item, 1, MINI_NUKE)); + list.add(new ItemStack(item, 1, NUKE)); } private IIcon[] icons = new IIcon[types.length]; @@ -108,5 +124,45 @@ public class ItemAmmoArty extends Item { shell.setDead(); } }; + this.types[PHOSPHORUS] = new ArtilleryShell("ammo_arty_phosphorus") { + @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + + Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); + double x = mop.hitVec.xCoord - vec.xCoord; + double y = mop.hitVec.yCoord - vec.yCoord; + double z = mop.hitVec.zCoord - vec.zCoord; + shell.worldObj.newExplosion(shell, x, y, z, 15F, true, false); + + int radius = 15; + List hit = shell.worldObj.getEntitiesWithinAABBExcludingEntity(shell, AxisAlignedBB.getBoundingBox(shell.posX - radius, shell.posY - radius, shell.posZ - radius, shell.posX + radius, shell.posY + radius, shell.posZ + radius)); + + for(Entity e : hit) { + + if(!Library.isObstructed(shell.worldObj, shell.posX, shell.posY, shell.posZ, e.posX, e.posY + e.getEyeHeight(), e.posZ)) { + e.setFire(5); + + if(e instanceof EntityLivingBase) { + + PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 30 * 20, 0, true); + eff.getCurativeItems().clear(); + ((EntityLivingBase)e).addPotionEffect(eff); + } + } + } + + for(int i = 0; i < 5; i++) { + NBTTagCompound haze = new NBTTagCompound(); + haze.setString("type", "haze"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, x + shell.worldObj.rand.nextGaussian() * 10, y, z + shell.worldObj.rand.nextGaussian() * 10), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 150)); + } + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "rbmkmush"); + data.setFloat("scale", 10); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(shell.dimension, x, y, z, 250)); + + shell.setDead(); + } + }; } } diff --git a/src/main/java/com/hbm/particle/ParticleRBMKMush.java b/src/main/java/com/hbm/particle/ParticleRBMKMush.java index 9729fc5bb..4d72f6a63 100644 --- a/src/main/java/com/hbm/particle/ParticleRBMKMush.java +++ b/src/main/java/com/hbm/particle/ParticleRBMKMush.java @@ -72,6 +72,8 @@ public class ParticleRBMKMush extends EntityFX { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glAlphaFunc(GL11.GL_GREATER, 0); GL11.glDepthMask(false); RenderHelper.disableStandardItemLighting(); diff --git a/src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus.png b/src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus.png new file mode 100644 index 0000000000000000000000000000000000000000..6a9e3ac252fe7cb99b6f9bc522d7623293876412 GIT binary patch literal 347 zcmV-h0i^zkP)_vMjN^C&a2#iLAf+Tp5|mO#h;5<{!+_QrDJ4Zw5JeGD6j4>xpExT( z*L7AHhJ;~=5P~F0=Cf-MW3FY<)Hq2gwTfemu*^C&Y=P757y(BhzVEXOxCIeH09R(P t)pjOr+j6;Ftiu3UzsS0-@A`1N`US$;ZCuifryc+R002ovPDHLkV1kxfkLdsa literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/turrets/arty.png b/src/main/resources/assets/hbm/textures/models/turrets/arty.png index 9f87d68621454d03e116ab55134ddea21731dad1..3097b0d92b7a9c1f392e52524cfb43471a06131b 100644 GIT binary patch literal 5587 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 T^{g1E(t^~Kv=u8JS%m!u^=!K7 literal 3441 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 e2`js3C<_Ad4DDDo$$@jQ+l}jH`W0~G<9`Eyj