
API И ИНТЕГРАЦИЯ
Обязательных сторонних зависимостей нет.
AutoPlanter предоставляет два hook для интеграции других плагинов.
1. Проверка управляемой грядки
OnAutoPlanterQueryManaged(BaseEntity entity)
Возвращает:
bool — true, если сущность относится к установленной AutoPlanter.
2. Ручная обработка
OnAutoPlanterManualAction(BaseEntity planterEntity, BasePlayer player, string mode)
mode:
"harvest" — собрать урожай
"clone" — получить клоны
Возвращает:
int >= 0 — количество обработанных растений
-1 — действие невозможно выполнить
Пример вызова из другого Oxide-плагина:
using Oxide.Core.Plugins;
[PluginReference]
private Plugin AutoPlanter;
private bool IsAutoPlanter(BaseEntity entity)
{
return AutoPlanter != null &&
AutoPlanter.CallHook<bool>(
"OnAutoPlanterQueryManaged",
entity
);
}
private int ProcessAutoPlanter(
BaseEntity planter,
BasePlayer player,
bool cloneMode)
{
if (AutoPlanter == null)
return -1;
return AutoPlanter.CallHook<int>(
"OnAutoPlanterManualAction",
planter,
player,
cloneMode ? "clone" : "harvest"
);
}