A feature-complete Minecraft implementation of the classic Werewolf social deduction game with full automation, intuitive GUIs, visual skin transformations, and multilingual support.
- 4-12 Players - Balanced role distribution
- 9 Unique Roles - Werewolf, Psychic, Witch, Hunter, Cupid, Insomniac, Thief, Angel, Villager
- Day/Night Cycles - Automated phase management with visual effects
- Captain System - Election, tie-breaking, succession
- Lovers Mechanic - Linked fate and private communication with
<3prefix - Multiple Victory Conditions - Village, Werewolves, Lovers, Angel, or Stalemate
- SkinsRestorer Support - Werewolves transform during night phase
- Role Helmets - Colored indicators for each role
- Boss Bar Timers - Clear countdown for each phase
- Particle Effects - Death animations and visual feedback
- Spectator Mode - Dead players can observe and chat
- Graphical Menus - All actions through intuitive GUIs
- Click-to-Vote - Direct player interaction voting system
- Auto-Advancement - Phases progress when all players act
- Testament System - Last words before execution
- Role-Specific Chats - Private channels for werewolves
- Lover Chat - Type
<3 messageto chat with your partner - Spectator Chat - Separate channel for eliminated players
- Multilingual - French and English support with hot-reload
- Hot Reload - Update config without restart
- Easy Setup - Simple location configuration
- Debug Tools - Built-in testing commands for roles and skins
- WebSocket API - External integration support
- Server: Paper 1.21 or newer
- Java: JDK 21+
- Players: 4-12 for optimal gameplay
- Optional: SkinsRestorer for werewolf skin transformations
- Download
lgmc-5.1.4.jarfrom releases - (Optional) Install SkinsRestorer for visual transformations
- Place in your server's
plugins/folder - Restart server
- Configure locations with
/lg setup - Configure skin integration in
config.ymlif using SkinsRestorer - Start game with
/lg start
The plugin auto-generates all configuration files on first run.
/lg setup spawn <#number> # Set spawn points
/lg setup campfire # Set gathering location
/lg setup chasseurtp # Set chasseur (hunter) location
/lg start
Players are teleported, roles assigned automatically, and game begins.
- Night Phases - Each role acts in sequence
- Day Phase - Village discusses and votes
- Captain Election - Vote on first day
- Execution - Player with most votes is eliminated
- Repeat - Until victory condition met
/lg stop # Manual stop
Or game ends automatically when a team wins.
/lg <subcommand> [args]
| Subcommand | Description | Permission |
|---|---|---|
start |
Begin new game | lgmc.start |
stop |
End current game | lgmc.stop |
reload |
Reload configuration | lgmc.reload |
setup <type> [role] |
Configure locations | lgmc.setup |
gui |
Open debug GUIs | lgmc.debug |
neighbors <player> |
Show player neighbors | lgmc.debug |
testskin <apply|restore> [player] |
Test skin transformations | lgmc.debug |
help |
Show help | lgmc.help |
| Command | Description | Permission |
|---|---|---|
/love <message> |
Lovers private chat (or use <3 prefix) |
- |
/goodGuys |
Debug: Show good count | lgmc.debug |
/linkDiscord |
Show Discord link | - |
All commands support tab completion for easier use.
πΊ Werewolf (Loup-Garou)
- Eliminate one villager each night
- Win when equal to or outnumber villagers
- Private chat during night phase
- Visual transformation: Skin changes during night phase (with SkinsRestorer)
ποΈ Psychic (Voyante)
- Investigate one player's role each night
- Guides village with information
π§ͺ Witch (SorciΓ¨re)
- Life Potion: Save tonight's victim (once per game)
- Death Potion: Kill any player (once per game)
πΉ Hunter (Chasseur)
- Shoot one player when eliminated
- Can turn the tide with strategic final shot
π Cupid (Cupidon)
- Choose two lovers on first night
- Creates special win condition
- Enabled with 9+ players (configurable)
π§ Insomniac (Petite Fille)
- Spy on werewolves during night (anonymous)
- Risk/reward information gathering
π Thief (Voleur)
- Appears randomly (50% chance by default)
- Steals a role from another player during first night
- Adds unpredictability to role distribution
π Angel (Ange)
- Special Win Condition: Get executed on first day vote
- If survives first vote, becomes regular villager
- Enabled with 9+ players (configurable)
- Creates interesting first-day dynamics
π€ Villager (Villageois)
- No special ability
- Rely on deduction and discussion
π Captain
- Elected by village vote at game start
- Vote counts double
- Breaks ties in voting
- Names successor via GUI when dying
- Wears blue helmet (visual indicator)
- Chosen by Cupid on first night
- Share private
/lovechat or use<3prefix in normal chat - QoL Feature: Type
<3 messageanywhere to send to love chat- Example:
<3 I think it's Darksends only to your lover
- Example:
- If one dies, both die
- Win Condition: Last two survivors
- Can be any roles (even werewolf + villager)
# Language
language: en
# Update checker
update-checker:
enabled: true # Enable update checking
include-prereleases: false # Include pre-releases in update checks
# Game settings
game:
min-players: 4
two-wolves-threshold: 9 # Minimum players for 2 werewolves
cupidon-threshold: 9 # Minimum players for Cupidon
ange-threshold: 9 # Minimum players for Ange
voleur-threshold: 6 # Minimum players for Voleur
cupidon-enabled: false # Enable Cupidon role
ange-enabled: true # Enable Ange role
voleur-enabled: true # Enable Voleur role
voleur-chance: 0.5 # 50% chance for Thief to appear
# Phase durations (seconds)
timers:
voleur: 60
cupidon: 60
voyante: 30
loups-garous: 30
sorciere: 30
vote-capitaine: 60
debat: 300
chasseur: 30
# SkinsRestorer integration
skinsrestorer:
enabled: true
werewolf-skin-url: "https://your-skin-url.png" # Or player nameThe plugin integrates with SkinsRestorer to transform werewolf skins during night phase:
- Install SkinsRestorer plugin
- Enable in config:
skinsrestorer.enabled: true - Set werewolf skin URL or player name:
werewolf-skin-url: "YourPlayerName" - Skins automatically change during werewolf turn and restore after
Supported formats:
- Minecraft player name:
"Notch" - Skin URL:
"https://mineskin.eu/..." - Custom uploaded skins
Hot-reloadable translation files with automatic key migration.
roles:
loup-garou:
name: "&cLoup-Garou"
description: "Γliminez les villageois"Change with /lg reload without restart.
- Thief (first night only, if present) - Steal a role
- Cupid (first night only) - Choose lovers
- Lovers Meet (first night only) - Reveal each other
- Psychic - Investigate player
- Werewolves - Designate victim (skins transform with SkinsRestorer)
- Insomniac - Spy on werewolves
- Witch - Use potions
- Death Announcement - Reveal night victims
- Discussion - Free chat period
- Voting - Eliminate suspect via GUI or click
- Captain Tie-Break (if needed)
- Testament - Last words before execution
- Execution - Reveal role of eliminated
- Angel Victory Check - If Angel voted out on day 1
- Hunter Shot (if hunter eliminated)
- Villagers: All werewolves eliminated
- Werewolves: Equal or outnumber villagers
- Lovers: Last two survivors
- Angel: Executed on first day vote
- Stalemate: No valid moves remain
# Clone repository
git clone https://github.com/DarkShoro/lgmc.git
cd lgmc
# Build JAR
./gradlew shadowJar # Linux/Mac
gradlew.bat shadowJar # Windows
# Output: build/libs/lgmc-5.1.4.jarsrc/main/java/fr/DarkShoro/lgmc/
βββ Lgmc.java # Main plugin class
βββ models/ # Data models (Role, GamePlayer)
βββ managers/ # Game logic (GameManager, TimerManager, SkinManager, etc.)
βββ gui/ # Inventory interfaces
βββ listeners/ # Event handlers
βββ commands/ # Command executors
βββ tasks/ # Background tasks
- Manager Pattern - Separation of concerns
- Event-Driven - Bukkit event system
- State Machine - Game phases as states
- GUI Framework - InventoryFramework for consistency
- Paper API 1.21
- SkinsRestorer API (optional integration)
- InventoryFramework 0.11.5
- Gradle 8.x + Shadow
- Java 21
New Role:
- Add to
Role.javaenum - Create handler in
RoleFinishers.java - Add GUI if needed
- Update language files
New Language:
- Copy
lang/en.ymltolang/xx.yml - Translate all keys
- Set in config or use
/lg reload
Contributions welcome! Please:
- Fork the repository
- Create feature branch
- Make changes with clear commits
- Test thoroughly
- Submit pull request
Report bugs via GitHub Issues.
MIT License - see LICENSE file for details.
- Issues: Report bugs
- Wiki: Full documentation