Protectcord
ModProtectcord is an anti VPN/Proxy plugin it uses an advanced API to check if an IPv4/IPv6 is a VPN or Proxy!
Type
Mod
Modrinth Downloads
2,935
Modrinth ID
y05wfnBZ
Last Updated
Apr 12, 2026
Description
ProtectCord — Advanced IP Protection & Moderation
Block VPNs, proxies, bots, and malicious connections with real-time IP intelligence. Built-in moderation, AutoMod chat filtering, alt detection, and MySQL multi-server sync — all in one lightweight plugin.
ProtectCord connects every joining player against a live threat intelligence database before they ever reach your server. Combined with a full moderation suite, it's the only tool you need to keep your server clean and your community safe.
✨ Milestones
- 2,300+ downloads on Modrinth
- 100,000+ ProtectCord API requests served
- 46 unique Minecraft servers running ProtectCord concurrently
- 203 concurrent protected players
- 1,000+ unique Discord users verified
- 3,000+ unique API requests per day
- 555 Discord Guilds using @ProtectCord#0253
- Watching over 100,000+ Discord users
bStats: https://bstats.org/plugin/bukkit/Protectcord/24623
✨ Key Features
IP Protection
- 🛡️ Real-Time IP Verification — Every connection checked against live threat intelligence
- 🚫 VPN, Proxy & Tor Blocking — Stop ban evaders and alt accounts instantly
- 🏢 Datacenter IP Detection — Flag and block hosting provider IPs used for bots
- ⚠️ Risk-Based Blocking — Configurable threat levels: UNKNOWN → LOW → MEDIUM → HIGH → CRITICAL
- 🌍 Geo-Blocking — Block or whitelist entire countries using ISO codes
- 👥 Accounts-Per-IP Limiting — Cap simultaneous connections from a single IP
- ✅ Smart Whitelist System — Bypass protection by player name, UUID, or IP
Moderation Suite
- ⚡ Progressive Warning System — Configurable auto-escalation from warn → kick → ban
- ⏱️ Temp Bans & Temp Mutes — Time-limited punishments with human-readable durations (1h, 7d, 30d)
- 🔇 Mute System — Persistent mutes with reasons, issuer tracking, and auto-expiry
- 🔍 Alt Account Detection — Find alts by shared IP (/pc alts <player>) — names only, never raw IPs
- 📋 Warning History — Full timestamped warning logs for any player, online or offline
- 🧹 Clear & Remove Warnings — Remove individual warnings by index or clear all at once
- 🗄️ Audit Log — Automatic log of all moderation actions
- 💾 Offline Player Support — Warn, ban, mute, or check players who aren't online
AutoMod (Chat Filtering)
- 🔗 Anti-Link — Block URLs with domain whitelist support
- 📢 Anti-Advertising — Block server IPs and Discord invites
- 💬 Anti-Spam — Rate limiting with configurable message window and duplicate detection
- 🤬 Anti-Swear — Custom word blacklist with regex support and per-word exceptions
- 🔠 Anti-Caps — Configurable caps threshold by percentage
- 🌊 Anti-Flood — Block repeated character flooding
- 🔣 Anti-Unicode/Zalgo — Block invisible text and character abuse
- ⚙️ Per-Rule Actions — Each rule independently set to: BLOCK, WARN, KICK, MUTE, or TEMPMUTE
Storage & Multi-Server
- 🗃️ YAML Flatfile Storage — Zero setup, works out of the box
- 🐬 MySQL Storage — Full MySQL backend with HikariCP connection pooling
- 🌐 Multi-Server Sync — Share one MySQL database across your entire network; bans and mutes are enforced on every server
- 🔄 Live Migration — Migrate between YAML and MySQL at any time with /pc migrate
- 🧹 Data Purge — Clean up old warnings, bans, mutes, IP logs, audit entries, and inactive players with /pc purge
Staff Tools
- 📣 In-Game Staff Alerts — Real-time notifications for kicks, bans, warns, mutes, automod actions, and more
- 🎭 IP Masking — Show staff masked IPs (192.168.1.*) until they earn the protectcord.ip.full permission
- 📝 Player Reports — Players submit reports with /report; staff are notified in-game and via Discord
- 📊 API Stats — Check usage, rate limits, and API health with /pc stats
- 🔎 Manual IP Check — /pc check <player|ip> for on-demand threat analysis
Platform & Integration
- 🌐 6-Platform Support — Paper, Spigot, Folia, BungeeCord, Velocity, and Forge
- 📢 Discord Webhooks — Rich embeds with country flag, city, VPN/proxy/tor/risk fields, per-event control, rate limiting, and retry logic
- 📣 Moderation Alert Webhooks — Separate webhook channel for ban/warn/mute/kick staff events
- ⚡ 100% Async — All IP checks are non-blocking; no main-thread impact
🎮 Supported Platforms
Platform Versions Notes Paper 1.13 – 1.21+ Recommended for standalone servers Spigot 1.8.8 – 1.21+ Full legacy support Folia 1.19+ Multithreaded scheduler support Velocity 3.0+ Recommended for proxy networks BungeeCord 1.8.8 – 1.21+ Waterfall compatible Forge 1.20.1+ Server-side only; checks at post-loginNetwork tip: Install only on your proxy (Velocity/BungeeCord) to protect all backend servers with a single API key.
📥 Quick Setup
1️⃣ Get Your Free API Key
- Visit protectcord.com
- Create a free account
- Generate an API key from Dashboard → API Keys
- Free tier includes 32 requests/minute — enough for most servers
2️⃣ Install the Plugin
- Download the correct JAR for your platform from Modrinth
- Drop it into your plugins/ folder (or mods/ for Forge)
- Start your server — config generates automatically
- Add your API key to plugins/ProtectCord/config.yml
- Run /protectcord reload or restart
- ✅ Your server is now protected
⚙️ Full Configuration Reference
The config file is auto-generated at plugins/ProtectCord/config.yml on first run. Every option is explained below.
Velocity uses config.toml (same structure, TOML syntax). Forge uses config/protectcord-forge.toml.
API Settings
# Your ProtectCord API key — get one free at https://protectcord.com/dashboard/api-keys api-key: "YOUR_API_KEY_HERE" # How long to wait (ms) for the API to respond before giving up api-timeout: connect: 15000 # Time to establish the connection (default: 15s) read: 15000 # Time to wait for a response after connecting (default: 15s) # Automatic retry for failed/timed-out API requests api-retry: max-attempts: 3 # Max number of retries before allowing/denying the player (1–5) initial-delay: 1000 # Wait this long before the first retry (ms) max-delay: 5000 # Never wait longer than this between retries (ms) multiplier: 2.0 # Multiply delay by this factor each retry (exponential backoff)Server Identity
# Used for player tracking and multi-server MySQL identification server: name: "My Server" # Friendly name — stored in MySQL as server_id on every row ip: "" # Your public IP — leave blank to auto-detect port: 25565 # Your server port type: "spigot" # Platform: paper / spigot / bungeecord / velocity / forge / foliaPlayer Tracking
# UUID-based tracking via the ProtectCord API player-tracking: enabled: true block-flagged-players: true # Block players flagged as malicious by the API block-inactive-players: false # Block players whose accounts are marked inactiveIP Protection
# Master switch — set to false to disable all IP checking (not recommended) enable-ip-check: true # Choose which connection types to block block-vpn: true # Virtual private networks (ban evaders, alt accounts) block-proxy: true # HTTP/SOCKS proxies and anonymizers block-tor: true # Tor exit nodes block-datacenter: true # Hosting provider IPs (common source of bots) block-bogon: true # Invalid, reserved, or unroutable IP ranges # Risk-based blocking (optional, runs in addition to the flags above) # Enable this to block by overall threat score instead of (or as well as) individual flags enable-risk-level-blocking: false blocked-risk-level: "HIGH" # Levels (each blocks itself and everything above it): # LOW — blocks LOW, MEDIUM, HIGH, CRITICAL (very strict) # MEDIUM — blocks MEDIUM, HIGH, CRITICAL # HIGH — blocks HIGH, CRITICAL (recommended if enabling) # CRITICAL — blocks CRITICAL only (very lenient)Geographic Blocking
geo-blocking: enabled: false mode: "blacklist" # "blacklist" = block listed countries # "whitelist" = ONLY allow listed countries (everyone else blocked) countries: # ISO 3166-1 alpha-2 country codes - "CN" - "RU"Accounts Per IP
# Limit how many Minecraft accounts can connect simultaneously from the same IP account-per-ip-limit: enabled: false max-accounts: 3 # Maximum simultaneous connections from one IP enforcement: "BLOCK" # "BLOCK" — deny the new connection # "KICK_OLDEST" — kick the oldest session to make roomDiscord Webhook (Connection Events)
discord-webhook: enabled: false url: "" # Paste your Discord webhook URL here timeout: 10000 # HTTP timeout for sending the webhook (ms) # Retry failed webhook deliveries retry: enabled: true max-attempts: 3 # How many times to retry a failed delivery (1–10) initial-delay: 1000 # Wait before first retry (ms) max-delay: 10000 # Maximum wait between retries (ms) multiplier: 2.0 # Exponential backoff multiplier # Rate limiting — Discord allows ~5 requests per 2 seconds per webhook rate-limit: max-per-second: 2 # Requests sent per second (1–5) burst-limit: 5 # Maximum burst before throttling kicks in # Which events send a webhook message events: denied: true # Player was blocked by ProtectCord accepted: false # Player passed all checks and joined (high volume — off by default) whitelisted: true # A whitelisted player joined error: true # An API error occurred during a check # Which data fields appear in the embed data-fields: show-country: true show-country-flag: true # 🇺🇸 flag emoji next to country name show-city: true show-vpn: true show-proxy: true show-datacenter: true show-tor: true show-mobile: true show-satellite: true show-crawler: true show-bogon: true show-risk-level: true show-abuser: true show-blacklisted: true show-company: true # ISP / hosting provider name show-company-risk: true # Customise the appearance of each embed type embeds: denied: title: "Connection Denied" emoji: "x" color: 15158332 # Decimal RGB — red footer: "" # Optional footer text thumbnail-url: "" # Optional image in top-right corner accepted: title: "Connection Accepted" emoji: "white_check_mark" color: 3066993 # Green footer: "" thumbnail-url: "" whitelisted: title: "Whitelisted Player Joined" emoji: "white_circle" color: 16776960 # Yellow footer: "" thumbnail-url: "" error: title: "API Error" emoji: "warning" color: 15105570 # Orange footer: "" thumbnail-url: "" # Advanced webhook behaviour advanced: validate-url-on-startup: true # Send a test ping when the plugin loads log-failures: true # Print failed deliveries to console log-retries: true # Print retry attempts to console queue-size: 100 # Max webhooks queued before dropping oldestStaff Alerts
# In-game and Discord notifications for moderation actions alerts: enabled: true # Broadcast to online staff with the protectcord.alerts permission in-game: enabled: true # Separate webhook channel just for mod-team events discord-webhook: enabled: false url: "" # Fine-tune exactly which actions trigger an alert events: kick: true ban: true unban: true warn: true clear-warnings: true remove-warning: true automod: true mute: true unmute: true tempmute: true tempban: trueWarning System
warnings: # Automatically take action when a player accumulates enough warnings auto-action: enabled: true action: "BAN" # "BAN" — permanent ban | "KICK" — kick only threshold: 3 # Number of warnings before auto-action fires # Kick the player with a "final warning" message at a lower threshold kick-on-warn: enabled: true threshold: 2 # Kick at this warning count (before the ban threshold) # Warnings older than this are not counted toward thresholds expiry: duration: "0" # "0" = warnings never expire # Examples: "7d", "30d", "90d" # Escalation tiers — overrides auto-action when enabled # Each tier fires when warning count reaches `count` escalation: enabled: false tiers: - count: 1 action: "WARN" - count: 2 action: "TEMPMUTE" duration: "1h" - count: 3 action: "TEMPBAN" duration: "1d" - count: 4 action: "TEMPBAN" duration: "7d" - count: 5 action: "BAN" # Available actions: WARN, KICK, MUTE, TEMPMUTE, TEMPBAN, BAN # Duration format: 30s, 10m, 1h, 7d, 30dAutoMod (Chat Filtering)
automod: enabled: false # Master switch — must be true for any rules to run # Blocked actions apply to the message that triggered the rule. # Available actions for all rules: BLOCK, WARN, KICK, MUTE, TEMPMUTE # TEMPMUTE duration is set by tempmute-duration below. tempmute-duration: "10m" # Block links in chat anti-link: enabled: true action: "BLOCK" whitelisted-domains: # These domains are allowed through - "yourdomain.com" - "discord.gg/yourserver" # Block spam (too many messages too fast, or too many duplicates) anti-spam: enabled: true action: "BLOCK" max-messages: 5 # Max messages allowed within the time window time-window-seconds: 10 # Rolling window size in seconds max-duplicates: 3 # Max identical messages allowed in the window # Block server IPs and Discord invite links anti-advertising: enabled: true action: "BLOCK" block-server-ips: true # Blocks patterns like "play.someserver.net" block-discord-invites: true # Blocks discord.gg/... links whitelisted-domains: - "yourdomain.com" - "discord.gg/yourserver" # Block profanity and custom banned words anti-swear: enabled: false action: "BLOCK" use-regex: false # Set true to treat blocked-words entries as regex patterns blocked-words: - "badword1" - "badword2" whitelisted-words: # These words are never blocked even if they match a pattern - "scrapbook" # Block excessive CAPS LOCK anti-caps: enabled: false action: "BLOCK" min-message-length: 5 # Ignore short messages (e.g. "OK", "YES") threshold-percent: 70.0 # Block if more than this % of letters are uppercase # Block character flooding (aaaaaaaaaa, !!!!!!!!!) anti-flood: enabled: false action: "BLOCK" max-repeated-chars: 5 # Consecutive identical characters before blocking min-message-length: 3 # Ignore very short messages # Block Unicode abuse and Zalgo text anti-unicode: enabled: false action: "BLOCK" block-zalgo: true # Block combining diacritical mark stacking (z͎̤̙̘̭͇͠a̵͔͓l̡͔͍̦͚͙g̢͕̲͔͔͕ö̥́) max-unicode-percent: 50.0 # Block if more than this % of chars are non-ASCIIPlayer Reports
reports: enabled: true cooldown-seconds: 60 # How long a player must wait between reports # Post reports to a Discord channel discord-webhook: enabled: false url: "" mention-role-id: "" # Optional — ping a role when a report comes in (e.g. "123456789") notify-staff: true # Broadcast reports to online staff with protectcord.alerts predefined-reasons: [] # Optional list of reasons shown in tab-complete # Example: ["Hacking", "Spam", "Harassment", "Inappropriate name"]Database Storage
database: type: "YAML" # "YAML" — flatfile storage (default, no setup needed) # "MYSQL" — MySQL/MariaDB (required for multi-server sync) mysql: host: "localhost" port: 3306 database: "protectcord" # Database name (must exist before starting) username: "root" password: "" table-prefix: "pc_" # All tables prefixed with this (e.g. pc_warnings, pc_bans) # HikariCP connection pool settings pool: max-pool-size: 10 # Maximum simultaneous database connections min-idle: 2 # Minimum idle connections kept open connection-timeout: 30000 # Max wait for a connection from the pool (ms) idle-timeout: 600000 # Close idle connections after this long (ms) max-lifetime: 1800000 # Recycle connections after this long (ms)IP Masking
# Control how IP addresses appear to staff in command output # Staff with the protectcord.ip.full permission always see the full IP ip-masking: enabled: false mask-format: "last-octet" # "last-octet" → 192.168.1.* (hides last segment) # "last-two-octets" → 192.168.*.* (hides last two segments) # "full-mask" → *.*.*.* (hides everything)Custom Messages
# All messages support & colour codes. Placeholders listed per message. messages: # Shown to players blocked by IP check — {reason}, {risk} connection-denied: | &c&lConnection Denied &7Your connection has been blocked by ProtectCord. &7Reason: &c{reason} &7Risk Level: &c{risk} &7If you believe this is an error, please contact server staff. # Shown when the API is unreachable during a check api-error: | &c&lTemporary Connection Issue &7We're unable to verify your connection at the moment. &7Please try again later. # Shown to a player blocked by the accounts-per-IP limit — {max}, {current} account-limit-reached: | &c&lConnection Limit Reached &7Maximum accounts per IP: &c{max} &7Current connections from your IP: &c{current} &7Please disconnect another account before connecting. # Shown to the oldest session kicked by KICK_OLDEST enforcement — {max} account-limit-kicked: | &c&lYou have been disconnected &7A new account connected from your IP address. &7Maximum accounts per IP: &c{max} # Shown when player-tracking blocks a flagged player — {flags} player-flagged: | &c&lConnection Denied &7Your account has been flagged. &7Flags: &c{flags} &7If you believe this is an error, please contact server staff. # Shown when player-tracking blocks an inactive player player-inactive: | &c&lConnection Denied &7Your account has been deactivated. &7Please contact server staff. # Shown in chat to whitelisted players who bypass the IP check whitelist-bypass: "&aYou have bypassed IP verification."🎯 Commands & Permissions
Aliases: /pc, /protect
Core Commands
Command Description /pc reload Reload config, whitelist, and storage /pc stats View API usage and rate limits /pc check <player|ip> On-demand IP threat analysis /pc version Plugin version and platform info /pc health API connectivity health check /pc alerts Toggle in-game staff alerts on/offWhitelist Commands
Command Description /pc whitelist add player <name> Whitelist a player by name /pc whitelist add uuid <uuid> Whitelist by UUID /pc whitelist add ip <address> Whitelist an IP address /pc whitelist remove <type> <value> Remove whitelist entry /pc list List all whitelisted entriesModeration Commands
Command Description /pc kick <player> [reason] Kick an online player with IP info /pc warn <player> <reason> Issue a warning (auto-escalates) /pc warnings <player> View full warning history /pc clear warning <player> Clear all warnings /pc clear ban <player> Clear a ban record /pc remove warning <player> [#] Remove a specific warning by index /pc ban <player> <reason> Permanently ban a player /pc tempban <player> <duration> <reason> Temp-ban (1h, 7d, 30d) /pc unban <player> Unban a player /pc mute <player> <reason> Permanently mute a player /pc tempmute <player> <duration> <reason> Temp-mute /pc unmute <player> Unmute a player /pc alts <player> Find alt accounts by shared IPStorage Commands
Command Description /pc migrate <yaml|mysql> Migrate all data between storage backends /pc purge <type> <days> Delete data older than X daysPurge types: warnings, bans, mutes, iplogs, auditlog, inactive, all
Player Commands
Command Description /report [player] <reason> Report a player (or submit an anonymous report)Permissions
Permission Description Default protectcord.admin All /pc commands OP protectcord.bypass Bypass IP checks on join false protectcord.alerts Receive in-game staff alerts OP protectcord.ip.full See unmasked IPs in command output OP protectcord.automod.bypass.* Bypass all AutoMod checks false⚡ Progressive Warning System
Automatically escalate discipline based on warning count. Two modes available:
Simple Mode (default)
Warning Action 1st In-game warning message 2nd Kicked with "final warning" message 3rd Permanent banEscalation Tiers Mode (configurable)
Fully custom escalation — any combination of WARN → TEMPMUTE → TEMPBAN → BAN:
1 warning → Warning message 2 warnings → Temp mute (1 hour) 3 warnings → Temp ban (1 day) 4 warnings → Temp ban (7 days) 5 warnings → Permanent banWarnings can optionally expire after a configured duration (7d, 30d, etc.) so past behavior doesn't follow players forever.
🤖 AutoMod — Automated Chat Filtering
Protect your chat without lifting a finger. Each AutoMod rule runs independently and can be configured to BLOCK, WARN, KICK, MUTE, or TEMPMUTE the offending player.
Rule What It Catches Anti-Link URLs, with per-domain whitelist Anti-Advertising Other server IPs, Discord invites Anti-Spam Message rate and duplicate flooding Anti-Swear Custom word list, with regex and exceptions Anti-Caps Excessive uppercase by percentage Anti-Flood Repeated character abuse Anti-Unicode Zalgo text and invisible character abuse🔍 Alt Account Detection
Find players evading bans or using multiple accounts with a single command:
/pc alts Notch → [ProtectCord] Alt accounts for Notch: - Notch2 (shared IPs: 2) - AltAccount99 (shared IPs: 1)IPs are never displayed in alt output — staff see player names only, protecting privacy while identifying evaders.
🗄️ MySQL & Multi-Server Sync
Store all data (warnings, bans, mutes, IP history, audit logs) in MySQL instead of local YAML files.
- All servers share one database — ban on Factions, blocked on Survival
- HikariCP connection pooling — high-performance and thread-safe
- Auto table creation — tables are created on first startup
- server_id tracking — every row records which server the action came from
- Live migration — move from YAML to MySQL (or back) with /pc migrate mysql
🧹 Data Purge
Keep your database clean with fine-grained purge commands:
/pc purge warnings 90 — remove warnings older than 90 days /pc purge bans 30 — remove expired bans older than 30 days /pc purge mutes 30 — remove expired mutes older than 30 days /pc purge iplogs 365 — remove IP history older than 1 year /pc purge auditlog 90 — trim the audit log /pc purge inactive 180 — remove player records unseen for 6 months /pc purge all 90 — run all of the above📢 Discord Integration
Connection Webhook
Get a rich Discord embed every time a player is blocked, accepted, or whitelisted:
- Country with flag emoji, city, VPN/proxy/tor/datacenter/bogon flags, risk level, company
- Per-event toggle — only receive the events you care about
- Rate limiting to stay within Discord's limits
- Automatic retry with exponential backoff
Staff Alert Webhook
Separate webhook for moderation events: bans, unbans, warns, kicks, mutes, AutoMod actions — so your mod team always knows what's happening.
Setup in 30 seconds
- Discord → Server Settings → Integrations → Webhooks → New Webhook → Copy URL
- Add to config.yml:
- /pc reload
🛡️ How IP Detection Works
Every connecting player's IP is sent to the ProtectCord API for evaluation:
Check What It Detects VPN Virtual private networks used to hide location Proxy HTTP/SOCKS proxies and anonymizers Tor Tor exit nodes Datacenter Hosting providers (common bot source) Bogon Invalid or reserved IP ranges Risk Score AI-powered score from UNKNOWN to CRITICAL Geo Country of origin (for geo-blocking)Automatic Bypasses
No API call is made for:
- Localhost (127.0.0.1, ::1)
- Private networks (192.168.x.x, 10.x.x.x, 172.16–31.x.x)
- Whitelisted players, UUIDs, or IPs
❓ FAQ
Is this free? Yes. The free API key includes 32 requests per minute, enough for most servers.
Will it lag my server? No. All IP checks are fully asynchronous and never block the main thread.
Can legitimate players get blocked? Rarely. Use /pc check <player> to see why, then /pc whitelist add player <name>. You can also raise blocked-risk-level to CRITICAL for less aggressive blocking.
Does it work with offline mode? Yes. The plugin functions in both online and offline mode.
What about proxy networks? Install only on the proxy (BungeeCord or Velocity). All backend servers are automatically protected with one plugin and one API key.
What if the API is down? Players are allowed to connect by default during API outages. This prevents lockouts and can be changed in config.
Do you store player data? Only IP addresses are sent to the ProtectCord API. No usernames or UUIDs are transmitted externally. See our privacy policy.
Can I sync bans across servers? Yes — enable MySQL storage and point all servers at the same database. Bans and mutes are enforced network-wide automatically.
🔧 Troubleshooting
"API KEY NOT CONFIGURED!" Get your key at protectcord.com/dashboard, add it to config.yml, run /pc reload.
Player blocked incorrectly Run /pc check <player> to see the reason. Whitelist with /pc whitelist add player <name> or lower blocked-risk-level.
Rate limit hit Free tier: 32 req/min (~1 player every 2 seconds). Solutions: whitelist regulars to skip API calls, or install only on your proxy instead of all backends.
Discord webhook silent Verify URL is correct, enabled: true, events are enabled, and check console for errors.
MySQL connection failed Check host/port/credentials in config. Ensure the MySQL user has CREATE TABLE privileges. Check console for the HikariCP error message.
🌐 Links & Support
- 🌍 Website: protectcord.com
- 📖 API Docs: api.protectcord.com
- 🎫 Dashboard: protectcord.com/dashboard
- 💬 Discord: protectcord.com/discord
💖 Support the Project
- ⭐ Follow on Modrinth
- 💬 Join the Discord community
- 📝 Leave a review and share your experience
- 🐛 Report bugs or suggest features on Discord
Made with ❤️ for the Minecraft community — ProtectCord, because prevention is better than moderation.
Compatibility
Mod Loaders
Game Versions
Screenshots
Similar Mods
Pocket Repose
Adds a bigger on the inside suitcase.
Bat Membrane (No Phantoms)
Disables phantoms and enables to get phantom membrane from bats
Pedestals - Display your items!
Craft pedestals out of any material you can find and use them to display items in your very own trophy room!
FleshZ [Neo/Forge]
Not another rottenflesh to leather mod anymore
Fantastical Origins
A hackjob and fork of a fork of Medieval Origins balanced for heavily modded play and a specific modpack.
Rideable Blazes
Allows you to equip a saddle onto a Blaze and ride it around