eq2go/internal/zone/region/constants.go

74 lines
2.2 KiB
Go

package region
// Default region configuration values
const (
// Region check intervals
RegionCheckInterval = 1000 // Milliseconds between region checks
RegionUpdateInterval = 5000 // Milliseconds between region updates
RegionCleanupInterval = 30000 // Milliseconds between cleanup operations
// Region detection parameters
RegionCheckRadius = 100.0 // Radius for region detection
RegionTriggerDistance = 50.0 // Default trigger distance
RegionExitDistance = 75.0 // Distance to exit a region
// Performance limits
MaxRegionsPerZone = 1000 // Maximum regions per zone
MaxPlayersPerRegion = 200 // Maximum players per region
MaxRegionChecksPerTick = 100 // Maximum region checks per processing tick
// File loading constants
MaxRegionFileSize = 10485760 // 10MB maximum region file size
RegionFileBufferSize = 65536 // Buffer size for reading region files
// Cache settings
RegionCacheSize = 500 // Maximum cached region lookups
RegionCacheExpiryMs = 60000 // Region cache expiry in milliseconds
// Statistics update intervals
StatsUpdateInterval = 5000 // Stats update interval in milliseconds
)
// Region file extensions and types
const (
RegionFileExtension = ".region"
WaterVolumeType = "watervol"
WaterRegionType = "waterregion"
WaterRegion2Type = "water_region"
OceanType = "ocean"
WaterType = "water"
)
// Default environment names for different region types
const (
EnvironmentNormal = "normal"
EnvironmentWater = "water"
EnvironmentLava = "lava"
EnvironmentZoneLine = "zoneline"
EnvironmentPVP = "pvp"
EnvironmentSlime = "slime"
EnvironmentIce = "ice"
EnvironmentVWater = "vwater"
)
// Region validation constants
const (
MinRegionSize = 1.0 // Minimum region bounding box size
MaxRegionSize = 10000.0 // Maximum region bounding box size
RegionOverlapTolerance = 0.1 // Tolerance for region overlap detection
)
// Region processing priorities
const (
PriorityLow = 1
PriorityNormal = 2
PriorityHigh = 3
PriorityUrgent = 4
)
// Special region IDs
const (
InvalidRegionID = -1
DefaultRegionID = 0
GlobalRegionID = 999999
)