Skip to content

Commit

Permalink
fix: migrates land permissions on GP claim resize
Browse files Browse the repository at this point in the history
  • Loading branch information
RoinujNosde committed Apr 30, 2023
1 parent 524e407 commit 2f4ad00
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@
<dependency>
<groupId>com.github.TechFortress</groupId>
<artifactId>GriefPrevention</artifactId>
<version>16.17.1</version>
<version>16.18.1</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,34 @@
import me.ryanhamshire.GriefPrevention.DataStore;
import me.ryanhamshire.GriefPrevention.GriefPrevention;
import me.ryanhamshire.GriefPrevention.events.ClaimCreatedEvent;
import me.ryanhamshire.GriefPrevention.events.ClaimResizeEvent;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.Coordinate;
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.Land;
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.ProtectionProvider;
import net.sacredlabyrinth.phaed.simpleclans.managers.ClanManager;
import net.sacredlabyrinth.phaed.simpleclans.managers.ProtectionManager;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.OfflinePlayer;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.*;

@SuppressWarnings("unused")
public class GriefPreventionProvider implements ProtectionProvider {
public class GriefPreventionProvider implements ProtectionProvider, Listener {

@Override
public void setup() {
Bukkit.getPluginManager().registerEvents(this, SimpleClans.getInstance());
}

@Override
Expand Down Expand Up @@ -104,4 +113,25 @@ private UUID getOwnerID(@NotNull Claim claim) {
return Bukkit.getOfflinePlayer(claim.getOwnerName()).getUniqueId();
}
}

@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
private void onResize(ClaimResizeEvent event) {
ClanManager clanManager = SimpleClans.getInstance().getClanManager();

Land originalLand = getLand(event.getFrom());
Land newLand = getLand(event.getTo());
if (originalLand == null || newLand == null) {
return;
}
for (UUID owner : originalLand.getOwners()) {
ClanPlayer cp = clanManager.getAnyClanPlayer(owner);
if (cp == null) continue;
for (ProtectionManager.Action action : ProtectionManager.Action.values()) {
if (cp.isAllowed(action, originalLand.getId())) {
cp.disallow(action, originalLand.getId());
cp.allow(action, newLand.getId());
}
}
}
}
}

0 comments on commit 2f4ad00

Please sign in to comment.