using System; using System.Collections.Generic; using Vintagestory.API.Common; using Vintagestory.API.MathTools; namespace OrekiWoofsBees.Common; public interface IPlantPositionRegistry { ICoreAPI? Api { get; } event Action? CropEvent; event Action? FlowerEvent; void AddPlantPosition(BlockPos pos, Block block); int CountBeehivesInRadius(BlockPos pos, int radius); ( int FlowerCount, int CropCount, float InitialScanProgress, float RescanProgress ) GetPlantCountsNearPosition(BlockPos hivePos, int radius); (float InitialScanProgress, float RescanProgress) GetPlantsNearPosition(BlockPos hivePos, int radius, List flowerPositionsBuffer, List cropPositionsBuffer); void RegisterBeehive(BlockPos pos, int radius); void RemovePlantPosition(BlockPos pos, Block block); void UnregisterBeehive(BlockPos pos); }