58 lines
1.9 KiB
Java
58 lines
1.9 KiB
Java
package appeng.client.render.cablebus;
|
|
|
|
import net.minecraft.client.particle.IParticleRenderType;
|
|
import net.minecraft.client.particle.SpriteTexturedParticle;
|
|
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
|
import net.minecraft.world.World;
|
|
import net.minecraftforge.api.distmarker.Dist;
|
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
|
|
|
// Derived from Vanilla's BreakingParticle, but allows
|
|
// a texture to be specified directly rather than via an itemstack
|
|
@OnlyIn(Dist.CLIENT)
|
|
public class CableBusBreakingParticle extends SpriteTexturedParticle {
|
|
|
|
private final float field_217571_C;
|
|
private final float field_217572_F;
|
|
|
|
public CableBusBreakingParticle(World world, double x, double y, double z, double speedX, double speedY,
|
|
double speedZ, TextureAtlasSprite sprite) {
|
|
super(world, x, y, z, speedX, speedY, speedZ);
|
|
this.setSprite(sprite);
|
|
this.particleGravity = 1.0F;
|
|
this.particleScale /= 2.0F;
|
|
this.field_217571_C = this.rand.nextFloat() * 3.0F;
|
|
this.field_217572_F = this.rand.nextFloat() * 3.0F;
|
|
}
|
|
|
|
public CableBusBreakingParticle(World world, double x, double y, double z, TextureAtlasSprite sprite) {
|
|
this(world, x, y, z, 0, 0, 0, sprite);
|
|
}
|
|
|
|
@Override
|
|
public IParticleRenderType getRenderType() {
|
|
return IParticleRenderType.TERRAIN_SHEET;
|
|
}
|
|
|
|
@Override
|
|
protected float getMinU() {
|
|
return this.sprite.getInterpolatedU((this.field_217571_C + 1.0F) / 4.0F * 16.0F);
|
|
}
|
|
|
|
@Override
|
|
protected float getMaxU() {
|
|
return this.sprite.getInterpolatedU(this.field_217571_C / 4.0F * 16.0F);
|
|
}
|
|
|
|
@Override
|
|
protected float getMinV() {
|
|
return this.sprite.getInterpolatedV(this.field_217572_F / 4.0F * 16.0F);
|
|
}
|
|
|
|
@Override
|
|
protected float getMaxV() {
|
|
return this.sprite.getInterpolatedV((this.field_217572_F + 1.0F) / 4.0F * 16.0F);
|
|
}
|
|
|
|
}
|