From f703ffeac7c14822ffba9356fc83dfffb7afde2f Mon Sep 17 00:00:00 2001 From: RingLo_ <63995099+lonelyicer@users.noreply.github.com> Date: Mon, 22 Dec 2025 02:16:12 +0800 Subject: [PATCH] fix: fluid textures didnt register --- .../java/com/altnoir/poopsky/PoopSky.java | 24 +++++++++++ .../altnoir/poopsky/fluid/PSFluidTypes.java | 39 ++++++++---------- .../textures/block/poop_liquid_flowing.png | Bin 0 -> 1688 bytes .../block/poop_liquid_flowing.png.mcmeta | 12 ++++++ 4 files changed, 54 insertions(+), 21 deletions(-) create mode 100644 src/main/resources/assets/poopsky/textures/block/poop_liquid_flowing.png create mode 100644 src/main/resources/assets/poopsky/textures/block/poop_liquid_flowing.png.mcmeta diff --git a/src/main/java/com/altnoir/poopsky/PoopSky.java b/src/main/java/com/altnoir/poopsky/PoopSky.java index a19b125..7767e25 100644 --- a/src/main/java/com/altnoir/poopsky/PoopSky.java +++ b/src/main/java/com/altnoir/poopsky/PoopSky.java @@ -22,6 +22,7 @@ import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRenderers; +import net.minecraft.resources.ResourceLocation; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; import net.neoforged.bus.api.SubscribeEvent; @@ -33,9 +34,12 @@ import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent; import net.neoforged.neoforge.client.event.RegisterParticleProvidersEvent; +import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions; +import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent; import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent; import net.neoforged.neoforge.event.server.ServerStartingEvent; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; @Mod(PoopSky.MOD_ID) @@ -124,5 +128,25 @@ public static void onRegisterBlockColors(RegisterColorHandlersEvent.Block event) public static void onRegisterFluidRenderTypes(net.neoforged.neoforge.client.event.RegisterRenderBuffersEvent event) { event.registerRenderBuffer(RenderType.translucent()); } + + @SubscribeEvent + public static void registerClientExtensions(RegisterClientExtensionsEvent event) { + event.registerFluidType(new IClientFluidTypeExtensions() { + @Override + public @NotNull ResourceLocation getStillTexture() { + return PSFluidTypes.POOP_STILL_TEXTURE; + } + + @Override + public @NotNull ResourceLocation getFlowingTexture() { + return PSFluidTypes.POOP_FLOWING_TEXTURE; + } + + @Override + public ResourceLocation getOverlayTexture() { + return PSFluidTypes.POOP_OVERLAY_TEXTURE; + } + }, PSFluidTypes.POOP_FLUID_TYPE.get()); + } } } \ No newline at end of file diff --git a/src/main/java/com/altnoir/poopsky/fluid/PSFluidTypes.java b/src/main/java/com/altnoir/poopsky/fluid/PSFluidTypes.java index ac3f297..6b0dad9 100644 --- a/src/main/java/com/altnoir/poopsky/fluid/PSFluidTypes.java +++ b/src/main/java/com/altnoir/poopsky/fluid/PSFluidTypes.java @@ -1,6 +1,7 @@ package com.altnoir.poopsky.fluid; import com.altnoir.poopsky.PoopSky; +import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.neoforged.neoforge.common.SoundActions; import net.neoforged.neoforge.fluids.FluidType; @@ -9,28 +10,24 @@ import java.util.function.Supplier; -public class PSFluidTypes extends FluidType { +public class PSFluidTypes { public static final DeferredRegister FLUID_TYPES = DeferredRegister.create(NeoForgeRegistries.Keys.FLUID_TYPES, PoopSky.MOD_ID); - public static final Supplier POOP_FLUID_TYPE = FLUID_TYPES.register("poop", () -> new FluidType(FluidType.Properties.create() - .descriptionId("block.poopsky.poop_liquid") - .fallDistanceModifier(0F) - .canExtinguish(true) - .canConvertToSource(true) - .supportsBoating(true) - .sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL_LAVA) - .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY_LAVA) - .density(3000) - .viscosity(6000) - .lightLevel(1) - )); + public static final ResourceLocation POOP_STILL_TEXTURE = ResourceLocation.fromNamespaceAndPath(PoopSky.MOD_ID, "block/poop_liquid"); + public static final ResourceLocation POOP_FLOWING_TEXTURE = ResourceLocation.fromNamespaceAndPath(PoopSky.MOD_ID, "block/poop_liquid_flowing"); + public static final ResourceLocation POOP_OVERLAY_TEXTURE = ResourceLocation.fromNamespaceAndPath(PoopSky.MOD_ID, "block/poop_liquid"); - /** - * Default constructor. - * - * @param properties the general properties of the fluid type - */ - public PSFluidTypes(Properties properties) { - super(properties); - } + public static final Supplier POOP_FLUID_TYPE = FLUID_TYPES.register("poop", + () -> new FluidType(FluidType.Properties.create() + .descriptionId("block.poopsky.poop_liquid") + .fallDistanceModifier(0F) + .canExtinguish(true) + .canConvertToSource(true) + .supportsBoating(true) + .sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL_LAVA) + .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY_LAVA) + .density(3000) + .viscosity(6000) + .lightLevel(1) + )); } \ No newline at end of file diff --git a/src/main/resources/assets/poopsky/textures/block/poop_liquid_flowing.png b/src/main/resources/assets/poopsky/textures/block/poop_liquid_flowing.png new file mode 100644 index 0000000000000000000000000000000000000000..8ce5bcc5f376b656b587c001989784e9757f0f00 GIT binary patch literal 1688 zcmV;J250$+P)Px*Qb|NXR9J=WnM-ctMi7QS$s{G3L&|gzVL)#b%qE6`WItKvD7j2dHaAeTGT@Df zK*^XRacI6IJBwyDo0cq7P7q`f0)`({cUM*a{dHA&@ar$vPXO`8W)qi;-|YZ!f^)8~ z9M)+DK$2Sk79jFPS zpeD&J?pCE4;Cazs=LaV5T^)4^+;hKW z@|!8l@zn%Mp0NHsXAL;toNJ%OZ<#2s2gIqz#}Dw)Z+1bp(bR$yoRilBT>D8Mv~`*_ zaVhz9tNvz1K}{44nXf#G`;@W0)8!~=8Nl-6s0{NX|eFy7dw^FWjdmXf^ZyqyPTu=Otd&jZB+83gLI zt<&r@9wd25s~yV_+E3-477x0v0glgHx;hU-{*lG>DkoNF%lkx z<4Ohb`|pSBF8xN|?c>@{T7l~{Gh7<<<%%fPV|RH14`iWuW0Mq)#$d1fAau9-L<$cU%SH#1 zALx3)$Pdib<*YnM`%o?nP<*JuojWIu_`HBrjj%L7VQ$ zs=aw2N4PCA?9=lDiFW9!-=F6Pd2Juh4=U*7h{A&`g~%^eJPP!?n`uV8Il=>hhnx|` z1GNi_Wu@cuA`d{FOcBsJ-RgUxHxDFxQ-azT(ZT${T-A)e=mNStusTRjN6c3qH<;zF z)wy7k!Xd9zG&?+yiYy#gos7&BRTR{UlOHDgJn*tFng`~|Gu3zk4+N%kjvbL^g}O}SauFp$YxYqdxb~A4lb3y=cYa{*_02RR99Mh!fqdqb{GcXpco0M* zlETqE=(sl>HZC6FfdE8!(B{)^I|N?I54t>P?}dM!2Qta7@$*p4AiD%F@L<03^!~5Y zmIda(qdb5%xiAx~H}L@4df|;cX!8Rz*vRPDeWB>&*js%vu5d zNgl|)3lFkJ#-hL;JZLjglLxY*Jg?>l;aHLPqIJdlzs&Lm`Ll@PkhdU z`HH=x{c1l^co3(f7wZMRjmPo>rM8iFBgxgIUiQZRfm|w8*6zq251wZwW{_Xx0W`gW zf&=x!aUKj8%SxAaX8%9}C*MV}A3wm)KTUAoPgD?P=9hTzQa|zJ{=uPsBJ`{mLU+sc im80tgP%WXwvf?iV>qEFQ;weA?0000