Statistical tests that can be run on differences between observations, including repeated measures?

Hi there! I'm trying to figure out what stats I would have to use for my thesis.

For my first experiment, I am planning on getting roughness values from grasshoppers and rocks (from 4 sites, 5 grasshoppers and 5 rocks per site). I'm planning on finding the absolute difference in roughness between grasshoppers and rocks across all of the sites. To do so, I want to compare the roughness of each grasshopper to each rock (i.e., grasshopper 1 from site 1 will be compared to every rock from each site, and the same will be done for grasshopper 2 from site 1, etc.). The total number of data points will end up being 100 (n = (5 x 5) x 4) for each site (n = 400 in total). I've set up the data table to include: rock ID, rock roughness, grasshopper ID, grasshopper roughness, site, the condition (i.e., which site is being subtracted from which, grasshopper-rock: 1-2; 1-4; 3-2; etc.), and the absolute difference in roughness.

For my second experiment, I'm going to be measuring just-noticeable-differences (JNDs) between each grasshopper and each rock within a site (grasshopper 1 vs rock 1; grasshopper 2 vs rock 1, etc.), at varying light angles (from 0 to 90º at 10º intervals). The total number of data points will end up being 250 for each site (n = (5 x 5) x 10). The data tables for each site includes rock ID, grasshopper ID, light angle (which can be treated as categorical for my purposes), and the JND values.

My third experiment is similar: for each site, but the JNDs will also be measured between rocks at varying light angles and grasshoppers at a fixed light angle (i.e., rock 1 at 60º vs grasshopper 1 at 90º; rock 1 at 10º vs grasshopper grasshopper 2 at 90º). So I'll end up with the 250 data points from experiment 2, plus 250 data points from this experiment, where the two experiments represent two different conditions. The data tables for each site include: rock ID, grasshopper ID, light angle, condition (1 or 2), and the JND values.

My understanding of stats is quite basic, so I'd really appreciate some insight. From what my supervisor says, I should use LMEMs with the identities of the rocks and grasshoppers set as random factors to account for the repeated measures. But I'm not sure how to go about writing up the code for something like this, especially since there are repeated measures for both the rocks and grasshoppers in when calculating the differences. Would there be nesting or crossing within this?

Thanks in advance!