Commit Graph

20 Commits

Author SHA1 Message Date
liach 64b96381c0
Model part cuboid consumer (#2310)
Signed-off-by: liach <liach@users.noreply.github.com>

Co-authored-by: liach <liach@users.noreply.github.com>
2021-04-11 13:08:29 +01:00
LambdAurora 3d45004495
Map some stuff in entity models. (#2267)
* Map some stuff in entity models.

* Update mappings/net/minecraft/client/render/entity/model/ModelWithHat.mapping

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2021-04-03 13:30:15 +01:00
Thalia Nero e0df01cad6
Entity rendering (#1861)
* Map entity model classes.

* Map new stuff in entity renderers.

* - EntityModelParts -> EntityModels
- ModelPartGroup -> ModelPartData
- ModelPartData -> ModelPartDataNode
- TexturedModelPartGroup -> TexturedModelPartData

* Apply suggestions from code review

Co-authored-by: Gegy <gegy1000@gmail.com>

* Apply other suggestions

* Update mappings/net/minecraft/client/model/TexturedModelData.mapping

Co-authored-by: YanisBft <doublecraft.official@gmail.com>

* Remap *PartData -> *ModelData, move Dilation to client.util.math

* Update crobbed mapping.

Co-authored-by: Gegy <gegy1000@gmail.com>
Co-authored-by: YanisBft <doublecraft.official@gmail.com>
2020-11-12 08:57:40 +00:00
modmuss50 c91f482141 20w45a 2020-11-04 20:44:22 +00:00
­Sollace 3d228282e6
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 11:06:32 +00:00
modmuss50 89b749da2a Update enigma for Javadoc support.
Mappings were re-written storing the inner classes at the end of the file.
2019-12-02 13:55:18 +00:00
Runemoro 966033b532 More rendering mappings (#986)
* More rendering mappings

* Even more rendering mappings

* Update mappings/net/minecraft/client/render/OverlayTexture.mapping

Co-Authored-By: liach <7806504+liach@users.noreply.github.com>

* Update mappings/net/minecraft/client/render/OverlayTexture.mapping

Co-Authored-By: liach <7806504+liach@users.noreply.github.com>

* Fix HashStrategy removed in last PR

* Fixes by liach
2019-12-02 13:47:40 +00:00
modmuss50 9fb64b9b26 1.15-pre1 2019-11-21 19:13:18 +00:00
­Sollace a57b0d7cba New vector and direction methods (#961) 2019-11-18 11:36:11 +00:00
modmuss50 a867725a7f 19w46a 2019-11-13 17:34:56 +00:00
modmuss50 3bf4ded164 19w45a 2019-11-07 19:37:31 +00:00
Runemoro 630bd1451b Refactor rendering (#930)
* Refactor rendering

* Revert #929 and map more things

* Fixes by liach

* Revert bufferBuilder -> buffer in fields too

* Fixes

* Update mappings/net/minecraft/util/MessageQueue.mapping

Co-Authored-By: liach <7806504+liach@users.noreply.github.com>

* Update mappings/net/minecraft/util/MessageQueue.mapping

Co-Authored-By: liach <7806504+liach@users.noreply.github.com>

* Suggestions by Player

* Fix some debug renderer names

* More mappings

* Fix

* Fixes by Player

* Improve BufferBuilderStorage names
2019-11-07 18:03:04 +00:00
biom4st3r 11d3a5cf6e StatusEffect mapping and Cuboid Method rename (#906)
* Mappings for statusEffects
Changed Cuboid.copyRotation -> Cuboid.copyRotationAndPoint because of the misleading name

* Apply suggestions from code review

Co-Authored-By: Runemoro <runemoro1@gmail.com>
Co-Authored-By: liach <7806504+liach@users.noreply.github.com>

* Update mappings/net/minecraft/entity/effect/StatusEffect.mapping

Co-Authored-By: liach <7806504+liach@users.noreply.github.com>
2019-10-30 15:50:18 +00:00
modmuss50 841e352c61 19w41a 2019-10-09 18:17:26 +01:00
Runemoro 04ad11fed6 Rendering mappings (#897)
* Rendering mappings

* Remove duplicate class

* Suggestions by liach and juuxel

* Unmap inferred field and move to better package
2019-10-09 17:43:46 +01:00
modmuss50 052e77acc0 19w39a 2019-09-27 17:23:24 +01:00
modmuss50 0190a8d517 More inner class fixes 2019-09-18 17:57:06 +01:00
modmuss50 bf500b5591 Fix 19w38b 2019-09-18 17:39:49 +01:00
modmuss50 2565f0b45b 19w38a 2019-09-18 16:17:05 +01:00
Runemoro efcf572268 Fix #810 (#834)
* Fix #810

* Fix
2019-08-27 14:09:54 +01:00