PLUGIN.name = "Build Tools"
PLUGIN.author = "Various (Портирован для Helix)"
PLUGIN.description = "Набор строительных инструментов: AdvDupe2, Permaprops, Precision Tool"

-- Устанавливаем высокий приоритет загрузки, чтобы плагин загрузился раньше инструментов
PLUGIN.priority = 100

-- Конфигурация
ix.config.Add("buildToolsEnabled", true, "Включить строительные инструменты", nil, {
	category = "Build Tools"
})

ix.config.Add("buildToolsAdvDupe2", true, "Включить AdvDupe2 (дублирование)", nil, {
	category = "Build Tools"
})

ix.config.Add("buildToolsPermaprops", true, "Включить Permaprops (постоянные пропы)", nil, {
	category = "Build Tools"
})

ix.config.Add("buildToolsPrecision", true, "Включить Precision Tool (точное позиционирование)", nil, {
	category = "Build Tools"
})

ix.config.Add("buildToolsNoCollideWorld", true, "Включить NoCollide World (отключение коллизий с миром)", nil, {
	category = "Build Tools"
})

-- Загрузка NetStream (библиотека для сетевых сообщений)
ix.util.Include("netstream.lua")

-- Загрузка AdvDupe2
if ix.config.Get("buildToolsAdvDupe2", true) then
	-- Инициализация глобальной таблицы AdvDupe2
	AdvDupe2 = AdvDupe2 or {}
	print("[Build Tools] Initializing AdvDupe2...")
	
	-- Shared
	ix.util.Include("advdupe2/sh_codec_legacy.lua")
	ix.util.Include("advdupe2/sh_codec.lua")
	
	-- Server
	ix.util.Include("advdupe2/sv_file.lua")
	ix.util.Include("advdupe2/sv_ghost.lua")
	ix.util.Include("advdupe2/sv_clipboard.lua")
	ix.util.Include("advdupe2/sv_misc.lua")
	
	-- Client
	ix.util.Include("advdupe2/cl_file.lua")
	ix.util.Include("advdupe2/cl_ghost.lua")
	ix.util.Include("advdupe2/file_browser.lua")
	
	print("[Build Tools] AdvDupe2 loaded successfully")
end

-- Загрузка Permaprops
if ix.config.Get("buildToolsPermaprops", true) then
	-- Server
	ix.util.Include("permaprops/sv_lib.lua")
	ix.util.Include("permaprops/sv_menu.lua")
	ix.util.Include("permaprops/sv_permissions.lua")
	ix.util.Include("permaprops/sv_specialfcn.lua")
	ix.util.Include("permaprops/sv_sql.lua")
	
	-- Client
	ix.util.Include("permaprops/cl_drawent.lua")
	ix.util.Include("permaprops/cl_menu.lua")
end

function PLUGIN:Initialize()
	print("[Build Tools] Загружены строительные инструменты!")
	
	if ix.config.Get("buildToolsAdvDupe2", true) then
		print("[Build Tools] AdvDupe2 активирован")
	end
	
	if ix.config.Get("buildToolsPermaprops", true) then
		print("[Build Tools] Permaprops активирован")
	end
end
