FabledSkyBlock Support (Beta)

This commit is contained in:
Brianna 2020-05-29 10:59:31 -05:00
parent b12092f785
commit 6ea9ef906d
4 changed files with 33 additions and 2 deletions

View File

@ -15,6 +15,7 @@ import com.songoda.core.utils.TextUtils;
import com.songoda.epicfarming.boost.BoostData;
import com.songoda.epicfarming.boost.BoostManager;
import com.songoda.epicfarming.commands.*;
import com.songoda.epicfarming.compatibility.EpicFarmingPermission;
import com.songoda.epicfarming.farming.Farm;
import com.songoda.epicfarming.farming.FarmManager;
import com.songoda.epicfarming.farming.FarmType;
@ -37,6 +38,7 @@ import com.songoda.epicfarming.tasks.GrowthTask;
import com.songoda.epicfarming.tasks.HopperTask;
import com.songoda.epicfarming.utils.EntityUtils;
import com.songoda.epicfarming.utils.Methods;
import com.songoda.skyblock.SkyBlock;
import org.apache.commons.lang.math.NumberUtils;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@ -191,6 +193,10 @@ public class EpicFarming extends SongodaPlugin {
pluginManager.registerEvents(new InteractListeners(this), this);
pluginManager.registerEvents(new UnloadListeners(this), this);
if (pluginManager.isPluginEnabled("FabledSkyBlock")) {
SkyBlock.getInstance().getPermissionManager().registerPermission(new EpicFarmingPermission());
}
// Start tasks
this.growthTask = GrowthTask.startTask(this);
this.farmTask = FarmTask.startTask(this);

View File

@ -0,0 +1,13 @@
package com.songoda.epicfarming.compatibility;
import com.songoda.skyblock.core.compatibility.CompatibleMaterial;
import com.songoda.skyblock.permission.BasicPermission;
import com.songoda.skyblock.permission.PermissionType;
public class EpicFarmingPermission extends BasicPermission {
public EpicFarmingPermission() {
super("EpicFarming", CompatibleMaterial.END_ROD, PermissionType.GENERIC);
}
}

View File

@ -2,6 +2,8 @@ package com.songoda.epicfarming.listeners;
import com.songoda.epicfarming.EpicFarming;
import com.songoda.epicfarming.settings.Settings;
import com.songoda.skyblock.SkyBlock;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@ -20,7 +22,7 @@ public class InteractListeners implements Listener {
this.instance = instance;
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
@EventHandler(priority = EventPriority.HIGHEST)
public void onBlockInteract(PlayerInteractEvent e) {
if (e.getClickedBlock() == null
|| e.getClickedBlock().getType() != Settings.FARM_BLOCK_MATERIAL.getMaterial().getMaterial())
@ -28,6 +30,16 @@ public class InteractListeners implements Listener {
if (e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
if (Bukkit.getPluginManager().isPluginEnabled("FabledSkyBlock")) {
SkyBlock skyBlock = SkyBlock.getInstance();
if (skyBlock.getWorldManager().isIslandWorld(e.getPlayer().getWorld()))
if (!skyBlock.getPermissionManager().hasPermission(e.getPlayer(),
skyBlock.getIslandManager().getIslandAtLocation(e.getClickedBlock().getLocation()),
"EpicFarming"))
return;
}
Location location = e.getClickedBlock().getLocation();
if (instance.getFarmManager().getFarms().containsKey(location)) {

View File

@ -2,7 +2,7 @@ name: EpicFarming
description: EpicFarming
main: com.songoda.epicfarming.EpicFarming
version: maven-version-number
softdepend: [Arconix, SkyBlock, Towny, RedProtect, Kingdoms, PlotSquared, GriefPrevention, USkyBlock, ASkyBlock, WorldGuard, Factions, PlaceholderAPI, Vault, PlayerPoints, Reserve, StackMob, UltimateStacker, WildStacker]
softdepend: [FabledSkyBlock, Arconix, SkyBlock, Towny, RedProtect, Kingdoms, PlotSquared, GriefPrevention, USkyBlock, ASkyBlock, WorldGuard, Factions, PlaceholderAPI, Vault, PlayerPoints, Reserve, StackMob, UltimateStacker, WildStacker]
author: Songoda
api-version: 1.13
commands: