mirror of
https://github.com/Xiao-MoMi/Custom-Fishing.git
synced 2025-12-29 11:59:11 +00:00
1.2.23
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.*;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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.*;
|
||||
|
||||
@@ -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<ItemStack> 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<ItemStack> itemStacks){
|
||||
float totalPrice = 0;
|
||||
for (ItemStack stack : itemStacks) {
|
||||
|
||||
@@ -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<String> 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;
|
||||
|
||||
@@ -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<WrappedDataValue> 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<WrappedDataValue> wrappedDataValueList = Lists.newArrayList();
|
||||
wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> {
|
||||
|
||||
@@ -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<WrappedDataValue> wrappedDataValueList = Lists.newArrayList();
|
||||
wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> {
|
||||
|
||||
Reference in New Issue
Block a user