./gradlew :1.15.2:setCoreVersion
Also `./gradlew :jGui:1.15.2:setCoreVersion`.
This commit is contained in:
@@ -13,11 +13,11 @@ import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
||||
//#if MC>=11500
|
||||
//$$ import net.minecraft.client.render.VertexConsumer;
|
||||
//$$ import net.minecraft.util.math.Quaternion;
|
||||
import net.minecraft.client.render.VertexConsumer;
|
||||
import net.minecraft.util.math.Quaternion;
|
||||
//#else
|
||||
import com.replaymod.render.blend.mixin.ParticleAccessor;
|
||||
import net.minecraft.client.render.BufferBuilder;
|
||||
//$$ import com.replaymod.render.blend.mixin.ParticleAccessor;
|
||||
//$$ import net.minecraft.client.render.BufferBuilder;
|
||||
//#endif
|
||||
|
||||
//#if MC>=11400
|
||||
@@ -29,40 +29,40 @@ import net.minecraft.client.render.Camera;
|
||||
@Mixin(ParticleManager.class)
|
||||
public abstract class MixinParticleManager {
|
||||
//#if MC>=11500
|
||||
//$$ @Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;buildGeometry(Lnet/minecraft/client/render/VertexConsumer;Lnet/minecraft/client/render/Camera;F)V"))
|
||||
//$$ private void buildOrientedGeometry(Particle particle, VertexConsumer vertexConsumer, Camera camera, float partialTicks) {
|
||||
//$$ EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
//$$ if (handler == null || !handler.omnidirectional) {
|
||||
//$$ buildGeometry(particle, vertexConsumer, camera, partialTicks);
|
||||
//$$ } else {
|
||||
//$$ Quaternion rotation = camera.getRotation();
|
||||
//$$ Quaternion org = rotation.copy();
|
||||
//$$ try {
|
||||
//$$ Vec3d from = new Vec3d(0, 0, 1);
|
||||
//$$ Vec3d to = MCVer.getPosition(particle, partialTicks).subtract(camera.getPos()).normalize();
|
||||
//$$ Vec3d axis = from.crossProduct(to);
|
||||
//$$ rotation.set((float) axis.x, (float) axis.y, (float) axis.z, (float) (1 + from.dotProduct(to)));
|
||||
//$$ rotation.normalize();
|
||||
//$$
|
||||
//$$ buildGeometry(particle, vertexConsumer, camera, partialTicks);
|
||||
//$$ } finally {
|
||||
//$$ rotation.set(org.getA(), org.getB(), org.getC(), org.getD());
|
||||
//$$ }
|
||||
//$$ }
|
||||
//$$ }
|
||||
//$$
|
||||
//$$ private void buildGeometry(Particle particle, VertexConsumer vertexConsumer, Camera camera, float partialTicks) {
|
||||
//$$ BlendState blendState = BlendState.getState();
|
||||
//$$ if (blendState != null) {
|
||||
//$$ blendState.get(ParticlesExporter.class).onRender(particle, partialTicks);
|
||||
//$$ }
|
||||
//$$ particle.buildGeometry(vertexConsumer, camera, partialTicks);
|
||||
//$$ }
|
||||
@Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;buildGeometry(Lnet/minecraft/client/render/VertexConsumer;Lnet/minecraft/client/render/Camera;F)V"))
|
||||
private void buildOrientedGeometry(Particle particle, VertexConsumer vertexConsumer, Camera camera, float partialTicks) {
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
if (handler == null || !handler.omnidirectional) {
|
||||
buildGeometry(particle, vertexConsumer, camera, partialTicks);
|
||||
} else {
|
||||
Quaternion rotation = camera.getRotation();
|
||||
Quaternion org = rotation.copy();
|
||||
try {
|
||||
Vec3d from = new Vec3d(0, 0, 1);
|
||||
Vec3d to = MCVer.getPosition(particle, partialTicks).subtract(camera.getPos()).normalize();
|
||||
Vec3d axis = from.crossProduct(to);
|
||||
rotation.set((float) axis.x, (float) axis.y, (float) axis.z, (float) (1 + from.dotProduct(to)));
|
||||
rotation.normalize();
|
||||
|
||||
buildGeometry(particle, vertexConsumer, camera, partialTicks);
|
||||
} finally {
|
||||
rotation.set(org.getA(), org.getB(), org.getC(), org.getD());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void buildGeometry(Particle particle, VertexConsumer vertexConsumer, Camera camera, float partialTicks) {
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(ParticlesExporter.class).onRender(particle, partialTicks);
|
||||
}
|
||||
particle.buildGeometry(vertexConsumer, camera, partialTicks);
|
||||
}
|
||||
//#else
|
||||
//#if MC>=11200
|
||||
//#if MC>=11400
|
||||
@Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;buildGeometry(Lnet/minecraft/client/render/BufferBuilder;Lnet/minecraft/client/render/Camera;FFFFFF)V"))
|
||||
private void renderNormalParticle(Particle particle, BufferBuilder vertexBuffer, Camera view, float partialTicks,
|
||||
//$$ @Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;buildGeometry(Lnet/minecraft/client/render/BufferBuilder;Lnet/minecraft/client/render/Camera;FFFFFF)V"))
|
||||
//$$ private void renderNormalParticle(Particle particle, BufferBuilder vertexBuffer, Camera view, float partialTicks,
|
||||
//#else
|
||||
//$$ @Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/BufferBuilder;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
//$$ private void renderNormalParticle(Particle particle, BufferBuilder vertexBuffer, Entity view, float partialTicks,
|
||||
@@ -71,11 +71,11 @@ public abstract class MixinParticleManager {
|
||||
//$$ @Redirect(method = "renderParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/VertexBuffer;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
//$$ private void renderNormalParticle(Particle particle, VertexBuffer vertexBuffer, Entity view, float partialTicks,
|
||||
//#endif
|
||||
float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
renderParticle(particle, vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
}
|
||||
|
||||
// Seems to be gone by 1.14
|
||||
//$$ float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
//$$ renderParticle(particle, vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
//$$ }
|
||||
//$$
|
||||
//$$ // Seems to be gone by 1.14
|
||||
//#if MC<11400
|
||||
//#if MC>=11200
|
||||
//$$ @Redirect(method = "renderLitParticles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/particle/Particle;renderParticle(Lnet/minecraft/client/renderer/BufferBuilder;Lnet/minecraft/entity/Entity;FFFFFF)V"))
|
||||
@@ -88,41 +88,41 @@ public abstract class MixinParticleManager {
|
||||
//$$ renderParticle(particle, vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
//$$ }
|
||||
//#endif
|
||||
|
||||
private void renderParticle(Particle particle,
|
||||
BufferBuilder vertexBuffer,
|
||||
//$$
|
||||
//$$ private void renderParticle(Particle particle,
|
||||
//$$ BufferBuilder vertexBuffer,
|
||||
//#if MC>=11400
|
||||
Camera view,
|
||||
//$$ Camera view,
|
||||
//#else
|
||||
//$$ Entity view,
|
||||
//#endif
|
||||
float partialTicks,
|
||||
float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
if (handler != null && handler.omnidirectional) {
|
||||
// Align all particles towards the camera
|
||||
//$$ float partialTicks,
|
||||
//$$ float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) {
|
||||
//$$ EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
|
||||
//$$ if (handler != null && handler.omnidirectional) {
|
||||
//$$ // Align all particles towards the camera
|
||||
//#if MC>=11400
|
||||
Vec3d pos = view.getPos();
|
||||
//$$ Vec3d pos = view.getPos();
|
||||
//#else
|
||||
//$$ Vec3d pos = new Vec3d(view.posX, view.posY, view.posZ);
|
||||
//#endif
|
||||
Vec3d d = MCVer.getPosition(particle, partialTicks).subtract(pos);
|
||||
double pitch = -Math.atan2(d.y, Math.sqrt(d.x * d.x + d.z * d.z));
|
||||
double yaw = -Math.atan2(d.x, d.z);
|
||||
|
||||
rotX = (float) Math.cos(yaw);
|
||||
rotZ = (float) Math.sin(yaw);
|
||||
rotXZ = (float) Math.cos(pitch);
|
||||
|
||||
rotYZ = (float) (-rotZ * Math.sin(pitch));
|
||||
rotXY = (float) (rotX * Math.sin(pitch));
|
||||
}
|
||||
BlendState blendState = BlendState.getState();
|
||||
if (blendState != null) {
|
||||
blendState.get(ParticlesExporter.class).onRender(particle, partialTicks);
|
||||
}
|
||||
particle.buildGeometry(vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
}
|
||||
//$$ Vec3d d = MCVer.getPosition(particle, partialTicks).subtract(pos);
|
||||
//$$ double pitch = -Math.atan2(d.y, Math.sqrt(d.x * d.x + d.z * d.z));
|
||||
//$$ double yaw = -Math.atan2(d.x, d.z);
|
||||
//$$
|
||||
//$$ rotX = (float) Math.cos(yaw);
|
||||
//$$ rotZ = (float) Math.sin(yaw);
|
||||
//$$ rotXZ = (float) Math.cos(pitch);
|
||||
//$$
|
||||
//$$ rotYZ = (float) (-rotZ * Math.sin(pitch));
|
||||
//$$ rotXY = (float) (rotX * Math.sin(pitch));
|
||||
//$$ }
|
||||
//$$ BlendState blendState = BlendState.getState();
|
||||
//$$ if (blendState != null) {
|
||||
//$$ blendState.get(ParticlesExporter.class).onRender(particle, partialTicks);
|
||||
//$$ }
|
||||
//$$ particle.buildGeometry(vertexBuffer, view, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
//$$ }
|
||||
//#endif
|
||||
}
|
||||
//#endif
|
||||
|
||||
Reference in New Issue
Block a user