Added FSB support

This commit is contained in:
Fabrizio La Rosa 2020-07-06 10:27:30 +02:00 committed by Brianna
parent 4a769e95bd
commit 986985fd6f
5 changed files with 50 additions and 4 deletions

View File

@ -101,5 +101,10 @@
<version>LATEST</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.songoda</groupId>
<artifactId>skyblock</artifactId>
<version>2.2.13</version>
</dependency>
</dependencies>
</project>

View File

@ -11,6 +11,7 @@ import com.songoda.core.hooks.HologramManager;
import com.songoda.epicfurnaces.boost.BoostData;
import com.songoda.epicfurnaces.boost.BoostManager;
import com.songoda.epicfurnaces.commands.*;
import com.songoda.epicfurnaces.compatibility.EpicFurnacesPermission;
import com.songoda.epicfurnaces.furnace.Furnace;
import com.songoda.epicfurnaces.furnace.FurnaceBuilder;
import com.songoda.epicfurnaces.furnace.FurnaceManager;
@ -24,6 +25,8 @@ import com.songoda.epicfurnaces.storage.types.StorageYaml;
import com.songoda.epicfurnaces.tasks.FurnaceTask;
import com.songoda.epicfurnaces.tasks.HologramTask;
import com.songoda.epicfurnaces.utils.Methods;
import com.songoda.skyblock.SkyBlock;
import com.songoda.skyblock.permission.BasicPermission;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
@ -35,6 +38,7 @@ import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.PluginManager;
import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -92,8 +96,19 @@ public class EpicFurnaces extends SongodaPlugin {
// Set Economy & Hologram preference
EconomyManager.getManager().setPreferredHook(Settings.ECONOMY_PLUGIN.getString());
HologramManager.getManager().setPreferredHook(Settings.HOLOGRAM_PLUGIN.getString());
// Hook into FabledSkyBlock
if (Bukkit.getPluginManager().isPluginEnabled("FabledSkyBlock")) {
SkyBlock.getInstance().getPermissionManager().registerPermission(new EpicFurnacesPermission());
try {
SkyBlock.getInstance().getPermissionManager().registerPermission(
(BasicPermission) Class.forName("com.songoda.epicfurnaces.compatibility.EpicFurnacesPermission").getDeclaredConstructor().newInstance());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
e.printStackTrace();
}
}
// Register commands
this.commandManager = new CommandManager(this);
this.commandManager.addMainCommand("ef")

View File

@ -0,0 +1,13 @@
package com.songoda.epicfurnaces.compatibility;
import com.songoda.skyblock.core.compatibility.CompatibleMaterial;
import com.songoda.skyblock.permission.BasicPermission;
import com.songoda.skyblock.permission.PermissionType;
public class EpicFurnacesPermission extends BasicPermission {
public EpicFurnacesPermission() {
super("EpicFurnaces", CompatibleMaterial.FIRE_CHARGE, PermissionType.GENERIC);
}
}

View File

@ -2,6 +2,8 @@ package com.songoda.epicfurnaces.listeners;
import com.songoda.core.gui.GuiManager;
import com.songoda.epicfurnaces.EpicFurnaces;
import com.songoda.skyblock.SkyBlock;
import org.bukkit.Bukkit;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -39,7 +41,18 @@ public class InteractListeners implements Listener {
|| !player.hasPermission("EpicFurnaces.overview")) {
return;
}
if (Bukkit.getPluginManager().isPluginEnabled("FabledSkyBlock")) {
SkyBlock skyBlock = SkyBlock.getInstance();
if (skyBlock.getWorldManager().isIslandWorld(event.getPlayer().getWorld()))
if (!skyBlock.getPermissionManager().hasPermission(event.getPlayer(),
skyBlock.getIslandManager().getIslandAtLocation(event.getClickedBlock().getLocation()),
"EpicFurnaces"))
return;
}
event.setCancelled(true);
plugin.getFurnaceManager().getFurnace(block.getLocation()).overview(guiManager, player);

View File

@ -1,7 +1,7 @@
name: EpicFurnaces
description: EpicFurnaces
version: maven-version-number
softdepend: [HolographicDisplays, PlotSquared, GriefPrevention, USkyBlock, SkyBlock, WorldGuard, Factions]
softdepend: [FabledSkyBlock, HolographicDisplays, PlotSquared, GriefPrevention, USkyBlock, SkyBlock, WorldGuard, Factions]
main: com.songoda.epicfurnaces.EpicFurnaces
author: songoda
api-version: 1.13