SquidInkParticle.java
net.minecraft.client.particle.SquidInkParticle
信息
- 全限定名:net.minecraft.client.particle.SquidInkParticle
- 类型:public class
- 包:net.minecraft.client.particle
- 源码路径:src/main/java/net/minecraft/client/particle/SquidInkParticle.java
- 起始行号:L12
- 继承:SimpleAnimatedParticle
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
-
net.minecraft.client.particle.SquidInkParticle.GlowInkProvider- 类型:
class - 修饰符:
public static - 源码定位:
L43 - 说明:
TODO
- 类型:
-
net.minecraft.client.particle.SquidInkParticle.Provider- 类型:
class - 修饰符:
public static - 源码定位:
L58 - 说明:
TODO
- 类型:
构造器
private SquidInkParticle(ClientLevel level, double x, double y, double z, double xa, double ya, double za, int color, SpriteSet sprites) @ L13
- 构造器名:SquidInkParticle
- 源码定位:L13
- 修饰符:private
参数:
- level: ClientLevel
- x: double
- y: double
- z: double
- xa: double
- ya: double
- za: double
- color: int
- sprites: SpriteSet
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void tick() @ L27
- 方法名:tick
- 源码定位:L27
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class SquidInkParticle extends SimpleAnimatedParticle {
private SquidInkParticle(ClientLevel level, double x, double y, double z, double xa, double ya, double za, int color, SpriteSet sprites) {
super(level, x, y, z, sprites, 0.0F);
this.friction = 0.92F;
this.quadSize = 0.5F;
this.setAlpha(1.0F);
this.setColor(ARGB.redFloat(color), ARGB.greenFloat(color), ARGB.blueFloat(color));
this.lifetime = (int)(this.quadSize * 12.0F / (this.random.nextFloat() * 0.8F + 0.2F));
this.setSpriteFromAge(sprites);
this.hasPhysics = false;
this.xd = xa;
this.yd = ya;
this.zd = za;
}
@Override
public void tick() {
super.tick();
if (!this.removed) {
this.setSpriteFromAge(this.sprites);
if (this.age > this.lifetime / 2) {
this.setAlpha(1.0F - ((float)this.age - this.lifetime / 2) / this.lifetime);
}
if (this.level.getBlockState(BlockPos.containing(this.x, this.y, this.z)).isAir()) {
this.yd -= 0.0074F;
}
}
}
@OnlyIn(Dist.CLIENT)
public static class GlowInkProvider implements ParticleProvider<SimpleParticleType> {
private final SpriteSet sprites;
public GlowInkProvider(SpriteSet sprites) {
this.sprites = sprites;
}
public Particle createParticle(
SimpleParticleType options, ClientLevel level, double x, double y, double z, double xAux, double yAux, double zAux, RandomSource random
) {
return new SquidInkParticle(level, x, y, z, xAux, yAux, zAux, ARGB.colorFromFloat(1.0F, 0.2F, 0.8F, 0.6F), this.sprites);
}
}
@OnlyIn(Dist.CLIENT)
public static class Provider implements ParticleProvider<SimpleParticleType> {
private final SpriteSet sprites;
public Provider(SpriteSet sprites) {
this.sprites = sprites;
}
public Particle createParticle(
SimpleParticleType options, ClientLevel level, double x, double y, double z, double xAux, double yAux, double zAux, RandomSource random
) {
return new SquidInkParticle(level, x, y, z, xAux, yAux, zAux, -16777216, this.sprites);
}
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
BlockPos.containing()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ARGB.blueFloat(), ARGB.colorFromFloat(), ARGB.greenFloat(), ARGB.redFloat()
- 引用位置: