Posted December 3, 20177 yr Hi, I'm trying to create a fluid which should be only usable in buckets, machines, etc. (No need for placing it in the world a block). I tried the following setup, which works fine if i use the standard vanilla water textures, but as soon as i try to use my own (as in the sample below) I only get the missing texture texture. I have the textures and the mcmeta files in the location assets/modid/textures/fluids/. Is there some need to register the texture sprites before using it in a fluid? public class CustomOilFluid extends Fluid { public CustomOilFluid() { super( Constants.FluidNames.customOilFluid, new ResourceLocation(Constants.modId, "fluids/custom_oil_still"), new ResourceLocation(Constants.modId, "fluids/custom_oil_flow") ); } } public class ModFluids { public final static CustomOilFluid customOilFluid = new CustomOilFluid(); public static final void registerFluids() { FluidRegistry.enableUniversalBucket(); FluidRegistry.registerFluid(customOilFluid); FluidRegistry.addBucketForFluid(customOilFluid); } } //In my mods class i have the following static initializer static { ModFluids.registerFluids(); } Edited December 3, 20177 yr by Bregor
December 6, 20177 yr I believe you still have to create a block for your fluid, because for texture to render you have to use ModelLoader.registerItemVariants and ModelLoader.setCustomMeshDefinition. They both accept Item, in your case, it will be an ItemBlock with your fluid block instance.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.