LargeRaids is a vanilla Spigot game experience enhancement plugin for raids, which are added to the game in the Village & Pillage Update. It expands the raid's mechanism to accommodate for the multiplayer environment with higher difficulty, higher bad omen levels, more raiders, more waves and higher rewards.
- Version: 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.1
If you wish to install the repository locally, you might want to first install the remapped jars for versions 1.17.1 and 1.18 via BuildTools. Afterwhich, follow these steps to ensure that the project builds correctly.
- Open up Terminal
- Change to any desired directories for cloning the repository
- Run
git clone https://github.com/zhenghanlee/LargeRaids.git
- Run
cd ./LargeRaids
to head into the project directory - Run
mvn install
to install the project locally and build the jar file (namedLargeRaids.jar
) intarget
folder
The API for the plugin has a separate repository. The instructions are duplicated here for your convenience.
You can add the project as your dependency by including the JitPack repository in your pom.xml
:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Then after add the dependency like so (replace VERSION
with the version provided by the jitpack badge located at the start of this document):
<dependency>
<groupId>com.github.zhenghanlee</groupId>
<artifactId>LargeRaids-API</artifactId>
<version>VERSION</version>
</dependency>
You can add the project as your dependency by including the JitPack repository:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Then after add the dependency like so (replace VERSION
with the version provided by the jitpack badge located at the start of this document):
dependencies {
implementation 'com.github.zhenghanlee:LargeRaids-API:VERSION'
}
Plugin plugin = Bukkit.getPluginManager().getPlugin("LargeRaids");
if (plugin != null) {
LargeRaids lr = (LargeRaids) plugin;
// Rest of the operations here
}
A LargeRaid object can be obtained from either a Bukkit's Location
or Bukkit's Raid
instance.
RaidManager raidManager = lr.getRaidManager(); // where lr is a LargeRaids instance
Optional<LargeRaid> raid = raidManager.getLargeRaid(location);
We can get the number of kills a player have in a large raid when it finishes (or any time of the raid) as follows:
@EventHandler
public void onRaidFinish(RaidFinishEvent evt) {
Raid raid = evt.getRaid(); // Vanilla raid
if (raid.getStatus() != RaidStatus.VICTORY)
return;
Optional<LargeRaid> largeRaid = raidManager.getLargeRaid(raid);
if (!largeRaid.isPresent()) // No corresponding LargeRaid instance
return;
Optional<Integer> killCount = largeRaid.map(LargeRaid::getPlayerKills)
.map(map -> map.get(player.getUniqueId()));
if (!killCount.isPresent()) // Player is not a hero of this raid
return;
// Perform operations with the kill count (e.g. rewarding players based on kill count)
}