* Actually describe vague "checkChunk" methods.
These are quite vague, and the profiler call is all we really have to go off of.
From looking around the codebase, these methods validate the entity's chunkX/Y/Z positions are correct. If the entity's last and current chunk pos are not the same, move the entity to it's new chunk (which also changes the chunkX/Y/Z values to the correct ones).
Oh and some synthetic method params while I was at it.
* Update mappings/net/minecraft/server/world/ServerWorld.mapping
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Update mappings/net/minecraft/entity/Entity.mapping
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Update mappings/net/minecraft/client/world/ClientWorld.mapping
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Update mappings/net/minecraft/server/world/ServerWorld.mapping
Co-authored-by: Yanis48 <doublecraft.official@gmail.com>
* Update mappings/net/minecraft/client/world/ClientWorld.mapping
Co-authored-by: Yanis48 <doublecraft.official@gmail.com>
* match method name
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
Co-authored-by: Yanis48 <doublecraft.official@gmail.com>
* Map chunk and chunk statuses
* Update mappings/net/minecraft/world/chunk/ProtoChunk.mapping
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* So we don't have #1493 here
* chunks is fine
* Update mappings/net/minecraft/block/Block.mapping
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Update ChunkStatus.mapping
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* stuff
mapped every class except 5395 because i dont understand codecs lol
* dont mind me
* there we go
* Apply suggestions from code review
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Update mappings/net/minecraft/entity/ai/goal/UniversalAngerGoal.mapping
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
* Update mappings/net/minecraft/entity/passive/WolfEntity.mapping
Co-authored-by: jadon <jadonflower@gmail.com>
* Update EditGameRulesScreen.mapping
* Apply suggestions from code review
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
Co-authored-by: jadon <jadonflower@gmail.com>
* Some packet parameters, I guess
* Add cookingFilteringCraftable in RecipeBookData
* Rename itemName to name in RenameItemC2SPacket
* Rename getItemName to getName
* Rename missed parameter blastFurnaceGuiOpen to cookingGuiOpen
* Map TextureUtil
* Fixup: Remove unused mappings not picked up by Enigma
* Fixup: Properly overload 'allocate'
As it turns out, now that the bogus mappings are gone,
Enigma will actually let me properly overload
This was a learning experience :tiny-potato:
* HandledScreen parameters and renames
- Mapped a lot of parameters in HandledScreen
- draw[Foreground/Background] -> render[Foreground/Background]
for consistency with Screen.render and Screen.renderBackground
* Revert draw -> render changes
* some stuff
new criterions, gamemode switcher screen, and datafixes
* more stuff
predicates and the other criterion i missed
* more predicate stuff
* Update mappings/net/minecraft/advancement/criterion/ItemUsedOnBlockCriterion.mapping
Co-authored-by: Yanis48 <doublecraft.official@gmail.com>
* Update PlayerGeneratesContainerLootCriterion.mapping
* Update GameModeSwitcherScreen.mapping
* more gamemode switcher stuff
* Update mappings/net/minecraft/advancement/criterion/PlayerGeneratesContainerLootCriterion.mapping
Co-authored-by: Yanis48 <doublecraft.official@gmail.com>
* Update mappings/net/minecraft/client/gui/screen/ingame/GameModeSwitcherScreen.mapping
Co-authored-by: Yanis48 <doublecraft.official@gmail.com>
* toast and tutorial things
just figured i'd throw this in
Co-authored-by: Yanis48 <doublecraft.official@gmail.com>
* item property getter
Signed-off-by: liach <liach@users.noreply.github.com>
* rename this to model predicate provider as it provides values for model predicates
Signed-off-by: liach <liach@users.noreply.github.com>
Co-authored-by: liach <liach@users.noreply.github.com>
* a lot of very random mappings
* fix mappings
* typo
* Update mappings/net/minecraft/client/font/TextRenderer.mapping
Co-Authored-By: liach <7806504+liach@users.noreply.github.com>
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
This is jigsaw generate things not things generate jigsaw
Signed-off-by: liach <liach@users.noreply.github.com>
Co-authored-by: liach <liach@users.noreply.github.com>
* Map some 20w15a new classes (entities, enchantments)
Signed-off-by: liach <liach@users.noreply.github.com>
* Some javadocs
* Just refer by id
Signed-off-by: liach <liach@users.noreply.github.com>
* Fix bad class name
Signed-off-by: liach <liach@users.noreply.github.com>
Co-authored-by: liach <liach@users.noreply.github.com>
move two matrices to non-client;
move two transformations to util math;
move globalpos to dynamic;
move propagator to world;
a few other util additions
Signed-off-by: liach <liach@users.noreply.github.com>
Co-authored-by: liach <liach@users.noreply.github.com>
* 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>