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.capability.BlockEnergyStorageImpl
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.core.defineImpreciseFraction import ru.dbotthepony.mc.otm.core.defineImpreciseFraction
import ru.dbotthepony.mc.otm.item.EnergySwordItem
import ru.dbotthepony.mc.otm.registry.MNames import ru.dbotthepony.mc.otm.registry.MNames
interface VerboseBalanceValues { interface VerboseBalanceValues {
@ -224,6 +225,8 @@ object ServerConfig {
init { init {
specBuilder.pop() specBuilder.pop()
EnergySwordItem.registerConfig(specBuilder)
} }
init { 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.Blocks
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.material.Material import net.minecraft.world.level.material.Material
import net.minecraftforge.common.ForgeConfigSpec
import net.minecraftforge.common.ToolAction import net.minecraftforge.common.ToolAction
import net.minecraftforge.common.ToolActions import net.minecraftforge.common.ToolActions
import net.minecraftforge.common.capabilities.ICapabilityProvider 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.matteryEnergy
import ru.dbotthepony.mc.otm.capability.matteryPlayer import ru.dbotthepony.mc.otm.capability.matteryPlayer
import ru.dbotthepony.mc.otm.core.ImpreciseFraction 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.TranslatableComponent
import ru.dbotthepony.mc.otm.core.defineImpreciseFraction
import ru.dbotthepony.mc.otm.core.formatPower import ru.dbotthepony.mc.otm.core.formatPower
import ru.dbotthepony.mc.otm.core.ifPresentK import ru.dbotthepony.mc.otm.core.ifPresentK
import ru.dbotthepony.mc.otm.core.orNull import ru.dbotthepony.mc.otm.core.orNull
import ru.dbotthepony.mc.otm.registry.EMPDamageSource 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] * 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 { companion object {
val MAX_ENERGY = ImpreciseFraction(500_000) val MAX_ENERGY get() = _MAX_ENERGY.get()
val ENERGY_ZAP = ImpreciseFraction(4_000) val ENERGY_ZAP get() = _ENERGY_ZAP.get()
val ENERGY_PER_SWING = ImpreciseFraction(2_000) val ENERGY_PER_SWING get() = _ENERGY_PER_SWING.get()
val COBWEB_POWER_COST = ImpreciseFraction(2_500) val COBWEB_POWER_COST get() = _COBWEB_POWER_COST.get()
val PLANT_POWER_COST = ImpreciseFraction(500) 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 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) private val DESCRIPTION2 = TranslatableComponent("item.overdrive_that_matters.energy_sword.desc2").withStyle(ChatFormatting.DARK_GRAY)