Skip to content

A Minecraft plugin that makes the world evolve based on player actions, simulating ecological, seasonal, and social dynamics.

Notifications You must be signed in to change notification settings

aaravbanshiwala/Evolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Evolution

A Minecraft plugin that makes the world evolve based on player actions, simulating ecological, seasonal, and social dynamics.

Features

  • Deforestation Tracking: Monitors tree cutting in chunks and applies ecological decay, turning grass blocks to dirt when thresholds are exceeded.
  • Seasonal Cycles: Automatically cycles through seasons (Spring, Summer, Autumn, Winter), with effects like crop destruction in winter and water evaporation in summer.
  • Village Interactions: Tracks player interactions with villagers, adjusting trade prices and potentially changing professions based on interaction levels.
  • Persistent Data: All data is saved to YAML files for continuity across server restarts.
  • Configurable Thresholds: Customize thresholds for decay, season durations, and interaction levels via config.yml.

Installation

  1. Download the latest release of Evolution.
  2. Place the JAR file in your server's plugins folder.
  3. Start your server to generate the default configuration files.
  4. Configure the plugin in plugins/Evolution/config.yml if needed.
  5. Restart your server or use /evolution reload to apply changes.

Configuration

Edit plugins/Evolution/config.yml to adjust settings:

settings:
  deforestation_threshold: 50  # Number of trees cut before ecological decay applies
  season_duration_ticks: 24000  # Ticks per season (default: 1 Minecraft day)
  interaction_threshold: 10  # Interactions before price adjustments
  development_threshold: 20  # Interactions before profession changes

Commands

  • /evolution reload - Reloads the plugin configuration (requires evolution.admin permission)

Permissions

  • evolution.admin - Allows access to admin commands (default: op)

How It Works

Deforestation Management

  • Tracks the number of tree blocks (logs) broken in each chunk.
  • If the deforestation count exceeds the threshold, grass blocks in the chunk are converted to dirt.
  • Decay levels decrease over time, allowing natural recovery.

Seasonal Effects

  • Seasons cycle every configured number of ticks.
  • Winter: Destroys crops (wheat, carrots, potatoes) in loaded chunks.
  • Summer: Removes water blocks in loaded chunks.
  • Other seasons have no active effects but can be extended for custom behavior.

Village Development

  • Records interactions between players and villagers.
  • After a certain number of interactions, trade prices adjust (farmers get discounts, others get markups).
  • High interaction counts can change a villager's profession to Cartographer.

Building from Source

Requirements

  • Java 17 or higher
  • Gradle 7.0 or higher

Build Steps

git clone https://github.com/yourusername/Evolution.git
cd Evolution
./gradlew shadowJar

The compiled JAR will be in the build/libs folder.

Dependencies

  • Paper API 1.21.1
  • Vault API 1.7
  • Kotlin Stdlib JDK8

Support

For issues, questions, or feature requests, please open an issue on the GitHub repository.

License

This project is licensed under the MIT License.

About

A Minecraft plugin that makes the world evolve based on player actions, simulating ecological, seasonal, and social dynamics.

Resources

Stars

Watchers

Forks

Packages

No packages published