From 76b6e574ce4240ae43e2c24f91898919c36dce35 Mon Sep 17 00:00:00 2001
From: zheng sen he <61687266+meteorOSS@users.noreply.github.com>
Date: Wed, 7 Feb 2024 23:59:03 +0800
Subject: [PATCH] support lasted version(mythiclib1.6,mmoitems6.9.4)
---
pom.xml | 12 ++++++-----
src/main/java/eu/asangarin/mana/MMOMana.java | 21 ++++++++++++++++++-
.../eu/asangarin/mana/api/ResourceData.java | 8 +++----
.../mana/manager/PlayerDataManager.java | 1 -
4 files changed, 31 insertions(+), 11 deletions(-)
diff --git a/pom.xml b/pom.xml
index 520d665..83c53e4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
eu.asangarin
MMOMana
- 1.3
+ 1.3.1-update
jar
MMOMana
@@ -80,14 +80,16 @@
net.Indyuce
MMOItems
- 6.5.4
- provided
+ 6.9.4
+ system
+ ${basedir}/src/lib/MMOItems-6.9.4.jar
io.lumine
MythicLib
- 1.0.6
- provided
+ 1.6
+ system
+ ${basedir}/src/lib/MythicLib-1.6.1.jar
me.clip
diff --git a/src/main/java/eu/asangarin/mana/MMOMana.java b/src/main/java/eu/asangarin/mana/MMOMana.java
index 76021e4..b14c795 100644
--- a/src/main/java/eu/asangarin/mana/MMOMana.java
+++ b/src/main/java/eu/asangarin/mana/MMOMana.java
@@ -1,5 +1,8 @@
package eu.asangarin.mana;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
import java.util.logging.Level;
import eu.asangarin.mana.api.ResourceData;
@@ -8,6 +11,7 @@
import eu.asangarin.mana.comp.PAPIPlaceholders;
import eu.asangarin.mana.manager.PlayerDataManager;
import net.Indyuce.mmoitems.MMOItems;
+import net.Indyuce.mmoitems.comp.rpg.RPGHandler;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
@@ -41,7 +45,21 @@ public void onEnable() {
Bukkit.getPluginManager().disablePlugin(this);
return;
}
- MMOItems.plugin.setRPG(new DefaultHook());
+
+// MMOItems.plugin.setRPG(new DefaultHook());
+
+ try {
+ MMOItems instance = MMOItems.plugin;
+ Field rpgPluginsField = MMOItems.class.getDeclaredField("rpgPlugins");
+ rpgPluginsField.setAccessible(true);
+ List newRpgPlugins = new ArrayList<>();
+ newRpgPlugins.add(new DefaultHook());
+ rpgPluginsField.set(instance, newRpgPlugins);
+
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ e.printStackTrace();
+ }
+
Bukkit.getOnlinePlayers().forEach(this.dataManager::setup);
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
@@ -58,6 +76,7 @@ public void onEnable() {
}
}
}, 100L, config.refreshRate);
+
Bukkit.getScheduler().runTaskTimerAsynchronously(this, () -> dataManager.getLoaded().removeIf(data -> !data.toMMOLib().isOnline()), 600000L, 600000L);
}
}
diff --git a/src/main/java/eu/asangarin/mana/api/ResourceData.java b/src/main/java/eu/asangarin/mana/api/ResourceData.java
index 1cf1788..d6dae57 100644
--- a/src/main/java/eu/asangarin/mana/api/ResourceData.java
+++ b/src/main/java/eu/asangarin/mana/api/ResourceData.java
@@ -20,10 +20,10 @@ public class ResourceData {
public ResourceData(MMOPlayerData data) {
this.data = data;
- data.getStatMap().getInstance("MAX_MANA").addModifier("manaAndStamina", new StatModifier(ResourceData.StatType.MAX_MANA.getBase()));
- data.getStatMap().getInstance("MAX_STAMINA").addModifier("manaAndStamina", new StatModifier(ResourceData.StatType.MAX_STAMINA.getBase()));
- data.getStatMap().getInstance("MANA_REGENERATION").addModifier("manaAndStamina", new StatModifier(ResourceData.StatType.MANA_REGENERATION.getBase()));
- data.getStatMap().getInstance("STAMINA_REGENERATION").addModifier("manaAndStamina", new StatModifier(ResourceData.StatType.STAMINA_REGENERATION.getBase()));
+ new StatModifier("manaAndStamina","MAX_MANA", StatType.MAX_MANA.getBase()).register(data);
+ new StatModifier("manaAndStamina","MAX_STAMINA", StatType.MAX_STAMINA.getBase()).register(data);
+ new StatModifier("manaAndStamina","MANA_REGENERATION", StatType.MANA_REGENERATION.getBase()).register(data);
+ new StatModifier("manaAndStamina","STAMINA_REGENERATION", StatType.STAMINA_REGENERATION.getBase()).register(data);
this.mana = MMOMana.plugin.config.loginManaRatio / 100.0D * this.getStat(ResourceData.StatType.MAX_MANA);
this.stamina = MMOMana.plugin.config.loginStaminaRatio / 100.0D * this.getStat(ResourceData.StatType.MAX_STAMINA);
}
diff --git a/src/main/java/eu/asangarin/mana/manager/PlayerDataManager.java b/src/main/java/eu/asangarin/mana/manager/PlayerDataManager.java
index a6e74aa..920c599 100644
--- a/src/main/java/eu/asangarin/mana/manager/PlayerDataManager.java
+++ b/src/main/java/eu/asangarin/mana/manager/PlayerDataManager.java
@@ -20,7 +20,6 @@ public void setup(Player player) {
if (!this.map.containsKey(player.getUniqueId())) {
this.map.put(player.getUniqueId(), new ResourceData(MMOPlayerData.get(player)));
}
-
}
public ResourceData get(OfflinePlayer player) {