Posted October 6, 201213 yr Getting an error when spawning lots of small custom particles. If anyone knows how to avoid this any help is much appreciated. Thanks. Error: 2012-10-06 19:17:47 [iNFO] [sTDERR] java.lang.NullPointerException 2012-10-06 19:17:47 [iNFO] [sTDERR] at net.minecraft.src.EffectRenderer.updateEffects(EffectRenderer.java:67) 2012-10-06 19:17:47 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1804) 2012-10-06 19:17:47 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:845) 2012-10-06 19:17:47 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:775) 2012-10-06 19:17:47 [iNFO] [sTDERR] at java.lang.Thread.run(Unknown Source) Spawn Code: Galacticraft.proxy.spawnParticle("whitesmokelarge", this.posX, this.posY - 1.8D, this.posZ, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmoke", this.posX, this.posY - 1.8D, this.posZ, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmokelarge", this.posX + 0.5, this.posY - 1.8D, this.posZ, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmoke", this.posX + 0.5, this.posY - 1.8D, this.posZ, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmokelarge", this.posX - 0.5, this.posY - 1.8D, this.posZ, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmoke", this.posX - 0.5, this.posY - 1.8D, this.posZ, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmokelarge", this.posX, this.posY - 1.8D, this.posZ + 0.5D, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmoke", this.posX, this.posY - 1.8D, this.posZ + 0.5D, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmokelarge", this.posX, this.posY - 1.8D, this.posZ - 0.5D, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); Galacticraft.proxy.spawnParticle("whitesmoke", this.posX, this.posY - 1.8D, this.posZ - 0.5D, (this.rotationPitch / 360), -1D, (this.rotationPitch / 360)); The method it's calling: @Override public void spawnParticle(String var1, double var2, double var4, double var6, double var8, double var10, double var12) { Minecraft var14 = FMLClientHandler.instance().getClient(); if (var14 != null && var14.renderViewEntity != null && var14.effectRenderer != null) { double var15 = var14.renderViewEntity.posX - var2; double var17 = var14.renderViewEntity.posY - var4; double var19 = var14.renderViewEntity.posZ - var6; Object var21 = null; double var22 = 64.0D; if (var1.equals("whitesmoke")) { var14.effectRenderer.addEffect(new GCEntityLaunchSmokeFX(var14.theWorld, var2, var4, var6, var8, var10, var12, 1.0F)); } else if (var1.equals("whitesmokelarge")) { var14.effectRenderer.addEffect(new GCEntityLaunchSmokeFX(var14.theWorld, var2, var4, var6, var8, var10, var12, 2.5F)); } if (var15 * var15 + var17 * var17 + var19 * var19 < var22 * var22) { if (var1.equals("sludgeDrip")) { var21 = new GCEntityDropParticleFX(var14.theWorld, var2, var4, var6, GCBlocks.bacterialSludge); } } if (var21 != null) { ((EntityFX)var21).prevPosX = ((EntityFX)var21).posX; ((EntityFX)var21).prevPosY = ((EntityFX)var21).posY; ((EntityFX)var21).prevPosZ = ((EntityFX)var21).posZ; var14.effectRenderer.addEffect((EntityFX)var21); } } }
October 7, 201213 yr Cant really say much beyond somehow, you'd spawnning a null effect. I do Forge for free, however the servers to run it arn't free, so anything is appreciated. Consider supporting the team on Patreon
October 7, 201213 yr Author Yup that's what I don't understand, why would it be spawning a null effect when there's lots of particles.
October 20, 201213 yr Author After further investigation, this only happens while spawning particles outside of RenderGlobal.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.