architectury / architectury-api

An intermediary api aimed at easing development of multiplatform mods.
https://discord.architectury.dev/
GNU Lesser General Public License v3.0
306 stars 55 forks source link

Fix FluidStack.EMPTY always being null #503

Closed Jab125 closed 2 months ago

Jab125 commented 2 months ago

Closes #500 My fix adds a null check to FluidStack.EMPTY to see if it is null as shown below:

--- a/common/src/main/java/dev/architectury/fluid/FluidStack.java
+++ b/common/src/main/java/dev/architectury/fluid/FluidStack.java
@@ -43,7 +43,7 @@

 public final class FluidStack implements DataComponentHolder {
     private static final FluidStackAdapter<Object> ADAPTER = adapt(FluidStack::getValue, FluidStack::new);
-    private static final FluidStack EMPTY = create(Fluids.EMPTY, 0);
+    private static final FluidStack EMPTY = new FluidStack(() -> Fluids.EMPTY, 0, DataComponentPatch.EMPTY);
     public static final Codec<FluidStack> CODEC = ADAPTER.codec();
     public static final StreamCodec<RegistryFriendlyByteBuf, FluidStack> STREAM_CODEC = ADAPTER.streamCodec();
shedaniel commented 2 months ago

No but, the proper fix would be to make EMPTY not null