Update jade compat
This commit is contained in:
parent
68e1bd9036
commit
494bf70f6b
@ -4,6 +4,7 @@ import net.minecraft.ChatFormatting
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.neoforged.neoforge.capabilities.BlockCapability
|
||||
import ru.dbotthepony.mc.otm.capability.AbstractProfiledStorage
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
||||
import ru.dbotthepony.mc.otm.compat.jade.JadeColors
|
||||
@ -12,6 +13,9 @@ import ru.dbotthepony.mc.otm.compat.jade.JadeUids
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity
|
||||
import ru.dbotthepony.mc.otm.capability.matter.IMatterStorage
|
||||
import ru.dbotthepony.mc.otm.core.getCapability
|
||||
import ru.dbotthepony.mc.otm.core.math.getDecimal
|
||||
import ru.dbotthepony.mc.otm.core.math.putDecimal
|
||||
import ru.dbotthepony.mc.otm.core.util.formatMatter
|
||||
@ -27,7 +31,7 @@ object MatterStorageProvider : IBlockComponentProvider, IServerDataProvider<Bloc
|
||||
override fun getUid(): ResourceLocation = JadeUids.MATTER_STORAGE
|
||||
|
||||
override fun appendServerData(data: CompoundTag, accessor: BlockAccessor) {
|
||||
accessor.blockEntity?.getCapability(MatteryCapability.MATTER)?.ifPresentK {
|
||||
accessor.level.getCapability(MatteryCapability.MATTER_BLOCK, accessor.position)?.let {
|
||||
val matterData = CompoundTag()
|
||||
|
||||
matterData.putDecimal("storedMatter", it.storedMatter)
|
||||
|
@ -10,9 +10,9 @@ import ru.dbotthepony.mc.otm.compat.jade.JadeColors
|
||||
import ru.dbotthepony.mc.otm.compat.jade.JadeTagKeys
|
||||
import ru.dbotthepony.mc.otm.compat.jade.JadeUids
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.core.ifPresentK
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.mc.otm.core.getCapability
|
||||
import ru.dbotthepony.mc.otm.core.math.getDecimal
|
||||
import ru.dbotthepony.mc.otm.core.math.putDecimal
|
||||
import ru.dbotthepony.mc.otm.core.util.formatPower
|
||||
@ -25,7 +25,7 @@ object MatteryEnergyProvider : IBlockComponentProvider, IServerDataProvider<Bloc
|
||||
override fun getUid(): ResourceLocation = JadeUids.MATTERY_ENERGY
|
||||
|
||||
override fun appendServerData(data: CompoundTag, accessor: BlockAccessor) {
|
||||
accessor.blockEntity?.getCapability(MatteryCapability.ENERGY)?.ifPresentK {
|
||||
accessor.level.getCapability(MatteryCapability.BLOCK_ENERGY, accessor.position)?.let {
|
||||
val energyData = CompoundTag()
|
||||
|
||||
energyData.putDecimal("batteryLevel", it.batteryLevel)
|
||||
|
@ -3,6 +3,7 @@ package ru.dbotthepony.mc.otm.compat.jade.providers
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
import net.minecraft.nbt.ListTag
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import ru.dbotthepony.mc.otm.block.entity.ItemJob
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryWorkerBlockEntity
|
||||
import ru.dbotthepony.mc.otm.compat.jade.JadeTagKeys
|
||||
@ -36,7 +37,7 @@ object MatteryWorkerProvider : IBlockComponentProvider, IServerDataProvider<Bloc
|
||||
|
||||
if (job.currentJob is ItemJob) {
|
||||
val currentJob = job.currentJob as ItemJob
|
||||
jobData.put("itemStack", currentJob.itemStack.serializeNBT())
|
||||
jobData.put("itemStack", currentJob.itemStack.saveOptional(accessor.level.registryAccess()))
|
||||
}
|
||||
|
||||
it.add(jobData)
|
||||
@ -61,7 +62,7 @@ object MatteryWorkerProvider : IBlockComponentProvider, IServerDataProvider<Bloc
|
||||
val progress = job.getFloat("workProgress")
|
||||
val isIdling = job.getBoolean("isIdling")
|
||||
val isUnableToProcess = job.getBoolean("isUnableToProcess")
|
||||
val itemStack = job.getItemStack("itemStack")
|
||||
val itemStack = ItemStack.parseOptional(accessor.level.registryAccess(), job.getCompound("itemStack"))
|
||||
|
||||
if (!isIdling) {
|
||||
if (!itemStack.isEmpty) {
|
||||
|
@ -5,6 +5,7 @@ import com.google.gson.JsonSyntaxException
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.DataResult
|
||||
import com.mojang.serialization.JsonOps
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Holder
|
||||
import net.minecraft.core.Registry
|
||||
import net.minecraft.core.RegistryAccess
|
||||
@ -24,10 +25,12 @@ import net.minecraft.tags.DamageTypeTags
|
||||
import net.minecraft.world.damagesource.DamageSource
|
||||
import net.minecraft.world.damagesource.DamageType
|
||||
import net.minecraft.world.item.Item
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.level.block.Block
|
||||
import net.minecraft.world.level.material.Fluid
|
||||
import net.minecraft.world.phys.AABB
|
||||
import net.minecraft.world.phys.Vec3
|
||||
import net.neoforged.neoforge.capabilities.BlockCapability
|
||||
import ru.dbotthepony.mc.otm.core.util.readBinaryJson
|
||||
import ru.dbotthepony.mc.otm.core.util.writeBinaryJson
|
||||
import kotlin.jvm.optionals.getOrNull
|
||||
@ -114,3 +117,8 @@ fun <IN, OUT> DataResult<IN>.mapOrNull(map: (IN) -> OUT): OUT? {
|
||||
fun AABB(mins: Vec3i, maxs: Vec3i): AABB {
|
||||
return AABB(Vec3.atLowerCornerOf(mins), Vec3.atLowerCornerOf(maxs))
|
||||
}
|
||||
|
||||
@Deprecated("Unchecked capability cast")
|
||||
fun <T, C> Level.getCapability(capability: BlockCapability<T, C>, blockPos: BlockPos): T? {
|
||||
return getCapability(capability as BlockCapability<T, Void>, blockPos)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user