Posted May 12, 20205 yr Hey there, I just added a custom particle to the game but I don't want to be affected by lightlevel. How do I make it fullbright all the time? I experimented a bit with a custom particle renderer but I couldn't figure it out. Here is what I have tried: public void beginRender(BufferBuilder buf, TextureManager texmanager) { RenderSystem.depthMask(true); RenderSystem.disableLighting(); RenderSystem.enableBlend(); RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); RenderSystem.alphaFunc(GL11.GL_GREATER, 0.003921569F); texmanager.bindTexture(AtlasTexture.LOCATION_PARTICLES_TEXTURE); buf.begin(7, DefaultVertexFormats.PARTICLE_POSITION_TEX_COLOR_LMAP); } public void finishRender(Tessellator tessellator) { tessellator.draw(); } The particle also has translucent pixels by the way.
May 12, 20205 yr Howdy ย Easiest way is just to return full brightness from your particle's method.ย Particle rendering has changed quite a bit from earlier versions of vanilla and you no longer need to do custom rendering for most particles. eg // can be used to change the skylight+blocklight brightness of the rendered Particle. @Override protected int getBrightnessForRender(float partialTick) { final int BLOCK_LIGHT = 15; // maximum brightness final int SKY_LIGHT = 15; // maximum brightness final int FULL_BRIGHTNESS_VALUE = LightTexture.packLight(BLOCK_LIGHT, SKY_LIGHT); return FULL_BRIGHTNESS_VALUE; // if you want the brightness to be the local illumination (from block light and sky light) you can just use // the Particle.getBrightnessForRender() base method, which contains: // BlockPos blockPos = new BlockPos(this.posX, this.posY, this.posZ); // return this.world.isBlockLoaded(blockPos) ? WorldRenderer.getCombinedLight(this.world, blockPos) : 0; } ย For a working example, see here https://github.com/TheGreyGhost/MinecraftByExample/tree/master/src/main/java/minecraftbyexample/mbe50_particle ย -TGG
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.