From 7db78b437ab62fc01f804d56d27f696a4337a009 Mon Sep 17 00:00:00 2001 From: Xiao-MoMi <70987828+Xiao-MoMi@users.noreply.github.com> Date: Wed, 8 Feb 2023 21:47:29 +0800 Subject: [PATCH] 1.2.23 --- build.gradle | 6 +++-- libs/BiomeAPI.jar | Bin 0 -> 8037 bytes .../customfishing/CustomFishing.java | 10 +++++++-- .../competition/ranking/LocalRankingImpl.java | 1 - .../competition/ranking/RedisRankingImpl.java | 1 - .../customfishing/helper/VersionHelper.java | 21 ++++++++++++++++++ .../customfishing/manager/BagDataManager.java | 1 + .../manager/IntegrationManager.java | 2 +- .../customfishing/manager/SellManager.java | 14 ++++++++++-- .../object/requirements/BiomeImpl.java | 4 +++- .../customfishing/util/ArmorStandUtil.java | 4 ++-- .../customfishing/util/FakeItemUtil.java | 2 +- 12 files changed, 53 insertions(+), 13 deletions(-) create mode 100644 libs/BiomeAPI.jar create mode 100644 src/main/java/net/momirealms/customfishing/helper/VersionHelper.java diff --git a/build.gradle b/build.gradle index 936ff704..7e7c413d 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group = 'net.momirealms' -version = '1.2.21' +version = '1.2.23' repositories { mavenCentral() @@ -48,8 +48,9 @@ repositories { dependencies { compileOnly fileTree(dir:'libs',includes:['*.jar']) + implementation fileTree(dir:'libs',includes:['BiomeAPI.jar']) compileOnly('io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT') - compileOnly 'com.github.angeschossen:LandsAPI:6.26.18' + compileOnly('com.github.angeschossen:LandsAPI:6.26.18') compileOnly('com.zaxxer:HikariCP:5.0.1') compileOnly('com.github.Archy-X:AureliumSkills:Beta1.3.6') compileOnly('com.github.TechFortress:GriefPrevention:16.18') @@ -106,6 +107,7 @@ shadowJar { relocate 'de.tr7zw', 'net.momirealms.customfishing.libs.de.tr7zw' relocate 'net.kyori', 'net.momirealms.customfishing.libs.net.kyori' relocate 'org.bstats', 'net.momirealms.customfishing.libs.org.bstats' + relocate 'net.momirealms.biomeapi', 'net.momirealms.customfishing.libs.net.momirealms.biomeapi' } tasks.register("delete", Delete).get().delete("build/libs/"+project.name+"-"+project.version+".jar") diff --git a/libs/BiomeAPI.jar b/libs/BiomeAPI.jar new file mode 100644 index 0000000000000000000000000000000000000000..a9c346d1a0990a9b3fdff14650bf650dca470dfa GIT binary patch literal 8037 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 A82|tP literal 0 HcmV?d00001 diff --git a/src/main/java/net/momirealms/customfishing/CustomFishing.java b/src/main/java/net/momirealms/customfishing/CustomFishing.java index 9e8c31a4..d1395990 100644 --- a/src/main/java/net/momirealms/customfishing/CustomFishing.java +++ b/src/main/java/net/momirealms/customfishing/CustomFishing.java @@ -20,10 +20,12 @@ package net.momirealms.customfishing; import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolManager; import net.kyori.adventure.platform.bukkit.BukkitAudiences; +import net.momirealms.biomeapi.BiomeAPI; import net.momirealms.customfishing.commands.FishingBagCommand; import net.momirealms.customfishing.commands.PluginCommand; import net.momirealms.customfishing.commands.SellFishCommand; import net.momirealms.customfishing.helper.LibraryLoader; +import net.momirealms.customfishing.helper.VersionHelper; import net.momirealms.customfishing.manager.*; import net.momirealms.customfishing.util.AdventureUtil; import net.momirealms.customfishing.util.ConfigUtil; @@ -35,7 +37,6 @@ public final class CustomFishing extends JavaPlugin { public static CustomFishing plugin; public static BukkitAudiences adventure; - public static String version; public static ProtocolManager protocolManager; private IntegrationManager integrationManager; private FishingManager fishingManager; @@ -47,6 +48,7 @@ public final class CustomFishing extends JavaPlugin { private TotemManager totemManager; private DataManager dataManager; private SellManager sellManager; + private VersionHelper versionHelper; // _ooOoo_ // o8888888o @@ -83,7 +85,6 @@ public final class CustomFishing extends JavaPlugin { public void onEnable() { adventure = BukkitAudiences.create(this); protocolManager = ProtocolLibrary.getProtocolManager(); - version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3]; this.fishingManager = new FishingManager(); this.dataManager = new DataManager(); @@ -95,6 +96,7 @@ public final class CustomFishing extends JavaPlugin { this.totemManager = new TotemManager(this); this.sellManager = new SellManager(); this.bagDataManager = new BagDataManager(); + this.versionHelper = new VersionHelper(); reloadConfig(); registerCommands(); @@ -188,4 +190,8 @@ public final class CustomFishing extends JavaPlugin { public DataManager getDataManager() { return dataManager; } + + public VersionHelper getVersionHelper() { + return versionHelper; + } } diff --git a/src/main/java/net/momirealms/customfishing/competition/ranking/LocalRankingImpl.java b/src/main/java/net/momirealms/customfishing/competition/ranking/LocalRankingImpl.java index 5fa92658..9d22cb34 100644 --- a/src/main/java/net/momirealms/customfishing/competition/ranking/LocalRankingImpl.java +++ b/src/main/java/net/momirealms/customfishing/competition/ranking/LocalRankingImpl.java @@ -18,7 +18,6 @@ package net.momirealms.customfishing.competition.ranking; import net.momirealms.customfishing.competition.CompetitionPlayer; -import net.momirealms.customfishing.manager.MessageManager; import java.util.*; diff --git a/src/main/java/net/momirealms/customfishing/competition/ranking/RedisRankingImpl.java b/src/main/java/net/momirealms/customfishing/competition/ranking/RedisRankingImpl.java index 0d995351..3cbdd112 100644 --- a/src/main/java/net/momirealms/customfishing/competition/ranking/RedisRankingImpl.java +++ b/src/main/java/net/momirealms/customfishing/competition/ranking/RedisRankingImpl.java @@ -18,7 +18,6 @@ package net.momirealms.customfishing.competition.ranking; import net.momirealms.customfishing.competition.CompetitionPlayer; -import net.momirealms.customfishing.manager.MessageManager; import net.momirealms.customfishing.util.JedisUtil; import redis.clients.jedis.Jedis; import redis.clients.jedis.resps.Tuple; diff --git a/src/main/java/net/momirealms/customfishing/helper/VersionHelper.java b/src/main/java/net/momirealms/customfishing/helper/VersionHelper.java new file mode 100644 index 00000000..a2d23802 --- /dev/null +++ b/src/main/java/net/momirealms/customfishing/helper/VersionHelper.java @@ -0,0 +1,21 @@ +package net.momirealms.customfishing.helper; + +import org.bukkit.Bukkit; + +public class VersionHelper { + + private boolean isNewerThan1_19_R2; + private String version; + + public boolean isVersionNewerThan1_19_R2() { + if (version == null) { + version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3]; + String[] split = version.split("_"); + int main_ver = Integer.parseInt(split[1]); + if (main_ver >= 20) isNewerThan1_19_R2 = true; + else if (main_ver == 19) isNewerThan1_19_R2 = Integer.parseInt(split[2].substring(1)) >= 2; + else isNewerThan1_19_R2 = false; + } + return isNewerThan1_19_R2; + } +} diff --git a/src/main/java/net/momirealms/customfishing/manager/BagDataManager.java b/src/main/java/net/momirealms/customfishing/manager/BagDataManager.java index 1d700f31..6a0f93ce 100644 --- a/src/main/java/net/momirealms/customfishing/manager/BagDataManager.java +++ b/src/main/java/net/momirealms/customfishing/manager/BagDataManager.java @@ -134,6 +134,7 @@ public class BagDataManager extends Function { } public void readData(Player player) { + if (player == null || !player.isOnline()) return; Inventory inventory = CustomFishing.plugin.getDataManager().getDataStorageInterface().loadBagData(player); if (inventory != null) { PlayerBagData playerBagData = new PlayerBagData(player, inventory); diff --git a/src/main/java/net/momirealms/customfishing/manager/IntegrationManager.java b/src/main/java/net/momirealms/customfishing/manager/IntegrationManager.java index 7071aa1f..72f0beaf 100644 --- a/src/main/java/net/momirealms/customfishing/manager/IntegrationManager.java +++ b/src/main/java/net/momirealms/customfishing/manager/IntegrationManager.java @@ -28,9 +28,9 @@ import net.momirealms.customfishing.integration.item.*; import net.momirealms.customfishing.integration.mob.MythicMobsMobImpl; import net.momirealms.customfishing.integration.papi.PlaceholderManager; import net.momirealms.customfishing.integration.quest.BattlePassCFQuest; +import net.momirealms.customfishing.integration.quest.ClueScrollCFQuest; import net.momirealms.customfishing.integration.quest.NewBetonQuestCFQuest; import net.momirealms.customfishing.integration.quest.OldBetonQuestCFQuest; -import net.momirealms.customfishing.integration.quest.ClueScrollCFQuest; import net.momirealms.customfishing.integration.season.CustomCropsSeasonImpl; import net.momirealms.customfishing.integration.season.RealisticSeasonsImpl; import net.momirealms.customfishing.integration.skill.*; diff --git a/src/main/java/net/momirealms/customfishing/manager/SellManager.java b/src/main/java/net/momirealms/customfishing/manager/SellManager.java index f8893cc9..40fd0653 100644 --- a/src/main/java/net/momirealms/customfishing/manager/SellManager.java +++ b/src/main/java/net/momirealms/customfishing/manager/SellManager.java @@ -51,6 +51,7 @@ import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.PlayerInventory; import java.util.*; @@ -142,6 +143,7 @@ public class SellManager extends Function { @Override public void onJoin(Player player) { Bukkit.getScheduler().runTaskLaterAsynchronously(CustomFishing.plugin, () -> { + if (player == null || !player.isOnline()) return; CustomFishing.plugin.getDataManager().getDataStorageInterface().loadSellCache(player); }, 20); } @@ -344,13 +346,21 @@ public class SellManager extends Function { } private void returnItems(List itemStacks, Player player){ - Inventory inventory = player.getInventory(); + PlayerInventory inventory = player.getInventory(); for (ItemStack stack : itemStacks) { if (stack == null || stack.getType() == Material.AIR) continue; - inventory.addItem(stack); + if (hasEmptySlot(inventory)) inventory.addItem(stack); + else player.getLocation().getWorld().dropItemNaturally(player.getLocation(), stack); } } + private boolean hasEmptySlot(PlayerInventory inventory) { + for (ItemStack itemStack : inventory.getStorageContents()) { + if (itemStack == null || itemStack.getType() == Material.AIR) return true; + } + return false; + } + private float getTotalPrice(List itemStacks){ float totalPrice = 0; for (ItemStack stack : itemStacks) { diff --git a/src/main/java/net/momirealms/customfishing/object/requirements/BiomeImpl.java b/src/main/java/net/momirealms/customfishing/object/requirements/BiomeImpl.java index 24838d82..e2f82863 100644 --- a/src/main/java/net/momirealms/customfishing/object/requirements/BiomeImpl.java +++ b/src/main/java/net/momirealms/customfishing/object/requirements/BiomeImpl.java @@ -17,6 +17,8 @@ package net.momirealms.customfishing.object.requirements; +import net.momirealms.biomeapi.BiomeAPI; +import net.momirealms.customfishing.CustomFishing; import net.momirealms.customfishing.object.fishing.FishingCondition; import java.util.List; @@ -25,7 +27,7 @@ public record BiomeImpl(List biomes) implements RequirementInterface { @Override public boolean isConditionMet(FishingCondition fishingCondition) { - String currentBiome = fishingCondition.getLocation().getBlock().getBiome().getKey().toString(); + String currentBiome = BiomeAPI.getBiome(fishingCondition.getLocation()); for (String biome : biomes) { if (currentBiome.equalsIgnoreCase(biome)) { return true; diff --git a/src/main/java/net/momirealms/customfishing/util/ArmorStandUtil.java b/src/main/java/net/momirealms/customfishing/util/ArmorStandUtil.java index 1e8c9760..2d354893 100644 --- a/src/main/java/net/momirealms/customfishing/util/ArmorStandUtil.java +++ b/src/main/java/net/momirealms/customfishing/util/ArmorStandUtil.java @@ -54,7 +54,7 @@ public class ArmorStandUtil { public static PacketContainer getMetaPacket(int id) { PacketContainer metaPacket = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA); metaPacket.getIntegers().write(0, id); - if (CustomFishing.version.equals("v1_19_R2")) { + if (CustomFishing.getInstance().getVersionHelper().isVersionNewerThan1_19_R2()) { WrappedDataWatcher wrappedDataWatcher = createDataWatcher(); List wrappedDataValueList = Lists.newArrayList(); wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> { @@ -71,7 +71,7 @@ public class ArmorStandUtil { public static PacketContainer getMetaPacket(int id, String text) { PacketContainer metaPacket = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA); metaPacket.getIntegers().write(0, id); - if (CustomFishing.version.equals("v1_19_R2")) { + if (CustomFishing.getInstance().getVersionHelper().isVersionNewerThan1_19_R2()) { WrappedDataWatcher wrappedDataWatcher = createDataWatcher(text); List wrappedDataValueList = Lists.newArrayList(); wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> { diff --git a/src/main/java/net/momirealms/customfishing/util/FakeItemUtil.java b/src/main/java/net/momirealms/customfishing/util/FakeItemUtil.java index babc5381..e91e1347 100644 --- a/src/main/java/net/momirealms/customfishing/util/FakeItemUtil.java +++ b/src/main/java/net/momirealms/customfishing/util/FakeItemUtil.java @@ -37,7 +37,7 @@ public class FakeItemUtil { public static PacketContainer getMetaPacket(int id, ItemStack itemStack) { PacketContainer metaPacket = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA); metaPacket.getIntegers().write(0, id); - if (CustomFishing.version.equals("v1_19_R2")) { + if (CustomFishing.getInstance().getVersionHelper().isVersionNewerThan1_19_R2()) { WrappedDataWatcher wrappedDataWatcher = createDataWatcher(itemStack); List wrappedDataValueList = Lists.newArrayList(); wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> {