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.nbt.CompoundTag
|
||||||
import net.minecraft.network.chat.Component
|
import net.minecraft.network.chat.Component
|
||||||
import net.minecraft.resources.ResourceLocation
|
import net.minecraft.resources.ResourceLocation
|
||||||
|
import net.neoforged.neoforge.capabilities.BlockCapability
|
||||||
import ru.dbotthepony.mc.otm.capability.AbstractProfiledStorage
|
import ru.dbotthepony.mc.otm.capability.AbstractProfiledStorage
|
||||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
||||||
import ru.dbotthepony.mc.otm.compat.jade.JadeColors
|
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.TranslatableComponent
|
||||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||||
import ru.dbotthepony.kommons.math.RGBAColor
|
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.getDecimal
|
||||||
import ru.dbotthepony.mc.otm.core.math.putDecimal
|
import ru.dbotthepony.mc.otm.core.math.putDecimal
|
||||||
import ru.dbotthepony.mc.otm.core.util.formatMatter
|
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 getUid(): ResourceLocation = JadeUids.MATTER_STORAGE
|
||||||
|
|
||||||
override fun appendServerData(data: CompoundTag, accessor: BlockAccessor) {
|
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()
|
val matterData = CompoundTag()
|
||||||
|
|
||||||
matterData.putDecimal("storedMatter", it.storedMatter)
|
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.JadeTagKeys
|
||||||
import ru.dbotthepony.mc.otm.compat.jade.JadeUids
|
import ru.dbotthepony.mc.otm.compat.jade.JadeUids
|
||||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
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.mc.otm.core.math.Decimal
|
||||||
import ru.dbotthepony.kommons.math.RGBAColor
|
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.getDecimal
|
||||||
import ru.dbotthepony.mc.otm.core.math.putDecimal
|
import ru.dbotthepony.mc.otm.core.math.putDecimal
|
||||||
import ru.dbotthepony.mc.otm.core.util.formatPower
|
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 getUid(): ResourceLocation = JadeUids.MATTERY_ENERGY
|
||||||
|
|
||||||
override fun appendServerData(data: CompoundTag, accessor: BlockAccessor) {
|
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()
|
val energyData = CompoundTag()
|
||||||
|
|
||||||
energyData.putDecimal("batteryLevel", it.batteryLevel)
|
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.CompoundTag
|
||||||
import net.minecraft.nbt.ListTag
|
import net.minecraft.nbt.ListTag
|
||||||
import net.minecraft.resources.ResourceLocation
|
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.ItemJob
|
||||||
import ru.dbotthepony.mc.otm.block.entity.MatteryWorkerBlockEntity
|
import ru.dbotthepony.mc.otm.block.entity.MatteryWorkerBlockEntity
|
||||||
import ru.dbotthepony.mc.otm.compat.jade.JadeTagKeys
|
import ru.dbotthepony.mc.otm.compat.jade.JadeTagKeys
|
||||||
@ -36,7 +37,7 @@ object MatteryWorkerProvider : IBlockComponentProvider, IServerDataProvider<Bloc
|
|||||||
|
|
||||||
if (job.currentJob is ItemJob) {
|
if (job.currentJob is ItemJob) {
|
||||||
val currentJob = job.currentJob as 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)
|
it.add(jobData)
|
||||||
@ -61,7 +62,7 @@ object MatteryWorkerProvider : IBlockComponentProvider, IServerDataProvider<Bloc
|
|||||||
val progress = job.getFloat("workProgress")
|
val progress = job.getFloat("workProgress")
|
||||||
val isIdling = job.getBoolean("isIdling")
|
val isIdling = job.getBoolean("isIdling")
|
||||||
val isUnableToProcess = job.getBoolean("isUnableToProcess")
|
val isUnableToProcess = job.getBoolean("isUnableToProcess")
|
||||||
val itemStack = job.getItemStack("itemStack")
|
val itemStack = ItemStack.parseOptional(accessor.level.registryAccess(), job.getCompound("itemStack"))
|
||||||
|
|
||||||
if (!isIdling) {
|
if (!isIdling) {
|
||||||
if (!itemStack.isEmpty) {
|
if (!itemStack.isEmpty) {
|
||||||
|
@ -5,6 +5,7 @@ import com.google.gson.JsonSyntaxException
|
|||||||
import com.mojang.serialization.Codec
|
import com.mojang.serialization.Codec
|
||||||
import com.mojang.serialization.DataResult
|
import com.mojang.serialization.DataResult
|
||||||
import com.mojang.serialization.JsonOps
|
import com.mojang.serialization.JsonOps
|
||||||
|
import net.minecraft.core.BlockPos
|
||||||
import net.minecraft.core.Holder
|
import net.minecraft.core.Holder
|
||||||
import net.minecraft.core.Registry
|
import net.minecraft.core.Registry
|
||||||
import net.minecraft.core.RegistryAccess
|
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.DamageSource
|
||||||
import net.minecraft.world.damagesource.DamageType
|
import net.minecraft.world.damagesource.DamageType
|
||||||
import net.minecraft.world.item.Item
|
import net.minecraft.world.item.Item
|
||||||
|
import net.minecraft.world.level.Level
|
||||||
import net.minecraft.world.level.block.Block
|
import net.minecraft.world.level.block.Block
|
||||||
import net.minecraft.world.level.material.Fluid
|
import net.minecraft.world.level.material.Fluid
|
||||||
import net.minecraft.world.phys.AABB
|
import net.minecraft.world.phys.AABB
|
||||||
import net.minecraft.world.phys.Vec3
|
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.readBinaryJson
|
||||||
import ru.dbotthepony.mc.otm.core.util.writeBinaryJson
|
import ru.dbotthepony.mc.otm.core.util.writeBinaryJson
|
||||||
import kotlin.jvm.optionals.getOrNull
|
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 {
|
fun AABB(mins: Vec3i, maxs: Vec3i): AABB {
|
||||||
return AABB(Vec3.atLowerCornerOf(mins), Vec3.atLowerCornerOf(maxs))
|
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