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.
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
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
# 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"