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.