yarn/mappings/net/minecraft/client/render/entity/EntityRenderer.mapping

47 lines
1.8 KiB
Plaintext
Raw Normal View History

2019-06-28 17:55:20 -04:00
CLASS net/minecraft/class_897 net/minecraft/client/render/entity/EntityRenderer
FIELD field_27761 textRenderer Lnet/minecraft/class_327;
Renderer mappings (#988) * part.render(matrix, vertices, light, overlay, red, green, blue, alpha) * Fixed bad names * Determined by the call to part.render(matrix, vertices, light, overlay) which delegates to part.render(matrix, vertices, light, overlay, 1, 1, 1, 1) * Now we extrapolate to everything that calls part.render(matrix, vertices, light, overlay) Meanhile VertexConsumerProvider is * Now we extrapolate to everything that cals pars.render(matrix, vertices, light, overlay, red, green, blue, alpha) * This is not a render method! It sets the yaw and pitch on the skull * Now we extrapolate to things that call mode.render(matrix, vertices, light, overlay, red, green, blue, alpha) Not much to change there though * These are known from EntityRenderDispatcher * render calls renderLabelIfPresent * Now we're looking at things which call EntityRenderDispatcher.render(entity, x, y, z, yaw, matrix, provider, light) * In ClientPlayNetworkHandler.onItemPickupAnimation the second entity is gotten from packet.getCollectorEntityId and defaulted to the player if null. The first entity is an item entity or an experience orb entity * Going back to EntityRenderDispatcher, we can see the code for rendering shadows was moved here from the renderer itself if (this.gameOptions.entityShadows && this.renderShadows && entityRenderer14.shadowRadius > 0.0f && !entity.isInvisible()) { double double22 = this.getSquaredDistanceToCamera(entity.getX(), entity.getY(), entity.getZ()); float float24 = (float)((1.0 - double22 / 256.0) * entityRenderer14.field_4672); if (float24 > 0.0f) { renderShadow(matrix, provider, entity, float24, tickDelta, this.world, entityRenderer14.shadowRadius); } } * The last parameter is shadow radius, but to be sure we check, nd indeed it is reduced when the rendered entity is a baby private static void renderShadow(MatrixStack matrix, VertexConsumerProvider provider, Entity entity, float float4, float tickDelta, WorldView world, float radius) { float float8 = radius; if (entity instanceof MobEntity) { if (((MobEntity)entity).isBaby()) { float8 *= 0.5f; } } * float4 was a myster, but it's just passed down as-is and used to determine the opacity of the shadow! float float16 = (float)((opacity - (y - pos.getY()) / 2.0) * 0.5 * world.getBrightness(pos)); if (float16 >= 0.0f) { * Forgot this one * This is all low-hanging fruit. * EntityRenderDispatcher.shouldRender(entity, frustrum, x, y, z) -> EntityRenderer.isVisible(entity, frustrum, x, y, z) -> Entity.shouldRenderFrom(x, y, z) @Environment(EnvType.CLIENT) public boolean shouldRenderFrom(double x, double y, double z) { double double8 = this.getX() - x; double double10 = this.getY() - y; double double12 = this.getZ() - z; double double14 = double8 * double8 + double10 * double10 + double12 * double12; return this.shouldRenderAtDistance(double14); } * More things we know * This is set by calling entity.getLeaningPitch * This is only overriden by CreeperEntityRenderer and returns a float computed from the fuse time. The value is then passed to getOverlay where it's passed to OverlayTexture.getU(animationCounter). This causes the creeper to flash white when active. The same method, interestingly, will use the V to create the hurt/death overlay OverlayTexture.packUv( OverlayTexture.getU(animationCounter), OverlayTexture.getV(entity.hurtTime > 0 || entity.deathTime > 0) ) * The final patches * xrayEnabled -> isGlowing * Commit suggestions/name changes I missed during rebase Co-Authored-By: Juuxel <6596629+Juuxel@users.noreply.github.com> * Fix typos * yaw -> tickDelta Co-Authored-By: liach <7806504+liach@users.noreply.github.com> * provider -> vertexConsumers Co-Authored-By: liach <7806504+liach@users.noreply.github.com> * matrix -> matrices Co-Authored-By: liach <7806504+liach@users.noreply.github.com> * Fixed some encorrect names * entry -> matrices * textureU/V -> u/v * isBanner -> isBannerBlock * frustrum -> frustum Co-Authored-By: Gegy <gegy1000@gmail.com> * Fix broken/changed mappings for 20w10a * grammar Co-Authored-By: liach <7806504+liach@users.noreply.github.com> * Update mappings/net/minecraft/client/particle/ItemPickupParticle.mapping Co-Authored-By: liach <7806504+liach@users.noreply.github.com> Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> Co-authored-by: liach <7806504+liach@users.noreply.github.com> Co-authored-by: Gegy <gegy1000@gmail.com>
2020-03-27 07:06:32 -04:00
FIELD field_4672 shadowOpacity F
FIELD field_4673 shadowRadius F
FIELD field_4676 dispatcher Lnet/minecraft/class_898;
METHOD <init> (Lnet/minecraft/class_5617$class_5618;)V
ARG 1 ctx
2019-11-07 14:37:31 -05:00
METHOD method_23169 getPositionOffset (Lnet/minecraft/class_1297;F)Lnet/minecraft/class_243;
ARG 1 entity
ARG 2 tickDelta
2020-05-06 13:28:56 -04:00
METHOD method_24087 getBlockLight (Lnet/minecraft/class_1297;Lnet/minecraft/class_2338;)I
ARG 1 entity
ARG 2 pos
METHOD method_24088 getLight (Lnet/minecraft/class_1297;F)I
ARG 1 entity
ARG 2 tickDelta
METHOD method_27950 getSkyLight (Lnet/minecraft/class_1297;Lnet/minecraft/class_2338;)I
ARG 1 entity
ARG 2 pos
2019-06-28 17:55:20 -04:00
METHOD method_3921 hasLabel (Lnet/minecraft/class_1297;)Z
COMMENT Determines whether the passed entity should render with a nameplate above its head.
2020-02-26 12:56:39 -05:00
COMMENT
COMMENT <p>Checks for a custom nametag on living entities, and for teams/team visibilities for players.
ARG 1 entity
2020-04-22 11:59:47 -04:00
METHOD method_3926 renderLabelIfPresent (Lnet/minecraft/class_1297;Lnet/minecraft/class_2561;Lnet/minecraft/class_4587;Lnet/minecraft/class_4597;I)V
ARG 1 entity
ARG 2 text
ARG 3 matrices
ARG 4 vertexConsumers
ARG 5 light
2019-06-28 17:55:20 -04:00
METHOD method_3931 getTexture (Lnet/minecraft/class_1297;)Lnet/minecraft/class_2960;
ARG 1 entity
METHOD method_3932 getTextRenderer ()Lnet/minecraft/class_327;
METHOD method_3933 shouldRender (Lnet/minecraft/class_1297;Lnet/minecraft/class_4604;DDD)Z
ARG 1 entity
Renderer mappings (#988) * part.render(matrix, vertices, light, overlay, red, green, blue, alpha) * Fixed bad names * Determined by the call to part.render(matrix, vertices, light, overlay) which delegates to part.render(matrix, vertices, light, overlay, 1, 1, 1, 1) * Now we extrapolate to everything that calls part.render(matrix, vertices, light, overlay) Meanhile VertexConsumerProvider is * Now we extrapolate to everything that cals pars.render(matrix, vertices, light, overlay, red, green, blue, alpha) * This is not a render method! It sets the yaw and pitch on the skull * Now we extrapolate to things that call mode.render(matrix, vertices, light, overlay, red, green, blue, alpha) Not much to change there though * These are known from EntityRenderDispatcher * render calls renderLabelIfPresent * Now we're looking at things which call EntityRenderDispatcher.render(entity, x, y, z, yaw, matrix, provider, light) * In ClientPlayNetworkHandler.onItemPickupAnimation the second entity is gotten from packet.getCollectorEntityId and defaulted to the player if null. The first entity is an item entity or an experience orb entity * Going back to EntityRenderDispatcher, we can see the code for rendering shadows was moved here from the renderer itself if (this.gameOptions.entityShadows && this.renderShadows && entityRenderer14.shadowRadius > 0.0f && !entity.isInvisible()) { double double22 = this.getSquaredDistanceToCamera(entity.getX(), entity.getY(), entity.getZ()); float float24 = (float)((1.0 - double22 / 256.0) * entityRenderer14.field_4672); if (float24 > 0.0f) { renderShadow(matrix, provider, entity, float24, tickDelta, this.world, entityRenderer14.shadowRadius); } } * The last parameter is shadow radius, but to be sure we check, nd indeed it is reduced when the rendered entity is a baby private static void renderShadow(MatrixStack matrix, VertexConsumerProvider provider, Entity entity, float float4, float tickDelta, WorldView world, float radius) { float float8 = radius; if (entity instanceof MobEntity) { if (((MobEntity)entity).isBaby()) { float8 *= 0.5f; } } * float4 was a myster, but it's just passed down as-is and used to determine the opacity of the shadow! float float16 = (float)((opacity - (y - pos.getY()) / 2.0) * 0.5 * world.getBrightness(pos)); if (float16 >= 0.0f) { * Forgot this one * This is all low-hanging fruit. * EntityRenderDispatcher.shouldRender(entity, frustrum, x, y, z) -> EntityRenderer.isVisible(entity, frustrum, x, y, z) -> Entity.shouldRenderFrom(x, y, z) @Environment(EnvType.CLIENT) public boolean shouldRenderFrom(double x, double y, double z) { double double8 = this.getX() - x; double double10 = this.getY() - y; double double12 = this.getZ() - z; double double14 = double8 * double8 + double10 * double10 + double12 * double12; return this.shouldRenderAtDistance(double14); } * More things we know * This is set by calling entity.getLeaningPitch * This is only overriden by CreeperEntityRenderer and returns a float computed from the fuse time. The value is then passed to getOverlay where it's passed to OverlayTexture.getU(animationCounter). This causes the creeper to flash white when active. The same method, interestingly, will use the V to create the hurt/death overlay OverlayTexture.packUv( OverlayTexture.getU(animationCounter), OverlayTexture.getV(entity.hurtTime > 0 || entity.deathTime > 0) ) * The final patches * xrayEnabled -> isGlowing * Commit suggestions/name changes I missed during rebase Co-Authored-By: Juuxel <6596629+Juuxel@users.noreply.github.com> * Fix typos * yaw -> tickDelta Co-Authored-By: liach <7806504+liach@users.noreply.github.com> * provider -> vertexConsumers Co-Authored-By: liach <7806504+liach@users.noreply.github.com> * matrix -> matrices Co-Authored-By: liach <7806504+liach@users.noreply.github.com> * Fixed some encorrect names * entry -> matrices * textureU/V -> u/v * isBanner -> isBannerBlock * frustrum -> frustum Co-Authored-By: Gegy <gegy1000@gmail.com> * Fix broken/changed mappings for 20w10a * grammar Co-Authored-By: liach <7806504+liach@users.noreply.github.com> * Update mappings/net/minecraft/client/particle/ItemPickupParticle.mapping Co-Authored-By: liach <7806504+liach@users.noreply.github.com> Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> Co-authored-by: liach <7806504+liach@users.noreply.github.com> Co-authored-by: Gegy <gegy1000@gmail.com>
2020-03-27 07:06:32 -04:00
ARG 2 frustum
ARG 3 x
ARG 5 y
ARG 7 z
2019-11-07 14:37:31 -05:00
METHOD method_3936 render (Lnet/minecraft/class_1297;FFLnet/minecraft/class_4587;Lnet/minecraft/class_4597;I)V
ARG 1 entity
ARG 2 yaw
ARG 3 tickDelta
ARG 4 matrices
ARG 5 vertexConsumers
ARG 6 light