when the big pizza pie hits the moon like your eye that's amoreeee

This commit is contained in:
Bob 2021-01-06 00:32:44 +01:00
parent 4462a48648
commit 23e6e2f8e5
9 changed files with 70 additions and 10 deletions

View File

@ -141,6 +141,7 @@
"weapon.rocketFlame": {"category": "block", "sounds": [{"name": "weapon/rocketFlame", "stream": false}]},
"weapon.ballsLaser": {"category": "hostile", "sounds": [{"name": "weapon/ballsLaser", "stream": false}]},
"weapon.dartShoot": {"category": "player", "sounds": [{"name": "weapon/dartShoot", "stream": false}]},
"weapon.mukeExplosion": {"category": "player", "sounds": [{"name": "weapon/mukeExplosion", "stream": false}]},
"weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]},
"weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -122,6 +122,7 @@ public class GunFatmanFactory {
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "muke");
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY + 0.5, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 250));
bullet.worldObj.playSoundEffect(x, y, z, "hbm:weapon.mukeExplosion", 15.0F, 1.0F);
}
}
};

View File

@ -12,6 +12,7 @@ import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.GunConfiguration;
import com.hbm.interfaces.IHoldableWeapon;
import com.hbm.interfaces.IItemHUD;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.GunAnimationPacket;
import com.hbm.packet.GunButtonPacket;
import com.hbm.packet.PacketDispatcher;
@ -188,6 +189,13 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD {
setItemWear(stack, getItemWear(stack) + wear);
}
world.playSoundAtEntity(player, mainConfig.firingSound, 1.0F, mainConfig.firingPitch);
if(player.getDisplayName().equals("Vic4Games")) {
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("type", "justTilt");
nbt.setInteger("time", mainConfig.rateOfFire + 1);
PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(nbt, player.posX, player.posY, player.posZ), (EntityPlayerMP) player);
}
}
//unlike fire(), being called does not automatically imply success, some things may still have to be handled before spawning the projectile

View File

