Skip to content

environment_factors / seasonal_fruiting_offset silently dropped with no migration (66 species lose climate/seasonal data) #1211

Description

@TommyC81

Mod versions:

  • DynamicTrees 1.7.2 (NeoForge 1.21.1) — latest release
  • dtterralith 1.3.0
  • dtarsnouveau 1.3.0

Summary

On load, SpeciesResourceLoader emits a WARN for deprecated species properties and silently discards the data with no migration — so affected species lose their per-climate and seasonal-fruiting behavior. All three mods ship the deprecated JSONs in their latest releases, so the problem is present out-of-the-box.

Warning (server log)

[main/WARN] [com.dtteam.dynamictrees.treepack.loader.SpeciesResourceLoader/]: The "environment_factors" property has been removed. Use "preferred_climate" instead! Species <id>.
[main/WARN] [com.dtteam.dynamictrees.treepack.loader.SpeciesResourceLoader/]: The "seasonal_fruiting_offset" property has been removed. Use "seasonal_offsets" instead! Species <id>.

On this server the count is 66 warnings (61 environment_factors + 5 seasonal_fruiting_offset) across:

  • dynamictrees:mega_spruce, dynamictrees:cherry
  • 59 dtterralith:* species (e.g. windswept_spruce, sakura, mega_ancient, lush_mahogany)
  • 5 dtarsnouveau:* species (yellow/red/purple/green/blue_archwood)

Impact

The deprecated properties are read, logged, and dropped — no value is carried over to preferred_climate / seasonal_offsets. Affected species fall back to the default ClimateZoneType.TEMPERATE and default seasonal timing, which means incorrect growth rates, seed drops, and fruit production for anything outside temperate biomes (or for the 5 dtarsnouveau species whose intended seasonal fruiting no longer applies).

Expected behavior

Either:

  1. A migration: translate environment_factors/seasonal_fruiting_offset to their replacements automatically (preferred), or
  2. Remove the deprecated keys from the shipped species JSONs (and emit the WARN only when a user's custom species uses them).

Currently the shipped default species trigger the warning and lose functionality on every load, which defeats the purpose of the fields in the first place.

Reproduction

Load a NeoForge 1.21.1 server with DynamicTrees 1.7.2 + dtterralith 1.3.0 + dtarsnouveau 1.3.0. Inspect the server log — the 66 WARNs appear during world load. No player action required.

Note

The accompanying addons (dtterralith, dtarsnouveau) are at their latest 1.21.1 releases, so they cannot be updated to fix this — the deprecated JSONs are what they currently ship.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions