diff --git a/src/main/java/electroblob/wizardry/client/particle/ParticleBuff.java b/src/main/java/electroblob/wizardry/client/particle/ParticleBuff.java index a7a8a752..db14cd28 100644 --- a/src/main/java/electroblob/wizardry/client/particle/ParticleBuff.java +++ b/src/main/java/electroblob/wizardry/client/particle/ParticleBuff.java @@ -60,6 +60,12 @@ public class ParticleBuff extends ParticleWizardry { // Copied from ParticleWizardry, needs to be here since we're not calling super updateEntityLinking(partialTicks); + + // I don't know why, but despite not being in any superclass renderParticle these also need to be here if we're + // not calling super + interpPosX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * (double)partialTicks; + interpPosY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * (double)partialTicks; + interpPosZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * (double)partialTicks; GlStateManager.pushMatrix(); GlStateManager.pushAttrib(); diff --git a/src/main/java/electroblob/wizardry/client/particle/ParticleSphere.java b/src/main/java/electroblob/wizardry/client/particle/ParticleSphere.java index 89eaf5a7..9a1d8204 100644 --- a/src/main/java/electroblob/wizardry/client/particle/ParticleSphere.java +++ b/src/main/java/electroblob/wizardry/client/particle/ParticleSphere.java @@ -43,6 +43,12 @@ public class ParticleSphere extends ParticleWizardry { // Copied from ParticleWizardry, needs to be here since we're not calling super updateEntityLinking(partialTicks); + // I don't know why, but despite not being in any superclass renderParticle these also need to be here if we're + // not calling super + interpPosX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * (double)partialTicks; + interpPosY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * (double)partialTicks; + interpPosZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * (double)partialTicks; + float x = (float)(this.prevPosX + (this.posX - this.prevPosX) * (double)partialTicks); float y = (float)(this.prevPosY + (this.posY - this.prevPosY) * (double)partialTicks); float z = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * (double)partialTicks); diff --git a/src/main/java/electroblob/wizardry/client/particle/ParticleSummon.java b/src/main/java/electroblob/wizardry/client/particle/ParticleSummon.java index 55daba3e..e8af86b6 100644 --- a/src/main/java/electroblob/wizardry/client/particle/ParticleSummon.java +++ b/src/main/java/electroblob/wizardry/client/particle/ParticleSummon.java @@ -53,6 +53,12 @@ public class ParticleSummon extends ParticleWizardry { // Copied from ParticleWizardry, needs to be here since we're not calling super updateEntityLinking(partialTicks); + + // I don't know why, but despite not being in any superclass renderParticle these also need to be here if we're + // not calling super + interpPosX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * (double)partialTicks; + interpPosY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * (double)partialTicks; + interpPosZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * (double)partialTicks; GlStateManager.pushMatrix(); GlStateManager.pushAttrib(); diff --git a/src/main/java/electroblob/wizardry/client/particle/ParticleTargeted.java b/src/main/java/electroblob/wizardry/client/particle/ParticleTargeted.java index 2218509c..9b512ffd 100644 --- a/src/main/java/electroblob/wizardry/client/particle/ParticleTargeted.java +++ b/src/main/java/electroblob/wizardry/client/particle/ParticleTargeted.java @@ -78,6 +78,12 @@ public abstract class ParticleTargeted extends ParticleWizardry { // Copied from ParticleWizardry, needs to be here since we're not calling super updateEntityLinking(partialTicks); + // I don't know why, but despite not being in any superclass renderParticle these also need to be here if we're + // not calling super + interpPosX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * (double)partialTicks; + interpPosY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * (double)partialTicks; + interpPosZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * (double)partialTicks; + float x = (float)(this.prevPosX + (this.posX - this.prevPosX) * (double)partialTicks); float y = (float)(this.prevPosY + (this.posY - this.prevPosY) * (double)partialTicks); float z = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * (double)partialTicks);