@ -3,6 +3,7 @@
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelChicken;
import net.minecraft.client.particle.EntityBlockDustFX;
import net.minecraft.client.particle.EntityCloudFX;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.particle.EntityFireworkSparkFX;
@ -15,12 +16,15 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
import net.minecraft.util.MovingObjectPosition.MovingObjectType;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.Iterator;
import java.util.Map;
@ -43,6 +47,7 @@ import com.hbm.entity.particle.*;
import com.hbm.entity.projectile.*;
import com.hbm.handler.HbmKeybinds.EnumKeybind;
import com.hbm.items.ModItems;
import com.hbm.lib.Library;
import com.hbm.particle.*;
import com.hbm.render.block.*;
import com.hbm.render.entity.*;
@ -914,6 +919,26 @@ public class ClientProxy extends ServerProxy {
moZ -= look.zCoord * 0.1D;
}
Vec3 pos = Vec3.createVectorHelper(ix, iy, iz);
Vec3 thrust = Vec3.createVectorHelper(moX, moY, moZ);
thrust = thrust.normalize();
Vec3 target = pos.addVector(thrust.xCoord * 10, thrust.yCoord * 10, thrust.zCoord * 10);
MovingObjectPosition mop = player.worldObj.func_147447_a(pos, target, false, false, true);
if(mop != null && mop.typeOfHit == MovingObjectType.BLOCK && mop.sideHit == 1) {
Block b = world.getBlock(mop.blockX, mop.blockY, mop.blockZ);
int meta = world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ);
Vec3 delta = Vec3.createVectorHelper(ix - mop.hitVec.xCoord, iy - mop.hitVec.yCoord, iz - mop.hitVec.zCoord);
Vec3 vel = Vec3.createVectorHelper(0.75 - delta.lengthVector() * 0.075, 0, 0);
for(int i = 0; i < (10 - delta.lengthVector()); i++) {
vel.rotateAroundY(world.rand.nextFloat() * (float)Math.PI * 2F);
Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBlockDustFX(world, mop.hitVec.xCoord, mop.hitVec.yCoord + 0.1, mop.hitVec.zCoord, vel.xCoord, 0.1, vel.zCoord, b, meta));
}
}
Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, p.motionX + moX * 2, p.motionY + moY * 2, p.motionZ + moZ * 2));
Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, p.motionX + moX * 2, p.motionY + moY * 2, p.motionZ + moZ * 2));
Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox, iy, iz + oz, p.motionX + moX * 3, p.motionY + moY * 3, p.motionZ + moZ * 3));
@ -928,6 +953,25 @@ public class ClientProxy extends ServerProxy {
Minecraft.getMinecraft().effectRenderer.addEffect(wave);
Minecraft.getMinecraft().effectRenderer.addEffect(flash);
//single swing: HT 15, MHT 15
//double swing: HT 60, MHT 50
//vic's immersive swing: HT 100, MHT 50
if(player.getDisplayName().equals("Vic4Games")) {
player.hurtTime = 100;
player.maxHurtTime = 50;
} else {
player.hurtTime = 15;
player.maxHurtTime = 15;
}
player.attackedAtYaw = 0F;
}
if("justTilt".equals(type)) {
player.hurtTime = player.maxHurtTime = data.getInteger("time");
player.attackedAtYaw = 0F;
}
if("hadron".equals(type)) {

View File

@ -1,14 +1,24 @@
package com.hbm.particle;
import com.hbm.lib.RefStrings;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
@SideOnly(Side.CLIENT)
public class ParticleMukeCloud extends EntityFX {
public ParticleMukeCloud(World world, double x, double y, double z, double mx, double my, double mz) {
private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/explosion.png");
public ParticleMukeCloud(TextureManager texman, World world, double x, double y, double z, double mx, double my, double mz) {
super(world, x, y, z, mx, my, mz);
}
public int getFXLayer() {
return 3;
}
}

View File

@ -32,10 +32,6 @@ public class ParticleMukeFlash extends EntityFX {
return 3;
}
public void onUpdate() {
super.onUpdate();
}
public void renderParticle(Tessellator tess, float interp, float x, float y, float z, float tx, float tz) {
this.theRenderEngine.bindTexture(texture);
@ -64,13 +60,13 @@ public class ParticleMukeFlash extends EntityFX {
Random rand = new Random();
for(int i = 0; i < 16; i++) {
for(int i = 0; i < 24; i++) {
rand.setSeed(i * 31 + 1);
float pX = (float) (dX + rand.nextDouble() * 5 - 2.5);
float pY = (float) (dY + rand.nextDouble() * 3 - 1.5);
float pZ = (float) (dZ + rand.nextDouble() * 5 - 2.5);
float pX = (float) (dX + rand.nextDouble() * 10 - 5);
float pY = (float) (dY + rand.nextDouble() * 5 - 2.5);
float pZ = (float) (dZ + rand.nextDouble() * 10 - 5);
tess.addVertexWithUV((double) (pX - x * scale - tx * scale), (double) (pY - y * scale), (double) (pZ - z * scale - tz * scale), 1, 1);
tess.addVertexWithUV((double) (pX - x * scale + tx * scale), (double) (pY + y * scale), (double) (pZ - z * scale + tz * scale), 1, 0);

View File

@ -48,7 +48,7 @@ public class ParticleMukeWave extends EntityFX {
tess.setBrightness(240);
this.particleAlpha = 1 - (((float)this.particleAge + interp) / (float)this.particleMaxAge);
float scale = (this.particleAge + interp) * 2F;
float scale = (1 - (float)Math.pow(Math.E, (this.particleAge + interp) * -0.125)) * 45;
tess.setColorRGBA_F(1.0F, 1.0F, 1.0F, this.particleAlpha);