diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootModifiersData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootModifiersData.kt index cd236189d..3131627ab 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootModifiersData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootModifiersData.kt @@ -4,7 +4,6 @@ import net.minecraft.resources.ResourceLocation import net.minecraft.util.valueproviders.UniformInt import net.minecraft.world.entity.EntityType import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.Rarity import net.minecraft.world.level.storage.loot.BuiltInLootTables import net.minecraft.world.level.storage.loot.predicates.LootItemCondition import net.minecraftforge.common.loot.LootTableIdCondition @@ -16,7 +15,7 @@ import ru.dbotthepony.mc.otm.data.condition.ItemInInventoryCondition import ru.dbotthepony.mc.otm.data.condition.KilledByRealPlayerOrIndirectly import ru.dbotthepony.mc.otm.data.loot.LootPoolAppender import ru.dbotthepony.mc.otm.item.ProceduralBatteryItem -import ru.dbotthepony.mc.otm.item.exopack.ProceduralExoPackSlotUpgradeItem +import ru.dbotthepony.mc.otm.item.exopack.ProceduralExopackSlotUpgradeItem import ru.dbotthepony.mc.otm.registry.MItems @Suppress("FunctionName") @@ -35,12 +34,12 @@ fun addLootModifiers(it: LootModifiers) { singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.2) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(6, 9))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(6, 9))) }, singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.05) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(9, 18))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(9, 18))) }, )) @@ -49,12 +48,12 @@ fun addLootModifiers(it: LootModifiers) { singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.1) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(4, 8))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(4, 8))) }, singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.1) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(4, 10))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(4, 10))) }, singleItem(MItems.PROCEDURAL_BATTERY) { @@ -73,12 +72,12 @@ fun addLootModifiers(it: LootModifiers) { singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.1) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(12, 18))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(12, 18))) }, singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.25) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(4, 9))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(4, 9))) }, )) @@ -87,12 +86,12 @@ fun addLootModifiers(it: LootModifiers) { singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.15) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(9, 18))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(9, 18))) }, singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.35) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(16, 28), UniformInt.of(2, 6))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(16, 28), UniformInt.of(2, 6))) }, )) @@ -101,17 +100,17 @@ fun addLootModifiers(it: LootModifiers) { singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.4) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(9, 18))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(9, 18))) }, singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.2) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(14, 27), UniformInt.of(2, 6))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(14, 27), UniformInt.of(2, 6))) }, singleItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) { chanceCondition(0.1) - apply(ProceduralExoPackSlotUpgradeItem.Randomizer(UniformInt.of(27, 56), UniformInt.of(2, 6))) + apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(27, 56), UniformInt.of(2, 6))) }, )) diff --git a/src/main/java/ru/dbotthepony/mc/otm/client/model/ExosuitModel.java b/src/main/java/ru/dbotthepony/mc/otm/client/model/ExosuitModel.java index fa3b2878a..00d07f7d8 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/client/model/ExosuitModel.java +++ b/src/main/java/ru/dbotthepony/mc/otm/client/model/ExosuitModel.java @@ -123,7 +123,7 @@ public final class ExosuitModel { return; } - if (cap.resolve().get().getHasExoPack() && cap.resolve().get().getDisplayExoPack()) { + if (cap.resolve().get().getHasExopack() && cap.resolve().get().getDisplayExopack()) { var model = getParentModel(); model.copyPropertiesTo(modelNormal); model.copyPropertiesTo(modelGlow); diff --git a/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinInventory.java b/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinInventory.java index b2104d243..0b9a709b3 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinInventory.java +++ b/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinInventory.java @@ -79,10 +79,10 @@ public class MixinInventory { ) private void clearOrCountMatchingItems(Predicate predicate, int count, Container container, CallbackInfoReturnable cir) { player.getCapability(MatteryCapability.MATTERY_PLAYER).ifPresent(it -> { - if (!it.getHasExoPack()) return; + if (!it.getHasExopack()) return; int i = cir.getReturnValue(); - i += ContainerHelper.clearOrCountMatchingItems(it.getExoPackContainer(), predicate, count - i, count == 0); + i += ContainerHelper.clearOrCountMatchingItems(it.getExopackContainer(), predicate, count - i, count == 0); cir.setReturnValue(i); }); diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt index 414a3fbcc..c81c4c3bc 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt @@ -1,7 +1,6 @@ package ru.dbotthepony.mc.otm.capability import com.google.common.collect.Streams -import earth.terrarium.botarium.common.registry.fluid.FluidSounds import net.minecraft.ChatFormatting import net.minecraft.core.Direction import net.minecraft.network.chat.Component @@ -36,7 +35,6 @@ import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.core.orNull import ru.dbotthepony.mc.otm.core.util.formatFluidLevel import java.util.IdentityHashMap -import java.util.LinkedList import java.util.stream.Stream private val LOGGER = LogManager.getLogger() @@ -226,8 +224,8 @@ fun Player.itemsStream(includeCosmetics: Boolean = true): Stream streams.add(inventory.stream()) matteryPlayer?.let { - if (it.hasExoPack) { - streams.add(it.exoPackContainer.stream()) + if (it.hasExopack) { + streams.add(it.exopackContainer.stream()) } } @@ -273,8 +271,8 @@ fun Player.awareItemsStream(includeCosmetics: Boolean = false): Stream + var hasExopack by publicSynchronizer.bool(setter = setter@{ value, access, _ -> access.write(value) if (value && ply is ServerPlayer) { @@ -209,7 +209,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial /** * Whenever to render Exopack on player */ - var displayExoPack by publicSynchronizer.bool(true).property + var displayExopack by publicSynchronizer.bool(true).property /** * Whenever to render Exopack glow in dark @@ -228,7 +228,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial valueCodec = IntValueCodec, backingMap = HashMap(), callback = { - this.exoPackSlotModifier.recompute() + this.exopackSlotModifier.recompute() }, ) @@ -237,11 +237,11 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial * * If you want to properly extend Exopack suit capacity, add your value into this map */ - val exoPackSlotModifier = UUIDIntModifiersMap(observer = observer@{ + val exopackSlotModifier = UUIDIntModifiersMap(observer = observer@{ if (it < 0) { - exoPackContainer = PlayerMatteryContainer(0) + exopackContainer = PlayerMatteryContainer(0) } else { - exoPackContainer = PlayerMatteryContainer(it) + exopackContainer = PlayerMatteryContainer(it) } }, backingMap = this.exoPackSlotModifierMap) @@ -273,7 +273,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial /** * Exopack container, which actually store items inside Exopack */ - var exoPackContainer: MatteryContainer = PlayerMatteryContainer(0) + var exopackContainer: MatteryContainer = PlayerMatteryContainer(0) private set(value) { _exoPackMenu = null field.removeFilterSynchronizer() @@ -298,7 +298,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial /** * Whenever Exopack has 3x3 crafting grid upgrade installed */ - var isExoPackCraftingUpgraded by publicSynchronizer.bool(setter = setter@{ value, access, _ -> + var isExopackCraftingUpgraded by publicSynchronizer.bool(setter = setter@{ value, access, _ -> if (value != access.readBoolean()) { access.write(value) _exoPackMenu = null @@ -400,7 +400,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial /** * Whenever player has exosuit smelting upgrade */ - var isExoPackSmeltingInstalled by synchronizer.bool(setter = { value, access, _ -> + var isExopackSmeltingInstalled by synchronizer.bool(setter = { value, access, _ -> if (value != access.readBoolean()) { access.write(value) _exoPackMenu = null @@ -413,7 +413,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial inner class SmelterBelt(index: Int) : MachineJobEventLoop(ItemJob.CODEC) { override val energy: IMatteryEnergyStorage - get() = exoPackEnergy + get() = exopackEnergy override val isBlockedByRedstone: Boolean get() = false @@ -422,7 +422,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial override fun onJobFinish(status: JobStatus) { if (output.fullyAddItem(status.job.itemStack)) { - exoPackSmelterExperience += status.job.experience + exopackSmelterExperience += status.job.experience } else { status.noItem() } @@ -431,7 +431,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial private val cache = RecipeManager.createCheck(RecipeType.SMELTING) override fun computeNextJob(): JobContainer { - if (!exoPackEnergy.batteryLevel.isPositive) return JobContainer.noEnergy() + if (!exopackEnergy.batteryLevel.isPositive) return JobContainer.noEnergy() val level = ply.level() as? ServerLevel ?: return JobContainer.failure() val recipe = cache.getRecipeFor(input, level) @@ -461,7 +461,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial val smelter2 = SmelterBelt(2) val smelters = listOf(smelter0, smelter1, smelter2) - var exoPackSmelterExperience = 0f + var exopackSmelterExperience = 0f /** * [IMatteryEnergyStorage] instance, representing Android' battery charge @@ -471,9 +471,9 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial /** * [IMatteryEnergyStorage] instance, representing Exopack battery charge */ - val exoPackEnergy = ProfiledEnergyStorage(BatteryBackedEnergyStorage(ply, synchronizer, Decimal.ZERO, ExopackConfig.ENERGY_CAPACITY, false, onChange = { for (v in smelters) v.notify(MachineJobEventLoop.IdleReason.POWER) })) + val exopackEnergy = ProfiledEnergyStorage(BatteryBackedEnergyStorage(ply, synchronizer, Decimal.ZERO, ExopackConfig.ENERGY_CAPACITY, false, onChange = { for (v in smelters) v.notify(MachineJobEventLoop.IdleReason.POWER) })) - val exoPackChargeSlots = MatteryContainer(4) + val exopackChargeSlots = MatteryContainer(4) init { savetables.int(::ticksIExist) @@ -483,22 +483,22 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial savetables.bool(::wasInLiquid) savetables.bool(::isAndroid) savetables.bool(::willBecomeAndroid) - savetables.bool(::hasExoPack, "hasExoSuit") - savetables.bool(::displayExoPack, "displayExoSuit") - savetables.bool(::isExoPackCraftingUpgraded, "isExoSuitCraftingUpgraded") + savetables.bool(::hasExopack, "hasExoSuit") + savetables.bool(::displayExopack, "displayExoSuit") + savetables.bool(::isExopackCraftingUpgraded, "isExoSuitCraftingUpgraded") savetables.int(::nextDischargeHurt) savetables.int(::nextHealTick) savetables.vector(::lastOutsideLiquid) savetables.location(::lastDimension) - savetables.stateful(::exoPackSlotModifier, "exoSuitSlotCountModifiers") - savetables.stateful(::exoPackContainer, "exoSuitContainer") + savetables.stateful(::exopackSlotModifier, "exoSuitSlotCountModifiers") + savetables.stateful(::exopackContainer, "exoSuitContainer") savetables.stateful(::androidEnergy) - savetables.stateful(::exoPackEnergy) - savetables.stateful(::exoPackChargeSlots) - savetables.float(::exoPackSmelterExperience) - savetables.bool(::isExoPackSmeltingInstalled) + savetables.stateful(::exopackEnergy, "exoPackEnergy") + savetables.stateful(::exopackChargeSlots, "exoPackChargeSlots") + savetables.float(::exopackSmelterExperience, "exoPackSmelterExperience") + savetables.bool(::isExopackSmeltingInstalled, "isExoPackSmeltingInstalled") savetables.codecNullable(::exopackColor, RGBAColor.CODECRGB) savetables.bool(::exopackGlows) @@ -877,8 +877,8 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial override fun deserializeNBT(tag: CompoundTag) { savetables.deserializeNBT(tag) - if (ply is ServerPlayer && hasExoPack) - ExopackSlotsExpandedTrigger.trigger(ply, 0, exoPackContainer.containerSize) + if (ply is ServerPlayer && hasExopack) + ExopackSlotsExpandedTrigger.trigger(ply, 0, exopackContainer.containerSize) for (filter in regularSlotFilters) { filter.value = null @@ -984,8 +984,8 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial } private fun tickInventory() { - if (hasExoPack) { - for ((i, stack) in exoPackContainer.withIndex()) { + if (hasExopack) { + for ((i, stack) in exopackContainer.withIndex()) { if (!stack.isEmpty) { stack.inventoryTick(ply.level(), ply, i + 41, false) } @@ -1042,21 +1042,21 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial } } - if (hasExoPack) { - exoPackEnergy.parent.tick() + if (hasExopack) { + exopackEnergy.parent.tick() if (!ply.isSpectator) { - if (isExoPackSmeltingInstalled) + if (isExopackSmeltingInstalled) smelters.forEach { it.think() } - if (exoPackEnergy.batteryLevel.isPositive) { - var available = exoPackEnergy.extractEnergy(exoPackEnergy.batteryLevel, true) + if (exopackEnergy.batteryLevel.isPositive) { + var available = exopackEnergy.extractEnergy(exopackEnergy.batteryLevel, true) - if (!exoPackChargeSlots.isEmpty) { - for (item in exoPackChargeSlots) { + if (!exopackChargeSlots.isEmpty) { + for (item in exopackChargeSlots) { if (item.isNotEmpty) { item.energy?.let { - available -= exoPackEnergy.extractEnergy(it.receiveEnergy(available, false), false) + available -= exopackEnergy.extractEnergy(it.receiveEnergy(available, false), false) } if (!available.isPositive) break @@ -1071,7 +1071,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial if (item.isNotEmpty) { item.energy?.let { - available -= exoPackEnergy.extractEnergy(it.receiveEnergy(available, false), false) + available -= exopackEnergy.extractEnergy(it.receiveEnergy(available, false), false) } if (!available.isPositive) break @@ -1082,12 +1082,12 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial if (available.isPositive) { for (slot in exoPackSlotsChargeFlag) { - if (slot in 0 until exoPackContainer.containerSize) { - val item = exoPackContainer[slot] + if (slot in 0 until exopackContainer.containerSize) { + val item = exopackContainer[slot] if (item.isNotEmpty) { item.energy?.let { - available -= exoPackEnergy.extractEnergy(it.receiveEnergy(available, false), false) + available -= exopackEnergy.extractEnergy(it.receiveEnergy(available, false), false) } if (!available.isPositive) break @@ -1278,7 +1278,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial shouldSendIteration = false } - if (hasExoPack && ply.containerMenu == ply.inventoryMenu) { + if (hasExopack && ply.containerMenu == ply.inventoryMenu) { exoPackMenu.broadcastChanges() } @@ -1302,7 +1302,7 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial */ fun inventoryAddImpl(stack: ItemStack): Boolean { val items = ply.inventory.items - val exoPackContainer = exoPackContainer + val exoPackContainer = exopackContainer if (!stack.isStackable) { // двигаем в отфильтрованные слоты @@ -1432,15 +1432,15 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial } enum class UpgradeType(val prop: KMutableProperty1) { - CRAFTING(MatteryPlayerCapability::isExoPackCraftingUpgraded), - SMELTING(MatteryPlayerCapability::isExoPackSmeltingInstalled); + CRAFTING(MatteryPlayerCapability::isExopackCraftingUpgraded), + SMELTING(MatteryPlayerCapability::isExopackSmeltingInstalled); } @Suppress("unused") companion object { private fun setExoPack(players: Collection, hasExoPack: Boolean): Int { for (player in players) { - player.matteryPlayer?.hasExoPack = hasExoPack + player.matteryPlayer?.hasExopack = hasExoPack player.matteryPlayer?._exoPackMenu = null } @@ -1684,12 +1684,12 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial fun inventoryDropAll(inventory: Inventory) { val mattery = inventory.player.matteryPlayer ?: return - if (!mattery.hasExoPack) { + if (!mattery.hasExopack) { return } - inventory.player.dropContainer(mattery.exoPackContainer) - inventory.player.dropContainer(mattery.exoPackChargeSlots) + inventory.player.dropContainer(mattery.exopackContainer) + inventory.player.dropContainer(mattery.exopackChargeSlots) // inventory.player.dropContainer(mattery.exoPackEnergy.parent) for (smelter in mattery.smelters) { @@ -1703,12 +1703,12 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial fun inventoryClearContent(inventory: Inventory) { val mattery = inventory.player.matteryPlayer ?: return - if (!mattery.hasExoPack) { + if (!mattery.hasExopack) { return } - mattery.exoPackContainer.clearContent() - mattery.exoPackChargeSlots.clearContent() + mattery.exopackContainer.clearContent() + mattery.exopackChargeSlots.clearContent() // mattery.exoPackEnergy.parent.clearContent() for (smelter in mattery.smelters) { @@ -1721,9 +1721,9 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial @JvmStatic fun playerDestroyVanishingCursedItems(player: Player) { player.matteryPlayer?.let { - if (it.hasExoPack) { - it.exoPackContainer.vanishCursedItems() - it.exoPackChargeSlots.vanishCursedItems() + if (it.hasExopack) { + it.exopackContainer.vanishCursedItems() + it.exopackChargeSlots.vanishCursedItems() // it.exoPackEnergy.parent.vanishCursedItems() for (smelter in it.smelters) { @@ -1744,12 +1744,12 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial val matteryPlayer = player.matteryPlayer ?: return - if (!matteryPlayer.hasExoPack) { + if (!matteryPlayer.hasExopack) { return } val targetSlot = player.inventory.suitableHotbarSlot - val itemSlot = matteryPlayer.exoPackContainer.indexOfFirst { !it.isEmpty && ItemStack.isSameItemSameTags(itemStack, it) } + val itemSlot = matteryPlayer.exopackContainer.indexOfFirst { !it.isEmpty && ItemStack.isSameItemSameTags(itemStack, it) } if (itemSlot == -1) { return @@ -1777,11 +1777,11 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial val weapon = weaponItem.item as? ProjectileWeaponItem ?: return null val matteryPlayer = player.matteryPlayer ?: return null - if (!matteryPlayer.hasExoPack) { + if (!matteryPlayer.hasExopack) { return null } - val item = matteryPlayer.exoPackContainer.stream().filter(weapon.allSupportedProjectiles).findFirst().orElse(null) ?: return null + val item = matteryPlayer.exopackContainer.stream().filter(weapon.allSupportedProjectiles).findFirst().orElse(null) ?: return null return ForgeHooks.getProjectile(player, weaponItem, item) } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt index 0375aca37..f271be043 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt @@ -77,7 +77,7 @@ var inventoryScroll = 0 private fun inventoryLogic(event: ScreenEvent.Init.Post) { val player = minecraft.player?.matteryPlayer ?: return - if (!player.hasExoPack) { + if (!player.hasExopack) { return } @@ -109,7 +109,7 @@ private fun inventoryLogic(event: ScreenEvent.Init.Post) { } private class InventoryScrollbarPanel(screen: S, matteryPlayer: MatteryPlayerCapability) : DiscreteScrollBarPanel( - screen, null, { integerDivisionUp(matteryPlayer.exoPackContainer.containerSize, 9) }, { _, _, newScroll -> + screen, null, { integerDivisionUp(matteryPlayer.exopackContainer.containerSize, 9) }, { _, _, newScroll -> inventoryScroll = newScroll MenuNetworkChannel.sendToServer(InventoryScrollPacket(newScroll).also { it.play(matteryPlayer.ply) }) }, isSlim = true @@ -122,7 +122,7 @@ private fun exosuitInventoryLogic(screen: Screen, addListener: (GuiEventListener val player = minecraft.player ?: return val matteryPlayer = player.matteryPlayer ?: return - if (!matteryPlayer.hasExoPack || matteryPlayer.exoPackContainer.containerSize == 0) { + if (!matteryPlayer.hasExopack || matteryPlayer.exopackContainer.containerSize == 0) { return } @@ -225,7 +225,7 @@ fun onMouseScrolled(event: MouseScrolled.Pre) { if (ClientConfig.EXOPACK_FREE_SCROLL && widget.panel is InventoryScrollbarPanel) { val slot = screen.slotUnderMouse - if (slot != null && (slot.container == minecraft.player?.inventory && slot.containerSlot in 9 .. 35 || slot.container == minecraft.player?.matteryPlayer?.exoPackContainer)) { + if (slot != null && (slot.container == minecraft.player?.inventory && slot.containerSlot in 9 .. 35 || slot.container == minecraft.player?.matteryPlayer?.exopackContainer)) { widget.panel.mouseScrolledInner(event.mouseX, event.mouseY, event.scrollDelta) event.isCanceled = true return @@ -249,7 +249,7 @@ fun onScreenOpen(event: ScreenEvent.Opening) { val player = minecraft.player?.matteryPlayer ?: return - if (player.hasExoPack && event.newScreen is InventoryScreen) { + if (player.hasExopack && event.newScreen is InventoryScreen) { event.newScreen = ExoPackInventoryScreen(player.exoPackMenu) } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/ExoPackInventoryScreen.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/ExoPackInventoryScreen.kt index 302e1f3f6..b85143277 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/ExoPackInventoryScreen.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/ExoPackInventoryScreen.kt @@ -13,14 +13,10 @@ import ru.dbotthepony.mc.otm.client.render.sprites.sprite import ru.dbotthepony.mc.otm.client.screen.panels.* import ru.dbotthepony.mc.otm.client.screen.panels.button.LargeRectangleButtonPanel import ru.dbotthepony.mc.otm.client.screen.panels.slot.AbstractSlotPanel -import ru.dbotthepony.mc.otm.client.screen.panels.slot.BatterySlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.slot.InventorySlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.slot.SlotPanel -import ru.dbotthepony.mc.otm.client.screen.panels.util.BackgroundPanel import ru.dbotthepony.mc.otm.client.screen.panels.util.DiscreteScrollBarPanel -import ru.dbotthepony.mc.otm.client.screen.widget.HorizontalPowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel -import ru.dbotthepony.mc.otm.client.screen.widget.TallHorizontalProfiledPowerGaugePanel import ru.dbotthepony.mc.otm.client.setMousePos import ru.dbotthepony.mc.otm.client.shouldOpenVanillaInventory import ru.dbotthepony.mc.otm.compat.curios.isCuriosLoaded @@ -126,7 +122,7 @@ class ExoPackInventoryScreen(menu: ExoPackInventoryMenu) : MatteryScreen(menu: T, inventory: Inventory, tit if (menu.playerExoSuitSlots.isEmpty()) { inventoryFrame = FramePanel>(this, null, 0f, 0f, INVENTORY_FRAME_WIDTH, INVENTORY_FRAME_HEIGHT, inventory.displayName).also(this::addPanel) inventoryFrame!!.makeHelpButton().addSlotFiltersHelp().also { - if (menu.ply.matteryPlayer?.hasExoPack == true) + if (menu.ply.matteryPlayer?.hasExopack == true) it.tooltips.add(TranslatableComponent("otm.gui.help.slot_charging")) } @@ -225,7 +225,7 @@ abstract class MatteryScreen(menu: T, inventory: Inventory, tit } else { inventoryFrame = FramePanel>(this, null, 0f, 0f, INVENTORY_FRAME_WIDTH_EXTENDED, BASE_INVENTORY_FRAME_HEIGHT + AbstractSlotPanel.SIZE * inventoryRows, inventory.displayName).also(this::addPanel) inventoryFrame!!.makeHelpButton().addSlotFiltersHelp().also { - if (menu.ply.matteryPlayer?.hasExoPack == true) + if (menu.ply.matteryPlayer?.hasExopack == true) it.tooltips.add(TranslatableComponent("otm.gui.help.slot_charging")) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/EntityRendererPanel.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/EntityRendererPanel.kt index 25fa55509..119f24699 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/EntityRendererPanel.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/panels/EntityRendererPanel.kt @@ -59,7 +59,7 @@ private fun createExopackAppearanceWindow(screen: MatteryScreen<*>, matteryPlaye text = TranslatableComponent("otm.gui.exopack.toggle_visibility"), isChecked = GetterSetter.of( { - matteryPlayer.displayExoPack + matteryPlayer.displayExopack }, { if (it) { @@ -147,7 +147,7 @@ class EntityRendererPanel @JvmOverloads constructor( if (entity is Player) { val matteryPlayer = entity.matteryPlayer - if (matteryPlayer != null && matteryPlayer.hasExoPack && screen is MatteryScreen<*>) { + if (matteryPlayer != null && matteryPlayer.hasExopack && screen is MatteryScreen<*>) { exosuitButton = SmallRectangleButtonPanel(screen, this, this.width - 2f - SmallBooleanRectangleButtonPanel.SIZE, 2f, skinElement = Widgets8.EXOPACK_SHOWN, onPress = { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/ExtendedInventoryHandler.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/ExtendedInventoryHandler.kt index d27d2759c..6c3a612cc 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/ExtendedInventoryHandler.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/ExtendedInventoryHandler.kt @@ -46,8 +46,8 @@ private class MenuConfiguration( val offset = (it - 3) * 9 for (i in 0 .. 8) { - if (matteryPlayer.exoPackContainer.containerSize > i + offset) { - row.add(MatterySlot(matteryPlayer.exoPackContainer, i + offset)) + if (matteryPlayer.exopackContainer.containerSize > i + offset) { + row.add(MatterySlot(matteryPlayer.exopackContainer, i + offset)) } else { row.add(FakeSlot()) } @@ -64,13 +64,13 @@ private class MenuConfiguration( val matteryPlayer = player.matteryPlayer ?: return - if (!matteryPlayer.hasExoPack || matteryPlayer.exoPackContainer.containerSize <= (value - 1) * 9) { + if (!matteryPlayer.hasExopack || matteryPlayer.exopackContainer.containerSize <= (value - 1) * 9) { return } for (rowIndex in 0 .. 2) { for (slot in getRow(rowIndex + field, matteryPlayer)) { - if (slot.container === matteryPlayer.exoPackContainer) { + if (slot.container === matteryPlayer.exopackContainer) { @Suppress("name_shadowing") val indexOf = matteryPlayer.exoPackMenu.slots.indexOfFirst { it.slotIndex == slot.slotIndex } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/HasExoPackCondition.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/HasExoPackCondition.kt index 297e8638e..9f1ba1258 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/HasExoPackCondition.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/HasExoPackCondition.kt @@ -16,7 +16,7 @@ import ru.dbotthepony.mc.otm.registry.MLootItemConditions object HasExoPackCondition : LootItemCondition, Serializer, LootItemCondition.Builder { override fun test(t: LootContext): Boolean { t[LootContextParams.LAST_DAMAGE_PLAYER]?.matteryPlayer?.let { - return it.hasExoPack + return it.hasExopack } return false diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExoPackSlotUpgradeItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExopackSlotUpgradeItem.kt similarity index 86% rename from src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExoPackSlotUpgradeItem.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExopackSlotUpgradeItem.kt index 591ae73ac..2e667ec48 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExoPackSlotUpgradeItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExopackSlotUpgradeItem.kt @@ -24,7 +24,7 @@ import ru.dbotthepony.mc.otm.runIfClient import ru.dbotthepony.mc.otm.triggers.ExopackSlotsExpandedTrigger import java.util.UUID -abstract class AbstractExoPackSlotUpgradeItem(properties: Properties = defaultProperties()) : Item(properties) { +abstract class AbstractExopackSlotUpgradeItem(properties: Properties = defaultProperties()) : Item(properties) { abstract fun hasDescription(itemStack: ItemStack): Boolean abstract fun slotCount(itemStack: ItemStack): Int abstract fun uuid(itemStack: ItemStack): UUID? @@ -41,7 +41,7 @@ abstract class AbstractExoPackSlotUpgradeItem(properties: Properties = defaultPr super.appendHoverText(p_41421_, p_41422_, tooltip, p_41424_) val alreadyHasExosuit = runIfClient(true) { - minecraft.player?.matteryPlayer?.hasExoPack == true + minecraft.player?.matteryPlayer?.hasExopack == true } if (!alreadyHasExosuit) { @@ -55,7 +55,7 @@ abstract class AbstractExoPackSlotUpgradeItem(properties: Properties = defaultPr val uuid = uuid(p_41421_) val alreadyHas = (uuid != null && !ServerConfig.INFINITE_EXOSUIT_UPGRADES) && runIfClient(false) { - minecraft.player?.matteryPlayer?.exoPackSlotModifier?.contains(uuid) == true + minecraft.player?.matteryPlayer?.exopackSlotModifier?.contains(uuid) == true } if (alreadyHas) { @@ -74,7 +74,7 @@ abstract class AbstractExoPackSlotUpgradeItem(properties: Properties = defaultPr val uuid = uuid(player.getItemInHand(hand)) - if (matteryPlayer.hasExoPack && ((uuid == null || ServerConfig.INFINITE_EXOSUIT_UPGRADES) || uuid !in matteryPlayer.exoPackSlotModifier)) { + if (matteryPlayer.hasExopack && ((uuid == null || ServerConfig.INFINITE_EXOSUIT_UPGRADES) || uuid !in matteryPlayer.exopackSlotModifier)) { player.startUsingItem(hand) return InteractionResultHolder.consume(player.getItemInHand(hand)) } @@ -88,7 +88,7 @@ abstract class AbstractExoPackSlotUpgradeItem(properties: Properties = defaultPr val uuid = uuid(itemStack) val slotCount = slotCount(itemStack) - if (slotCount <= 0 || !matteryPlayer.hasExoPack || (!ServerConfig.INFINITE_EXOSUIT_UPGRADES && uuid != null && uuid in matteryPlayer.exoPackSlotModifier)) { + if (slotCount <= 0 || !matteryPlayer.hasExopack || (!ServerConfig.INFINITE_EXOSUIT_UPGRADES && uuid != null && uuid in matteryPlayer.exopackSlotModifier)) { return super.finishUsingItem(itemStack, level, player) } @@ -97,16 +97,16 @@ abstract class AbstractExoPackSlotUpgradeItem(properties: Properties = defaultPr if (player is ServerPlayer) { if (uuid != null) { - if (ServerConfig.INFINITE_EXOSUIT_UPGRADES && uuid in matteryPlayer.exoPackSlotModifier) { - matteryPlayer.exoPackSlotModifier[UUID.randomUUID()] = slotCount + if (ServerConfig.INFINITE_EXOSUIT_UPGRADES && uuid in matteryPlayer.exopackSlotModifier) { + matteryPlayer.exopackSlotModifier[UUID.randomUUID()] = slotCount } else { - matteryPlayer.exoPackSlotModifier[uuid] = slotCount + matteryPlayer.exopackSlotModifier[uuid] = slotCount } } else { - matteryPlayer.exoPackSlotModifier[UUID.randomUUID()] = slotCount + matteryPlayer.exopackSlotModifier[UUID.randomUUID()] = slotCount } - ExopackSlotsExpandedTrigger.trigger(player, slotCount, matteryPlayer.exoPackContainer.containerSize) + ExopackSlotsExpandedTrigger.trigger(player, slotCount, matteryPlayer.exopackContainer.containerSize) player.displayClientMessage(TranslatableComponent("otm.exopack_upgrades.slots_upgraded", slotCount).withStyle(ChatFormatting.DARK_GREEN), false) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExoPackProbeItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackProbeItem.kt similarity index 90% rename from src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExoPackProbeItem.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackProbeItem.kt index 0b76063f1..fd4a6c8a4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExoPackProbeItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackProbeItem.kt @@ -9,18 +9,16 @@ import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player import net.minecraft.world.item.* import net.minecraft.world.level.Level -import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.onceServer import ru.dbotthepony.mc.otm.capability.matteryPlayer import ru.dbotthepony.mc.otm.client.minecraft import ru.dbotthepony.mc.otm.core.damageType import ru.dbotthepony.mc.otm.registry.MDamageTypes -import ru.dbotthepony.mc.otm.registry.MRegistry import ru.dbotthepony.mc.otm.registry.MatteryDamageSource import ru.dbotthepony.mc.otm.runIfClient -class ExoPackProbeItem : Item(Properties().stacksTo(1).rarity(Rarity.EPIC)) { +class ExopackProbeItem : Item(Properties().stacksTo(1).rarity(Rarity.EPIC)) { override fun getUseDuration(p_41454_: ItemStack): Int { return 30 } @@ -29,7 +27,7 @@ class ExoPackProbeItem : Item(Properties().stacksTo(1).rarity(Rarity.EPIC)) { super.appendHoverText(p_41421_, p_41422_, tooltip, p_41424_) val alreadyHas = runIfClient(false) { - return@runIfClient minecraft.player?.matteryPlayer?.hasExoPack ?: false + return@runIfClient minecraft.player?.matteryPlayer?.hasExopack ?: false } if (alreadyHas) { @@ -42,7 +40,7 @@ class ExoPackProbeItem : Item(Properties().stacksTo(1).rarity(Rarity.EPIC)) { } override fun use(p_41432_: Level, player: Player, hand: InteractionHand): InteractionResultHolder { - if (player.matteryPlayer?.hasExoPack == false) { + if (player.matteryPlayer?.hasExopack == false) { player.startUsingItem(hand) return InteractionResultHolder.consume(player.getItemInHand(hand)) } @@ -54,7 +52,7 @@ class ExoPackProbeItem : Item(Properties().stacksTo(1).rarity(Rarity.EPIC)) { if (player !is Player) return super.finishUsingItem(itemStack, level, player) val mattery = player.matteryPlayer ?: return super.finishUsingItem(itemStack, level, player) - if (mattery.hasExoPack) { + if (mattery.hasExopack) { return super.finishUsingItem(itemStack, level, player) } @@ -64,7 +62,7 @@ class ExoPackProbeItem : Item(Properties().stacksTo(1).rarity(Rarity.EPIC)) { itemStack.shrink(1) if (player is ServerPlayer) { - mattery.hasExoPack = true + mattery.hasExopack = true player.displayClientMessage(TranslatableComponent("otm.exopack.granted1").withStyle(ChatFormatting.GRAY), false) player.displayClientMessage(TranslatableComponent("otm.exopack.granted2").withStyle(ChatFormatting.GRAY), false) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExoPackSlotUpgradeItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackSlotUpgradeItem.kt similarity index 94% rename from src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExoPackSlotUpgradeItem.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackSlotUpgradeItem.kt index dbd9535b9..ef1c5981c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExoPackSlotUpgradeItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackSlotUpgradeItem.kt @@ -6,7 +6,7 @@ import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.core.toUUID import java.util.UUID -class ExoPackSlotUpgradeItem : AbstractExoPackSlotUpgradeItem { +class ExopackSlotUpgradeItem : AbstractExopackSlotUpgradeItem { val hasDescription: Boolean val slotCount: Int diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackUpgradeItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackUpgradeItem.kt index f3ead9561..668539320 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackUpgradeItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ExopackUpgradeItem.kt @@ -32,7 +32,7 @@ class ExopackUpgradeItem( super.appendHoverText(p_41421_, p_41422_, tooltip, p_41424_) val alreadyHasExosuit = runIfClient(true) { - minecraft.player?.matteryPlayer?.hasExoPack == true + minecraft.player?.matteryPlayer?.hasExopack == true } if (!alreadyHasExosuit) { @@ -55,7 +55,7 @@ class ExopackUpgradeItem( } override fun use(p_41432_: Level, player: Player, hand: InteractionHand): InteractionResultHolder { - if (player.matteryPlayer?.hasExoPack == true && !type.prop.get(player.matteryPlayer!!)) { + if (player.matteryPlayer?.hasExopack == true && !type.prop.get(player.matteryPlayer!!)) { player.startUsingItem(hand) return InteractionResultHolder.consume(player.getItemInHand(hand)) } @@ -67,7 +67,7 @@ class ExopackUpgradeItem( if (player !is Player) return super.finishUsingItem(itemStack, level, player) val mattery = player.matteryPlayer ?: return super.finishUsingItem(itemStack, level, player) - if (!mattery.hasExoPack || type.prop.get(mattery)) { + if (!mattery.hasExopack || type.prop.get(mattery)) { return super.finishUsingItem(itemStack, level, player) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExoPackSlotUpgradeItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExopackSlotUpgradeItem.kt similarity index 96% rename from src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExoPackSlotUpgradeItem.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExopackSlotUpgradeItem.kt index 940e4d8b1..f72bb1884 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExoPackSlotUpgradeItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExopackSlotUpgradeItem.kt @@ -6,7 +6,6 @@ import net.minecraft.network.chat.Component import net.minecraft.util.valueproviders.ConstantInt import net.minecraft.util.valueproviders.IntProvider import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.Rarity import net.minecraft.world.item.TooltipFlag import net.minecraft.world.level.Level import net.minecraft.world.level.storage.loot.LootContext @@ -19,7 +18,7 @@ import ru.dbotthepony.mc.otm.data.Codec2Serializer import ru.dbotthepony.mc.otm.registry.MItemFunctionTypes import java.util.* -class ProceduralExoPackSlotUpgradeItem : AbstractExoPackSlotUpgradeItem(defaultProperties()) { +class ProceduralExopackSlotUpgradeItem : AbstractExopackSlotUpgradeItem(defaultProperties()) { class Randomizer(val slots: IntProvider, val luckBias: IntProvider = ConstantInt.ZERO) : LootItemFunction, LootItemFunction.Builder { override fun apply(t: ItemStack, u: LootContext): ItemStack { t.tagNotNull[SLOT_COUNT_KEY] = slots.sample(u.random) + (luckBias.sample(u.random) * u.luck / 1024f).coerceAtLeast(0f).toInt() diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ExoPackInventoryMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ExoPackInventoryMenu.kt index 744eea904..9194fc3c5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ExoPackInventoryMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ExoPackInventoryMenu.kt @@ -1,9 +1,7 @@ package ru.dbotthepony.mc.otm.menu import com.google.common.collect.ImmutableList -import com.mojang.datafixers.util.Pair import net.minecraft.core.NonNullList -import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerPlayer import net.minecraft.world.Container @@ -15,7 +13,6 @@ import ru.dbotthepony.mc.otm.capability.MatteryPlayerCapability import ru.dbotthepony.mc.otm.compat.curios.curiosSlots import ru.dbotthepony.mc.otm.container.iterator import ru.dbotthepony.mc.otm.menu.input.InstantBooleanInput -import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget import ru.dbotthepony.mc.otm.network.ExoSuitCarriedPacket import ru.dbotthepony.mc.otm.network.ExoSuitMenuInitPacket @@ -27,7 +24,7 @@ class ExoPackInventoryMenu(val capability: MatteryPlayerCapability) : MatteryMen val craftingSlots: List init { - if (capability.isExoPackCraftingUpgraded) { + if (capability.isExopackCraftingUpgraded) { craftingGrid = TransientCraftingContainer(this, 3, 3) } else { craftingGrid = TransientCraftingContainer(this, 2, 2) @@ -87,9 +84,9 @@ class ExoPackInventoryMenu(val capability: MatteryPlayerCapability) : MatteryMen } private fun popFurnaceExp() { - if (capability.isExoPackSmeltingInstalled && capability.exoPackSmelterExperience >= 1f && !ply.level().isClientSide) { - val whole = capability.exoPackSmelterExperience.toInt() - capability.exoPackSmelterExperience -= whole + if (capability.isExopackSmeltingInstalled && capability.exopackSmelterExperience >= 1f && !ply.level().isClientSide) { + val whole = capability.exopackSmelterExperience.toInt() + capability.exopackSmelterExperience -= whole ExperienceOrb.award(ply.level() as ServerLevel, ply.position(), whole) } } @@ -97,7 +94,7 @@ class ExoPackInventoryMenu(val capability: MatteryPlayerCapability) : MatteryMen val furnaceInputs: List = capability.smelters.map { object : MatterySlot(it.input, 0) { override fun mayPlace(itemStack: ItemStack): Boolean { - return super.mayPlace(itemStack) && capability.isExoPackSmeltingInstalled + return super.mayPlace(itemStack) && capability.isExopackSmeltingInstalled } } } @@ -105,7 +102,7 @@ class ExoPackInventoryMenu(val capability: MatteryPlayerCapability) : MatteryMen val furnaceOutputs: List = capability.smelters.map { object : MachineOutputSlot(it.output, 0, onTake = { popFurnaceExp() }) { override fun mayPickup(player: Player): Boolean { - return super.mayPickup(player) && capability.isExoPackSmeltingInstalled + return super.mayPickup(player) && capability.isExopackSmeltingInstalled } } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt index b775f81d7..73bc13ebd 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt @@ -267,8 +267,8 @@ abstract class MatteryMenu @JvmOverloads protected constructor( } override fun isSameInventory(other: Slot): Boolean { - if (container === inventory || container === ply.matteryPlayer?.exoPackContainer) - return (other.container === inventory || other.container === ply.matteryPlayer?.exoPackContainer) && isSameFilter(other) + if (container === inventory || container === ply.matteryPlayer?.exopackContainer) + return (other.container === inventory || other.container === ply.matteryPlayer?.exopackContainer) && isSameFilter(other) return super.isSameInventory(other) } @@ -296,10 +296,10 @@ abstract class MatteryMenu @JvmOverloads protected constructor( setter = input::input ) } - } else if (container === mattery.exoPackContainer) { + } else if (container === mattery.exopackContainer) { filter = GetterSetter.of( - getter = { mattery.exoPackContainer.getSlotFilter(slotIndex) }, - setter = nullableItemInput(true) { mattery.exoPackContainer.setSlotFilter(slotIndex, it) }::input + getter = { mattery.exopackContainer.getSlotFilter(slotIndex) }, + setter = nullableItemInput(true) { mattery.exopackContainer.setSlotFilter(slotIndex, it) }::input ) val input = booleanInput(true) { if (it) mattery.exoPackSlotsChargeFlag.add(slotIndex) else mattery.exoPackSlotsChargeFlag.remove(slotIndex) } @@ -367,9 +367,9 @@ abstract class MatteryMenu @JvmOverloads protected constructor( val mattery = ply.matteryPlayer - if (mattery != null && mattery.hasExoPack) { - for (i in 0 until mattery.exoPackContainer.containerSize) { - val slot = InventorySlot(mattery.exoPackContainer, i) + if (mattery != null && mattery.hasExopack) { + for (i in 0 until mattery.exopackContainer.containerSize) { + val slot = InventorySlot(mattery.exopackContainer, i) _playerInventorySlots.add(slot) _playerInventorySlots2.add(slot) @@ -381,12 +381,12 @@ abstract class MatteryMenu @JvmOverloads protected constructor( addSlot(slot) } - _exopackChargeSlots.add(BatterySlot(mattery.exoPackEnergy.parent, 0).also { mapQuickMoveToExternal(it); mapQuickMoveToInventory(it); addSlot(it) }) + _exopackChargeSlots.add(BatterySlot(mattery.exopackEnergy.parent, 0).also { mapQuickMoveToExternal(it); mapQuickMoveToInventory(it); addSlot(it) }) - for (i in 0 until mattery.exoPackChargeSlots.containerSize) - _exopackChargeSlots.add(ChargeSlot(mattery.exoPackChargeSlots, i).also { mapQuickMoveToExternal(it); mapQuickMoveToInventory(it); addSlot(it) }) + for (i in 0 until mattery.exopackChargeSlots.containerSize) + _exopackChargeSlots.add(ChargeSlot(mattery.exopackChargeSlots, i).also { mapQuickMoveToExternal(it); mapQuickMoveToInventory(it); addSlot(it) }) - exopackPowerLevel.with(mattery.exoPackEnergy) + exopackPowerLevel.with(mattery.exopackEnergy) } for (i in 0..8) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/network/MatteryPlayerNetworkChannel.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/network/MatteryPlayerNetworkChannel.kt index 3d26e222e..9634b0b73 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/network/MatteryPlayerNetworkChannel.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/network/MatteryPlayerNetworkChannel.kt @@ -6,7 +6,6 @@ import net.minecraft.network.chat.Component import net.minecraft.network.protocol.game.ClientboundSetCarriedItemPacket import net.minecraft.resources.ResourceLocation import net.minecraft.world.entity.player.Inventory -import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraftforge.network.NetworkDirection.PLAY_TO_CLIENT import net.minecraftforge.network.NetworkDirection.PLAY_TO_SERVER @@ -30,8 +29,6 @@ import ru.dbotthepony.mc.otm.container.get import ru.dbotthepony.mc.otm.container.set import ru.dbotthepony.mc.otm.core.math.RGBAColor import ru.dbotthepony.mc.otm.core.math.Vector -import ru.dbotthepony.mc.otm.core.readItemType -import ru.dbotthepony.mc.otm.core.writeItemType import ru.dbotthepony.mc.otm.menu.tech.AndroidStationMenu import ru.dbotthepony.mc.otm.menu.ExoPackInventoryMenu import ru.dbotthepony.mc.otm.registry.AndroidFeatures @@ -237,7 +234,7 @@ class ExoSuitCarriedPacket(val itemStack: ItemStack, val containerState: Int) : context.enqueueWork { val mattery = minecraft.player?.matteryPlayer ?: return@enqueueWork - if (mattery.hasExoPack) { + if (mattery.hasExopack) { mattery.exoPackMenu.carried = itemStack mattery.exoPackMenu.stateId = containerState } @@ -269,7 +266,7 @@ class ExoSuitSlotPacket(val slotId: Int, val itemStack: ItemStack, val container context.enqueueWork { val mattery = minecraft.player?.matteryPlayer ?: return@enqueueWork - if (mattery.hasExoPack) { + if (mattery.hasExopack) { if (slotId >= mattery.exoPackMenu.slots.size) { LOGGER.error("Unknown slot with ID {} in exosuit menu", slotId) return@enqueueWork @@ -312,7 +309,7 @@ class ExoSuitMenuInitPacket(val slots: List, val carried: ItemStack, context.enqueueWork { val mattery = minecraft.player?.matteryPlayer ?: return@enqueueWork - if (mattery.hasExoPack) { + if (mattery.hasExopack) { mattery.exoPackMenu.initializeContents(containerState, slots, carried) } } @@ -344,7 +341,7 @@ object ExoPackMenuOpen : MatteryPacket { val player = context.sender ?: return@enqueueWork val mattery = player.matteryPlayer ?: return@enqueueWork - if (mattery.hasExoPack) { + if (mattery.hasExopack) { player.containerMenu = mattery.exoPackMenu } } @@ -435,7 +432,7 @@ class PickItemFromInventoryPacket( val player = context.sender ?: return@enqueueWork val mattery = player.matteryPlayer ?: return@enqueueWork - if (!mattery.hasExoPack || sourceExosuitSlot !in 0 until mattery.exoPackContainer.containerSize) { + if (!mattery.hasExopack || sourceExosuitSlot !in 0 until mattery.exopackContainer.containerSize) { return@enqueueWork } @@ -445,10 +442,10 @@ class PickItemFromInventoryPacket( player.inventory.selected = targetHotbarSlot val existingItem = player.inventory[targetHotbarSlot].copy() - val inventoryItem = mattery.exoPackContainer[sourceExosuitSlot].copy() + val inventoryItem = mattery.exopackContainer[sourceExosuitSlot].copy() player.inventory[targetHotbarSlot] = if (inventoryItem.isEmpty) ItemStack.EMPTY else inventoryItem - mattery.exoPackContainer[sourceExosuitSlot] = if (existingItem.isEmpty) ItemStack.EMPTY else existingItem + mattery.exopackContainer[sourceExosuitSlot] = if (existingItem.isEmpty) ItemStack.EMPTY else existingItem player.connection.send(ClientboundSetCarriedItemPacket(targetHotbarSlot)) } @@ -502,7 +499,7 @@ object DisplayExopackPacket : MatteryPacket { override fun play(context: Supplier) { context.packetHandled = true - context.sender?.matteryPlayer?.displayExoPack = true + context.sender?.matteryPlayer?.displayExopack = true } } @@ -511,7 +508,7 @@ object HideExopackPacket : MatteryPacket { override fun play(context: Supplier) { context.packetHandled = true - context.sender?.matteryPlayer?.displayExoPack = false + context.sender?.matteryPlayer?.displayExopack = false } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemFunctionTypes.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemFunctionTypes.kt index f8005cdad..10c680a92 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemFunctionTypes.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemFunctionTypes.kt @@ -7,14 +7,14 @@ import net.minecraftforge.registries.DeferredRegister import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.data.loot.CopyTileNbtFunction import ru.dbotthepony.mc.otm.item.ProceduralBatteryItem -import ru.dbotthepony.mc.otm.item.exopack.ProceduralExoPackSlotUpgradeItem +import ru.dbotthepony.mc.otm.item.exopack.ProceduralExopackSlotUpgradeItem object MItemFunctionTypes { private val registry = DeferredRegister.create(Registries.LOOT_FUNCTION_TYPE, OverdriveThatMatters.MOD_ID) val COPY_TILE_NBT: LootItemFunctionType by registry.register("copy_tile_nbt") { LootItemFunctionType(CopyTileNbtFunction.Companion) } val PROCEDURAL_BATTERY: LootItemFunctionType by registry.register(MNames.PROCEDURAL_BATTERY) { LootItemFunctionType(ProceduralBatteryItem.Randomizer.SERIALIZER) } - val PROCEDURAL_EXOPACK_UPGRADE: LootItemFunctionType by registry.register("exopack_upgrade") { LootItemFunctionType(ProceduralExoPackSlotUpgradeItem.Randomizer.SERIALIZER) } + val PROCEDURAL_EXOPACK_UPGRADE: LootItemFunctionType by registry.register("exopack_upgrade") { LootItemFunctionType(ProceduralExopackSlotUpgradeItem.Randomizer.SERIALIZER) } internal fun register(bus: IEventBus) { registry.register(bus) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt index 9986f0f96..74847ca2d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -21,8 +21,8 @@ import ru.dbotthepony.mc.otm.core.collect.SupplierList import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.item.* -import ru.dbotthepony.mc.otm.item.exopack.ExoPackProbeItem -import ru.dbotthepony.mc.otm.item.exopack.ExoPackSlotUpgradeItem +import ru.dbotthepony.mc.otm.item.exopack.ExopackProbeItem +import ru.dbotthepony.mc.otm.item.exopack.ExopackSlotUpgradeItem import ru.dbotthepony.mc.otm.item.matter.CreativePatternItem import ru.dbotthepony.mc.otm.item.matter.MatterCapacitorItem import ru.dbotthepony.mc.otm.item.matter.MatterDustItem @@ -34,7 +34,7 @@ import ru.dbotthepony.mc.otm.item.armor.PortableGravitationStabilizerItem import ru.dbotthepony.mc.otm.item.armor.SimpleTritaniumArmorItem import ru.dbotthepony.mc.otm.item.armor.TritaniumArmorItem import ru.dbotthepony.mc.otm.item.exopack.ExopackUpgradeItem -import ru.dbotthepony.mc.otm.item.exopack.ProceduralExoPackSlotUpgradeItem +import ru.dbotthepony.mc.otm.item.exopack.ProceduralExopackSlotUpgradeItem import ru.dbotthepony.mc.otm.item.weapon.PlasmaRifleItem object MItems { @@ -509,24 +509,24 @@ object MItems { val CARGO_CRATE_MINECARTS = registry.allColored(MNames.MINECART_CARGO_CRATE) { color, _ -> MinecartCargoCrateItem(color) } - val EXOPACK_PROBE: Item by registry.register(MNames.EXOPACK_PROBE, ::ExoPackProbeItem) + val EXOPACK_PROBE: Item by registry.register(MNames.EXOPACK_PROBE, ::ExopackProbeItem) object ExopackUpgrades { - val INVENTORY_UPGRADE_CREATIVE: Item by registry.register("exosuit_inventory_upgrade_creative") { ExoPackSlotUpgradeItem(null, 27, Rarity.EPIC) } + val INVENTORY_UPGRADE_CREATIVE: Item by registry.register("exosuit_inventory_upgrade_creative") { ExopackSlotUpgradeItem(null, 27, Rarity.EPIC) } val CRAFTING_UPGRADE: Item by registry.register("exosuit_crafting_upgrade") { ExopackUpgradeItem(MatteryPlayerCapability.UpgradeType.CRAFTING, "crafting_upgrade", "crafting_upgraded") } val SMELTING_UPGRADE: Item by registry.register("exopack_smelting_upgrade") { ExopackUpgradeItem(MatteryPlayerCapability.UpgradeType.SMELTING, "smelting_upgrade", "smelting_installed") } val INVENTORY_UPGRADES = SupplierList(8) { - registry.register("exosuit_inventory_upgrade_$it") { ExoPackSlotUpgradeItem(18, Rarity.COMMON) }::get + registry.register("exosuit_inventory_upgrade_$it") { ExopackSlotUpgradeItem(18, Rarity.COMMON) }::get } - val INVENTORY_UPGRADE_PROCEDURAL: Item by registry.register("exosuit_inventory_upgrade_procedural") { ProceduralExoPackSlotUpgradeItem() } + val INVENTORY_UPGRADE_PROCEDURAL: Item by registry.register("exosuit_inventory_upgrade_procedural") { ProceduralExopackSlotUpgradeItem() } - val INVENTORY_UPGRADE_BIG: Item by registry.register("exosuit_inventory_upgrade_big") { ExoPackSlotUpgradeItem(60, Rarity.RARE) } - val INVENTORY_UPGRADE_HUGE: Item by registry.register("exosuit_inventory_upgrade_huge") { ExoPackSlotUpgradeItem(135, Rarity.RARE) } + val INVENTORY_UPGRADE_BIG: Item by registry.register("exosuit_inventory_upgrade_big") { ExopackSlotUpgradeItem(60, Rarity.RARE) } + val INVENTORY_UPGRADE_HUGE: Item by registry.register("exosuit_inventory_upgrade_huge") { ExopackSlotUpgradeItem(135, Rarity.RARE) } - val INVENTORY_UPGRADE_WITHER: Item by registry.register("exosuit_inventory_upgrade_wither") { ExoPackSlotUpgradeItem(180, Rarity.RARE, hasDescription = true) } - val INVENTORY_UPGRADE_ENDER_DRAGON: Item by registry.register("exosuit_inventory_upgrade_ender_dragon") { ExoPackSlotUpgradeItem(180, Rarity.EPIC, hasDescription = true) } + val INVENTORY_UPGRADE_WITHER: Item by registry.register("exosuit_inventory_upgrade_wither") { ExopackSlotUpgradeItem(180, Rarity.RARE, hasDescription = true) } + val INVENTORY_UPGRADE_ENDER_DRAGON: Item by registry.register("exosuit_inventory_upgrade_ender_dragon") { ExopackSlotUpgradeItem(180, Rarity.EPIC, hasDescription = true) } } init {