Posted May 21, 20214 yr I want to have the current biome & time of day, among other things on the server affect how my entity renders. I'm currently using DataParameter's, because they sync the server and client, but since multiple are being read and written to every tick by each instance of my entity, I can't imagine it's the most performance friendly solution, packets probably out of the question. And they're updated every tick because it's an animation that's supposed to play out smoothly. Is there a proper solution to my problem that doesn't kill servers? Thanks relevant code: https://github.com/Okolytes/Fireflies/blob/master/src/main/java/fireflies/entity/firefly/FireflyEntity.java
May 22, 20214 yr Author Thx for the reply, I couldn't figure out how to get the chunk data's skylight value, but just copying the code from World#calculateInitialSkylight() seems to give an accurate value for the skylight private boolean isDayTime() { double d0 = 1.0D - (double)(this.world.getRainStrength(1.0F) * 5.0F) / 16.0D; double d1 = 1.0D - (double)(this.world.getThunderStrength(1.0F) * 5.0F) / 16.0D; double d2 = 0.5D + 2.0D * MathHelper.clamp(MathHelper.cos(this.world.func_242415_f(1.0F) * ((float)Math.PI * 2F)), -0.25D, 0.25D); int skylightSubtracted = (int)((1.0D - d2 * d0 * d1) * 11.0D); return !this.world.getDimensionType().doesFixedTimeExist() && skylightSubtracted < 4; }
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.