Проверка, игрок находиться в структуре или нет.

Версия Minecraft
1.19.2
11
1
0
Здравствуйте. Как видно из название мне нужно проверить находиться игрок в структуре или нет. Я пробовал получать чанк в котором находиться игрок через ChunkAccess#getAllStarts(), но он возвращает список структур в том чанке в котором была начата генерация структуры.
 
Решение
Я нашёл как это делать. Боже я такой слепой. Если кто-то такой-же слепой как я, то вот решение

structure:
    public static boolean onStructure(LivingEntity entity, Structure structure){
        Registry<Structure> registry = entity.level.registryAccess().registryOrThrow(Registry.STRUCTURE_REGISTRY);
        ServerLevel level = (ServerLevel) entity.level;
        for(Structure struct : registry){
            if(Objects.equals(struct, structure)){
                return level.structureManager().getStructureWithPieceAt(entity.blockPosition(), struct).isValid();
            }
        }
        return false;
    }
11
1
0
Я нашёл как это делать. Боже я такой слепой. Если кто-то такой-же слепой как я, то вот решение

structure:
    public static boolean onStructure(LivingEntity entity, Structure structure){
        Registry<Structure> registry = entity.level.registryAccess().registryOrThrow(Registry.STRUCTURE_REGISTRY);
        ServerLevel level = (ServerLevel) entity.level;
        for(Structure struct : registry){
            if(Objects.equals(struct, structure)){
                return level.structureManager().getStructureWithPieceAt(entity.blockPosition(), struct).isValid();
            }
        }
        return false;
    }
 
Сверху