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()