mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
70 lines
1.9 KiB
Java
70 lines
1.9 KiB
Java
package com.hbm.entity.item;
|
|
|
|
import com.hbm.handler.threading.PacketThreading;
|
|
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
|
|
|
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.world.World;
|
|
|
|
public class EntityFireworks extends Entity {
|
|
|
|
int color;
|
|
int character;
|
|
|
|
public EntityFireworks(World world) {
|
|
super(world);
|
|
}
|
|
|
|
public EntityFireworks(World world, double x, double y, double z, int color, int character) {
|
|
super(world);
|
|
this.setPositionAndRotation(x, y, z, 0.0F, 0.0F);
|
|
this.color = color;
|
|
this.character = character;
|
|
}
|
|
|
|
@Override
|
|
protected void entityInit() { }
|
|
|
|
@Override
|
|
public void onUpdate() {
|
|
|
|
this.moveEntity(0.0, 3.0D, 0.0);
|
|
this.worldObj.spawnParticle("flame", posX, posY, posZ, 0.0, -0.3, 0.0);
|
|
this.worldObj.spawnParticle("smoke", posX, posY, posZ, 0.0, -0.2, 0.0);
|
|
|
|
if(!worldObj.isRemote) {
|
|
|
|
ticksExisted++;
|
|
|
|
if(this.ticksExisted > 30) {
|
|
|
|
this.worldObj.playSoundEffect(posX, posY, posZ, "fireworks.blast", 20, 1F + this.rand.nextFloat() * 0.2F);
|
|
|
|
this.setDead();
|
|
NBTTagCompound data = new NBTTagCompound();
|
|
data.setString("type", "fireworks");
|
|
data.setInteger("color", color);
|
|
data.setInteger("char", character);
|
|
PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(this.worldObj.provider.dimensionId, posX, posY, posZ, 300));
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void readEntityFromNBT(NBTTagCompound nbt) {
|
|
this.character = nbt.getInteger("char");
|
|
this.color = nbt.getInteger("color");
|
|
this.ticksExisted = nbt.getInteger("ticksExisted");
|
|
}
|
|
|
|
@Override
|
|
protected void writeEntityToNBT(NBTTagCompound nbt) {
|
|
nbt.setInteger("char", character);
|
|
nbt.setInteger("color", color);
|
|
nbt.setInteger("ticksExisted", ticksExisted);
|
|
}
|
|
|
|
}
|