MediaAdvertise

MediaAdvertise is a modern Paper/Spigot/Bukkit 1.20+ plugin designed for Minecraft servers that want to promote YouTube content.

10

MediaAdvertise

📢 MediaAdvertise

Paper/Spigot/Bukkit 1.20+ plugin is a modern Paper/Spigot/Bukkit 1.20+ plugin designed for Minecraft servers that want to promote YouTube content (videos and livestreams) directly in-game and on Discord in a stylish, automated, and fully configurable way.

Perfect for content creator servers, communities, and networks that want to boost engagement and promote media professionally.

Showcase

✨ Key Features

📌 Main Command

```/ad <video|livestream> <youtube_link>```

Allows players to promote a YouTube video or livestream directly into server chat and Discord.

🎬 YouTube Promotion System

- ✔ Supports videos and livestreams - ✔ Automatic content type detection (video or live stream) - ✔ Advanced YouTube link validation - ✔ Duplicate prevention (same video cannot be promoted twice) - ✔ Link normalization (short URLs → full YouTube format) - ✔ Supported formats: - youtube.com/watch?v= - youtu.be/ - youtube.com/live/

💬 In-Game Chat Announcements (Modern & Interactive)

All announcements are displayed using the Adventure API (MiniMessage) with a clean, modern broadcast style.

🔴 Livestream Format

- 🔴 LIVE NOW (bold red header) - Player name - Stream title (auto-fetched if available) - Clickable WATCH NOW link - Player head displayed in message

Livestream format

▶️ Video Format

- ▶️ NEW VIDEO (bold purple header) - Creator name - Video title (auto-fetched via YouTube API / oEmbed) - Clickable WATCH NOW link - Player head displayed in message

Video format

🎨 Chat Design

MiniMessage formatting support HEX color customization Hover text: "Click to watch" Clean broadcast-style layout Global server-wide announcements Optional PlaceholderAPI support

🔔 Discord Integration

Automatically sends a Discord webhook embed when content is promoted:

- 📌 Clickable video title - 🎨 Embed colors: - 🔴 red for livestreams - 🟣 purple for videos - 📺 Content type label (LIVE NOW / NEW VIDEO) - 👤 Creator name - 🔗 Watch link button - 🖼 YouTube thumbnail preview (if available) - ⏱ Automatic timestamp

Discord webhook integration

⚙️ Configuration (config.yml)

Fully customizable settings:

- Webhook URL - Cooldowns - HEX colors (video/live) - Chat messages (MiniMessage) - Enable/disable Discord integration - Title fetching toggle - Blocked links list - Sound effects - Global broadcast settings

🌐 Language Support (language.yml)

Fully customizable messages including:

- Success messages - Error messages - Cooldown messages - LIVE NOW / NEW VIDEO labels - WATCH NOW text

🔐 Permissions

- ```media.advertise``` → Allows promoting videos - ```media.bypass.cooldown``` → Bypass cooldown restrictions - ```media.admin``` → Access admin commands

🛠 Admin Commands

```/mediareload``` Reloads configuration files without restarting the server.

Aliases:

- ```/madreload``` - ```/mareload```

🧠 Technical Features

- Async API calls (non-blocking) - Clean modular architecture - Persistent storage (YAML or SQLite) - YouTube metadata fetching (oEmbed / Data API v3) - Input sanitization & validation - Duplicate tracking system - Cooldown system per player - Full logging system

🚀 Requirements

- Minecraft Paper/Spigot/Bukkit 1.20+ - Java 17+ - Optional: PlaceholderAPI

🧩 Extra Features

- Global broadcast system - Player head display in chat - Hover interactions - Configurable sounds - Fully modular & lightweight design - No unnecessary dependencies

❤️ Support

If you need help or want to suggest features, feel free to reach out.

Credits:

Spoiler

Design inspiration: honeysmp.ro

ADS