Tags
Creators
Details
1.7.0
Compatibility
Changes
OlEncounters 1.7.0
OlEncounters 1.7.0 is a major release that expands the plugin from meteor-only events into a profile-driven encounter system. It also improves automatic location searching, wave progression, content packs, and in-game editing.
New encounter system
- Added a profile framework for encounters such as meteors, portals, underground assaults, invasions, boss rushes, supply drops, airships, and dungeons.
- Each profile can define its own name, icon, schematic, arrival animation, messages, join radius, conditions, and chained encounter.
- Conditions, messages, waves, scaling, participation, goals, schematics, and arrival animations can be toggled independently per profile.
- Added world, biome, weather, Minecraft time, player count, permission, and seasonal conditions.
- Added random encounter selection from the profiles that are currently eligible.
Waves, bosses, and participation
- Added profile-specific waves with weighted MythicMobs selections.
- The next wave does not begin until every pending and living mob from the current wave has been cleared.
- Bosses are optional, allowing single-wave encounters and profiles without a boss.
- Mob count, health, damage, and reward quantity can scale independently with participant count.
- Added joining, late joining, leaving, daily goals, and weekly goals.
- Expanded the in-game editor for profile and wave settings.
Content packs and modules
- YAML and JSON profiles placed in
encounters/packscan be discovered without rebuilding the plugin. - Added ZIP import and export for a profile and its explicitly linked schematic.
- Added ZIP path traversal protection, file-type validation, entry limits, and a 64 MiB size limit.
- Added a module framework that can discover and load external modules without changing the main plugin code.
- The profile system, content packs, and package operations can be disabled globally.
Automatic location search
- Corrected the timeout calculation that could stop a search before its configured number of attempts had a chance to run.
- Prevented the chunk budget from prematurely limiting lightweight
any_surfacesearches. - Removed the unnecessary batch delay after the final rejected candidate.
- Candidate evaluation failures now preserve and report the first underlying error in the final warning.
- WorldGuard, Towny, TPS, world-border, and ungenerated-chunk protections remain active.
- New chunk generation stays disabled by default, with controlled sequential snapshot processing.
Language, identity, and usability
- Updated the plugin name to OlEncounters, the author to OlPlugins, and the version to 1.7.0.
- Improved Turkish and English commands, interfaces, and help flows.
- Prevented
MEDIUMfrom becoming the invalidmedıumidentifier under the Turkish system locale. - Added encounter commands for listing, starting, starting at the current location, random selection, joining, leaving, progress, editing, reloading, and package operations.
Safety and compatibility
- Profile and progress data use safer write flows.
- Package loading, profile reloads, and eligible persistence work are kept away from the main server tick.
- Existing rollback, Folia scheduler, WorldGuard/Towny, MythicMobs, loot, and cleanup protections continue through the shared encounter lifecycle.
- The complete test suite, clean build, and packaged JAR checks were completed.
Requirements
- Paper or Folia 1.21.1+
- Java 21
- CommandAPI is required
- FastAsyncWorldEdit is required for schematic and rollback features
Fully restart the server after replacing the previous JAR. Do not use /reload.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:k3YDgIH0:1aYOJz1I"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:k3YDgIH0:1aYOJz1I"
}

