diff --git a/pom.xml b/pom.xml index e9202bb..dfdc86a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xyz.etztech QoL - 1.16 + 1.15 jar @@ -62,12 +62,6 @@ 0.1-SNAPSHOT provided - - com.nisovin.shopkeepers - ShopkeepersAPI - 2.13.3 - provided - @@ -103,10 +97,6 @@ sonatype-snapshots https://oss.sonatype.org/content/repositories/snapshots - - shopkeepers-repo - https://nexus.lichtspiele.org/repository/releases/ - diff --git a/src/main/java/xyz/etztech/qol/QoL.java b/src/main/java/xyz/etztech/qol/QoL.java index 1b0b3f3..1d53475 100644 --- a/src/main/java/xyz/etztech/qol/QoL.java +++ b/src/main/java/xyz/etztech/qol/QoL.java @@ -1,6 +1,5 @@ package xyz.etztech.qol; -import com.nisovin.shopkeepers.api.ShopkeepersPlugin; import github.scarsz.discordsrv.DiscordSRV; import net.md_5.bungee.api.chat.BaseComponent; import org.bukkit.Bukkit; @@ -9,6 +8,7 @@ import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitRunnable; import org.dynmap.DynmapAPI; import org.dynmap.markers.Marker; import org.dynmap.markers.MarkerAPI; @@ -91,17 +91,10 @@ public class QoL extends JavaPlugin { } } - // DiscordSRV Hook if (Bukkit.getPluginManager().isPluginEnabled("DiscordSRV")) { new DiscordSRVListener(this); } - // Shopkeepers Hook - if (Bukkit.getPluginManager().isPluginEnabled("Shopkeepers")) { - new HeadShopListener(this); - log("Hooked in Shopkeepers for the head shop"); - } - if( isEnabled() ) { // Add listeners diff --git a/src/main/java/xyz/etztech/qol/listeners/HeadShopListener.java b/src/main/java/xyz/etztech/qol/listeners/HeadShopListener.java deleted file mode 100644 index 88b6b1a..0000000 --- a/src/main/java/xyz/etztech/qol/listeners/HeadShopListener.java +++ /dev/null @@ -1,68 +0,0 @@ -package xyz.etztech.qol.listeners; - -import com.nisovin.shopkeepers.api.ShopkeepersPlugin; -import com.nisovin.shopkeepers.api.shopkeeper.ShopkeeperRegistry; -import com.nisovin.shopkeepers.api.shopkeeper.admin.regular.RegularAdminShopkeeper; -import com.nisovin.shopkeepers.api.shopkeeper.offers.TradeOffer; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.SkullMeta; -import xyz.etztech.qol.QoL; - -import java.util.ArrayList; -import java.util.List; - -public class HeadShopListener implements Listener{ - - private final QoL plugin; - private final ShopkeepersPlugin shopkeepersAPI; - - public HeadShopListener(QoL plugin) { - this.plugin = plugin; - plugin.getServer().getPluginManager().registerEvents(this, plugin); - - this.shopkeepersAPI = ShopkeepersPlugin.getInstance(); - } - - @EventHandler - public void onJoin(PlayerJoinEvent event) { - final Player player = event.getPlayer(); - - if (shopkeepersAPI != null && player.hasPermission("qol.head_shop")) { - int shopKeeperID = plugin.getConfig().getInt("head_shop.id", -1); - - if (shopKeeperID != -1) { - ShopkeeperRegistry shopkeeperRegistry = shopkeepersAPI.getShopkeeperRegistry(); - RegularAdminShopkeeper donorHeadShop = (RegularAdminShopkeeper) shopkeeperRegistry.getShopkeeperById(shopKeeperID); - - if (donorHeadShop != null) { - // Remove the head if it already exists. This is done to refresh the skin of the head. - List tradeOffers = new ArrayList<>(donorHeadShop.getOffers()); - tradeOffers.removeIf(tradeOffer -> { - SkullMeta itemOfferMeta = (SkullMeta)tradeOffer.getResultItem().getItemMeta(); - return itemOfferMeta.getOwningPlayer().getUniqueId() == player.getUniqueId(); - }); - - donorHeadShop.setOffers(tradeOffers); - - // Add the head to the shop - int diamondPrice = plugin.getConfig().getInt("head_shop.price", 2); - ItemStack playerHead = new ItemStack(Material.PLAYER_HEAD); - SkullMeta skullMeta = (SkullMeta) playerHead.getItemMeta(); - - skullMeta.setOwningPlayer(player); - skullMeta.setDisplayName(player.getDisplayName()); - playerHead.setItemMeta(skullMeta); - - TradeOffer donorHeadTrade = TradeOffer.create(playerHead, new ItemStack(Material.DIAMOND, diamondPrice), null); - - donorHeadShop.addOffer(donorHeadTrade); - } - } - } - } -} diff --git a/src/main/java/xyz/etztech/qol/listeners/JoinListener.java b/src/main/java/xyz/etztech/qol/listeners/JoinListener.java index 5083eaa..5b12cd5 100644 --- a/src/main/java/xyz/etztech/qol/listeners/JoinListener.java +++ b/src/main/java/xyz/etztech/qol/listeners/JoinListener.java @@ -2,10 +2,13 @@ package xyz.etztech.qol.listeners; import org.bukkit.Bukkit; import org.bukkit.ChatColor; +import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerLoginEvent; +import org.dynmap.markers.Marker; import xyz.etztech.qol.QoL; import xyz.etztech.qol.commands.CheckupCommand; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 6f949ef..4c297df 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -116,11 +116,3 @@ dynmap: defaults: map: "surface" zoom: 5 - -# Shopkeepers Player Head Shop -head_shop: - # Shopkeeper Shop ID, set to -1 to disable - id: -1 - # Diamond price of a head in the shop, default is 2 diamonds - price: 2 - diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 0f5958b..da07701 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,8 +4,7 @@ description: ${description} author: ${author} website: ${url} main: ${mainClass} -softdepend: [spark, dynmap, DiscordSRV, Shopkeepers] -api-version: 1.13 +softdepend: [spark, dynmap, DiscordSRV] commands: qol: description: Base command @@ -133,6 +132,3 @@ permissions: qol.discordignore: description: Ability to use the use the discordignore command default: op - qol.head_shop: - description: Controls if a player's head should be added to the head shop - default: op