Posted August 20, 20187 yr (Sorry for my bad english!) After I learned the basics of Blocks , Items... I wanted to make custom fluids. After I finished my work I saw a Problem! not the Game Crashes! not the fluid isn't in-game! No! the fluid hasn't his texture! So I began my search for the Mistake I made but after more than 4 hours I can't find anything! fluids.json { "forge_marker": 1, "defaults": { "model": "forge:fluid", "transform": "forge:default-item" }, "variants": { "fluid": [{ "custom": { "fluid": "fluid_test" } }] } } BlockFluidTest Class public class BlockFluidTest extends BlockFluidClassic{ public BlockFluidTest(Fluid fluid) { super(fluid, Material.WATER); this.setUnlocalizedName("block_test"); this.setRegistryName("block_test"); } } FluidTest Class public class FluidTest extends Fluid{ public FluidTest() { super("fluid_test", new ResourceLocation("blocks/water_still"), new ResourceLocation("blocks/water_flow")); } } Main Class public static FluidTest fluid = new FluidTest(); public static Block blockfluid; @EventHandler public void init(FMLInitializationEvent event) { FluidRegistry.registerFluid(fluid); blockfluid = new BlockFluidTest(fluid); registerBlock(blockfluid); } public static void registerBlock(Block block) { GameRegistry.register(block); GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName())); } Client Proxy registerFluidModel(TestMod.blockfluid, "fluid"); public void registerFluidModel(Block fluidBlock, final String name) { Item item = Item.getItemFromBlock(fluidBlock); ModelBakery.registerItemVariants(item); ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() { @Override public ModelResourceLocation getModelLocation(ItemStack stack) { return new ModelResourceLocation(TestMod.MODID + ":fluids", name); } }); ModelLoader.setCustomStateMapper(fluidBlock, new StateMapperBase() { @Override protected ModelResourceLocation getModelResourceLocation(IBlockState state) { return new ModelResourceLocation(TestMod.MODID + ":fluids", name); } }); } Thanks in Advance! ?
August 20, 20187 yr 23 minutes ago, TheHobber1712 said: Thanks in Advance! ? Post the logs. VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
August 20, 20187 yr Author Here Spoiler [00:07:03] [Client thread/INFO]: Setting user: Player518 [00:07:06] [Client thread/INFO]: LWJGL Version: 2.9.4 [00:07:09] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Test Mod [00:07:11] [Sound Library Loader/INFO]: Starting up SoundSystem... [00:07:11] [Thread-8/INFO]: Initializing LWJGL OpenAL [00:07:11] [Thread-8/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [00:07:12] [Thread-8/INFO]: OpenAL initialized. [00:07:12] [Sound Library Loader/INFO]: Sound engine started [00:07:14] [Client thread/INFO]: Created: 16x16 textures-atlas [00:07:16] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Test Mod [00:07:17] [Client thread/INFO]: SoundSystem shutting down... [00:07:18] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com [00:07:18] [Sound Library Loader/INFO]: Starting up SoundSystem... [00:07:18] [Thread-10/INFO]: Initializing LWJGL OpenAL [00:07:18] [Thread-10/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [00:07:18] [Thread-10/INFO]: OpenAL initialized. [00:07:18] [Sound Library Loader/INFO]: Sound engine started [00:07:20] [Client thread/INFO]: Created: 1024x512 textures-atlas [00:07:25] [Server thread/INFO]: Starting integrated minecraft server version 1.9.4 [00:07:25] [Server thread/INFO]: Generating keypair [00:07:25] [Server thread/INFO]: Preparing start region for level 0 [00:07:26] [Server thread/INFO]: Changing view distance to 12, from 10 [00:07:26] [Client thread/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@50e0bce4[id=9c6f7109-b578-36c3-a272-028e06c40407,name=Player518,properties={},legacy=false] com.mojang.authlib.exceptions.AuthenticationUnavailableException: Cannot contact authentication server at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:71) ~[YggdrasilAuthenticationService.class:?] at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:175) [YggdrasilMinecraftSessionService.class:?] at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:168) [YggdrasilMinecraftSessionService.class:?] at net.minecraft.client.Minecraft.launchIntegratedServer(Minecraft.java:2442) [Minecraft.class:?] at net.minecraftforge.fml.client.FMLClientHandler.tryLoadExistingWorld(FMLClientHandler.java:715) [FMLClientHandler.class:?] at net.minecraft.client.gui.GuiListWorldSelectionEntry.loadWorld(GuiListWorldSelectionEntry.java:249) [GuiListWorldSelectionEntry.class:?] at net.minecraft.client.gui.GuiListWorldSelectionEntry.joinWorld(GuiListWorldSelectionEntry.java:203) [GuiListWorldSelectionEntry.class:?] at net.minecraft.client.gui.GuiListWorldSelectionEntry.mousePressed(GuiListWorldSelectionEntry.java:167) [GuiListWorldSelectionEntry.class:?] at net.minecraft.client.gui.GuiListExtended.mouseClicked(GuiListExtended.java:57) [GuiListExtended.class:?] at net.minecraft.client.gui.GuiWorldSelection.mouseClicked(GuiWorldSelection.java:134) [GuiWorldSelection.class:?] at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:613) [GuiScreen.class:?] at net.minecraft.client.gui.GuiWorldSelection.handleMouseInput(GuiWorldSelection.java:49) [GuiWorldSelection.class:?] at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:579) [GuiScreen.class:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1796) [Minecraft.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1119) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:404) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_181] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_181] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_181] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_181] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_181] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_181] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:26) [start/:?] Caused by: java.net.UnknownHostException: sessionserver.mojang.com at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_181] at java.net.PlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_181] at java.net.SocksSocketImpl.connect(Unknown Source) ~[?:1.8.0_181] at java.net.Socket.connect(Unknown Source) ~[?:1.8.0_181] at sun.security.ssl.SSLSocketImpl.connect(Unknown Source) ~[?:1.8.0_181] at sun.net.NetworkClient.doConnect(Unknown Source) ~[?:1.8.0_181] at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_181] at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.HttpsClient.New(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) ~[?:1.8.0_181] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_181] at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) ~[?:1.8.0_181] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_181] at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) ~[?:1.8.0_181] at com.mojang.authlib.HttpAuthenticationService.performGetRequest(HttpAuthenticationService.java:126) ~[HttpAuthenticationService.class:?] at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:54) ~[YggdrasilAuthenticationService.class:?] ... 28 more [00:07:26] [Server thread/INFO]: Player518[local:E:3bb3c1de] logged in with entity id 33 at (1156.5, 66.0, 707.5) [00:07:26] [Server thread/INFO]: Player518 joined the game [00:07:27] [Server thread/INFO]: Saving and pausing game... [00:07:27] [Server thread/INFO]: Saving chunks for level 'World'/Overworld [00:07:27] [Server thread/INFO]: Saving chunks for level 'World'/Nether [00:07:27] [Server thread/INFO]: Saving chunks for level 'World'/The End [00:07:27] [pool-2-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@1081240a[id=9c6f7109-b578-36c3-a272-028e06c40407,name=Player518,properties={},legacy=false] com.mojang.authlib.exceptions.AuthenticationUnavailableException: Cannot contact authentication server at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:71) ~[YggdrasilAuthenticationService.class:?] at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:175) [YggdrasilMinecraftSessionService.class:?] at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:59) [YggdrasilMinecraftSessionService$1.class:?] at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:56) [YggdrasilMinecraftSessionService$1.class:?] at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) [guava-17.0.jar:?] at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) [guava-17.0.jar:?] at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) [guava-17.0.jar:?] at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) [guava-17.0.jar:?] at com.google.common.cache.LocalCache.get(LocalCache.java:3934) [guava-17.0.jar:?] at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) [guava-17.0.jar:?] at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) [guava-17.0.jar:?] at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) [guava-17.0.jar:?] at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:165) [YggdrasilMinecraftSessionService.class:?] at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3043) [Minecraft.class:?] at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:131) [SkinManager$3.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_181] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_181] at java.lang.Thread.run(Unknown Source) [?:1.8.0_181] Caused by: java.net.UnknownHostException: sessionserver.mojang.com at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_181] at java.net.PlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_181] at java.net.SocksSocketImpl.connect(Unknown Source) ~[?:1.8.0_181] at java.net.Socket.connect(Unknown Source) ~[?:1.8.0_181] at sun.security.ssl.SSLSocketImpl.connect(Unknown Source) ~[?:1.8.0_181] at sun.net.NetworkClient.doConnect(Unknown Source) ~[?:1.8.0_181] at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_181] at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.HttpsClient.New(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source) ~[?:1.8.0_181] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_181] at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source) ~[?:1.8.0_181] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_181] at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) ~[?:1.8.0_181] at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source) ~[?:1.8.0_181] at com.mojang.authlib.HttpAuthenticationService.performGetRequest(HttpAuthenticationService.java:126) ~[HttpAuthenticationService.class:?] at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:54) ~[YggdrasilAuthenticationService.class:?] ... 19 more [00:07:47] [Server thread/INFO]: Saving and pausing game... [00:07:47] [Server thread/INFO]: Saving chunks for level 'World'/Overworld [00:07:47] [Server thread/INFO]: Saving chunks for level 'World'/Nether [00:07:47] [Server thread/INFO]: Saving chunks for level 'World'/The End [00:07:48] [Server thread/INFO]: Stopping server [00:07:48] [Server thread/INFO]: Saving players [00:07:48] [Server thread/INFO]: Saving worlds [00:07:48] [Server thread/INFO]: Saving chunks for level 'World'/Overworld [00:07:48] [Server thread/INFO]: Saving chunks for level 'World'/Nether [00:07:48] [Server thread/INFO]: Saving chunks for level 'World'/The End [00:07:48] [Client thread/INFO]: Stopping! [00:07:48] [Client thread/INFO]: SoundSystem shutting down... [00:07:49] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
August 21, 20187 yr Okay, hum... in my fluid I use: public static void registry() { ClassMod.FLUID = Fluid.instance; FluidRegistry.registerFluid(ClassMod.FLUID); ClassMod.FLUID_BLOCK = registerFluidBlock(fluid, new BlockFluid(ClassMod.FLUID), "fluid"); ClassMod.FLUID_BUCKET = registerBucket((new ItemBucket(ClassMod.FLUID_BLOCK)).setContainerItem(Items.BUCKET), "bucket_fluid").setCreativeTab(CREATIVETAB); } private static Item registerBucket(Item setContainerItem, String name) { setContainerItem.setUnlocalizedName(name); setContainerItem.setRegistryName(name); GameRegistry.register(setContainerItem); return setContainerItem; } public static Block registerFluidBlock(Fluid fluid, Block fluidBlock, String name) { Block block = GameRegistry.register(fluidBlock, new ResourceLocation(Minecraft_mod.MOD_ID, name)); ClassMod.proxy.registerFluidBlockRendering(block, name); fluid.setBlock(fluidBlock); return block; } I do not really understand why this does not work in your code but it maybe due to incompatibility... You can use that, but I no sure if it will work... - JM
August 23, 20187 yr Author It's not working. The Code don't like my Fluid Model Registery in the Proxy!
August 24, 20187 yr In your ClientProxy, you can replace by that: @Override public void registerFluid(Block block, String name) { final ModelResourceLocation location = new ModelResourceLocation(MOD_ID + ":" + name, "fluid"); ModelLoader.setCustomStateMapper(block, new StateMapperBase() { @Override protected ModelResourceLocation getModelResourceLocation(IBlockState state) { return location; } }); }
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.