Updates Lands-ProtectionHook to use v6 of the API

The API changed and we are 2 major versions behind
This drops support for outdated version of *Lands* and re-adds support for the latest version.
This commit is contained in:
Christian Koop 2023-03-09 15:53:21 +01:00
parent 5199043a4b
commit a79677d261
No known key found for this signature in database
GPG Key ID: 89A8181384E010A3
2 changed files with 13 additions and 13 deletions

View File

@ -376,9 +376,9 @@
</dependency>
<dependency>
<groupId>me.angeschossen</groupId>
<groupId>com.github.Angeschossen</groupId>
<artifactId>LandsAPI</artifactId>
<version>4.12.20</version>
<version>6.28.11</version>
<scope>provided</scope>
</dependency>

View File

@ -1,8 +1,9 @@
package com.songoda.core.hooks.protection;
import me.angeschossen.lands.api.integration.LandsIntegration;
import me.angeschossen.lands.api.LandsIntegration;
import me.angeschossen.lands.api.flags.type.Flags;
import me.angeschossen.lands.api.flags.type.RoleFlag;
import me.angeschossen.lands.api.land.Area;
import me.angeschossen.lands.api.role.enums.RoleSetting;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@ -13,32 +14,31 @@ public class LandsProtection extends Protection {
public LandsProtection(Plugin plugin) {
super(plugin);
this.landsIntegration = new LandsIntegration(plugin);
this.landsIntegration = LandsIntegration.of(plugin);
}
@Override
public boolean canPlace(Player player, Location location) {
return hasPerms(player, location, RoleSetting.BLOCK_PLACE);
return hasPerms(player, location, Flags.BLOCK_PLACE);
}
@Override
public boolean canBreak(Player player, Location location) {
return hasPerms(player, location, RoleSetting.BLOCK_BREAK);
return hasPerms(player, location, Flags.BLOCK_BREAK);
}
@Override
public boolean canInteract(Player player, Location location) {
return hasPerms(player, location, RoleSetting.INTERACT_CONTAINER);
return hasPerms(player, location, Flags.INTERACT_CONTAINER);
}
private boolean hasPerms(Player player, Location location, RoleSetting roleSetting) {
Area area = landsIntegration.getAreaByLoc(location);
private boolean hasPerms(Player player, Location location, RoleFlag roleFlag) {
Area area = this.landsIntegration.getArea(location);
if (area == null) {
return true;
}
return area.canSetting(player, roleSetting, false);
return area.getRole(player.getUniqueId()).hasFlag(roleFlag);
}
@Override
@ -48,6 +48,6 @@ public class LandsProtection extends Protection {
@Override
public boolean isEnabled() {
return landsIntegration != null;
return this.landsIntegration != null;
}
}