premium banner
A powerful addon for the Middle-Earth mod that provides seamless integration with PlaceholderAPI

Description

Middle-Earth Additions: Factions

Minecraft Version Mod Loader License

๐Ÿ“– Overview

Middle-Earth Additions: Factions is a powerful addon for the Middle-Earth mod that automatically tracks player faction affiliations and provides seamless integration with PlaceholderAPI-compatible mods. Perfect for servers wanting to display faction information in chat, prefixes, and other UI elements.

Evil Menu

โœจ Features

๐Ÿฐ Automatic Faction Tracking

  • Real-time Detection: Automatically detects when players join factions in the Middle-Earth mod
  • Persistent Storage: Stores faction data as JSON files in your world save directory
  • Zero Configuration: Works out of the box with no additional setup required

๐Ÿ”— PlaceholderAPI Integration

  • Universal Compatibility: Works with StyledChat, LuckPerms, and any mod supporting PlaceholderAPI
  • Multiple Placeholders: Provides various placeholder formats for different use cases
  • Optional Dependency: Functions independently but enhances with PlaceholderAPI present

๐Ÿ—บ๏ธ Waypoint System

Create custom waypoints on the Middle-earth map with advanced sharing capabilities:

  • Cost: 64 silver coins to create
  • Privacy: Set waypoints as public or private
  • Member Access: Add specific players (e.g., "Player1, Player2") who can view and teleport to private waypoints
  • Teleportation: Left-click any accessible waypoint to teleport

๐Ÿงญ Title Menu (New)

  • How to Open: Press the default keybinding O to open the Faction Title Menu while in-game. You can rebind this in Controls under category “Middle Earth Additions”.
  • Faction Panel: A compact panel shows your current faction icon and five title nodes.
  • Good/Evil Variants: The menu adapts to your disposition (good/evil), changing button icons and rank names (e.g., Soldier→Knight→Captain→Baron→Lord vs Warrior→Uruk→Chieftain→General→Overlord).
  • Linear Progression: Unlocks must be earned in order. Attempting to preview or unlock a later node shows a prerequisite message.
  • Requirements & Feedback: Tooltips display Silver Coin, Gold Coin, and EXP level requirements with color-coded status. Insufficient resources or missing prerequisites are shown via action bar messages.
  • Faction Icon: The top-left faction button displays a faction-appropriate item (e.g., Gondorian Shield, Mordor Wooden Shield, etc.).
  • Unlocked Perks List: Perks for unlocked ranks are listed in the panel (examples: 10% Speed Boost, +0.5 Arrow Damage, +1 Heart, Resistance aura).

๐ŸŽฎ Player Commands

  • Toggle Display: Players can control whether their faction appears in chat
  • Testing Tools: Built-in commands for debugging and testing placeholder functionality

๐Ÿ› ๏ธ Developer API

  • Public API: Clean interface for other mods to access faction data
  • Type Safety: Proper null handling and error management
  • Documentation: Comprehensive JavaDoc and usage examples

๐Ÿ“‹ Requirements

Required Dependencies

  • Minecraft: 1.21.1
  • Fabric Loader: 0.16.14+
  • Fabric API: Latest version
  • Middle-Earth Mod: 1.5.3-1.21.1-alpha or compatible

Optional Dependencies

  • PlaceholderAPI: 2.4.0+ (for enhanced placeholder support)
  • StyledChat: For chat formatting integration
  • LuckPerms: For permission-based prefix/suffix integration

๐Ÿš€ Installation

  1. Install Fabric Loader and Fabric API
  2. Install the Middle-Earth mod
  3. Download and place this mod in your mods folder
  4. (Optional) Install PlaceholderAPI for enhanced compatibility
  5. Start your server/world

๐Ÿ“ Available Placeholders

Basic Placeholders

Placeholder Description Example Output
%mefaction% Formatted faction name Gondor
%mefaction_full% Full faction identifier me:gondor
%mefaction_display% Name with faction (if enabled) [Gondor] PlayerName
%metitle% Player title name Soldier

Supported Factions

All Middle-Earth mod factions are supported with proper formatting:

Faction ID Display Name
me:gondor Gondor
me:rohan Rohan
me:dale Dale
me:longbeards Longbeards
me:longbeards.erebor Erebor
me:lothlorien Lothlórien
me:mordor Mordor
me:misty_mountains_goblins Misty Mountains
me:isengard Isengard
me:shire Shire
me:bandit Bandit

๐ŸŽฏ Usage Examples

StyledChat Integration

{
  "chat": {
    "format": "<%mefaction% {player_name}> {message}"
  }
}

Result: <Gondor PlayerName> Hello everyone!

LuckPerms Prefix

/lp user PlayerName meta setprefix 100 "%mefaction% "

Result: Player appears as Gondor PlayerName

Custom Chat Formatting

{
  "style": {
    "chat": "[%mefaction%] %player% » %message%"
  }
}

Result: [Gondor] PlayerName » Hello Middle-earth!

๐ŸŽฎ Commands

Player Commands

  • /togglefaction - Toggle faction display in your name
    • Shows your current faction status
    • Provides preview of how your name will appear

Administrator Commands

  • /viewfactiondata - View all stored faction data

    • Lists all players and their factions
    • Shows total player count
  • /exportfactiondata - Show faction data file location

    • Displays path to JSON storage file
    • Shows current storage statistics
  • /testfactionplaceholder - Test placeholder functionality

    • Debug tool for server administrators
    • Shows all available placeholders for a player
    • Displays current toggle state

๐Ÿ“Š Data Storage

Faction data is automatically saved to [world]/faction_data.json:

{
  "player-uuid-here": {
    "playerId": "player-uuid",
    "playerName": "PlayerName",
    "disposition": "good",
    "factionId": "me:gondor",
    "spawnId": "me:gondor.minas_tirith",
    "timestamp": 1672531200000
  }
}

Data Fields

  • playerId: Unique player identifier
  • playerName: Current player name
  • disposition: Faction alignment (good/evil/neutral)
  • factionId: Full faction identifier from Middle-Earth mod
  • spawnId: Associated spawn location
  • timestamp: Last update time in milliseconds

๐Ÿค Compatibility

Tested Compatibility

  • โœ… StyledChat - Full chat formatting support
  • โœ… LuckPerms - Prefix/suffix integration
  • โœ… TAB - Scoreboard and tablist integration
  • โœ… MiniMOTD - Server MOTD placeholders

๐Ÿ› ๏ธ Configuration

This mod is designed to work with zero configuration. All settings are automatically detected and configured based on your Middle-Earth mod installation.

Customization Options

  • Player toggle states are preserved across server restarts
  • Faction name formatting can be customized via the API
  • JSON data location is tied to world saves for multi-world support

๐Ÿ“„ License

This mod is released under the All Rights Reserved License. See LICENSE file for details.

๐Ÿ™ Credits

  • Middle-Earth Mod - For providing the amazing Middle-earth experience
  • PlaceholderAPI - For the excellent placeholder system
  • Fabric Community - For the modding framework and tools

Happy adventuring in Middle-earth! ๐Ÿง™‍โ™‚๏ธโš”๏ธ๐Ÿฐ