DayZ
NEW_DayZ Mining System with Ores and Gems V2
正在显示第 1 - 5 项,共 5 项条目
更新于:11 月 13 日 下午 1:50

Key Update Sorry x

更新于:11 月 13 日 上午 9:28

[2.1.3] - 2025-11-13,
Bug Fixes,
Spawn manager now honours Spawn_min/Spawn_max by randomly selecting unique positions per cluster instead of spawning every listed location,

Technical Notes,
Cluster spawn rolls clamp Spawn_min/Spawn_max to available positions and reuse the existing random offset logic,
Added logging per cluster to show the number of nodes placed on restart

更新于:11 月 12 日 下午 1:29

🐛 Bug Fixes
Crafting station sound loops now restart correctly for the anvil and grinding stone, ensuring audio plays for every craft in a sequence
Furnace sound loop verified to remain active across consecutive smelts
Fixed FreezeFurnace_Static outputs so smelted items are created in its internal cargo instead of disappearing

✨ Improvements
Added caching for FMS_Settings and FreezeCraftingTimesConfig to remove redundant file reads and plugin lookups
Reduced high-frequency logging by moving hot-loop messages to debug-only outputs, lowering disk I/O under heavy mining activity

🛠 Technical Notes
SetForging() and SetGrinding() now force network sync when re-triggered, guaranteeing looped sounds restart on clients
FreezeAnvil and FreezeGrindingStone restart their sound loops whenever state changes are replicated

更新于:11 月 11 日 下午 2:19

🎉 Major Features Added
Configurable Furnace Smelt Times
Added individual smelt time configuration for all 8 ore types
Furnace now uses the fastest loaded ore's smelt time
New FurnaceTimes section in FMS_Crafting.json:
SmeltStone, SmeltCopper, SmeltGold, SmeltSilver
SmeltTin, SmeltIron, SmeltSulphur, SmeltUranium
Each ore type can have different smelting durations
Furnace automatically reschedules based on loaded ores
Two-Tier Logging System
Normal Logs (EnableLogs):
Server startup and initialization
Config loading summaries
Critical errors and player connections
Debug Logs (EnableDebug):
Craft time comparisons (Config vs Actual)
Consumable depletion details (hammer, wheel, propane)
Furnace state changes and ore processing
Individual crafting events with timestamps
Debug logs are SERVER-ONLY (client never creates debug logs)
Added EnableDebug setting to FMS_Settings.json
Enhanced Player Prevention Protection
Implemented slot locking on all crafting stations
Furnace: Propane canister + pipe locked when furnace is on
Grinding Stone: Grinding wheel locked during gem cutting
Anvil: Hammer locked during forging
Prevents item removal during active crafting
Server-authoritative state management with network sync
Consumable Management System
Furnace:
Requires propane canister (quantity-based) + propane pipe
Configurable depletion rate: PropaneCanisterUsage
Auto-shutdown when propane depleted
Grinding Stone:
Requires grinding wheel (quantity-based)
Configurable depletion rate: GrindingWheelUsage
Depletes per gem cut
Anvil:
Requires blacksmith hammer (durability-based)
Configurable damage rate: AnvilHammerDamage
Hammer becomes ruined when health reaches 0
✨ Improvements
Logging Enhancements
Moved repetitive logs to debug tier:
Hammer damage logs (previously spammed normal logs)
Grinding wheel depletion
Propane canister depletion
Furnace auto-shutdown events
Added config vs actual time tracking for all recipes
Improved log formatting with consistent prefixes
Separate debug log files: FreezeMiningDebug_*.log
Code Cleanup
Removed all legacy CONFIG_PATH constants from gem recipes
Deleted unused GemCuttingConfig class from Jade recipe
Consolidated all settings into single FMS_Settings.json
Removed duplicate client-side config files
Improved code consistency across all recipes
Configuration
Added 3 new settings to FMS_Settings.json:
EnableDebug - Toggle debug logging
PropaneCanisterUsage - Furnace fuel consumption rate
GrindingWheelUsage - Grinding wheel depletion rate
AnvilHammerDamage - Hammer damage per craft
Reorganized FMS_Crafting.json:
Moved ingot recipes from FurnaceTimes to AnvilTimes
Added FurnaceTimes for ore smelting (SmeltXXX recipes)
All 58+ recipes now properly categorized
🐛 Bug Fixes
Recipe Logic
Fixed Sulphur Powder recipe backwards logic (was checking for empty anvil slot)
Fixed Adamantite bar recipe incorrect ingredient check
Corrected all anvil recipes to properly validate hammer presence
Fixed ingot crafting not appearing when hammer attached
Consumable Checks
Fixed hammer health check using IsRuined() instead of GetHealth() > 0
Corrected propane setup validation in furnace activation
Fixed grinding wheel quantity checks in gem recipes
Configuration
Fixed config file references (removed legacy paths)
Corrected recipe naming in default config generation
Fixed FurnaceTimes section (was listing ingots, now lists ores)
🔧 Technical Changes
Server Architecture
Implemented ScheduleNextSmelt() for dynamic furnace timing
Added per-recipe consumable management methods
Network synchronized crafting states (m_FurnaceState, m_IsGrinding, m_IsForging)
Server-side state validation for all crafting actions
Recipe System
All recipes now include:
Prerequisite checks (CanDo())
Server-side state management (Do())
Debug logging with config validation
Slot locking during crafting
Consumable depletion/damage
Added 6 ingot recipes to anvil system
Added 8 gem recipes to grinding stone system
Added 1 general recipe (sulphur powder) to anvil system
Logging Infrastructure
Separate log file streams for normal and debug logs
Server-only debug log creation (client check added)
Automatic log cleanup respects both log types
Improved timestamp parsing for log retention
📚 Documentation
Created comprehensive README.md with features, installation, quick start
Added complete SETTINGS.md with all configuration options explained
Created CHANGELOG.md (this file) with detailed version history
Added configuration examples and recommended settings
Included troubleshooting guide for common issues
⚠️ Breaking Changes
FMS_Crafting.json structure changed:
Ingot recipes moved from FurnaceTimes to AnvilTimes
FurnaceTimes now uses SmeltXXX naming convention
Old configs will need regeneration or manual update
Debug logging now requires explicit enable in settings
Client-side legacy config files removed (GemCuttingConfig.json, settings.json)
🔄 Migration Notes
From V2.0 to V2.1:

Backup your existing config files
Delete old configs (will regenerate with new structure):
profiles/FreezeMining/Mining/FMS_Crafting.json
Keep your FMS_Settings.json (add new settings manually):
"EnableDebug": 0,
"PropaneCanisterUsage": 1.0,
"GrindingWheelUsage": 1.0,
"AnvilHammerDamage": 0.5
Restart server to generate new configs
Test all crafting stations thoroughly
Adjust timers as needed

更新于:11 月 11 日 下午 12:38

V2