From 4bbfd2f68eddfb15ac0ef7517a191da60ea39c4a Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Mon, 23 May 2022 20:21:47 +0800 Subject: [PATCH] qf --- .../java/com/glodblock/github/FluidCraft.java | 5 +++++ .../github/client/render/DropColourHandler.java | 16 ++++++++++++++-- .../com/glodblock/github/proxy/ClientProxy.java | 6 +++--- .../glodblock/github/util/ModAndClassUtil.java | 5 +++++ 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/glodblock/github/FluidCraft.java b/src/main/java/com/glodblock/github/FluidCraft.java index b9bb04d9..94634bbf 100644 --- a/src/main/java/com/glodblock/github/FluidCraft.java +++ b/src/main/java/com/glodblock/github/FluidCraft.java @@ -14,6 +14,8 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import org.apache.logging.log4j.Logger; + @Mod(modid = FluidCraft.MODID, version = FluidCraft.VERSION, useMetadata = true) public class FluidCraft { @@ -26,8 +28,11 @@ public class FluidCraft { @SidedProxy(clientSide = "com.glodblock.github.proxy.ClientProxy", serverSide = "com.glodblock.github.proxy.CommonProxy") public static CommonProxy proxy; + public static Logger log; + @Mod.EventHandler public void onPreInit(FMLPreInitializationEvent event) { + log = event.getModLog(); ModAndClassUtil.init(); proxy.preInit(event); } diff --git a/src/main/java/com/glodblock/github/client/render/DropColourHandler.java b/src/main/java/com/glodblock/github/client/render/DropColourHandler.java index bc8bd8f5..9b3ca995 100644 --- a/src/main/java/com/glodblock/github/client/render/DropColourHandler.java +++ b/src/main/java/com/glodblock/github/client/render/DropColourHandler.java @@ -1,5 +1,7 @@ package com.glodblock.github.client.render; +import com.glodblock.github.util.ModAndClassUtil; +import gregtech.api.unification.material.Materials; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraftforge.client.event.TextureStitchEvent; @@ -24,7 +26,9 @@ public class DropColourHandler { public int getColour(FluidStack fluidStack) { Fluid fluid = fluidStack.getFluid(); int colour = fluid.getColor(fluidStack); - return colour != -1 ? colour : getColour(fluid); + if (ModAndClassUtil.GT && colour == 0xFFFFFFFF) + return runBidAidFix(fluidStack); + return colour != 0xFFFFFFFF ? colour : getColour(fluid); } public int getColour(Fluid fluid) { @@ -33,7 +37,7 @@ public class DropColourHandler { return cached; } int colour = fluid.getColor(); - if (colour == -1) { + if (colour == 0xFFFFFFFF) { TextureAtlasSprite sprite = Minecraft.getMinecraft().getTextureMapBlocks() .getTextureExtry(fluid.getStill().toString()); if (sprite != null && sprite.getFrameCount() > 0) { @@ -59,4 +63,12 @@ public class DropColourHandler { return colour; } + //Need to find a better way to replace this. + private int runBidAidFix(FluidStack fluidStack) { + if (fluidStack.isFluidEqual(Materials.Helium.getFluid(1))) { + return 0xFFFCFF90; + } + return getColour(fluidStack.getFluid()); + } + } diff --git a/src/main/java/com/glodblock/github/proxy/ClientProxy.java b/src/main/java/com/glodblock/github/proxy/ClientProxy.java index 93866c0a..679fffa2 100644 --- a/src/main/java/com/glodblock/github/proxy/ClientProxy.java +++ b/src/main/java/com/glodblock/github/proxy/ClientProxy.java @@ -45,14 +45,14 @@ public class ClientProxy extends CommonProxy { super.init(event); Minecraft.getMinecraft().getItemColors().registerItemColorHandler((s, i) -> { FluidStack fluid = ItemFluidDrop.getFluidStack(s); - return fluid != null ? dropColourHandler.getColour(fluid) : -1; + return fluid != null ? dropColourHandler.getColour(fluid) : 0xFFFFFFFF; }, FCItems.FLUID_DROP); Minecraft.getMinecraft().getItemColors().registerItemColorHandler((s, i) -> { if (i == 0) { - return -1; + return 0xFFFFFFFF; } FluidStack fluid = ItemFluidPacket.getFluidStack(s); - return fluid != null ? fluid.getFluid().getColor(fluid) : -1; + return fluid != null ? fluid.getFluid().getColor(fluid) : 0xFFFFFFFF; }, FCItems.FLUID_PACKET); Minecraft.getMinecraft().getItemColors().registerItemColorHandler((s, i) -> AEColor.TRANSPARENT.getVariantByTintIndex(i), FCItems.PART_FLUID_PATTERN_TERMINAL); Minecraft.getMinecraft().getItemColors().registerItemColorHandler((s, i) -> AEColor.TRANSPARENT.getVariantByTintIndex(i), FCItems.PART_EXTENDED_FLUID_PATTERN_TERMINAL); diff --git a/src/main/java/com/glodblock/github/util/ModAndClassUtil.java b/src/main/java/com/glodblock/github/util/ModAndClassUtil.java index 20bee1e2..cddcdedc 100644 --- a/src/main/java/com/glodblock/github/util/ModAndClassUtil.java +++ b/src/main/java/com/glodblock/github/util/ModAndClassUtil.java @@ -5,11 +5,16 @@ import net.minecraftforge.fml.common.Loader; public final class ModAndClassUtil { public static boolean AUTO_P = false; + public static boolean GT = false; public static void init() { if (Loader.isModLoaded("packagedauto")) { AUTO_P = true; } + + if (Loader.isModLoaded("gregtech")) { + GT = true; + } } }