Skip to content

Farming

okereke-dev edited this page Jul 12, 2026 · 4 revisions

Farming

A Harvest Moon (NES/N64)-inspired farming, cooking, and animal husbandry module. Configured entirely in farming.yml, separate from config.yml. Use /rpgmood-farm in-game — see Commands.


Crop quality

Every harvest is scored 0.01.0 and mapped to Bronze, Silver, or Gold:

score = soilFertility(biome)
      + waterBonus (+0.25 if water within 5 blocks)
      + seasonContribution (season growth multiplier, normalized)
      + rainBonus (+0.1 if it's raining in that world)
      + dangerBonus (up to +0.15, scales with the zone's mob-scaling danger level)

score is clamped to [0.1, 0.95] — never a guaranteed 0 or a guaranteed perfect Gold
Quality Score
Bronze score ≤ farming.quality.bronze_max (default 0.4)
Silver ≤ farming.quality.silver_max (default 0.7)
Gold above silver_max

Soil fertility is a per-biome-group value in farming.soil_fertility (0.01.0, e.g. JUNGLE: 0.8, DESERT: 0.2, OCEAN: 0.1) — the same biome-group normalization used by Zones and Mob Scaling, so a variant biome like SUNFLOWER_PLAINS inherits PLAINS's fertility.

A Gold harvest also unlocks the Master Farmer achievement, and every harvest counts toward Farmer (50 harvests).


Seasons

A 4-season cycle, farming.season_length_days MC days each (default 30, ≈10 real hours per season at 20 real minutes/MC day):

Season Growth multiplier Crops
🌸 Spring ×1.5 Carrot, Potato, Strawberry
☀️ Summer ×2.0 Tomato, Corn, Melon
🍂 Autumn ×1.0 Pumpkin, Sweet Potato, Apple
❄️ Winter ×0.3 Mushroom, Berry (foraging only)

Only crops listed for the current season under farming.seasons.<season>.crops are harvestable at full quality — see farming.crops for each crop's material, growth stages, base yield, and seed. Current season and day are persisted in plugins/RPGMood/season.yml, so a restart doesn't reset the cycle. A season change broadcasts server-wide and unlocks First of the Season for every online player.

Check the current season with /rpgmood-farm season; list this season's crops with /rpgmood-farm crops.


Cooking & recipes

Recipes are discovered, not looked up in a book: combine the listed ingredients in a crafting table, and if they match a recipe in farming.recipes you haven't discovered yet, RPGMood announces the discovery and remembers it. Discoveries persist per-player in plugins/RPGMood/recipes.yml.

Each recipe grants a temporary "Mood" potion effect on eating, defined in farming.mood_effects:

Effect Potion effect Description
fortified Increase Damage +20% melee damage
comforted Regeneration Regeneration
inspired Heal (placeholder) +50% XP from mob kills*

* inspired's actual behavior is whatever farming.mood_effects.inspired.effect resolves to in Bukkit's PotionEffectType — check your farming.yml if the shipped default doesn't match the description.

Ship recipes include Hearty Stew, Farmer's Omelette, Adventurer's Skewer, Harvest Cake, and Winter Tea — each with a min_quality requirement (the ingredients must be at least that crop quality). Discovering 10 unlocks Chef; discovering all of them unlocks Gourmet.

/rpgmood-farm recipes shows your discovered recipes; /rpgmood-farm recipes all shows every recipe, discovered or not.


Animal husbandry

Buy, name, feed, and collect products from cows, chickens, sheep, and goats.

Buying

/rpgmood-farm animal buy <cow|chicken|sheep|goat> [name] — costs configured in farming.animals.purchasing.<type>.cost (item + amount pairs, e.g. a cow costs 32 wheat + 8 emeralds by default). Capped at farming.animals.max_per_player (default 20).

Interacting

Right-click your animal with:

Item Action
Empty hand Pet (+1 affection, once per day)
Brush Brush (+2 affection, once per day)
Wheat, hay block, or the animal's favorite food Feed (+3 affection, restores hunger, once per day)
Bucket (cow/goat only) Milk (once product is ready)
Shears (sheep only) Shear for wool (once product is ready)
Stick Show info: affection hearts, health, hunger, sickness, indoor/outdoor status

You can only interact with animals you own.

Affection & products

Affection (0.010.0) maps to a 0–5 heart display and drives product quality — higher affection means better milk/wool/eggs. Affection drops if an animal goes unfed, is left outside during winter or a storm, is sick, or is kept in a cramped space (see farming.animals.affection.* for exact penalties).

Products (milk, eggs, wool) are gated to once per in-game day per animal; wool specifically needs farming.animals.products.wool_growth_days (default 3) days to regrow after shearing.

Sickness

An animal goes hungry after farming.animals.sickness.days_without_food_to_get_sick days unfed (default 3), and can die after days_sick_to_die days sick (default 7) if untreated. Cure with the items in farming.animals.sickness.cure_items (default: Honey Bottle, Potion).

/rpgmood-farm animal list shows all your animals with their heart level and health/sick status.


Config file

All of the above lives in plugins/RPGMood/farming.yml, generated on first start. Top-level keys: enabled, season_length_days, water_radius, water_bonus, quality, soil_fertility, seasons, crops, recipes, mood_effects, animals. Run /rpgmood reload after editing — it reloads crop definitions, recipe definitions, and animal config (not just player data).

Clone this wiki locally