mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
74 lines
1.7 KiB
Java
74 lines
1.7 KiB
Java
package com.hbm.entity.effect;
|
|
|
|
import com.hbm.inventory.fluid.FluidType;
|
|
import com.hbm.inventory.fluid.Fluids;
|
|
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous;
|
|
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART;
|
|
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid;
|
|
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Viscous;
|
|
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.world.World;
|
|
|
|
public class EntityMist extends Entity {
|
|
|
|
public EntityMist(World world) {
|
|
super(world);
|
|
this.noClip = true;
|
|
}
|
|
|
|
@Override
|
|
protected void entityInit() {
|
|
this.dataWatcher.addObject(10, new Integer(0));
|
|
}
|
|
|
|
public EntityMist setFluid(FluidType fluid) {
|
|
this.dataWatcher.updateObject(10, fluid.getID());
|
|
return this;
|
|
}
|
|
|
|
public FluidType getType() {
|
|
return Fluids.fromID(this.dataWatcher.getWatchableObjectInt(10));
|
|
}
|
|
|
|
|
|
@Override
|
|
public void onEntityUpdate() {
|
|
|
|
}
|
|
|
|
@Override
|
|
protected void readEntityFromNBT(NBTTagCompound nbt) {
|
|
this.setFluid(Fluids.fromID(nbt.getInteger("type")));
|
|
}
|
|
|
|
@Override
|
|
protected void writeEntityToNBT(NBTTagCompound nbt) {
|
|
nbt.setInteger("type", this.getType().getID());
|
|
}
|
|
|
|
public static SprayStyle getStyleFromType(FluidType type) {
|
|
|
|
if(type.hasTrait(FT_Viscous.class)) {
|
|
return SprayStyle.NULL;
|
|
}
|
|
|
|
if(type.hasTrait(FT_Gaseous.class) || type.hasTrait(FT_Gaseous_ART.class)) {
|
|
return SprayStyle.GAS;
|
|
}
|
|
|
|
if(type.hasTrait(FT_Liquid.class)) {
|
|
return SprayStyle.MIST;
|
|
}
|
|
|
|
return SprayStyle.NULL;
|
|
}
|
|
|
|
public static enum SprayStyle {
|
|
MIST, //liquids that have been sprayed into a mist
|
|
GAS, //things that were already gaseous
|
|
NULL
|
|
}
|
|
}
|