diamond economy integration

This commit is contained in:
Flemmli97 2022-07-27 18:34:21 +02:00
parent b9347c1e03
commit 26d2459683
5 changed files with 28 additions and 1 deletions

View File

@ -15,7 +15,7 @@ public class Flan {
public static final Logger logger = LogManager.getLogger("flan");
public static boolean permissionAPI, gunpowder, playerAbilityLib, ftbRanks, diceMCMoneySign, octoEconomy;
public static boolean permissionAPI, gunpowder, playerAbilityLib, ftbRanks, diceMCMoneySign, octoEconomy, diamondCurrency;
public static final DateTimeFormatter onlineTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");

View File

@ -65,6 +65,7 @@ dependencies {
}*/
modImplementation octo_economy_api
//modRuntimeOnly eights_economy
modImplementation diamond_economy
//modImplementation "io.github.ladysnake:PlayerAbilityLib:${rootProject.player_ability_lib}"
modCompileOnly "io.github.ladysnake:PlayerAbilityLib:${rootProject.player_ability_lib}"

View File

@ -60,6 +60,7 @@ public class FlanFabric implements ModInitializer {
Flan.playerAbilityLib = FabricLoader.getInstance().isModLoaded("playerabilitylib");
Flan.ftbRanks = FabricLoader.getInstance().isModLoaded("ftbranks");
Flan.octoEconomy = FabricLoader.getInstance().isModLoaded("octo-economy-api");
Flan.diamondCurrency = FabricLoader.getInstance().isModLoaded("diamondeconomy");
if (Flan.playerAbilityLib)
PlayerAbilityEvents.register();
if (FabricLoader.getInstance().isModLoaded("dynmap"))

View File

@ -3,6 +3,7 @@ package io.github.flemmli97.flan.fabric.platform.integration.currency;
import com.epherical.octoecon.OctoEconomy;
import com.epherical.octoecon.api.Currency;
import com.epherical.octoecon.api.user.UniqueUser;
import com.gmail.sneakdevs.diamondeconomy.DiamondUtils;
import io.github.flemmli97.flan.Flan;
import io.github.flemmli97.flan.claim.PermHelper;
import io.github.flemmli97.flan.config.ConfigHandler;
@ -58,6 +59,17 @@ public class CommandCurrencyImpl implements CommandCurrency {
data.setAdditionalClaims(data.getAdditionalClaims() - blocks);
message.accept(PermHelper.simpleColoredText(String.format(ConfigHandler.langManager.get("sellSuccess"), blocks, price), ChatFormatting.GOLD));
}
if (Flan.diamondCurrency) {
PlayerClaimData data = PlayerClaimData.get(player);
if (data.getAdditionalClaims() - Math.max(0, data.usedClaimBlocks() - data.getClaimBlocks()) < blocks) {
message.accept(PermHelper.simpleColoredText(ConfigHandler.langManager.get("sellFail"), ChatFormatting.DARK_RED));
return false;
}
double price = blocks * value;
DiamondUtils.getDatabaseManager().changeBalance(player.getUUID().toString(), (int) price);
data.setAdditionalClaims(data.getAdditionalClaims() - blocks);
message.accept(PermHelper.simpleColoredText(String.format(ConfigHandler.langManager.get("sellSuccess"), blocks, price), ChatFormatting.GOLD));
}
message.accept(PermHelper.simpleColoredText(ConfigHandler.langManager.get("currencyMissing"), ChatFormatting.DARK_RED));
return false;
}
@ -101,6 +113,18 @@ public class CommandCurrencyImpl implements CommandCurrency {
message.accept(PermHelper.simpleColoredText(ConfigHandler.langManager.get("buyFail"), ChatFormatting.DARK_RED));
return false;
}
if (Flan.diamondCurrency) {
double price = Math.max(0, blocks * value);
if (DiamondUtils.getDatabaseManager().getBalanceFromUUID(player.getUUID().toString()) >= price) {
PlayerClaimData data = PlayerClaimData.get(player);
data.setAdditionalClaims(data.getAdditionalClaims() + blocks);
DiamondUtils.getDatabaseManager().changeBalance(player.getUUID().toString(), -(int) price);
message.accept(PermHelper.simpleColoredText(String.format(ConfigHandler.langManager.get("buySuccess"), blocks, price), ChatFormatting.GOLD));
return true;
}
message.accept(PermHelper.simpleColoredText(ConfigHandler.langManager.get("buyFail"), ChatFormatting.DARK_RED));
return false;
}
message.accept(PermHelper.simpleColoredText(ConfigHandler.langManager.get("currencyMissing"), ChatFormatting.DARK_RED));
return false;
}

View File

@ -19,6 +19,7 @@ player_ability_lib=1.2.2
ftb_ranks=1900.1.9-build.42
dicemcmm=curse.maven:dicemcmoney-406972:3827507
dynmap_fabric=curse.maven:dynmap-59433:3840510
diamond_economy=curse.maven:diamondeconomy-534301:3837320
# not updated
gunpowder_currency=curse.maven:gunpowdercurrency-402041:3584557
#