36 lines
1011 B
C#
36 lines
1011 B
C#
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<BlockPos, int>? CropEvent;
|
|
event Action<BlockPos, int>? 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<StructVec3i> flowerPositionsBuffer, List<StructVec3i> cropPositionsBuffer);
|
|
|
|
void RegisterBeehive(BlockPos pos, int radius);
|
|
|
|
void UpdateBeehiveRadius(BlockPos pos, int radius);
|
|
|
|
void RemovePlantPosition(BlockPos pos, Block block);
|
|
|
|
void UnregisterBeehive(BlockPos pos);
|
|
} |