2019-08-27 09:09:54 -04:00
|
|
|
CLASS net/minecraft/class_630 net/minecraft/client/model/ModelPart
|
|
|
|
FIELD field_3654 pitch F
|
2019-10-09 12:43:46 -04:00
|
|
|
FIELD field_3655 pivotZ F
|
|
|
|
FIELD field_3656 pivotY F
|
|
|
|
FIELD field_3657 pivotX F
|
2019-08-27 09:09:54 -04:00
|
|
|
FIELD field_3658 textureHeight F
|
|
|
|
FIELD field_3659 textureWidth F
|
2019-11-13 12:34:56 -05:00
|
|
|
FIELD field_3661 children Lit/unimi/dsi/fastutil/objects/ObjectList;
|
|
|
|
FIELD field_3663 cuboids Lit/unimi/dsi/fastutil/objects/ObjectList;
|
2019-08-27 09:09:54 -04:00
|
|
|
FIELD field_3665 visible Z
|
|
|
|
FIELD field_3666 mirror Z
|
|
|
|
FIELD field_3670 textureOffsetV I
|
|
|
|
FIELD field_3672 textureOffsetU I
|
|
|
|
FIELD field_3674 roll F
|
|
|
|
FIELD field_3675 yaw F
|
2019-10-09 12:43:46 -04:00
|
|
|
METHOD <init> (IIII)V
|
|
|
|
ARG 1 textureWidth
|
|
|
|
ARG 2 textureHeight
|
|
|
|
ARG 3 textureOffsetU
|
|
|
|
ARG 4 textureOffsetV
|
|
|
|
METHOD <init> (Lnet/minecraft/class_3879;)V
|
|
|
|
ARG 1 model
|
2019-08-27 09:09:54 -04:00
|
|
|
METHOD <init> (Lnet/minecraft/class_3879;II)V
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 model
|
2019-08-27 09:09:54 -04:00
|
|
|
ARG 2 textureOffsetU
|
|
|
|
ARG 3 textureOffsetV
|
2019-10-30 11:50:18 -04:00
|
|
|
METHOD method_17138 copyPositionAndRotation (Lnet/minecraft/class_630;)V
|
2019-11-21 14:13:18 -05:00
|
|
|
METHOD method_22698 render (Lnet/minecraft/class_4587;Lnet/minecraft/class_4588;II)V
|
2019-12-02 08:47:40 -05:00
|
|
|
ARG 1 matrices
|
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 vertices
|
2019-12-02 08:47:40 -05:00
|
|
|
ARG 3 light
|
|
|
|
ARG 4 overlay
|
2019-11-21 14:13:18 -05:00
|
|
|
METHOD method_22699 render (Lnet/minecraft/class_4587;Lnet/minecraft/class_4588;IIFFFF)V
|
2019-12-02 08:47:40 -05:00
|
|
|
ARG 1 matrices
|
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 vertices
|
2019-12-02 08:47:40 -05:00
|
|
|
ARG 3 light
|
|
|
|
ARG 4 overlay
|
|
|
|
ARG 5 red
|
|
|
|
ARG 6 green
|
|
|
|
ARG 7 blue
|
|
|
|
ARG 8 alpha
|
2019-10-09 12:43:46 -04:00
|
|
|
METHOD method_22700 getRandomCuboid (Ljava/util/Random;)Lnet/minecraft/class_630$class_628;
|
|
|
|
ARG 1 random
|
2019-11-21 14:13:18 -05:00
|
|
|
METHOD method_22702 renderCuboids (Lnet/minecraft/class_4587$class_4665;Lnet/minecraft/class_4588;IIFFFF)V
|
2019-12-02 08:47:40 -05:00
|
|
|
ARG 1 matrices
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 2 vertexConsumer
|
2019-12-02 08:47:40 -05:00
|
|
|
ARG 3 light
|
|
|
|
ARG 4 overlay
|
|
|
|
ARG 5 red
|
|
|
|
ARG 6 green
|
|
|
|
ARG 7 blue
|
|
|
|
ARG 8 alpha
|
2019-11-07 14:37:31 -05:00
|
|
|
METHOD method_22703 rotate (Lnet/minecraft/class_4587;)V
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 matrix
|
|
|
|
METHOD method_22971 addCuboid (FFFFFFFFF)V
|
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
|
|
|
ARG 4 sizeX
|
|
|
|
ARG 5 sizeY
|
|
|
|
ARG 6 sizeZ
|
|
|
|
ARG 7 extraX
|
|
|
|
ARG 8 extraY
|
|
|
|
ARG 9 extraZ
|
|
|
|
METHOD method_22972 addCuboid (IIFFFFFFFFFZZ)V
|
|
|
|
ARG 1 u
|
|
|
|
ARG 2 v
|
|
|
|
ARG 3 x
|
|
|
|
ARG 4 y
|
|
|
|
ARG 5 z
|
|
|
|
ARG 6 sizeX
|
|
|
|
ARG 7 sizeY
|
|
|
|
ARG 8 sizeZ
|
|
|
|
ARG 9 extraX
|
|
|
|
ARG 10 extraY
|
|
|
|
ARG 11 extraZ
|
|
|
|
ARG 12 mirror
|
2019-09-18 11:17:05 -04:00
|
|
|
METHOD method_2844 addCuboid (FFFFFF)Lnet/minecraft/class_630;
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
|
|
|
ARG 4 sizeX
|
|
|
|
ARG 5 sizeY
|
|
|
|
ARG 6 sizeZ
|
2019-08-27 09:09:54 -04:00
|
|
|
METHOD method_2845 addChild (Lnet/minecraft/class_630;)V
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 part
|
2019-08-27 09:09:54 -04:00
|
|
|
METHOD method_2848 addCuboid (Ljava/lang/String;FFFIIIFII)Lnet/minecraft/class_630;
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 name
|
|
|
|
ARG 2 x
|
|
|
|
ARG 3 y
|
|
|
|
ARG 4 z
|
|
|
|
ARG 5 sizeX
|
|
|
|
ARG 6 sizeY
|
|
|
|
ARG 7 sizeZ
|
|
|
|
ARG 8 extra
|
2019-08-27 09:09:54 -04:00
|
|
|
ARG 9 textureOffsetU
|
|
|
|
ARG 10 textureOffsetV
|
2019-09-18 11:17:05 -04:00
|
|
|
METHOD method_2849 addCuboid (FFFFFFFZ)V
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
|
|
|
ARG 4 sizeX
|
|
|
|
ARG 5 sizeY
|
|
|
|
ARG 6 sizeZ
|
|
|
|
ARG 7 extra
|
|
|
|
ARG 8 mirror
|
2019-08-27 09:09:54 -04:00
|
|
|
METHOD method_2850 setTextureOffset (II)Lnet/minecraft/class_630;
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 textureOffsetU
|
|
|
|
ARG 2 textureOffsetV
|
|
|
|
METHOD method_2851 setPivot (FFF)V
|
2019-08-27 09:09:54 -04:00
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
|
|
|
METHOD method_2853 setTextureSize (II)Lnet/minecraft/class_630;
|
|
|
|
ARG 1 width
|
|
|
|
ARG 2 height
|
2019-09-18 11:17:05 -04:00
|
|
|
METHOD method_2854 addCuboid (FFFFFFZ)Lnet/minecraft/class_630;
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
|
|
|
ARG 4 sizeX
|
|
|
|
ARG 5 sizeY
|
|
|
|
ARG 6 sizeZ
|
|
|
|
ARG 7 mirror
|
2019-09-18 11:17:05 -04:00
|
|
|
METHOD method_2856 addCuboid (FFFFFFF)V
|
2019-10-09 12:43:46 -04:00
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
|
|
|
ARG 4 sizeX
|
|
|
|
ARG 5 sizeY
|
|
|
|
ARG 6 sizeZ
|
|
|
|
ARG 7 extra
|
2019-12-02 08:55:18 -05:00
|
|
|
CLASS class_593 Quad
|
|
|
|
FIELD field_21618 direction Lnet/minecraft/class_1160;
|
|
|
|
FIELD field_3502 vertices [Lnet/minecraft/class_630$class_618;
|
|
|
|
METHOD <init> ([Lnet/minecraft/class_630$class_618;FFFFFFZLnet/minecraft/class_2350;)V
|
|
|
|
ARG 1 vertices
|
|
|
|
ARG 2 u1
|
|
|
|
ARG 3 v1
|
|
|
|
ARG 4 u2
|
|
|
|
ARG 5 v2
|
|
|
|
ARG 6 squishU
|
|
|
|
ARG 7 squishV
|
|
|
|
ARG 8 flip
|
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 9 direction
|
2019-12-02 08:55:18 -05:00
|
|
|
CLASS class_618 Vertex
|
|
|
|
FIELD field_3603 v F
|
|
|
|
FIELD field_3604 u F
|
|
|
|
FIELD field_3605 pos Lnet/minecraft/class_1160;
|
|
|
|
METHOD <init> (FFFFF)V
|
|
|
|
ARG 1 x
|
|
|
|
ARG 2 y
|
|
|
|
ARG 3 z
|
|
|
|
ARG 4 u
|
|
|
|
ARG 5 v
|
|
|
|
METHOD <init> (Lnet/minecraft/class_1160;FF)V
|
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 1 pos
|
2019-12-02 08:55:18 -05:00
|
|
|
ARG 2 u
|
|
|
|
ARG 3 v
|
|
|
|
METHOD method_2837 remap (FF)Lnet/minecraft/class_630$class_618;
|
|
|
|
ARG 1 u
|
|
|
|
ARG 2 v
|
|
|
|
CLASS class_628 Cuboid
|
|
|
|
FIELD field_3643 minZ F
|
|
|
|
FIELD field_3644 minY F
|
|
|
|
FIELD field_3645 minX F
|
|
|
|
FIELD field_3646 maxZ F
|
|
|
|
FIELD field_3647 maxY F
|
|
|
|
FIELD field_3648 maxX F
|
|
|
|
FIELD field_3649 sides [Lnet/minecraft/class_630$class_593;
|
|
|
|
METHOD <init> (IIFFFFFFFFFZFF)V
|
|
|
|
ARG 1 u
|
|
|
|
ARG 2 v
|
|
|
|
ARG 3 x
|
|
|
|
ARG 4 y
|
|
|
|
ARG 5 z
|
|
|
|
ARG 6 sizeX
|
|
|
|
ARG 7 sizeY
|
|
|
|
ARG 8 sizeZ
|
|
|
|
ARG 9 extraX
|
|
|
|
ARG 10 extraY
|
|
|
|
ARG 11 extraZ
|
|
|
|
ARG 12 mirror
|
|
|
|
ARG 13 textureWidth
|
|
|
|
ARG 14 textureHeight
|