mirror of
https://github.com/songoda/EpicBuckets.git
synced 2024-09-27 13:02:54 +02:00
60 lines
1.9 KiB
Java
60 lines
1.9 KiB
Java
|
package com.songoda.epicspawners.hooks;
|
||
|
|
||
|
import com.palmergames.bukkit.towny.Towny;
|
||
|
import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
|
||
|
import com.palmergames.bukkit.towny.object.Resident;
|
||
|
import com.palmergames.bukkit.towny.object.TownyUniverse;
|
||
|
import com.songoda.epicspawners.api.utils.ClaimableProtectionPluginHook;
|
||
|
import com.songoda.epicspawners.utils.Debugger;
|
||
|
import org.bukkit.Location;
|
||
|
import org.bukkit.entity.Player;
|
||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||
|
|
||
|
public class HookTowny implements ClaimableProtectionPluginHook {
|
||
|
|
||
|
private final Towny towny;
|
||
|
|
||
|
public HookTowny() {
|
||
|
this.towny = Towny.getPlugin();
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public JavaPlugin getPlugin() {
|
||
|
return towny;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean canBuild(Player player, Location location) {
|
||
|
if (TownyUniverse.isWilderness(location.getBlock()) || !TownyUniverse.getTownBlock(location).hasTown())
|
||
|
return true;
|
||
|
|
||
|
try {
|
||
|
Resident resident = TownyUniverse.getDataSource().getResident(player.getName());
|
||
|
return resident.hasTown() && TownyUniverse.getTownName(location).equals(resident.getTown().getName());
|
||
|
} catch (NotRegisteredException e) {
|
||
|
Debugger.runReport(e);
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean isInClaim(Location location, String id) {
|
||
|
try {
|
||
|
return TownyUniverse.isWilderness(location.getBlock()) && TownyUniverse.getTownBlock(location).getTown().getUID().toString().equals(id);
|
||
|
} catch (NotRegisteredException e) {
|
||
|
Debugger.runReport(e);
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public String getClaimID(String name) {
|
||
|
try {
|
||
|
return TownyUniverse.getDataSource().getTown(name).getUID().toString();
|
||
|
} catch (NotRegisteredException e) {
|
||
|
Debugger.runReport(e);
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|