From aa008479a125bff26d0a4d9ebd56fe7dc6958901 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 11 May 2022 00:48:57 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20fluid=20testmod,=20add=20dummy=20init=20m?= =?UTF-8?q?ethod=20to=20FluidStack=20(classloading=20=F0=9F=98=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Max --- common/src/main/java/dev/architectury/fluid/FluidStack.java | 4 ++++ .../java/dev/architectury/fluid/fabric/FluidStackImpl.java | 4 ++++ .../java/dev/architectury/fluid/forge/FluidStackImpl.java | 4 ++++ .../java/dev/architectury/test/registry/TestRegistries.java | 5 +++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/dev/architectury/fluid/FluidStack.java b/common/src/main/java/dev/architectury/fluid/FluidStack.java index 318b0aee..12ff0436 100644 --- a/common/src/main/java/dev/architectury/fluid/FluidStack.java +++ b/common/src/main/java/dev/architectury/fluid/FluidStack.java @@ -244,4 +244,8 @@ public final class FluidStack { if (isEmpty()) return this; return new FluidStack(getRawFluidSupplier(), amount, getTag()); } + + public static void init() { + // classloading my beloved 😍 + } } diff --git a/fabric/src/main/java/dev/architectury/fluid/fabric/FluidStackImpl.java b/fabric/src/main/java/dev/architectury/fluid/fabric/FluidStackImpl.java index a3b6eb79..9d90cf97 100644 --- a/fabric/src/main/java/dev/architectury/fluid/fabric/FluidStackImpl.java +++ b/fabric/src/main/java/dev/architectury/fluid/fabric/FluidStackImpl.java @@ -35,6 +35,10 @@ import java.util.function.Supplier; public enum FluidStackImpl implements FluidStack.FluidStackAdapter { INSTANCE; + static { + dev.architectury.fluid.FluidStack.init(); + } + public static Function toValue; public static Function fromValue; diff --git a/forge/src/main/java/dev/architectury/fluid/forge/FluidStackImpl.java b/forge/src/main/java/dev/architectury/fluid/forge/FluidStackImpl.java index 3799b611..666de7e2 100644 --- a/forge/src/main/java/dev/architectury/fluid/forge/FluidStackImpl.java +++ b/forge/src/main/java/dev/architectury/fluid/forge/FluidStackImpl.java @@ -33,6 +33,10 @@ import static dev.architectury.utils.Amount.toInt; public enum FluidStackImpl implements dev.architectury.fluid.FluidStack.FluidStackAdapter { INSTANCE; + static { + dev.architectury.fluid.FluidStack.init(); + } + public static Function toValue; public static Function fromValue; diff --git a/testmod-common/src/main/java/dev/architectury/test/registry/TestRegistries.java b/testmod-common/src/main/java/dev/architectury/test/registry/TestRegistries.java index 9d4ad479..ec8ce33b 100644 --- a/testmod-common/src/main/java/dev/architectury/test/registry/TestRegistries.java +++ b/testmod-common/src/main/java/dev/architectury/test/registry/TestRegistries.java @@ -61,6 +61,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import java.lang.reflect.InvocationTargetException; +import java.util.function.Supplier; import static dev.architectury.test.TestMod.SINK; @@ -119,7 +120,7 @@ public class TestRegistries { try { // In example mod the forge class isn't being replaced, this is not required in mods depending on architectury return (Item) Class.forName(!Platform.isForge() ? "dev.architectury.core.item.ArchitecturyBucketItem" : "dev.architectury.core.item.forge.imitator.ArchitecturyBucketItem") - .getDeclaredConstructor(RegistrySupplier.class, Item.Properties.class) + .getDeclaredConstructor(Supplier.class, Item.Properties.class) .newInstance(TestRegistries.TEST_FLUID, new Item.Properties().tab(TestCreativeTabs.TEST_TAB)); } catch (InstantiationException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { throw new RuntimeException(e); @@ -141,7 +142,7 @@ public class TestRegistries { try { // In example mod the forge class isn't being replaced, this is not required in mods depending on architectury return (LiquidBlock) Class.forName(!Platform.isForge() ? "dev.architectury.core.block.ArchitecturyLiquidBlock" : "dev.architectury.core.block.forge.imitator.ArchitecturyLiquidBlock") - .getDeclaredConstructor(RegistrySupplier.class, BlockBehaviour.Properties.class) + .getDeclaredConstructor(Supplier.class, BlockBehaviour.Properties.class) .newInstance(TestRegistries.TEST_FLUID, BlockBehaviour.Properties.copy(Blocks.WATER).noCollission().strength(100.0F).noDrops()); } catch (InstantiationException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { throw new RuntimeException(e);