Empty tanks

This commit is contained in:
IThundxr 2025-03-02 12:44:20 -05:00
parent 689d6ed4f1
commit 5448df7d09
Failed to generate hash of commit
3 changed files with 11 additions and 11 deletions

View file

@ -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<CreativeSmartFluidTank> 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, $ -> {});

View file

@ -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<Handler> implements SyncedMountedStorage {
public static final MapCodec<FluidTankMountedStorage> 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;

View file

@ -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<CreativeCrateMountedStorage> CODEC = ItemStack.CODEC.xmap(
public static final MapCodec<CreativeCrateMountedStorage> CODEC = ItemStack.OPTIONAL_CODEC.xmap(
CreativeCrateMountedStorage::new, storage -> storage.suppliedStack
).fieldOf("value");