From f3a1dba7f52babee1523984732961e6a9fd2590e Mon Sep 17 00:00:00 2001 From: ARR4NN <70060472+ARR4NN@users.noreply.github.com> Date: Tue, 18 Apr 2023 15:05:38 +0100 Subject: [PATCH] Add support for mineplots (https://builtbybit.com/resources/mineplots.21646/) (#130) --- pom.xml | 13 +++++++ .../depends/regionPlugins/REGIONPLUGINS.java | 2 + .../depends/regionPlugins/RTP_MinePlots.java | 37 +++++++++++++++++++ src/main/resources/config.yml | 2 + 4 files changed, 54 insertions(+) create mode 100644 src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/regionPlugins/RTP_MinePlots.java diff --git a/pom.xml b/pom.xml index e887d19..a2c120e 100644 --- a/pom.xml +++ b/pom.xml @@ -175,6 +175,12 @@ placeholderapi http://repo.extendedclip.com/content/repositories/placeholderapi/ + + + minecodes-repository-releases + mineCodes Organization Repository + https://repository.minecodes.pl/releases + @@ -362,5 +368,12 @@ 2.0 provided + + + pl.minecodes.plots + plugin-api + 3.4.5 + provided + diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/regionPlugins/REGIONPLUGINS.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/regionPlugins/REGIONPLUGINS.java index 64172a4..dc1727c 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/regionPlugins/REGIONPLUGINS.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/regionPlugins/REGIONPLUGINS.java @@ -18,6 +18,8 @@ public enum REGIONPLUGINS { TOWNY("Towny", new RTP_Towny()), ULTIMATECLAIMS("UltimateClaims", new RTP_UltimateClaims()), WORLDGUARD("WorldGuard", new RTP_WorldGuard()), + MINEPLOTS("MinePlots", new RTP_MinePlots()), + ; @Getter private final SoftDepends.RegionPlugin plugin = new SoftDepends.RegionPlugin(); @Getter private final String setting_name, pluginyml_name; diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/regionPlugins/RTP_MinePlots.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/regionPlugins/RTP_MinePlots.java new file mode 100644 index 0000000..e55be25 --- /dev/null +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/regionPlugins/RTP_MinePlots.java @@ -0,0 +1,37 @@ +package me.SuperRonanCraft.BetterRTP.references.depends.regionPlugins; + +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.plugin.RegisteredServiceProvider; +import pl.minecodes.plots.api.plot.PlotApi; +import pl.minecodes.plots.api.plot.PlotServiceApi; + +import java.util.Objects; + +public class RTP_MinePlots implements RegionPluginCheck{ + // NOT TESTED (3.6.6) + // MinePlots- (v4.0.1) + // https://builtbybit.com/resources/mineplots.21646/ + + private PlotServiceApi plotServiceApi; + + public boolean check(Location loc) { + boolean result = true; + if (REGIONPLUGINS.MINEPLOTS.isEnabled()) + try { + RegisteredServiceProvider serviceProvider = Bukkit.getServicesManager().getRegistration(PlotServiceApi.class); + Objects.requireNonNull(serviceProvider, "[MinePlots Respect] Service provider is null."); + plotServiceApi = serviceProvider.getProvider(); + + plotServiceApi = serviceProvider.getProvider(); + PlotApi plot = plotServiceApi.getPlot(loc); + + if (plot != null) { + result = false; + } + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 3c5734e..0d91186 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -5,6 +5,8 @@ Language-File: 'en.yml' Settings: Respect: + ## Respect MinePlots plots (https://builtbybit.com/resources/mineplots.21646/) + MinePlots: false ## Respect WorldGuard areas (https://dev.bukkit.org/projects/worldguard) WorldGuard: false ## Respect GriefPrevention areas (https://www.spigotmc.org/resources/griefprevention.1884/)