mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-08-28 08:25:56 +02:00
Lot of internal change and monetary cost (#116)
Internal changes this big was not intentional but had to do it for monetary cost excluding that: - add monetary cost, with dependency on rename dialogue - also change some a bit rename dialog
This commit is contained in:
commit
380b0de92f
40 changed files with 1702 additions and 717 deletions
|
|
@ -12,6 +12,7 @@ import xyz.alexcrea.cuanvil.command.ReloadExecutor
|
|||
import xyz.alexcrea.cuanvil.config.ConfigHolder
|
||||
import xyz.alexcrea.cuanvil.dependency.DependencyManager
|
||||
import xyz.alexcrea.cuanvil.dependency.MinecraftVersionUtil
|
||||
import xyz.alexcrea.cuanvil.dependency.economy.EconomyManager
|
||||
import xyz.alexcrea.cuanvil.dependency.util.PlatformUtil
|
||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry
|
||||
import xyz.alexcrea.cuanvil.gui.config.MainConfigGui
|
||||
|
|
@ -259,9 +260,11 @@ open class CustomAnvil : JavaPlugin() {
|
|||
MainConfigGui.getInstance().init(DependencyManager.packetManager)
|
||||
GuiSharedConstant.loadConstants()
|
||||
|
||||
// Prepare economy if possible
|
||||
EconomyManager.setupEconomy(this)
|
||||
|
||||
// Finally, re add default we may be missing
|
||||
PluginSetDefault.reAddMissingDefault()
|
||||
|
||||
}
|
||||
|
||||
fun reloadResource(
|
||||
|
|
|
|||
|
|
@ -3,12 +3,16 @@ package io.delilaheve.util
|
|||
import io.delilaheve.CustomAnvil
|
||||
import io.delilaheve.util.EnchantmentUtil.enchantmentName
|
||||
import org.bukkit.NamespacedKey
|
||||
import org.bukkit.entity.HumanEntity
|
||||
import xyz.alexcrea.cuanvil.anvil.AnvilUseType
|
||||
import xyz.alexcrea.cuanvil.config.ConfigHolder
|
||||
import xyz.alexcrea.cuanvil.config.WorkPenaltyType
|
||||
import xyz.alexcrea.cuanvil.config.WorkPenaltyType.WorkPenaltyPart
|
||||
import xyz.alexcrea.cuanvil.dependency.DependencyManager
|
||||
import xyz.alexcrea.cuanvil.dependency.economy.EconomyManager
|
||||
import xyz.alexcrea.cuanvil.enchant.CAEnchantment
|
||||
import xyz.alexcrea.cuanvil.util.AnvilUseType
|
||||
import xyz.alexcrea.cuanvil.util.dialog.AnvilRenameDialogUtil
|
||||
import java.math.BigDecimal
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
|
|
@ -72,6 +76,11 @@ object ConfigOptions {
|
|||
|
||||
const val IMMUTABLE_ENCHANTMENT_LIST = "immutable_enchantments"
|
||||
|
||||
// Monetary configs
|
||||
const val MONETARY_USAGE_ROOT = "monetary_cost"
|
||||
const val SHOULD_USE_MONEY = "$MONETARY_USAGE_ROOT.enabled"
|
||||
const val MONEY_CURRENCY = "$MONETARY_USAGE_ROOT.currency"
|
||||
const val MONETARY_MULTIPLIER_ROOT = "$MONETARY_USAGE_ROOT.multipliers"
|
||||
|
||||
// Keys for specific enchantment values
|
||||
private const val KEY_BOOK = "book"
|
||||
|
|
@ -110,6 +119,11 @@ object ConfigOptions {
|
|||
|
||||
const val DEFAULT_PER_COLOR_CODE_PERMISSION = false
|
||||
|
||||
// Monetary configs
|
||||
const val DEFAULT_SHOULD_USE_MONEY = false
|
||||
const val DEFAULT_MONEY_CURRENCY = "default"
|
||||
const val DEFAULT_MONEY_MULTIPLIER = 1.0
|
||||
|
||||
// Debug flag
|
||||
private const val DEFAULT_DEBUG_LOG = false
|
||||
private const val DEFAULT_VERBOSE_DEBUG_LOG = false
|
||||
|
|
@ -164,6 +178,11 @@ object ConfigOptions {
|
|||
// Default max before merge disabled (negative mean enabled)
|
||||
const val DEFAULT_MAX_BEFORE_MERGE_DISABLED = -1
|
||||
|
||||
// -----------
|
||||
// Permissions
|
||||
// -----------
|
||||
private const val RENAME_DIALOG_PERMISSION = "ca.rename.dialog"
|
||||
|
||||
// -------------
|
||||
// Get methods
|
||||
// -------------
|
||||
|
|
@ -452,6 +471,13 @@ object ConfigOptions {
|
|||
.getBoolean(DIALOG_RENAME_USE_PERMISSION, DEFAULT_DIALOG_RENAME_USE_PERMISSION)
|
||||
}
|
||||
|
||||
fun canUseDialogRename(player: HumanEntity): Boolean {
|
||||
if(!doRenameDialog || !AnvilRenameDialogUtil.anvilRenameDialog.canSendDialog()) return false
|
||||
if(doRenameDialogUsePermission && !player.hasPermission(RENAME_DIALOG_PERMISSION)) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* Do the dialog menu require permission
|
||||
*/
|
||||
|
|
@ -625,4 +651,29 @@ object ConfigOptions {
|
|||
return false
|
||||
}
|
||||
|
||||
/*
|
||||
* Monetary configs (only for 1.21.6+)
|
||||
* Also require dialog rename
|
||||
*/
|
||||
fun shouldUseMoney(player: HumanEntity): Boolean {
|
||||
return EconomyManager.economy?.initialized() == true &&
|
||||
canUseDialogRename(player) &&
|
||||
ConfigHolder.DEFAULT_CONFIG
|
||||
.config
|
||||
.getBoolean(SHOULD_USE_MONEY, DEFAULT_SHOULD_USE_MONEY)
|
||||
}
|
||||
|
||||
val usedCurrency: String
|
||||
get() {
|
||||
return ConfigHolder.DEFAULT_CONFIG
|
||||
.config
|
||||
.getString(MONEY_CURRENCY, DEFAULT_MONEY_CURRENCY)!!
|
||||
}
|
||||
|
||||
fun getMonetaryMultiplier(type: String): BigDecimal {
|
||||
return BigDecimal(ConfigHolder.DEFAULT_CONFIG
|
||||
.config
|
||||
.getDouble("$MONETARY_MULTIPLIER_ROOT.$type", DEFAULT_MONEY_MULTIPLIER))
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue