Например можно взять x,z минимальные и x,z максимальные координаты твоей теретории, далее
int minX = ?;
int maxX =?;
int minZ = ?;
int minZ = ?;
int y = 0;
int x = new random().nextInt(maxX) - minX;
int z = new random().nextInt(maxZ) - minZ;
Block block = Bukkit.getserver.getworld.getblockat(x, y, z);
Дальше циклом проверяешься является ли блок воздухом, если не является y = y +1; если является то устанавливаешь кейс.
Если кейс это сундук то , если не ошибаюсь, нужно получить нужный (сундук) блок по координатам, получить его инвентарь, и засунуть туда шмот.
А насчёт приватов хз