From fc2d4973c401ed54438f3e13fa2a95d378b3e277 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Mon, 3 May 2021 00:46:10 +0800 Subject: Adds support for forge fluid handler Signed-off-by: shedaniel --- .../me/shedaniel/rei/plugin/common/DefaultPlugin.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'default-plugin/src/main/java/me/shedaniel/rei/plugin/common') diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java index 136ab6a61..94593cb64 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java @@ -23,7 +23,10 @@ package me.shedaniel.rei.plugin.common; +import me.shedaniel.architectury.annotations.ExpectPlatform; +import me.shedaniel.architectury.annotations.PlatformOnly; import me.shedaniel.architectury.hooks.FluidStackHooks; +import me.shedaniel.architectury.platform.Platform; import me.shedaniel.architectury.utils.NbtType; import me.shedaniel.rei.api.common.display.DisplaySerializerRegistry; import me.shedaniel.rei.api.common.entry.comparison.ItemComparator; @@ -52,6 +55,7 @@ import net.minecraft.world.inventory.*; import net.minecraft.world.item.BucketItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import net.minecraft.world.level.material.Fluid; import java.util.List; import java.util.function.Function; @@ -80,10 +84,22 @@ public class DefaultPlugin implements BuiltinPlugin, REIServerPlugin { support.register(entry -> { ItemStack stack = entry.getValue(); if (stack.getItem() instanceof BucketItem) { - return InteractionResultHolder.success(Stream.of(EntryStacks.of(((BucketItem) stack.getItem()).content, FluidStackHooks.bucketAmount()))); + Fluid fluid = ((BucketItem) stack.getItem()).content; + if (fluid != null) { + return InteractionResultHolder.success(Stream.of(EntryStacks.of(fluid, FluidStackHooks.bucketAmount()))); + } } return InteractionResultHolder.pass(null); }); + if (Platform.isForge()) { + registerForgeFluidSupport(support); + } + } + + @ExpectPlatform + @PlatformOnly(PlatformOnly.FORGE) + private static void registerForgeFluidSupport(FluidSupportProvider support) { + } @Override -- cgit