Fixes
This commit is contained in:
parent
6ee49ed3e6
commit
49c8d97d9e
11 changed files with 101 additions and 21 deletions
|
@ -48,10 +48,10 @@ public class InfusionParticle extends SpriteBillboardParticle {
|
|||
}
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public static class DefaultFactory implements ParticleFactory<InfusionParticleType> {
|
||||
public static class InfusionFactory implements ParticleFactory<InfusionParticleType> {
|
||||
private final SpriteProvider spriteProvider;
|
||||
|
||||
public DefaultFactory(SpriteProvider spriteProvider) {
|
||||
public InfusionFactory(SpriteProvider spriteProvider) {
|
||||
this.spriteProvider = spriteProvider;
|
||||
}
|
||||
|
||||
|
|
56
src/main/java/ru/betterend/particle/ParticleGeyser.java
Normal file
56
src/main/java/ru/betterend/particle/ParticleGeyser.java
Normal file
|
@ -0,0 +1,56 @@
|
|||
package ru.betterend.particle;
|
||||
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.client.particle.Particle;
|
||||
import net.minecraft.client.particle.ParticleFactory;
|
||||
import net.minecraft.client.particle.ParticleTextureSheet;
|
||||
import net.minecraft.client.particle.SpriteBillboardParticle;
|
||||
import net.minecraft.client.particle.SpriteProvider;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
import net.minecraft.particle.DefaultParticleType;
|
||||
import ru.betterend.util.MHelper;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ParticleGeyser extends SpriteBillboardParticle {
|
||||
protected ParticleGeyser(ClientWorld world, double x, double y, double z, double vx, double vy, double vz, SpriteProvider sprites) {
|
||||
super(world, x, y, z, vx, vy, vz);
|
||||
setSprite(sprites);
|
||||
this.maxAge = MHelper.randRange(600, 1200, random);
|
||||
this.scale = MHelper.randRange(0.5F, 1.0F, random);
|
||||
this.velocityX = vx;
|
||||
this.velocityY = vy;
|
||||
this.velocityY = vz;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
if (this.age >= this.maxAge + 40) {
|
||||
this.setColorAlpha((this.maxAge - this.age) / 40F);
|
||||
}
|
||||
this.velocityX = 0;
|
||||
this.velocityZ = 0;
|
||||
this.velocityY = 0.125;
|
||||
super.tick();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ParticleTextureSheet getType() {
|
||||
return ParticleTextureSheet.PARTICLE_SHEET_TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public static class FactoryGeyser implements ParticleFactory<DefaultParticleType> {
|
||||
|
||||
private final SpriteProvider sprites;
|
||||
|
||||
public FactoryGeyser(SpriteProvider sprites) {
|
||||
this.sprites = sprites;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Particle createParticle(DefaultParticleType type, ClientWorld world, double x, double y, double z, double vX, double vY, double vZ) {
|
||||
return new ParticleGeyser(world, x, y, z, 0, 0.125, 0, sprites);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue