Seasonal Trades (Season Quest)¶
season_quest is a legacy name.
In current versions of Ecliptic Seasons, it is no longer used as a full quest system. Instead, it is used to add season-limited trades to the Wandering Trader.
Players can exchange specific items for seasonal rewards during certain Solar Terms, such as Greenhouse Essences and other season-related resources.
File Location¶
Seasonal trades are defined as JSON files.
Place them in:
data/<namespace>/eclipticseasons/season_quest
Basic Example¶
{
"start": "spring_equinox",
"end": "beginning_of_summer",
"need": [
{
"items": "minecraft:wheat",
"count": 48
},
{
"items": "minecraft:emerald",
"count": 16
}
],
"award": [
{
"id": "eclipticseasons:spring_greenhouse_essence",
"Count": 1
}
],
"max_count": 1
}
This example allows the Wandering Trader to occasionally offer the following trade between the Spring Equinox and Beginning of Summer:
48 Wheat + 16 Emeralds → 1 Spring Greenhouse Essence
Fields¶
start¶
The Solar Term when the trade becomes available.
"start": "spring_equinox"
The trade will not appear before this Solar Term.
end¶
The Solar Term when the trade expires.
"end": "beginning_of_summer"
The trade will no longer appear after this Solar Term.
need¶
The items required for the trade.
"need": [
{
"items": "minecraft:wheat",
"count": 48
}
]
These entries are converted into Wandering Trader trade costs.
Trade Cost Limit¶
Although need is defined as a list, only the first two entries can be used.
- The first entry becomes the primary trade cost.
- The second entry becomes the optional secondary trade cost.
- Any additional entries are ignored.
For this reason, it is recommended to use only one or two cost items.
Stack Size Limit¶
Trade costs are converted into vanilla villager trade costs.
Because of this, the count value for each cost item should not exceed that item's maximum stack size.
For example, wheat stacks to 64 and should not be written as:
{
"items": "minecraft:wheat",
"count": 640
}
Instead:
{
"items": "minecraft:wheat",
"count": 48
}
If a higher cost is required, use two cost items instead. Each entry must still respect its own maximum stack size.
award¶
The reward item.
"award": [
{
"id": "eclipticseasons:spring_greenhouse_essence",
"Count": 1
}
]
Only the first reward entry is currently used as the trade result.
It is therefore recommended to define a single reward item.
max_count¶
The maximum number of times the trade can be used.
"max_count": 1
Default value:
1
Availability¶
A seasonal trade is not guaranteed to appear.
A trade must satisfy all of the following conditions:
- The current Solar Term is between
startandend - The Wandering Trader selects the trade during generation
- The random chance check succeeds
As a result, a valid trade may not appear every time a Wandering Trader spawns.
Recommended Uses¶
This system is best suited for lightweight seasonal exchanges.
Common examples include:
- Greenhouse Essence acquisition
- Seasonal crafting materials
- Limited-time seasonal rewards
- Alternative progression paths for single-player worlds
For modpacks with dedicated progression systems, consider using:
- FTB Quests
- Boss drops
- Server shops
- Custom loot tables
instead.
Notes¶
season_quest is a legacy name.
In current versions, it functions as a seasonal Wandering Trader trade table rather than a full quest system.
Legacy quest-related fields are no longer recommended for new datapacks. New definitions should focus only on the fields that are actively used by the trade conversion system.