mirror of
https://github.com/Auxilor/Reforges.git
synced 2025-12-30 20:39:13 +00:00
Merge pull request #5
UltimateSkills integration (2 effects) and PlayerPoints integration
This commit is contained in:
@@ -30,6 +30,7 @@ allprojects {
|
|||||||
maven { url 'https://jitpack.io' }
|
maven { url 'https://jitpack.io' }
|
||||||
maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
|
maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
|
||||||
maven { url 'https://papermc.io/repo/repository/maven-public/' }
|
maven { url 'https://papermc.io/repo/repository/maven-public/' }
|
||||||
|
maven { url 'https://repo.rosewooddev.io/repository/public/' }
|
||||||
}
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
@@ -37,6 +38,7 @@ allprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
compileOnly 'org.black_ixx:playerpoints:3.0.0'
|
||||||
compileOnly 'com.willfp:eco:6.9.0'
|
compileOnly 'com.willfp:eco:6.9.0'
|
||||||
|
|
||||||
compileOnly 'org.jetbrains:annotations:19.0.0'
|
compileOnly 'org.jetbrains:annotations:19.0.0'
|
||||||
|
|||||||
@@ -2,11 +2,14 @@ group 'com.willfp'
|
|||||||
version rootProject.version
|
version rootProject.version
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
compileOnly fileTree(dir: '../../lib', include: ['*.jar'])
|
||||||
compileOnly 'io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT'
|
compileOnly 'io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT'
|
||||||
compileOnly 'com.github.MilkBowl:VaultAPI:1.7'
|
compileOnly 'com.github.MilkBowl:VaultAPI:1.7'
|
||||||
compileOnly 'com.willfp:EcoSkills:1.4.0'
|
compileOnly 'com.willfp:EcoSkills:1.4.0'
|
||||||
compileOnly 'com.willfp:Talismans:4.6.0'
|
compileOnly 'com.willfp:Talismans:4.6.0'
|
||||||
compileOnly 'com.github.Archy-X:AureliumSkills:Beta1.2.4'
|
compileOnly 'com.github.Archy-X:AureliumSkills:Beta1.2.4'
|
||||||
|
compileOnly 'org.black_ixx:playerpoints:3.0.0'
|
||||||
|
compileOnly fileTree(dir: '../../lib', include: ['*.jar'])
|
||||||
}
|
}
|
||||||
|
|
||||||
build.dependsOn publishToMavenLocal
|
build.dependsOn publishToMavenLocal
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import com.willfp.reforges.effects.Effects;
|
|||||||
import com.willfp.reforges.integrations.aureliumskills.AureliumSkillsIntegration;
|
import com.willfp.reforges.integrations.aureliumskills.AureliumSkillsIntegration;
|
||||||
import com.willfp.reforges.integrations.ecoskills.EcoSkillsIntegration;
|
import com.willfp.reforges.integrations.ecoskills.EcoSkillsIntegration;
|
||||||
import com.willfp.reforges.integrations.talismans.TalismansIntegration;
|
import com.willfp.reforges.integrations.talismans.TalismansIntegration;
|
||||||
|
import com.willfp.reforges.integrations.ultimateskills.UltimateSkillsIntegration;
|
||||||
import com.willfp.reforges.reforges.Reforge;
|
import com.willfp.reforges.reforges.Reforge;
|
||||||
import com.willfp.reforges.reforges.Reforges;
|
import com.willfp.reforges.reforges.Reforges;
|
||||||
import com.willfp.reforges.reforges.util.ReforgeArgParser;
|
import com.willfp.reforges.reforges.util.ReforgeArgParser;
|
||||||
@@ -128,8 +129,10 @@ public class ReforgesPlugin extends EcoPlugin {
|
|||||||
@Override
|
@Override
|
||||||
protected List<IntegrationLoader> loadIntegrationLoaders() {
|
protected List<IntegrationLoader> loadIntegrationLoaders() {
|
||||||
return Arrays.asList(
|
return Arrays.asList(
|
||||||
|
new IntegrationLoader("UltimateSkills", UltimateSkillsIntegration.INSTANCE::load),
|
||||||
new IntegrationLoader("EcoSkills", EcoSkillsIntegration.INSTANCE::load),
|
new IntegrationLoader("EcoSkills", EcoSkillsIntegration.INSTANCE::load),
|
||||||
new IntegrationLoader("Talismans", TalismansIntegration.INSTANCE::registerProvider),
|
new IntegrationLoader("Talismans", TalismansIntegration.INSTANCE::registerProvider),
|
||||||
|
new IntegrationLoader("PlayerPoints", () -> EconomyHandler.setUsePlayerPoints(true)),
|
||||||
new IntegrationLoader("AureliumSkills", AureliumSkillsIntegration.INSTANCE::load)
|
new IntegrationLoader("AureliumSkills", AureliumSkillsIntegration.INSTANCE::load)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,18 @@
|
|||||||
package com.willfp.reforges.vault;
|
package com.willfp.reforges.vault;
|
||||||
|
|
||||||
|
import com.willfp.reforges.ReforgesPlugin;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
|
import org.black_ixx.playerpoints.PlayerPoints;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||||
|
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
|
|
||||||
@UtilityClass
|
@UtilityClass
|
||||||
public final class EconomyHandler {
|
public final class EconomyHandler {
|
||||||
/**
|
/**
|
||||||
@@ -13,6 +20,9 @@ public final class EconomyHandler {
|
|||||||
*/
|
*/
|
||||||
private static Economy instance = null;
|
private static Economy instance = null;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private static boolean usePlayerPoints = false;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
private static boolean enabled = false;
|
private static boolean enabled = false;
|
||||||
|
|
||||||
@@ -34,6 +44,18 @@ public final class EconomyHandler {
|
|||||||
return EconomyHandler.instance;
|
return EconomyHandler.instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean has(Player player, double amount) {
|
||||||
|
if (usePlayerPoints && ReforgesPlugin.getInstance().getConfigYml().getBool("reforge.use-player-points")) {
|
||||||
|
try {
|
||||||
|
return PlayerPoints.getInstance().getAPI().lookAsync(player.getUniqueId()).get() >= amount;
|
||||||
|
} catch (ExecutionException | InterruptedException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return getInstance().has(player, amount);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isEnabled() {
|
public static boolean isEnabled() {
|
||||||
return EconomyHandler.enabled;
|
return EconomyHandler.enabled;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.willfp.reforges.integrations.ultimateskills
|
||||||
|
|
||||||
|
import com.willfp.eco.core.config.interfaces.JSONConfig
|
||||||
|
import com.willfp.eco.util.NumberUtils
|
||||||
|
import com.willfp.reforges.ReforgesPlugin
|
||||||
|
import com.willfp.reforges.effects.Effect
|
||||||
|
import mc.ultimatecore.skills.HyperSkills
|
||||||
|
import mc.ultimatecore.skills.objects.abilities.Ability
|
||||||
|
import mc.ultimatecore.skills.objects.perks.Perk
|
||||||
|
import org.bukkit.entity.Player
|
||||||
|
import org.bukkit.persistence.PersistentDataType
|
||||||
|
|
||||||
|
class EffectAddAbility : Effect("add_ultimateskills_ability") {
|
||||||
|
|
||||||
|
override fun handleEnable(
|
||||||
|
player: Player,
|
||||||
|
config: JSONConfig
|
||||||
|
) {
|
||||||
|
HyperSkills.getInstance().api.addAbility(
|
||||||
|
player.uniqueId,
|
||||||
|
Ability.valueOf(config.getString("ability", false)),
|
||||||
|
config.getDouble("amount")
|
||||||
|
)
|
||||||
|
player.persistentDataContainer.set(
|
||||||
|
ReforgesPlugin.getInstance().namespacedKeyFactory.create("addAbility"), PersistentDataType.STRING,
|
||||||
|
NumberUtils.format(config.getDouble("amount")) + "::" + config.getString("ability", false)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun handleDisable(player: Player) {
|
||||||
|
player.persistentDataContainer.get(ReforgesPlugin.getInstance().namespacedKeyFactory.create("addAbility"), PersistentDataType.STRING)
|
||||||
|
?.let {
|
||||||
|
HyperSkills.getInstance().api.removeAbility(
|
||||||
|
player.uniqueId,
|
||||||
|
Ability.valueOf(it.split("::")[1]),
|
||||||
|
it.split("::")[0].toDouble()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package com.willfp.reforges.integrations.ultimateskills
|
||||||
|
|
||||||
|
import com.archyx.aureliumskills.api.AureliumAPI
|
||||||
|
import com.archyx.aureliumskills.stats.Stats
|
||||||
|
import com.willfp.eco.core.config.interfaces.JSONConfig
|
||||||
|
import com.willfp.eco.util.NumberUtils
|
||||||
|
import com.willfp.reforges.ReforgesPlugin
|
||||||
|
import com.willfp.reforges.effects.Effect
|
||||||
|
import com.willfp.reforges.effects.getEffectAmount
|
||||||
|
import mc.ultimatecore.skills.HyperSkills
|
||||||
|
import mc.ultimatecore.skills.api.HyperSkillsAPI
|
||||||
|
import mc.ultimatecore.skills.objects.perks.Perk
|
||||||
|
import org.bukkit.entity.Player
|
||||||
|
import org.bukkit.persistence.PersistentDataType
|
||||||
|
|
||||||
|
class EffectAddPerk : Effect("add_ultimateskills_perk") {
|
||||||
|
|
||||||
|
override fun handleEnable(
|
||||||
|
player: Player,
|
||||||
|
config: JSONConfig
|
||||||
|
) {
|
||||||
|
HyperSkills.getInstance().api.addPerk(
|
||||||
|
player.uniqueId,
|
||||||
|
Perk.valueOf(config.getString("perk", false)),
|
||||||
|
config.getDouble("amount")
|
||||||
|
)
|
||||||
|
player.persistentDataContainer.set(ReforgesPlugin.getInstance().namespacedKeyFactory.create("addPerk"), PersistentDataType.STRING,
|
||||||
|
NumberUtils.format(config.getDouble("amount")) + "::" + config.getString("perk", false)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun handleDisable(player: Player) {
|
||||||
|
player.persistentDataContainer.get(ReforgesPlugin.getInstance().namespacedKeyFactory.create("addPerk"), PersistentDataType.STRING)
|
||||||
|
?.let {
|
||||||
|
HyperSkills.getInstance().api.removePerk(
|
||||||
|
player.uniqueId,
|
||||||
|
Perk.valueOf(it.split("::")[1]),
|
||||||
|
it.split("::")[0].toDouble()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.willfp.reforges.integrations.ultimateskills
|
||||||
|
|
||||||
|
import com.willfp.eco.core.integrations.Integration
|
||||||
|
import com.willfp.reforges.effects.Effect
|
||||||
|
|
||||||
|
object UltimateSkillsIntegration : Integration {
|
||||||
|
private lateinit var ADD_PERK: Effect
|
||||||
|
private lateinit var ADD_ABILITY: Effect
|
||||||
|
|
||||||
|
fun load() {
|
||||||
|
ADD_PERK = EffectAddPerk()
|
||||||
|
ADD_ABILITY = EffectAddAbility()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getPluginName(): String {
|
||||||
|
return "UltimateSkills"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -123,6 +123,7 @@ gui:
|
|||||||
reforge:
|
reforge:
|
||||||
cost: 7500
|
cost: 7500
|
||||||
xp-cost: 0 # In levels
|
xp-cost: 0 # In levels
|
||||||
|
use-player-points: false
|
||||||
|
|
||||||
cost-exponent: 1.15 # (Reforges done ^ cost exponent) * cost
|
cost-exponent: 1.15 # (Reforges done ^ cost exponent) * cost
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ softdepend:
|
|||||||
- EcoSkills
|
- EcoSkills
|
||||||
- Talismans
|
- Talismans
|
||||||
- AureliumSkills
|
- AureliumSkills
|
||||||
|
- PlayerPoints
|
||||||
libraries:
|
libraries:
|
||||||
- 'org.jetbrains.kotlin:kotlin-stdlib:1.5.21'
|
- 'org.jetbrains.kotlin:kotlin-stdlib:1.5.21'
|
||||||
|
|
||||||
|
|||||||
BIN
lib/UltimateHelper.jar
Normal file
BIN
lib/UltimateHelper.jar
Normal file
Binary file not shown.
BIN
lib/UltimateSkills.jar
Normal file
BIN
lib/UltimateSkills.jar
Normal file
Binary file not shown.
Reference in New Issue
Block a user