RaidsPerRegion icon

RaidsPerRegion -----

Custom Sever Event/Minigame - MythicMobs Addon



Other Plugins by ShermansWorld:
CharacterCards, Governor, CustomServerTime, SimpleLockpicking

raids_per_region_logo.png

RaidsPerRegion4 is a full re-write and is not compatible with previous versions!

Description:

RaidsPerRegion adds a customizable PvE (Player v.s. Enviornment) server event/minigame that takes inspiration from plugins like MobArena and the vanilla Minecraft pillager raids. The name "RaidsPerRegion" refers to the fact that it adds dynamic mob "Raids" that can be started via commands in areas, or "Regions". The word "region" here is a reference to a WorldGuard region, which is the standard raid area type supported by the plugin. Additional (optional) raid types are also supported for other plugins such as Towny and Factions. RaidsPerRegion does not support vanilla mobs and instead uses MythicMobs as a base for for defining Raid mobs.

Dependencies: WorldEdit or equivalent such as FastAsyncWorldEdit, WorldGuard, MythicMobs
Please make sure you have these plugins installed and up to date to use RaidsPerRegion.

Optional Hooks:
FactionsUUID
- Adds the ability to start raids on Factions.
KingdomsX - Adds the ability to start raids on Kingdoms.
Towny - Adds the ability to start raids on Towns.

What is a Raid?
A RaidsPerRegion "Raid" is a timed server event/minigame where players must kill a certain amount of mobs before the timer runs out or they will lose the raid. The Raids itself is more of a template, so how they are used and the purpose they serve is entirely up to the admins or gameplay designers of your Minecraft server. On the Alathra server for example, Raids are executed randomly on player settlements ( Towny towns) in order to introduce a fun PvE challenge and provide players unique items through mob drops and Raid rewards. RaidsPerRegion is not designed to be plug-and-play software, and should be configured to achieve the best results. Fortunately, Raids are composed of dynamic and extendable components, making them relatively easy to modify to meet your specific needs.

Raid Presets
Raid Presets define the what mobs will spawn in the raid and their details. This includes things such as mob levels, spawn chances/weights and an optional boss mob. This allows you to create infinite "kinds" of raids, with one being selected when starting a new raid. Presets are pre-defined in the config.yml .

Raid Tiers
Raid Tiers define how hard the raid will be as well as general raid parameters. This is where the time limit, kills goal (mobs kills needed to win), spawn rates and other settings can be found. This allows you to create infinite "levels" of raids. Tiers are pre-defined in the config.yml.

Raid Scheduler
Raids can be scheduled to execute at set number of minutes from when the start command is run. Announcement messages can be configured in the config.yml that can be used to warn players before a raid starts. Since Raids can be started by console, it is possible to schedule raids via a scheduled task on your server panel or server's operating system.

Demo Video (Outdated)


Commands:
/raid start [area_type] [world] [area_name] <raid_preset> <raid_tier> <scheduled_minutes>

Starts a raid with the given parameters. [] indicates a required argument and <> indicates an optional argument.
Selecting "random" for the area_name will pick a random area of the defined type in the defined world.
/raid stop [area_name]
Stops an ongoing or scheduled raid.
/raid list
Lists all ongoing and scheduled raids.

Permissions:
raidsperregion.admin
- Gives permission for all /raid commands

Code (Text):

# ==========================================
# |    RaidsPerRegion4 by ShermansWorld    |
# ==========================================

GlobalRaidSettings:
  # Stops vanilla mobs from spawning in the raid area when a raid is ongoing
  PreventVanillaMobsSpawningInRaids: true
  # If the plugin has the ability to force mob spawning if it is turned off in the area
  ForceMobSpawningInRegionOnRaidStart: true
  # If players keep their inventory when dying in the raid area during a raid
  KeepInventoryOnPlayerDeath: false
  # If players keep their experience when dying in the raid area during a raid
  KeepEXPOnPlayerDeath: false
  # If PvP is disabled in the raid area during a raid
  DisablePvPInRaids: false
  # If all the raid mobs will be cleared when a raid is lost
  ClearMobsOnRaidLoss: false
  # If player deaths in the raid area during a raid will result in a death message in the chat
  ShowPlayerDeathMessagesInRaids: true
  # If spawn locations outside the raid area will be allowed, usually just outside the borders
  AllowMobSpawnsOutsideRaidArea: false

