Streamline nbt names
This commit is contained in:
parent
4001eea509
commit
a2a53b2ca6
@ -258,7 +258,7 @@ object DataGen {
|
|||||||
TileNbtCopy("work_ticks"),
|
TileNbtCopy("work_ticks"),
|
||||||
TileNbtCopy("current_job"),
|
TileNbtCopy("current_job"),
|
||||||
TileNbtCopy("battery_container"),
|
TileNbtCopy("battery_container"),
|
||||||
TileNbtCopy("energy_cap"),
|
TileNbtCopy("energy"),
|
||||||
)
|
)
|
||||||
|
|
||||||
with(lootTableProvider) {
|
with(lootTableProvider) {
|
||||||
@ -272,21 +272,21 @@ object DataGen {
|
|||||||
simpleBlock(Blocks.GRAVITATION_STABILIZER)
|
simpleBlock(Blocks.GRAVITATION_STABILIZER)
|
||||||
|
|
||||||
tile(Blocks.ENERGY_COUNTER, TileNbtCopy("passed"), TileNbtCopy("history"), TileNbtCopy("history_tick"))
|
tile(Blocks.ENERGY_COUNTER, TileNbtCopy("passed"), TileNbtCopy("history"), TileNbtCopy("history_tick"))
|
||||||
tile(Blocks.CHEMICAL_GENERATOR, TileNbtCopy("energy"), TileNbtCopy("slots"), TileNbtCopy("working_ticks"), TileNbtCopy("working_ticks_total"))
|
tile(Blocks.CHEMICAL_GENERATOR, TileNbtCopy("energy"), TileNbtCopy("container"), TileNbtCopy("working_ticks"), TileNbtCopy("working_ticks_total"))
|
||||||
|
|
||||||
tile(Blocks.ANDROID_STATION, TileNbtCopy("energy_cap"), TileNbtCopy("battery_container"))
|
tile(Blocks.ANDROID_STATION, TileNbtCopy("energy"), TileNbtCopy("battery_container"))
|
||||||
tile(Blocks.BATTERY_BANK, TileNbtCopy("battery_bank"))
|
tile(Blocks.BATTERY_BANK, TileNbtCopy("container"))
|
||||||
tile(Blocks.DRIVE_VIEWER, TileNbtCopy("energy_cap"), TileNbtCopy("drive_slot"), TileNbtCopy("battery_container"))
|
tile(Blocks.DRIVE_VIEWER, TileNbtCopy("energy"), TileNbtCopy("container"), TileNbtCopy("battery_container"))
|
||||||
|
|
||||||
tile(Blocks.MATTER_DECOMPOSER, TileNbtCopy("work_slots"), TileNbtCopy("matter_capability"), *workerTags)
|
tile(Blocks.MATTER_DECOMPOSER, TileNbtCopy("container"), TileNbtCopy("matter"), *workerTags)
|
||||||
tile(Blocks.MATTER_REPLICATOR, TileNbtCopy("regular_slots"), TileNbtCopy("reserved_slots"), TileNbtCopy("matter_capability"), *workerTags)
|
tile(Blocks.MATTER_REPLICATOR, TileNbtCopy("container"), TileNbtCopy("matter"), *workerTags)
|
||||||
tile(Blocks.MATTER_SCANNER, TileNbtCopy("work_slots"), *workerTags)
|
tile(Blocks.MATTER_SCANNER, TileNbtCopy("container"), *workerTags)
|
||||||
tile(Blocks.PLATE_PRESS, TileNbtCopy("container"), *workerTags)
|
tile(Blocks.PLATE_PRESS, TileNbtCopy("container"), *workerTags)
|
||||||
|
|
||||||
tile(Blocks.MATTER_PANEL, TileNbtCopy("tasks"))
|
tile(Blocks.MATTER_PANEL, TileNbtCopy("tasks"))
|
||||||
tile(Blocks.PATTERN_STORAGE, TileNbtCopy("patterns"))
|
tile(Blocks.PATTERN_STORAGE, TileNbtCopy("patterns"))
|
||||||
tile(Blocks.MATTER_CAPACITOR_BANK, TileNbtCopy("matter_container"))
|
tile(Blocks.MATTER_CAPACITOR_BANK, TileNbtCopy("container"))
|
||||||
tile(Blocks.MATTER_BOTTLER, TileNbtCopy("energy_cap"), TileNbtCopy("battery_container"), TileNbtCopy("work_slots"), TileNbtCopy("work_flow"), TileNbtCopy("matter_capability"))
|
tile(Blocks.MATTER_BOTTLER, TileNbtCopy("energy"), TileNbtCopy("battery_container"), TileNbtCopy("work_slots"), TileNbtCopy("work_flow"), TileNbtCopy("matter"))
|
||||||
}
|
}
|
||||||
|
|
||||||
with(recipeProvider) {
|
with(recipeProvider) {
|
||||||
|
@ -28,7 +28,6 @@ import ru.dbotthepony.mc.otm.capability.extractEnergy
|
|||||||
import ru.dbotthepony.mc.otm.capability.receiveEnergy
|
import ru.dbotthepony.mc.otm.capability.receiveEnergy
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||||
import ru.dbotthepony.mc.otm.core.Fraction
|
import ru.dbotthepony.mc.otm.core.Fraction
|
||||||
import ru.dbotthepony.mc.otm.ifHas
|
|
||||||
import ru.dbotthepony.mc.otm.menu.BatteryBankMenu
|
import ru.dbotthepony.mc.otm.menu.BatteryBankMenu
|
||||||
import ru.dbotthepony.mc.otm.set
|
import ru.dbotthepony.mc.otm.set
|
||||||
import ru.dbotthepony.mc.otm.unaryMinus
|
import ru.dbotthepony.mc.otm.unaryMinus
|
||||||
@ -240,14 +239,11 @@ class BlockEntityBatteryBank(p_155229_: BlockPos, p_155230_: BlockState) : Block
|
|||||||
|
|
||||||
override fun saveAdditional(nbt: CompoundTag) {
|
override fun saveAdditional(nbt: CompoundTag) {
|
||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
nbt["battery_bank"] = container.serializeNBT()
|
nbt["container"] = container.serializeNBT()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
nbt.ifHas("battery_bank") {
|
container.deserializeNBT(nbt["container"])
|
||||||
container.deserializeNBT(it)
|
|
||||||
}
|
|
||||||
|
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,19 +20,17 @@ import net.minecraftforge.common.util.LazyOptional
|
|||||||
import net.minecraftforge.energy.CapabilityEnergy
|
import net.minecraftforge.energy.CapabilityEnergy
|
||||||
import net.minecraftforge.energy.IEnergyStorage
|
import net.minecraftforge.energy.IEnergyStorage
|
||||||
import net.minecraftforge.items.CapabilityItemHandler
|
import net.minecraftforge.items.CapabilityItemHandler
|
||||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
|
||||||
import ru.dbotthepony.mc.otm.Registry
|
|
||||||
import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage
|
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
|
||||||
import ru.dbotthepony.mc.otm.core.Fraction
|
|
||||||
import ru.dbotthepony.mc.otm.menu.MenuCHemicalGenerator
|
|
||||||
import ru.dbotthepony.mc.otm.*
|
import ru.dbotthepony.mc.otm.*
|
||||||
import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable
|
import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable
|
||||||
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
|
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
|
||||||
|
import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage
|
||||||
|
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage
|
import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage
|
||||||
import ru.dbotthepony.mc.otm.capability.receiveEnergy
|
import ru.dbotthepony.mc.otm.capability.receiveEnergy
|
||||||
|
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||||
|
import ru.dbotthepony.mc.otm.core.Fraction
|
||||||
import ru.dbotthepony.mc.otm.core.plus
|
import ru.dbotthepony.mc.otm.core.plus
|
||||||
|
import ru.dbotthepony.mc.otm.menu.MenuCHemicalGenerator
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
|
|
||||||
class BlockEntityChemicalGenerator(pos: BlockPos, state: BlockState) : BlockEntityMattery(Registry.BlockEntities.CHEMICAL_GENERATOR, pos, state) {
|
class BlockEntityChemicalGenerator(pos: BlockPos, state: BlockState) : BlockEntityMattery(Registry.BlockEntities.CHEMICAL_GENERATOR, pos, state) {
|
||||||
@ -91,7 +89,7 @@ class BlockEntityChemicalGenerator(pos: BlockPos, state: BlockState) : BlockEnti
|
|||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
|
|
||||||
nbt["energy"] = energy.serializeNBT()
|
nbt["energy"] = energy.serializeNBT()
|
||||||
nbt["slots"] = container.serializeNBT()
|
nbt["container"] = container.serializeNBT()
|
||||||
nbt["working_ticks"] = workingTicks
|
nbt["working_ticks"] = workingTicks
|
||||||
nbt["working_ticks_total"] = workingTicksTotal
|
nbt["working_ticks_total"] = workingTicksTotal
|
||||||
}
|
}
|
||||||
@ -99,13 +97,8 @@ class BlockEntityChemicalGenerator(pos: BlockPos, state: BlockState) : BlockEnti
|
|||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
|
|
||||||
nbt.ifHas("energy", CompoundTag::class.java) {
|
nbt.ifHas("energy", CompoundTag::class.java, energy::deserializeNBT)
|
||||||
energy.deserializeNBT(it)
|
container.deserializeNBT(nbt["container"])
|
||||||
}
|
|
||||||
|
|
||||||
nbt.ifHas("slots") {
|
|
||||||
container.deserializeNBT(it)
|
|
||||||
}
|
|
||||||
|
|
||||||
nbt.ifHas("working_ticks") {
|
nbt.ifHas("working_ticks") {
|
||||||
if (it is IntTag)
|
if (it is IntTag)
|
||||||
|
@ -19,7 +19,6 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
|||||||
import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage
|
import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||||
import ru.dbotthepony.mc.otm.core.Fraction
|
import ru.dbotthepony.mc.otm.core.Fraction
|
||||||
import ru.dbotthepony.mc.otm.ifHas
|
|
||||||
import ru.dbotthepony.mc.otm.menu.MenuDriveViewer
|
import ru.dbotthepony.mc.otm.menu.MenuDriveViewer
|
||||||
import ru.dbotthepony.mc.otm.set
|
import ru.dbotthepony.mc.otm.set
|
||||||
import javax.annotation.ParametersAreNonnullByDefault
|
import javax.annotation.ParametersAreNonnullByDefault
|
||||||
@ -38,7 +37,7 @@ class BlockEntityDriveViewer(p_155229_: BlockPos, p_155230_: BlockState) : Block
|
|||||||
|
|
||||||
var state = blockState
|
var state = blockState
|
||||||
|
|
||||||
if (drive_slot.getItem(0).getCapability(MatteryCapability.DRIVE).isPresent && energy.batteryLevel >= OverdriveThatMatters.ITEM_STORAGE.energyPerOperation()) {
|
if (container.getItem(0).getCapability(MatteryCapability.DRIVE).isPresent && energy.batteryLevel >= OverdriveThatMatters.ITEM_STORAGE.energyPerOperation()) {
|
||||||
state = state.setValue(WorkerState.SEMI_WORKER_STATE, WorkerState.WORKING)
|
state = state.setValue(WorkerState.SEMI_WORKER_STATE, WorkerState.WORKING)
|
||||||
} else {
|
} else {
|
||||||
state = state.setValue(WorkerState.SEMI_WORKER_STATE, WorkerState.IDLE)
|
state = state.setValue(WorkerState.SEMI_WORKER_STATE, WorkerState.IDLE)
|
||||||
@ -52,7 +51,7 @@ class BlockEntityDriveViewer(p_155229_: BlockPos, p_155230_: BlockState) : Block
|
|||||||
}
|
}
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val drive_slot: MatteryContainer = object : MatteryContainer(this::setChanged, 1) {
|
val container: MatteryContainer = object : MatteryContainer(this::setChanged, 1) {
|
||||||
override fun setChanged(slot: Int, new: ItemStack, old: ItemStack) {
|
override fun setChanged(slot: Int, new: ItemStack, old: ItemStack) {
|
||||||
super.setChanged(slot, new, old)
|
super.setChanged(slot, new, old)
|
||||||
|
|
||||||
@ -91,15 +90,13 @@ class BlockEntityDriveViewer(p_155229_: BlockPos, p_155230_: BlockState) : Block
|
|||||||
|
|
||||||
override fun saveAdditional(nbt: CompoundTag) {
|
override fun saveAdditional(nbt: CompoundTag) {
|
||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
nbt["drive_slot"] = drive_slot.serializeNBT()
|
nbt["container"] = container.serializeNBT()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
|
|
||||||
nbt.ifHas("drive_slot") {
|
container.deserializeNBT(nbt["container"])
|
||||||
drive_slot.deserializeNBT(it)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun tick() {
|
fun tick() {
|
||||||
|
@ -172,17 +172,14 @@ class BlockEntityMatterBottler(p_155229_: BlockPos, p_155230_: BlockState) :
|
|||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
nbt["work_slots"] = container.serializeNBT()
|
nbt["work_slots"] = container.serializeNBT()
|
||||||
nbt["work_flow"] = this.workFlow
|
nbt["work_flow"] = this.workFlow
|
||||||
nbt["matter_capability"] = matter.serializeNBT()
|
nbt["matter"] = matter.serializeNBT()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
container.deserializeNBT(nbt["work_slots"])
|
container.deserializeNBT(nbt["work_slots"])
|
||||||
workFlow = nbt.getBoolean("work_flow")
|
workFlow = nbt.getBoolean("work_flow")
|
||||||
|
nbt.ifHas("matter", CompoundTag::class.java, matter::deserializeNBT)
|
||||||
nbt.ifHas("matter_capability", CompoundTag::class.java) {
|
|
||||||
matter.deserializeNBT(it)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
@ -45,7 +45,7 @@ class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState)
|
|||||||
override fun getStoredMatter(): Fraction {
|
override fun getStoredMatter(): Fraction {
|
||||||
var summ = Fraction.ZERO
|
var summ = Fraction.ZERO
|
||||||
|
|
||||||
for (stack in matterContainer)
|
for (stack in container)
|
||||||
if (!stack.isEmpty)
|
if (!stack.isEmpty)
|
||||||
stack.getCapability(MatteryCapability.MATTER).ifPresent {
|
stack.getCapability(MatteryCapability.MATTER).ifPresent {
|
||||||
summ += it.storedMatter
|
summ += it.storedMatter
|
||||||
@ -57,7 +57,7 @@ class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState)
|
|||||||
override fun getMaxStoredMatter(): Fraction {
|
override fun getMaxStoredMatter(): Fraction {
|
||||||
var summ = Fraction.ZERO
|
var summ = Fraction.ZERO
|
||||||
|
|
||||||
for (stack in matterContainer)
|
for (stack in container)
|
||||||
if (!stack.isEmpty)
|
if (!stack.isEmpty)
|
||||||
stack.getCapability(MatteryCapability.MATTER).ifPresent {
|
stack.getCapability(MatteryCapability.MATTER).ifPresent {
|
||||||
summ += it.maxStoredMatter
|
summ += it.maxStoredMatter
|
||||||
@ -74,7 +74,7 @@ class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState)
|
|||||||
var howMuch = howMuch
|
var howMuch = howMuch
|
||||||
var summ = Fraction.ZERO
|
var summ = Fraction.ZERO
|
||||||
|
|
||||||
for (stack in matterContainer) {
|
for (stack in container) {
|
||||||
if (!stack.isEmpty) {
|
if (!stack.isEmpty) {
|
||||||
stack.getCapability(MatteryCapability.MATTER).ifPresent {
|
stack.getCapability(MatteryCapability.MATTER).ifPresent {
|
||||||
val diff = it.receiveMatterOuter(howMuch, simulate)
|
val diff = it.receiveMatterOuter(howMuch, simulate)
|
||||||
@ -99,7 +99,7 @@ class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState)
|
|||||||
var howMuch = howMuch
|
var howMuch = howMuch
|
||||||
var summ = Fraction.ZERO
|
var summ = Fraction.ZERO
|
||||||
|
|
||||||
for (stack in matterContainer) {
|
for (stack in container) {
|
||||||
if (!stack.isEmpty) {
|
if (!stack.isEmpty) {
|
||||||
stack.getCapability(MatteryCapability.MATTER).ifPresent {
|
stack.getCapability(MatteryCapability.MATTER).ifPresent {
|
||||||
val diff = it.extractMatterOuter(howMuch, simulate)
|
val diff = it.extractMatterOuter(howMuch, simulate)
|
||||||
@ -122,7 +122,7 @@ class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState)
|
|||||||
private var resolver = LazyOptional.of { this }
|
private var resolver = LazyOptional.of { this }
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val matterContainer = object : MatteryContainer(this::setChangedLight, 6 * 2) {
|
val container = object : MatteryContainer(this::setChangedLight, 6 * 2) {
|
||||||
override fun setChanged(slot: Int, new: ItemStack, old: ItemStack) {
|
override fun setChanged(slot: Int, new: ItemStack, old: ItemStack) {
|
||||||
super.setChanged(slot, new, old)
|
super.setChanged(slot, new, old)
|
||||||
val level = level
|
val level = level
|
||||||
@ -154,11 +154,11 @@ class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState)
|
|||||||
|
|
||||||
override fun saveAdditional(nbt: CompoundTag) {
|
override fun saveAdditional(nbt: CompoundTag) {
|
||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
nbt["matter_container"] = matterContainer.serializeNBT()
|
nbt["container"] = container.serializeNBT()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
matterContainer.deserializeNBT(nbt["matter_container"])
|
container.deserializeNBT(nbt["container"])
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,21 +85,18 @@ class BlockEntityMatterDecomposer(pos: BlockPos, state: BlockState)
|
|||||||
|
|
||||||
override fun saveAdditional(nbt: CompoundTag) {
|
override fun saveAdditional(nbt: CompoundTag) {
|
||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
nbt["work_slots"] = itemContainer.serializeNBT()
|
nbt["container"] = itemContainer.serializeNBT()
|
||||||
nbt["matter_capability"] = matter.serializeNBT()
|
nbt["matter"] = matter.serializeNBT()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
|
|
||||||
nbt.ifHas("matter_capability") {
|
nbt.ifHas("matter", CompoundTag::class.java) {
|
||||||
if (it is CompoundTag)
|
|
||||||
matter.deserializeNBT(it)
|
matter.deserializeNBT(it)
|
||||||
}
|
}
|
||||||
|
|
||||||
nbt.ifHas("work_slots") {
|
itemContainer.deserializeNBT(nbt["container"])
|
||||||
itemContainer.deserializeNBT(it)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun reviveCaps() {
|
override fun reviveCaps() {
|
||||||
|
@ -1,42 +1,42 @@
|
|||||||
package ru.dbotthepony.mc.otm.block.entity
|
package ru.dbotthepony.mc.otm.block.entity
|
||||||
|
|
||||||
import net.minecraft.MethodsReturnNonnullByDefault
|
import net.minecraft.MethodsReturnNonnullByDefault
|
||||||
import javax.annotation.ParametersAreNonnullByDefault
|
|
||||||
import net.minecraft.core.BlockPos
|
import net.minecraft.core.BlockPos
|
||||||
import net.minecraft.core.Direction
|
import net.minecraft.core.Direction
|
||||||
import net.minecraft.world.level.block.state.BlockState
|
import net.minecraft.nbt.CompoundTag
|
||||||
import ru.dbotthepony.mc.otm.block.entity.worker.BlockEntityMatteryWorker
|
import net.minecraft.network.chat.Component
|
||||||
import ru.dbotthepony.mc.otm.capability.matter.MatterHandlerCapability
|
import net.minecraft.network.chat.TranslatableComponent
|
||||||
import ru.dbotthepony.mc.otm.capability.matter.IMatterHandler
|
import net.minecraft.server.level.ServerLevel
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
|
||||||
import net.minecraft.world.item.ItemStack
|
|
||||||
import net.minecraft.world.entity.player.Inventory
|
import net.minecraft.world.entity.player.Inventory
|
||||||
import net.minecraft.world.entity.player.Player
|
import net.minecraft.world.entity.player.Player
|
||||||
import net.minecraft.world.inventory.AbstractContainerMenu
|
import net.minecraft.world.inventory.AbstractContainerMenu
|
||||||
import ru.dbotthepony.mc.otm.menu.MatterReplicatorMenu
|
import net.minecraft.world.item.ItemStack
|
||||||
|
import net.minecraft.world.level.Level
|
||||||
|
import net.minecraft.world.level.block.state.BlockState
|
||||||
|
import net.minecraftforge.common.capabilities.Capability
|
||||||
|
import net.minecraftforge.common.util.LazyOptional
|
||||||
|
import net.minecraftforge.items.CapabilityItemHandler
|
||||||
|
import ru.dbotthepony.mc.otm.Registry
|
||||||
|
import ru.dbotthepony.mc.otm.block.entity.worker.BlockEntityMatteryWorker
|
||||||
import ru.dbotthepony.mc.otm.block.entity.worker.MachineJob
|
import ru.dbotthepony.mc.otm.block.entity.worker.MachineJob
|
||||||
import ru.dbotthepony.mc.otm.block.entity.worker.MachineJobStatus
|
import ru.dbotthepony.mc.otm.block.entity.worker.MachineJobStatus
|
||||||
|
import ru.dbotthepony.mc.otm.block.entity.worker.WorkTickContext
|
||||||
|
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
||||||
|
import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage
|
||||||
|
import ru.dbotthepony.mc.otm.capability.matter.IMatterHandler
|
||||||
|
import ru.dbotthepony.mc.otm.capability.matter.MatterHandlerCapability
|
||||||
import ru.dbotthepony.mc.otm.capability.matter.MatterTask
|
import ru.dbotthepony.mc.otm.capability.matter.MatterTask
|
||||||
import ru.dbotthepony.mc.otm.capability.matter.PatternState
|
import ru.dbotthepony.mc.otm.capability.matter.PatternState
|
||||||
import ru.dbotthepony.mc.otm.matter.MatterRegistry
|
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||||
import ru.dbotthepony.mc.otm.block.entity.worker.WorkTickContext
|
|
||||||
import net.minecraft.nbt.CompoundTag
|
|
||||||
import net.minecraft.network.chat.Component
|
|
||||||
import net.minecraftforge.common.util.LazyOptional
|
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
|
||||||
import net.minecraftforge.items.CapabilityItemHandler
|
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage
|
|
||||||
import net.minecraft.network.chat.TranslatableComponent
|
|
||||||
import net.minecraft.server.level.ServerLevel
|
|
||||||
import net.minecraft.world.level.Level
|
|
||||||
import net.minecraftforge.common.capabilities.Capability
|
|
||||||
import ru.dbotthepony.mc.otm.Registry
|
|
||||||
import ru.dbotthepony.mc.otm.core.Fraction
|
import ru.dbotthepony.mc.otm.core.Fraction
|
||||||
import ru.dbotthepony.mc.otm.graph.Graph6Node
|
import ru.dbotthepony.mc.otm.graph.Graph6Node
|
||||||
import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode
|
import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode
|
||||||
import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
|
import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
|
||||||
import ru.dbotthepony.mc.otm.ifHas
|
import ru.dbotthepony.mc.otm.ifHas
|
||||||
|
import ru.dbotthepony.mc.otm.matter.MatterRegistry
|
||||||
|
import ru.dbotthepony.mc.otm.menu.MatterReplicatorMenu
|
||||||
import ru.dbotthepony.mc.otm.set
|
import ru.dbotthepony.mc.otm.set
|
||||||
|
import javax.annotation.ParametersAreNonnullByDefault
|
||||||
|
|
||||||
@MethodsReturnNonnullByDefault
|
@MethodsReturnNonnullByDefault
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
@ -57,9 +57,6 @@ class BlockEntityMatterReplicator(p_155229_: BlockPos, p_155230_: BlockState) :
|
|||||||
@JvmField
|
@JvmField
|
||||||
val regularSlots = MatteryContainer(this::setChangedLight, 3)
|
val regularSlots = MatteryContainer(this::setChangedLight, 3)
|
||||||
|
|
||||||
// запросы от matter replicator interface?
|
|
||||||
val reservedSlots = MatteryContainer(this::setChangedLight, 3)
|
|
||||||
|
|
||||||
private val itemHandler = regularSlots.handler { slot: Int, stack: ItemStack? -> false }
|
private val itemHandler = regularSlots.handler { slot: Int, stack: ItemStack? -> false }
|
||||||
|
|
||||||
override fun getDefaultDisplayName(): Component {
|
override fun getDefaultDisplayName(): Component {
|
||||||
@ -172,17 +169,15 @@ class BlockEntityMatterReplicator(p_155229_: BlockPos, p_155230_: BlockState) :
|
|||||||
|
|
||||||
override fun saveAdditional(nbt: CompoundTag) {
|
override fun saveAdditional(nbt: CompoundTag) {
|
||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
nbt["regular_slots"] = regularSlots.serializeNBT()
|
nbt["container"] = regularSlots.serializeNBT()
|
||||||
nbt["reserved_slots"] = reservedSlots.serializeNBT()
|
nbt["matter"] = matter.serializeNBT()
|
||||||
nbt["matter_capability"] = matter.serializeNBT()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
regularSlots.deserializeNBT(nbt["regular_slots"])
|
regularSlots.deserializeNBT(nbt["container"])
|
||||||
reservedSlots.deserializeNBT(nbt["reserved_slots"])
|
|
||||||
|
|
||||||
nbt.ifHas("matter_capability", CompoundTag::class.java) {
|
nbt.ifHas("matter", CompoundTag::class.java) {
|
||||||
matter.deserializeNBT(it)
|
matter.deserializeNBT(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,8 @@ import ru.dbotthepony.mc.otm.block.entity.worker.MachineJob
|
|||||||
import ru.dbotthepony.mc.otm.block.entity.worker.MachineJobStatus
|
import ru.dbotthepony.mc.otm.block.entity.worker.MachineJobStatus
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage
|
import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage
|
||||||
import ru.dbotthepony.mc.otm.capability.matter.*
|
import ru.dbotthepony.mc.otm.capability.matter.PatternInsertStatus
|
||||||
|
import ru.dbotthepony.mc.otm.capability.matter.PatternState
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||||
import ru.dbotthepony.mc.otm.core.Fraction
|
import ru.dbotthepony.mc.otm.core.Fraction
|
||||||
import ru.dbotthepony.mc.otm.graph.Graph6Node
|
import ru.dbotthepony.mc.otm.graph.Graph6Node
|
||||||
@ -103,11 +104,11 @@ class BlockEntityMatterScanner(p_155229_: BlockPos, p_155230_: BlockState) :
|
|||||||
|
|
||||||
override fun saveAdditional(nbt: CompoundTag) {
|
override fun saveAdditional(nbt: CompoundTag) {
|
||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
nbt.put("work_slots", input_slot.serializeNBT())
|
nbt.put("container", input_slot.serializeNBT())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
input_slot.deserializeNBT(nbt["work_slots"])
|
input_slot.deserializeNBT(nbt["container"])
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,12 +68,12 @@ abstract class BlockEntityMatteryPowered(p_155228_: BlockEntityType<*>, p_155229
|
|||||||
|
|
||||||
public override fun saveAdditional(nbt: CompoundTag) {
|
public override fun saveAdditional(nbt: CompoundTag) {
|
||||||
super.saveAdditional(nbt)
|
super.saveAdditional(nbt)
|
||||||
nbt["energy_cap"] = energy.serializeNBT()
|
nbt["energy"] = energy.serializeNBT()
|
||||||
nbt["battery_container"] = batteryContainer.serializeNBT()
|
nbt["battery_container"] = batteryContainer.serializeNBT()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun load(nbt: CompoundTag) {
|
override fun load(nbt: CompoundTag) {
|
||||||
nbt.ifHas("energy_cap", CompoundTag::class.java, energy::deserializeNBT)
|
nbt.ifHas("energy", CompoundTag::class.java, energy::deserializeNBT)
|
||||||
nbt.ifHas("battery_container", CompoundTag::class.java, batteryContainer::deserializeNBT)
|
nbt.ifHas("battery_container", CompoundTag::class.java, batteryContainer::deserializeNBT)
|
||||||
super.load(nbt)
|
super.load(nbt)
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ class MenuDriveViewer @JvmOverloads constructor(
|
|||||||
override fun getNetworkedItemView() = view
|
override fun getNetworkedItemView() = view
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val container = if (tile != null) tile.drive_slot else SimpleContainer(1)
|
val container = if (tile != null) tile.container else SimpleContainer(1)
|
||||||
|
|
||||||
driveSlot = object : MatterySlot(container, 0) {
|
driveSlot = object : MatterySlot(container, 0) {
|
||||||
override fun mayPlace(stack: ItemStack): Boolean {
|
override fun mayPlace(stack: ItemStack): Boolean {
|
||||||
@ -63,7 +63,7 @@ class MenuDriveViewer @JvmOverloads constructor(
|
|||||||
super.broadcastChanges()
|
super.broadcastChanges()
|
||||||
|
|
||||||
if (tile != null) {
|
if (tile != null) {
|
||||||
val itemStack = (tile as BlockEntityDriveViewer).drive_slot.getItem(0)
|
val itemStack = (tile as BlockEntityDriveViewer).container.getItem(0)
|
||||||
|
|
||||||
val prev = lastDrive
|
val prev = lastDrive
|
||||||
lastDrive = null
|
lastDrive = null
|
||||||
|
@ -32,7 +32,7 @@ class MenuMatterCapacitor @JvmOverloads constructor(
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
val container = tile?.matterContainer ?: SimpleContainer(2 * 6)
|
val container = tile?.container ?: SimpleContainer(2 * 6)
|
||||||
|
|
||||||
for (row in 0..1) {
|
for (row in 0..1) {
|
||||||
for (column in 0..5) {
|
for (column in 0..5) {
|
||||||
|
Loading…
Reference in New Issue
Block a user