diff --git a/pom.xml b/pom.xml index 50f8b82..3241f56 100644 --- a/pom.xml +++ b/pom.xml @@ -203,6 +203,18 @@ + + com.github.chrisrnj.Terrainer + terrainer-core + 9ab2f53d41 + provided + + + * + * + + + org.junit.jupiter diff --git a/src/main/java/com/github/jikoo/regionerator/hooks/TerrainerHook.java b/src/main/java/com/github/jikoo/regionerator/hooks/TerrainerHook.java new file mode 100644 index 0000000..498ba8d --- /dev/null +++ b/src/main/java/com/github/jikoo/regionerator/hooks/TerrainerHook.java @@ -0,0 +1,31 @@ +package com.github.jikoo.regionerator.hooks; + +import com.epicnicity322.terrainer.core.terrain.Terrain; +import com.epicnicity322.terrainer.core.terrain.TerrainManager; +import com.epicnicity322.terrainer.core.terrain.WorldTerrain; +import org.bukkit.World; +import org.jetbrains.annotations.NotNull; + +/** + * PluginHook for Terrainer. + */ +public class TerrainerHook extends PluginHook { + + public TerrainerHook() { + super("Terrainer"); + } + + @Override + public boolean isChunkProtected(@NotNull World chunkWorld, int chunkX, int chunkZ) { + for (Terrain terrain : TerrainManager.terrainsAtChunk(chunkWorld.getUID(), chunkX, chunkZ)) { + if (!(terrain instanceof WorldTerrain)) return true; // Global world terrain is ignored. + } + return false; + } + + @Override + public boolean isAsyncCapable() { + return true; + } + +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 50c8ca7..a296d02 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -88,6 +88,7 @@ hooks: PreciousStones: true RedProtect: true Residence: true + Terrainer: true Towny: true WorldGuard: true VanillaSpawnProtection: true diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 532a27e..3c3afe4 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -16,6 +16,7 @@ softdepend: - Multiverse-Core - RedProtect - Residence +- Terrainer - Towny - WorldGuard