# ==========================================
# |           Raid Configuration           |
# ==========================================

RaidPresets:
  # This is the name of the preset and can be anything. It will be referenced in the /raid start command
  Skeletal:
    # If the plugin will default to using this preset if there is no preset specified when starting a raid
    default: false
    # If the preset has a boss, put the MythicMob ID (name), if no boss leave blank
    boss:
    # The list of mobs that will spawn with this preset
    mobs:
      # The MythicMob ID (name)
      SkeletalMinion:
        # The mob level. If not using mob levels, put "1.0"
        mobLevel: 1.0
        # The percentage chance that this mob will be selected to spawn each time a new mob needs to be spawned
        chance: 0.60
        # The spawn weight. Mobs with a higher weight will have priority if their chance is hit
        weight: 1
      SkeletalKnight:
        mobLevel: 1.0
        chance: 0.15
        weight: 3
      SkeletalKing:
        mobLevel: 1.0
        chance: 0.05
        weight: 4
  Everything:
    default: true
    boss: AngrySludge
    mobs:
      SkeletalMinion:
        mobLevel: 1.0
        chance: 0.60
        weight: 1
      StaticallyChargedSheep:
        chance: 0.35
        weight: 2
        mobLevel: 1.0
      SkeletalKnight:
        mobLevel: 1.0
        chance: 0.15
        weight: 3
      SkeletalKing:
        mobLevel: 1.0
        chance: 0.05
        weight: 4

RaidTiers:
  # This is the name of the tier and can be anything. It will be referenced in the /raid start command
  1:
    # If the plugin will default to using this tier if there is no tier specified when starting a raid
    default: true
    # The maximum number of living mobs allowed at once. If this limit is reached spawning will stop until it decreases
    maxMobsAtOnce: 100
    # The number of mobs that need to be killed to win the raid
    killsGoal: 100
    # The time limit (in seconds) of the raid
    timeLimit: 600
    # The number of mobs that will be spawned from the preset for each spawning cycle
    mobSpawnsPerCycle: 2
    # The length of each spawning cycle. The default rate (1.0) is 1 second
    # Example: Setting this to "0.5" would produce a 2-second cycle
    # Example: Setting this to "2.0" would produce a 0.5-second cycle
    cycleRate: 1.0
  2:
    default: false
    maxMobsAtOnce: 100
    killsGoal: 100
    timeLimit: 600
    mobSpawnsPerCycle: 2
    cycleRate: 1.0
  3:
    default: false
    maxMobsAtOnce: 100
    killsGoal: 100
    timeLimit: 600
    mobSpawnsPerCycle: 2
    cycleRate: 1.0

# ==========================================
# |      Text & Commands Configuration     |
# ==========================================

# RaidsPerRegion uses MiniMessage to facilitate text formatting including colors
# MiniMessage Docs: https://docs.advntr.dev/minimessage/format
# MiniMessage Viewer: https://webui.advntr.dev/

# ----- Placeholders -----
# RaidsPerRegion has a number of MiniMessage placeholders for you to use to customize the following settings

# <raid_area_name>: The name of the raid area, the name of the place where the raid is
# <raid_area_type>: The type of the raid area ("region", "town", etc.)
# <raid_starter>: The name of the person who started the raid. Can be "console"
# <raid_time_left>: The formatted time remaining in the raid
# <raid_kills_goal>: The amount of raid mobs needed to be killed to win the raid
# <raid_total_kills>: How many raid mobs killed so far
# <raid_boss_name>: The name of the raid boss, blank if none
# <raid_participants_total_deaths>: The total number of player deaths in the raid
# <raid_scoreboard_border>: An optional border text that can be used in the scoreboard lines
# <raid_scheduled_minutes_left>: If a raid is scheduled, how many total minutes are left until it starts
# <raid_scheduled_seconds_left>: If a raid is scheduled, how many total seconds are left until it starts

# ----- Per-Player Placeholders ---
# <raid_participant_name>: The name of the player
# <raid_participant_kills>: How many raid mob kills the player has


