Entities captured despite not being in photo
WACriminalG2 opened this issue ยท 2 comments
Bug description
Currently using Forge on 1.16.5, with Camera version 1.0.14. I enabled the config option to capture entity data in photos, but it's behaving in a strange way. There are entities listed in the photo's NBT despite them not being visible in the picture. I even flew up into the air and angled straight down to make sure I wasn't capturing entities outside my render distance. According to the NBT data, this photo contains a cat and a bat in addition to the villager: https://imgur.com/a/hdnn9tP
What I think is happening here is that it's doing a full 360 scan for visible entities, rather than using the player's actual FOV. Since I'm in a village on a superflat world in daylight, there's obviously other creatures around. (The bat is due to a previous lighting test.) I tested this theory by building a 3-high wall of dirt blocks around myself and placing a cow inside the walls with me. Sure enough, taking a picture of the cow did not include any other entities in the NBT data, despite there being other entities on the other side of the wall.
Not sure how performance-impacting (or time-consuming) it would be to fix something like that.
Steps to reproduce the issue
- Forge v36.2.0, Minecraft 1.16.5, Camera 1.0.14.
- Take picture of any entity while other entities are in the area, but not in front of you.
Expected behavior
Photo NBT should only include entities in-frame to the player taking the picture.
Log files
Unfortunately I don't have the log file anymore, I was doing multiple different tests.
Versions
- Minecraft version: 1.16.5
- Forge version: 36.2.0
- Mod version: 1.0.14
Other mods
FerriteCore v2.0.5
Shutup Experimental Settings v1.0.3
TellMe v0.9.1
On actually reviewing the code, it looks like there IS a FOV consideration, but (if I'm reading it correctly) it takes into account a full 180-degree range in front of the player (which is obviously wider than most players' FOV). So that could explain it. If I'm standing at origin and take a picture facing straight north, I'm going to capture all entities that are north of the origin and within my render distance, even if they're standing 20 blocks to my right and 1 block in front of me, right?