From 5448df7d096d92481b5e5a3340d9fe14941e9c7b Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sun, 2 Mar 2025 12:44:20 -0500 Subject: [PATCH] Empty tanks --- .../fluids/tank/CreativeFluidTankBlockEntity.java | 12 ++++++------ .../fluids/tank/storage/FluidTankMountedStorage.java | 8 ++++---- .../logistics/crate/CreativeCrateMountedStorage.java | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/fluids/tank/CreativeFluidTankBlockEntity.java b/src/main/java/com/simibubi/create/content/fluids/tank/CreativeFluidTankBlockEntity.java index fb8d43a476..3172fd86f2 100644 --- a/src/main/java/com/simibubi/create/content/fluids/tank/CreativeFluidTankBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/fluids/tank/CreativeFluidTankBlockEntity.java @@ -8,17 +8,17 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import com.simibubi.create.AllBlockEntityTypes; import com.simibubi.create.foundation.fluid.SmartFluidTank; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.util.ExtraCodecs; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.capabilities.Capabilities; -import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; -import net.neoforged.neoforge.fluids.FluidStack; -import net.neoforged.neoforge.fluids.capability.templates.FluidTank; - public class CreativeFluidTankBlockEntity extends FluidTankBlockEntity { public CreativeFluidTankBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { @@ -49,7 +49,7 @@ public class CreativeFluidTankBlockEntity extends FluidTankBlockEntity { public static class CreativeSmartFluidTank extends SmartFluidTank { public static final Codec CODEC = RecordCodecBuilder.create(i -> i.group( - FluidStack.CODEC.fieldOf("fluid").forGetter(FluidTank::getFluid), + FluidStack.OPTIONAL_CODEC.fieldOf("fluid").forGetter(FluidTank::getFluid), ExtraCodecs.NON_NEGATIVE_INT.fieldOf("capacity").forGetter(FluidTank::getCapacity) ).apply(i, (fluid, capacity) -> { CreativeSmartFluidTank tank = new CreativeSmartFluidTank(capacity, $ -> {}); diff --git a/src/main/java/com/simibubi/create/content/fluids/tank/storage/FluidTankMountedStorage.java b/src/main/java/com/simibubi/create/content/fluids/tank/storage/FluidTankMountedStorage.java index 6508dc168b..7365b79b8f 100644 --- a/src/main/java/com/simibubi/create/content/fluids/tank/storage/FluidTankMountedStorage.java +++ b/src/main/java/com/simibubi/create/content/fluids/tank/storage/FluidTankMountedStorage.java @@ -12,6 +12,9 @@ import com.simibubi.create.content.contraptions.Contraption; import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.content.fluids.tank.storage.FluidTankMountedStorage.Handler; +import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.fluids.capability.templates.FluidTank; + import net.createmod.catnip.animation.LerpedFloat; import net.minecraft.core.BlockPos; import net.minecraft.core.HolderLookup; @@ -21,13 +24,10 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.fluids.FluidStack; -import net.neoforged.neoforge.fluids.capability.templates.FluidTank; - public class FluidTankMountedStorage extends WrapperMountedFluidStorage implements SyncedMountedStorage { public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(i -> i.group( ExtraCodecs.NON_NEGATIVE_INT.fieldOf("capacity").forGetter(FluidTankMountedStorage::getCapacity), - FluidStack.CODEC.fieldOf("fluid").forGetter(FluidTankMountedStorage::getFluid) + FluidStack.OPTIONAL_CODEC.fieldOf("fluid").forGetter(FluidTankMountedStorage::getFluid) ).apply(i, FluidTankMountedStorage::new)); private boolean dirty; diff --git a/src/main/java/com/simibubi/create/content/logistics/crate/CreativeCrateMountedStorage.java b/src/main/java/com/simibubi/create/content/logistics/crate/CreativeCrateMountedStorage.java index 708f7e89d9..84e1cf9e52 100644 --- a/src/main/java/com/simibubi/create/content/logistics/crate/CreativeCrateMountedStorage.java +++ b/src/main/java/com/simibubi/create/content/logistics/crate/CreativeCrateMountedStorage.java @@ -15,7 +15,7 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; public class CreativeCrateMountedStorage extends MountedItemStorage { - public static final MapCodec CODEC = ItemStack.CODEC.xmap( + public static final MapCodec CODEC = ItemStack.OPTIONAL_CODEC.xmap( CreativeCrateMountedStorage::new, storage -> storage.suppliedStack ).fieldOf("value");