Scoreboard:
  # If the raid scoreboards (sidebar menu) will be displayed for raid participants
  enabled: true
  # The scoreboard title
  title: "<dark_red><bold> Tier <raid_tier> Raid - <raid_area_name>"
  # An optional border text that can be used in the scoreboard lines
  border: "-------------------------"
  # The lines of the scoreboard
  lines:
    - "<dark_red><bold><raid_scoreboard_border>"
    - "<gold>Time Left: <raid_time_left>"
    - "<gold>Kills Goal: <raid_kills_goal>"
    - "<gold>Total Kills: <raid_total_kills>"
    - "<gold>Total Player Deaths: <raid_participants_total_deaths>"
    - "<dark_red><bold><raid_scoreboard_border>"
    - "<gold>Your Kills: <raid_participant_kills>"

TitleMessages:
  # If the title messages will show
  enabled: true
  raidStartTitle: "<dark_red><bold>Tier <raid_tier> Raid Inbound"
  raidStartSubtitle: "<gold>Prepare to fight!"
  raidWinTitle: "<dark_green><bold>Raid Won!"
  raidWinSubtitle: "<gold>The raiders have fled"
  raidLoseTitle: "<dark_red><bold>Raid Lost!"
  raidLoseSubtitle: "<gold>This can't be good..."
  raidCancelTitle: "<aqua><bold>Raid Canceled"
  raidCancelSubtitle: "<gold>Raid canceled by <raid_starter>"
  raidBossSpawnTitle: "<red><bold>Raid Boss Spawned"
  raidBossSpawnSubtitle: "<gold>Kill <raid_boss_name> to win the raid!"

RaidResultConsoleCommands:
  # If raid win/loss commands will be executed
  enabled: true
  # Executed when a raid is won
  raidWinCommands:
    # Executed once
    global:
      - "broadcast The tier <raid_tier> raid on <raid_area_name> has been won!"
    # Executed for each player who participated in the raid
    perParticipant:
      - "eco give <raid_participant_name> 100"
      - "msg <raid_participant_name> nice job!"
  # Executed when a raid is lost
  raidLossCommands:
    global:
      - "broadcast The tier <raid_tier> raid on <raid_area_name> has been lost!"
    perParticipant:
      - "eco take <raid_participant_name> 50"

RaidScheduler:
  AnnouncementMessages:
    # If automated raid announcement messages will be shown
    enabled: true
    CustomIntervals:
      # When the raid is this number of seconds away, its associated message will be shown in chat to all online players
      # If the raid is scheduled for a time that is shorter than this, it will be ignored
      - interval: 1800  # 30 minutes
        message: "<gold>A tier <raid_tier> raid on <raid_area_name> will commence in <raid_scheduled_minutes_left> minutes"
      - interval: 1200  # 20 minutes
        message: "<gold>A tier <raid_tier> raid on <raid_area_name> will commence in <raid_scheduled_minutes_left> minutes"
      - interval: 600  # 10 minutes
        message: "<gold>A tier <raid_tier> raid on <raid_area_name> will commence in <raid_scheduled_minutes_left> minutes"
      - interval: 300  # 5 minutes
        message: "<gold>A tier <raid_tier> raid on <raid_area_name> will commence in <raid_scheduled_minutes_left> minutes"
      - interval: 120  # 2 minutes
        message: "<gold>A tier <raid_tier> raid on <raid_area_name> will commence in <raid_scheduled_minutes_left> minutes"
      - interval: 60  # 1 minute
        message: "<gold>A tier <raid_tier> raid on <raid_area_name> will commence in <raid_scheduled_minutes_left> minute"
      - interval: 30  # 30 seconds
        message: "<gold>A tier <raid_tier> raid on <raid_area_name> will commence in <raid_scheduled_seconds_left> seconds"
      - interval: 10  # 10 seconds
        message: "<gold>A tier <raid_tier> raid on <raid_area_name> will commence in <raid_scheduled_seconds_left> seconds"
 

Discord: https://discord.gg/anjsqqyfFj


TODO:
- Add waves option
- Run commands on raid win/loss DONE

- Add raid boss option DONE
Resource Information
Author:
----------
Total Downloads: 1,311
First Release: Jan 7, 2021
Last Update: Mar 18, 2025
Category: ---------------
All-Time Rating:
18 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings