Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Living Settlements

A Necesse mod that brings Rimworld-inspired social dynamics to your settlements. Settlers develop unique personalities, form friendships and rivalries, fall in love, and their relationships affect their happiness.

Features

  • Personality Traits - Each settler is assigned deterministic personality traits (Shy, Loud, Romantic, Grumpy, Kind, Stoic, Perfectionist, Lazy, Cheerful) with varying intensities that influence how they interact
  • Asymmetric Relationships - Settlers form directional opinions of each other (A might like B more than B likes A), with scores from -100 to +100
  • Proximity-Based Interactions - Settlers who spend time near each other gradually build (or erode) their relationships, with personality compatibility affecting the rate
  • Neighbor Happiness - Settlers with beds near each other get happiness bonuses or penalties based on their relationship scores
  • Romance & Partnerships - Compatible settlers can court each other through a multi-phase system (approaching, conversing, resolving) and form exclusive partnerships
  • Timed Mood Effects - Events like new partnerships, breakups, and loneliness cause decaying mood modifiers
  • Thought Bubbles - Settlers visually react when interacting with nearby settlers
  • Happiness Integration - Relationship quality feeds into the vanilla happiness system

Installation

Download the latest release jar and place it in your Necesse mods folder:

  • Windows: %AppData%/Necesse/mods/
  • macOS: ~/Library/Application Support/Necesse/mods/
  • Linux: ~/.config/Necesse/mods/

Building from Source

Requires Java 8+ and a local Necesse installation.

# Clone the repository
git clone https://github.com/JackPriceBurns/living-settlements.git
cd living-settlements

# Build the mod jar
./gradlew buildModJar

# Output: build/jar/Living_Settlements-<version>.jar

To run a development client with the mod loaded:

./gradlew runDevClient

Decompiled Sources (optional)

For IDE navigation into game classes, run the decompile task:

./gradlew decompileToSources

This writes decompiled sources to your game directory. Open a game class in your IDE and attach the sources jar when prompted. Decompiled sources are copyrighted and must not be distributed.

In-Game Commands

Command Description
/livingsettlements reset Reset all relationship data for the current settlement
/livingsettlements dump Dump relationship data to console for debugging
/livingsettlements court Trigger a courtship attempt between compatible settlers

How It Works

Settlers are checked for proximity every ~10 seconds. When two settlers are within ~10 tiles of each other, their relationship scores adjust based on personality compatibility. Personality traits use a trait interaction matrix where each trait pair has a base affinity modifier (e.g., Kind observers view most traits positively, while Grumpy observers are harder to please).

Partnerships form through a courtship system that considers relationship score, sexual preference compatibility, and the ROMANTIC trait. Unpartnered settlers near couples may experience mild loneliness debuffs.

All data saves with the settlement and gracefully degrades if the mod is removed.

License

This project is licensed under the GNU General Public License v3.0. You are free to use, modify, and distribute this software, provided that any derivative works are also distributed under the same license.

Credits

Built using the Necesse ModTemplate by DraSouls.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages