diff --git a/pom.xml b/pom.xml
index c243219..3db6cb3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,12 +93,6 @@
1.7
provided
-
- com.github.TechFortress
- GriefPrevention
- 16.11.6
- provided
-
co.aikar
acf-bukkit
@@ -110,5 +104,11 @@
2.16.1
provided
+
+ com.github.EtienneDx
+ GriefPrevention
+ master-SNAPSHOT
+ provided
+
\ No newline at end of file
diff --git a/src/me/EtienneDx/RealEstate/GP_RealEstateHook.java b/src/me/EtienneDx/RealEstate/GP_RealEstateHook.java
new file mode 100644
index 0000000..874af49
--- /dev/null
+++ b/src/me/EtienneDx/RealEstate/GP_RealEstateHook.java
@@ -0,0 +1,78 @@
+package me.EtienneDx.RealEstate;
+
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+
+import me.EtienneDx.RealEstate.Transactions.BoughtTransaction;
+import me.EtienneDx.RealEstate.Transactions.Transaction;
+import me.ryanhamshire.GriefPrevention.Claim;
+import me.ryanhamshire.GriefPrevention.IRealEstate;
+
+public class GP_RealEstateHook implements IRealEstate
+{
+ @Override
+ public String allowEdit(Claim claim, Player player)
+ {
+ Transaction b = RealEstate.transactionsStore.getTransaction(claim);
+ if(b != null && b.getOwner().equals(player.getUniqueId()) && b instanceof BoughtTransaction)
+ {
+ if(((BoughtTransaction)b).getBuyer() != null)
+ return "This claim is currently involved in a transaction, you can't edit it!";
+ }
+ return null;
+ }
+
+ @Override
+ public String allowBuild(Claim claim, Player player, Material material)
+ {
+ Transaction b = RealEstate.transactionsStore.getTransaction(claim);
+ if(b != null && b.getOwner().equals(player.getUniqueId()) && b instanceof BoughtTransaction)
+ {
+ if(((BoughtTransaction)b).getBuyer() != null)
+ return "This claim is currently involved in a transaction, you can't build on it!";
+ }
+ return null;
+ }
+
+ @Override
+ public String allowAccess(Claim claim, Player player)
+ {
+ Transaction b = RealEstate.transactionsStore.getTransaction(claim);
+ if(b != null && b.getOwner().equals(player.getUniqueId()) && b instanceof BoughtTransaction)
+ {
+ if(((BoughtTransaction)b).getBuyer() != null)
+ return "This claim is currently involved in a transaction, you can't access it!";
+ }
+ return null;
+ }
+
+ @Override
+ public String allowContainers(Claim claim, Player player)
+ {
+ Transaction b = RealEstate.transactionsStore.getTransaction(claim);
+ if(b != null && b.getOwner().equals(player.getUniqueId()) && b instanceof BoughtTransaction)
+ {
+ if(((BoughtTransaction)b).getBuyer() != null)
+ return "This claim is currently involved in a transaction, you can't access it's containers!";
+ }
+ return null;
+ }
+
+ @Override
+ public String allowGrantPermission(Claim claim, Player player)
+ {
+ Transaction b = RealEstate.transactionsStore.getTransaction(claim);
+ if(b != null && b instanceof BoughtTransaction)
+ {
+ if(((BoughtTransaction)b).getBuyer() != null)
+ return "This claim is currently involved in a transaction, you can't change any permission!";
+ }
+ return null;
+ }
+
+ @Override
+ public boolean anyTransaction(Claim claim)
+ {
+ return RealEstate.transactionsStore.anyTransaction(claim);
+ }
+}
diff --git a/src/me/EtienneDx/RealEstate/RealEstate.java b/src/me/EtienneDx/RealEstate/RealEstate.java
index c95ca81..18ce9f1 100644
--- a/src/me/EtienneDx/RealEstate/RealEstate.java
+++ b/src/me/EtienneDx/RealEstate/RealEstate.java
@@ -94,6 +94,8 @@ public class RealEstate extends JavaPlugin
manager.enableUnstableAPI("help");
registerConditions();
manager.registerCommand(new RECommand());
+
+ GriefPrevention.realEstate = new GP_RealEstateHook();
}
private void registerConditions()