Class ShockwaveRingParticle
java.lang.Object
net.minecraft.client.particle.Particle
net.minecraft.client.particle.SingleQuadParticle
net.minecraft.client.particle.TextureSheetParticle
com.hbm_m.particle.explosions.AbstractExplosionParticle
com.hbm_m.particle.explosions.basic.ShockwaveRingParticle
Порт
com.hbm.particle.ParticleMukeWave (1.7.10) — расширяющееся кольцо ударной волны.
Поведение 1:1 с оригиналом:
- целевой радиус waveScale передаётся как xSpeed (25/45/65 для small/standard/large);
- радиус растёт экспоненциально: (1 - e^(-age*0.125)) * waveScale;
- время жизни (int)(25 * waveScale / 45);
- альфа линейно затухает: 1 - age/lifetime;
- рендер — горизонтальный квад у земли (Y-0.25, от -scale до +scale), как в оригинале.
Прежняя реализация игнорировала waveScale (фиксированный quadSize ~1.0, рост 1%/тик) —
кольцо было крошечным (~1.3 блока) вместо 25/45/65 блоков.-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class com.hbm_m.particle.explosions.AbstractExplosionParticle
AbstractExplosionParticle.ParticleFactory<T> -
Field Summary
Fields inherited from class net.minecraft.client.particle.TextureSheetParticle
spriteFields inherited from class net.minecraft.client.particle.SingleQuadParticle
quadSizeFields inherited from class net.minecraft.client.particle.Particle
age, alpha, bbHeight, bbWidth, bCol, friction, gCol, gravity, hasPhysics, level, lifetime, onGround, oRoll, random, rCol, removed, roll, speedUpWhenYMotionIsBlocked, x, xd, xo, y, yd, yo, z, zd, zo -
Constructor Summary
ConstructorsConstructorDescriptionShockwaveRingParticle(net.minecraft.client.multiplayer.ClientLevel level, double x, double y, double z, net.minecraft.client.particle.SpriteSet sprites, double xSpeed, double ySpeed, double zSpeed) -
Method Summary
Methods inherited from class com.hbm_m.particle.explosions.AbstractExplosionParticle
getLightColor, getRenderType, shouldCullMethods inherited from class net.minecraft.client.particle.TextureSheetParticle
getU0, getU1, getV0, getV1, pickSprite, setSprite, setSpriteFromAgeMethods inherited from class net.minecraft.client.particle.SingleQuadParticle
getQuadSize, scaleMethods inherited from class net.minecraft.client.particle.Particle
getBoundingBox, getLifetime, getParticleGroup, getPos, isAlive, move, remove, setAlpha, setBoundingBox, setColor, setLifetime, setLocationFromBoundingbox, setParticleSpeed, setPos, setPower, setSize, toString
-
Constructor Details
-
ShockwaveRingParticle
public ShockwaveRingParticle(net.minecraft.client.multiplayer.ClientLevel level, double x, double y, double z, net.minecraft.client.particle.SpriteSet sprites, double xSpeed, double ySpeed, double zSpeed)
-
-
Method Details
-
tick
public void tick()- Overrides:
tickin classnet.minecraft.client.particle.Particle
-
render
public void render(com.mojang.blaze3d.vertex.VertexConsumer buffer, net.minecraft.client.Camera camera, float partialTick) Горизонтальный квад у земли — точная копия геометрии ParticleMukeWave (Y-0.25, от -scale до +scale по X/Z). UV-маппингImmediateVertexWriter.worldQuad(com.mojang.blaze3d.vertex.VertexConsumer, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float)(u1v1, u1v0, u0v0, u0v1) совпадает с оригиналом.- Overrides:
renderin classAbstractExplosionParticle
-