-
Notifications
You must be signed in to change notification settings - Fork 0
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.
Every harvest is scored 0.0–1.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.0–1.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).
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.
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.
Buy, name, feed, and collect products from cows, chickens, sheep, and goats.
/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).
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 (0.0–10.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.
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.
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).