Add energy sword config values

This commit is contained in:
DBotThePony 2022-10-01 20:50:57 +07:00
parent c4d683fe7b
commit 2238266224
Signed by: DBot
GPG Key ID: DCC23B5715498507
2 changed files with 30 additions and 5 deletions

View File

@ -16,6 +16,7 @@ import ru.dbotthepony.mc.otm.block.entity.matter.MatterScannerBlockEntity
import ru.dbotthepony.mc.otm.capability.BlockEnergyStorageImpl
import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.core.defineImpreciseFraction
import ru.dbotthepony.mc.otm.item.EnergySwordItem
import ru.dbotthepony.mc.otm.registry.MNames
interface VerboseBalanceValues {
@ -224,6 +225,8 @@ object ServerConfig {
init {
specBuilder.pop()
EnergySwordItem.registerConfig(specBuilder)
}
init {

View File

@ -20,6 +20,7 @@ import net.minecraft.world.level.Level
import net.minecraft.world.level.block.Blocks
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.material.Material
import net.minecraftforge.common.ForgeConfigSpec
import net.minecraftforge.common.ToolAction
import net.minecraftforge.common.ToolActions
import net.minecraftforge.common.capabilities.ICapabilityProvider
@ -33,11 +34,14 @@ import ru.dbotthepony.mc.otm.capability.getBarWidth
import ru.dbotthepony.mc.otm.capability.matteryEnergy
import ru.dbotthepony.mc.otm.capability.matteryPlayer
import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.core.ImpreciseFractionConfigValue
import ru.dbotthepony.mc.otm.core.TranslatableComponent
import ru.dbotthepony.mc.otm.core.defineImpreciseFraction
import ru.dbotthepony.mc.otm.core.formatPower
import ru.dbotthepony.mc.otm.core.ifPresentK
import ru.dbotthepony.mc.otm.core.orNull
import ru.dbotthepony.mc.otm.registry.EMPDamageSource
import ru.dbotthepony.mc.otm.registry.WriteOnce
/**
* This is called from [net.minecraft.world.item.enchantment.EnchantmentHelper.getSweepingDamageRatio]
@ -199,11 +203,29 @@ class EnergySwordItem : Item(Properties().stacksTo(1).rarity(Rarity.RARE).tab(Ov
}
companion object {
val MAX_ENERGY = ImpreciseFraction(500_000)
val ENERGY_ZAP = ImpreciseFraction(4_000)
val ENERGY_PER_SWING = ImpreciseFraction(2_000)
val COBWEB_POWER_COST = ImpreciseFraction(2_500)
val PLANT_POWER_COST = ImpreciseFraction(500)
val MAX_ENERGY get() = _MAX_ENERGY.get()
val ENERGY_ZAP get() = _ENERGY_ZAP.get()
val ENERGY_PER_SWING get() = _ENERGY_PER_SWING.get()
val COBWEB_POWER_COST get() = _COBWEB_POWER_COST.get()
val PLANT_POWER_COST get() = _PLANT_POWER_COST.get()
private var _MAX_ENERGY: ImpreciseFractionConfigValue by WriteOnce()
private var _ENERGY_ZAP: ImpreciseFractionConfigValue by WriteOnce()
private var _ENERGY_PER_SWING: ImpreciseFractionConfigValue by WriteOnce()
private var _COBWEB_POWER_COST: ImpreciseFractionConfigValue by WriteOnce()
private var _PLANT_POWER_COST: ImpreciseFractionConfigValue by WriteOnce()
fun registerConfig(builder: ForgeConfigSpec.Builder) {
builder.comment("Energy sword values").push("energy_sword")
_MAX_ENERGY = builder.defineImpreciseFraction("MAX_ENERGY", ImpreciseFraction(500_000), ImpreciseFraction.ZERO)
_ENERGY_ZAP = builder.defineImpreciseFraction("ENERGY_ZAP", ImpreciseFraction(4_000), ImpreciseFraction.ZERO)
_ENERGY_PER_SWING = builder.defineImpreciseFraction("ENERGY_PER_SWING", ImpreciseFraction(2_000), ImpreciseFraction.ZERO)
_COBWEB_POWER_COST = builder.defineImpreciseFraction("COBWEB_POWER_COST", ImpreciseFraction(2_500), ImpreciseFraction.ZERO)
_PLANT_POWER_COST = builder.defineImpreciseFraction("PLANT_POWER_COST", ImpreciseFraction(500), ImpreciseFraction.ZERO)
builder.pop()
}
private val DESCRIPTION = TranslatableComponent("item.overdrive_that_matters.energy_sword.desc").withStyle(ChatFormatting.DARK_GRAY)
private val DESCRIPTION2 = TranslatableComponent("item.overdrive_that_matters.energy_sword.desc2").withStyle(ChatFormatting.DARK_GRAY)