Jump to content

[1.8] How to Create a Custom Liquid?


1Poseidon3

Recommended Posts

I have looked all over Google and everywhere else and I could not find a single accurate guide for 1.8 on how to add a custom liquid to the game. They were all in 1.7.10 and I know the way that you add custom items and blocks to the game is WAY different than it used to be so I assume it's similar for liquids as well. Does anyone have a guide they used or something? It seems that everyone but me knows how to make liquids for 1.8. Can someone explain? Thanks!

egg

Link to comment
Share on other sites

Adding the

Fluid

and its

Block

aren't that different in 1.8, except you need to pass

ResourceLocation

s of the fluid's textures to the

Fluid

constructor.

 

The new model system is fairly different, though. You need to use Forge's advanced blockstates format to tell each fluid block to use Forge's fluid model and specify which

Fluid

to use the textures from.

 

I don't have a guide, but I do have examples:

 

The registration of fluid containers (buckets and tanks) in my

ModFluids

class is currently broken (

FluidContainerRegistry

doesn't support NBT-based fluid containers), so don't use that.

 

Edit: Fixed the formatting.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

 

 

Adding the

Fluid

and its

Block

aren't that different in 1.8, except you need to pass

ResourceLocation

s of the fluid's textures to the

Fluid

constructor.

 

The new model system is fairly different, though. You need to use Forge's advanced blockstates format to tell each fluid block to use Forge's fluid model and specify which

Fluid

to use the textures from.

 

I don't have a guide, but I do have examples:

The registration of fluid containers (buckets and tanks) in my

ModFluids

class is currently broken (

FluidContainerRegistry

doesn't support NBT-based fluid containers), so don't use that.

 

Edit: Fixed the formatting.

 

 

 

 

This is really helpful. Thanks! Can you create all of your liquids in one class like I did with my blocks and items? Example below:

 

 

 


package com.poseidon.example.init;


import com.poseidon.example.*;


import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;


public class EampleItems {
   
   public static Item example_item;
   
   public static void init()
   {
      example_item= new Item().setUnlocalizedName("example_item").setCreativeTab(ExampleTab.tab);
   }
   
   public static void register()
   {
      GameRegistry.registerItem(example_item, example_item.getUnlocalizedName().substring(5));
   
   public static void registerRenders()
   {
      registerRender(example_item);
   }
   
   public static void registerRender(Item item)
   {
      Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
   }
}


 

 

 

 

EDIT: Another quick question: What does the gas stuff mean when creating a liquid?

egg

Link to comment
Share on other sites

This is really helpful. Thanks! Can you create all of your liquids in one class like I did with my blocks and items?

 

Yes, that's what my

ModFluids

class does. You can do model registration in the same class as the fluid creation/registration, but I prefer to register all models in a separate client-only class (

ModModelManager

).

 

 

Another quick question: What does the gas stuff mean when creating a liquid?

 

A

Fluid

can be either a liquid or a gas. Liquids behave like Water/Lava, gases are just liquids that flow upwards instead of downwards.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

 

 

This is really helpful. Thanks! Can you create all of your liquids in one class like I did with my blocks and items?

 

Yes, that's what my

ModFluids

class does. You can do model registration in the same class as the fluid creation/registration, but I prefer to register all models in a separate client-only class (

ModModelManager

).

 

 

Another quick question: What does the gas stuff mean when creating a liquid?

 

A

Fluid

can be either a liquid or a gas. Liquids behave like Water/Lava, gases are just liquids that flow upwards instead of downwards.

 

 

 

 

I put that code in a new file but it's missing some things like FluidNoFlow and things like that. How exactly does this fluid creation work? I don't understand most of this at an initial glance because I am still relatively new to mod creation. Could you please explain how this works (if it isn't too much work for you)?

egg

Link to comment
Share on other sites

I put that code in a new file but it's missing some things like FluidNoFlow and things like that. How exactly does this fluid creation work? I don't understand most of this at an initial glance because I am still relatively new to mod creation. Could you please explain how this works (if it isn't too much work for you)?

 

BlockFluidNoFlow

is my own fluid block class, it's just a fluid that doesn't flow outwards.

BlockFluidClassic

and

BlockFluidFinite

are the fluid block classes provided by Forge. The doc comment on each class briefly explains what it does.

 

ModFluids.createFluid

creates and registers the

Fluid

instance (a singleton like

Block

and

Item

) using the specified fluid name and texture name. The

Fluid

instance defines the physical properties of the fluid like luminosity, density and viscosity (explained in doc comments of the corresponding

Fluid

fields).

 

ModFluids.registerFluidBlock

receives the fluid's

Block

instance as an argument, sets its unlocalised name to the fluid's unlocalised name and registers it. The

Block

instance represents the fluid when it's in the world and actually implements the in-world behaviour corresponding to the

Fluid

's properties (e.g. light level is controlled by the luminosity, flow speed is controlled by the viscosity).

 

My code doesn't handle the

Fluid

already being registered by another mod. If a

Fluid

with the same name as yours (e.g.

steam

) is already registered, you should use that

Fluid

instance and its

Block

instead of creating your own. I know BuildCraft has an example of this (for 1.7.10, but it should be the same in 1.8).

 

Edit: I wish 8 followed by a ) didn't turn into a smiley.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Edit: I wish 8 followed by a ) didn't turn into a smiley.

I don't know what you are talking about [nobbc]8)[/nobbc]

 

Jokes aside: Either check "Don't use smileys" in "Attachments and other options" or disable BBCode temporarily by surrounding the desired passage with

[nobbc][nobbc][/nobbc][/nobbc]

(the creation of this involved that tag :D).

 

Thanks, I wasn't aware of that option.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

I put that code in a new file but it's missing some things like FluidNoFlow and things like that. How exactly does this fluid creation work? I don't understand most of this at an initial glance because I am still relatively new to mod creation. Could you please explain how this works (if it isn't too much work for you)?

 

BlockFluidNoFlow

is my own fluid block class, it's just a fluid that doesn't flow outwards.

BlockFluidClassic

and

BlockFluidFinite

are the fluid block classes provided by Forge. The doc comment on each class briefly explains what it does.

 

ModFluids.createFluid

creates and registers the

Fluid

instance (a singleton like

Block

and

Item

) using the specified fluid name and texture name. The

Fluid

instance defines the physical properties of the fluid like luminosity, density and viscosity (explained in doc comments of the corresponding

Fluid

fields).

 

ModFluids.registerFluidBlock

receives the fluid's

Block

instance as an argument, sets its unlocalised name to the fluid's unlocalised name and registers it. The

Block

instance represents the fluid when it's in the world and actually implements the in-world behaviour corresponding to the

Fluid

's properties (e.g. light level is controlled by the luminosity, flow speed is controlled by the viscosity).

 

My code doesn't handle the

Fluid

already being registered by another mod. If a

Fluid

with the same name as yours (e.g.

steam

) is already registered, you should use that

Fluid

instance and its

Block

instead of creating your own. I know BuildCraft has an example of this (for 1.7.10, but it should be the same in 1. 8) .

 

Edit: I wish 8 followed by a ) didn't turn into a smiley.

 

 

Ok so this helped a lot and I've been following what your code does but I have encountered an issue that's really getting to me. Here's the code it's happening in:

 

 


public class PTFluids {

public static Fluid mercury_fluid_static;
public static BlockFluidClassic mercury_block_static;


public static Fluid fluidNormalGas;
public static BlockFluidClassic blockNormalGas;


public static Set<IFluidBlock> fluidBlocks = new HashSet<IFluidBlock>();


public static void registerFluids() {

	mercury_fluid_static = createFluid("mercury", "pt:blocks/mercury_still", false).setLuminosity(10).setDensity(1600).setViscosity(1);
	mercury_block_static = registerFluidBlock(new BlockFluidClassic(mercury_block_static, new MaterialLiquid(MapColor.grayColor)));


	fluidNormalGas = createFluid("normalgas", "testmod3:blocks/fluid_normalGas", true).setLuminosity(10).setDensity(-1600).setViscosity(100).setGaseous(true);
	blockNormalGas = registerFluidBlock(new BlockFluidClassic(fluidNormalGas, new MaterialLiquid(MapColor.adobeColor)));
}

 

 

For some reason, my custom liquid (mercury) is throwing an error in (new BlockFluidClassic(mercury_block_static, new MaterialLiquid(MapColor.grayColor));

 

 

I don't know why this is happening since it's identical to your original code except for the things needed to change for mine yet it is throwing the error saying the method is undefined. Any ideas why this is happening?

egg

Link to comment
Share on other sites

Post the full error and the full class.

 

 

Sorry it took me so long. I had a busy weekend.

 

 

Error

 

 


[20:24:56] [main/INFO] [GradleStart]: Extra: []
[20:24:56] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Liam/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken, {REDACTED}, --version, 1.8, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[20:24:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[20:24:56] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[20:24:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[20:24:56] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[20:24:56] [main/INFO] [FML]: Forge Mod Loader version 8.99.124.1450 for Minecraft 1.8 loading
[20:24:56] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_60, running on Windows 8:amd64:6.2, installed at C:\Program Files\Java\jre1.8.0_60
[20:24:56] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[20:24:56] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[20:24:56] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[20:24:56] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[20:24:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:24:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:24:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[20:24:56] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:24:56] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:24:56] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:24:57] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[20:25:00] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[20:25:00] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:25:00] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:25:01] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[20:25:01] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:25:01] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:25:01] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[20:25:20] [Client thread/INFO]: Setting user: Player992
[20:25:26] [Client thread/INFO]: LWJGL Version: 2.9.1
[20:25:29] [Client thread/INFO] [sTDOUT]: [net.minecraftforge.fml.client.SplashProgress:start:235]: ---- Minecraft Crash Report ----
// I feel sad now 


Time: 11/1/15 8:25 PM
Description: Loading screen debug info


This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR




A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------


-- System Details --
Details:
Minecraft Version: 1.8
Operating System: Windows 8 (amd64) version 6.2
Java Version: 1.8.0_60, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 726033656 bytes (692 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: 
Loaded coremods (and transformers): 
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.2.11774 Compatibility Profile Context' Renderer: 'AMD Radeon HD 7640G'
[20:25:29] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
[20:25:29] [Client thread/INFO] [FML]: MinecraftForge v11.14.3.1450 Initialized
[20:25:29] [Client thread/INFO] [FML]: Replaced 204 ore recipies
[20:25:30] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
[20:25:31] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[20:25:31] [Client thread/INFO] [FML]: Searching C:\Users\Liam\Desktop\Minecraft Forge\eclipse\mods for mods
[20:25:35] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
[20:25:36] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, pt] at CLIENT
[20:25:36] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, pt] at SERVER
[20:25:37] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Periodic Table
[20:25:37] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[20:25:37] [Client thread/INFO] [FML]: Found 384 ObjectHolder annotations
[20:25:37] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[20:25:37] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[20:25:37] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[20:25:37] [Client thread/INFO] [FML]: Applying holder lookups
[20:25:37] [Client thread/INFO] [FML]: Holder lookups applied
[20:25:37] [Client thread/INFO] [FML]: Injecting itemstacks
[20:25:37] [Client thread/INFO] [FML]: Itemstack injection complete
[20:25:37] [Client thread/ERROR] [FML]: Fatal errors were detected during the transition from PREINITIALIZATION to INITIALIZATION. Loading cannot continue
[20:25:37] [Client thread/ERROR] [FML]: 
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCH	mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
UCH	FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.3.1450.jar) 
UCH	Forge{11.14.3.1450} [Minecraft Forge] (forgeSrc-1.8-11.14.3.1450.jar) 
UCE	pt{1.0.0} [Periodic Table] (bin) 
[20:25:37] [Client thread/ERROR] [FML]: The following problems were captured during this phase
[20:25:37] [Client thread/ERROR] [FML]: Caught exception from pt
java.lang.Error: Unresolved compilation problem: 
The constructor BlockFluidClassic(BlockFluidClassic, MaterialLiquid) is undefined


at com.poseidon.periodictable.init.PTFluids.registerFluids(PTFluids.java:29) ~[bin/:?]
at com.poseidon.periodictable.PeriodicTable.preInit(PeriodicTable.java:32) ~[bin/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:537) ~[forgeSrc-1.8-11.14.3.1450.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forgeSrc-1.8-11.14.3.1450.jar:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forgeSrc-1.8-11.14.3.1450.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:550) [Loader.class:?]
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:248) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:446) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:356) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
[20:25:37] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:663]: ---- Minecraft Crash Report ----
// Sorry 


Time: 11/1/15 8:25 PM
Description: There was a severe problem during mod loading that has caused the game to fail


net.minecraftforge.fml.common.LoaderException: java.lang.Error: Unresolved compilation problem: 
The constructor BlockFluidClassic(BlockFluidClassic, MaterialLiquid) is undefined


at net.minecraftforge.fml.common.LoadController.transition(LoadController.java:163)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:553)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:248)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:446)
at net.minecraft.client.Minecraft.run(Minecraft.java:356)
at net.minecraft.client.main.Main.main(Main.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)
Caused by: java.lang.Error: Unresolved compilation problem: 
The constructor BlockFluidClassic(BlockFluidClassic, MaterialLiquid) is undefined


at com.poseidon.periodictable.init.PTFluids.registerFluids(PTFluids.java:29)
at com.poseidon.periodictable.PeriodicTable.preInit(PeriodicTable.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:537)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:550)
... 12 more




A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------


-- System Details --
Details:
Minecraft Version: 1.8
Operating System: Windows 8 (amd64) version 6.2
Java Version: 1.8.0_60, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 859800624 bytes (819 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.10 FML v8.0.99.99 Minecraft Forge 11.14.3.1450 4 mods loaded, 4 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCH	mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
UCH	FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.3.1450.jar) 
UCH	Forge{11.14.3.1450} [Minecraft Forge] (forgeSrc-1.8-11.14.3.1450.jar) 
UCE	pt{1.0.0} [Periodic Table] (bin) 
Loaded coremods (and transformers): 
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.2.11774 Compatibility Profile Context' Renderer: 'AMD Radeon HD 7640G'
[20:25:37] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:663]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Liam\Desktop\Minecraft Forge\eclipse\.\crash-reports\crash-2015-11-01_20.25.37-client.txt

 

 

 

 

PTFluids.java

 

 


package com.poseidon.periodictable.init;


import java.util.HashSet;
import java.util.Set;


import net.minecraft.block.Block;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.MaterialLiquid;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.IFluidBlock;
import net.minecraftforge.fml.common.registry.GameRegistry;


public class PTFluids {

public static Fluid mercury_fluid_static;
public static BlockFluidClassic mercury_block_static;


public static Fluid fluidNormalGas;
public static BlockFluidClassic blockNormalGas;


public static Set<IFluidBlock> fluidBlocks = new HashSet<IFluidBlock>();


public static void registerFluids() {

	mercury_fluid_static = createFluid("mercury", "pt:blocks/mercury_still", false).setLuminosity(10).setDensity(1600).setViscosity(1);
	mercury_block_static = registerFluidBlock(new BlockFluidClassic(mercury_block_static, new MaterialLiquid(MapColor.grayColor)));


	fluidNormalGas = createFluid("normalgas", "testmod3:blocks/fluid_normalGas", true).setLuminosity(10).setDensity(-1600).setViscosity(100).setGaseous(true);
	blockNormalGas = registerFluidBlock(new BlockFluidClassic(fluidNormalGas, new MaterialLiquid(MapColor.adobeColor)));
}


private static Fluid createFluid(String name, String textureName, boolean hasFlowIcon) {
	ResourceLocation still = new ResourceLocation(textureName + "_still");
	ResourceLocation flowing = hasFlowIcon ? new ResourceLocation(textureName + "_flow") : still;


	Fluid fluid = new Fluid(name);
	if (!FluidRegistry.registerFluid(fluid)) {
		throw new IllegalStateException(String.format("Unable to register fluid %s", fluid.getID()));
	}


	return fluid;
}


private static <T extends Block & IFluidBlock> T registerFluidBlock(T block) {
	String fluidName = block.getFluid().getUnlocalizedName();
	block.setUnlocalizedName(fluidName);
	GameRegistry.registerBlock(block, fluidName);


	fluidBlocks.add(block);


	return block;
}
}

 

 

egg

Link to comment
Share on other sites

mercury_block_static = new BlockFluidClassic(mercury_block_static

 

Uh.

 

You're passing the block you haven't yet created to the constructor of said block.  At best you're passing null.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Didn't this (public static BlockFluidClassic mercury_block_static;) create it?

 

That simply declares a field and assigns the default value (

null

) to it. At that point, you haven't created a

Block

instance or assigned it to the field.

 

BlockFluidClassic

doesn't have a

(BlockFluidClassic, Material)

constructor anyway, so why are you trying to pass the mercury block to its own constructor?

 

Side note: Use the [nobbc][tt][/nobbc] tag (or the Tt button) for inline code.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Didn't this (public static BlockFluidClassic mercury_block_static;) create it?

 

Declaration vs. Initialization vs. Assignment.  Basic Java.  Basic programming, really (although various languages will separate things a little farther, such as C* having separate declaration and definitions for functions).

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Didn't this (public static BlockFluidClassic mercury_block_static;) create it?

 

Declaration vs. Initialization vs. Assignment.  Basic Java.  Basic programming, really (although various languages will separate things a little farther, such as C* having separate declaration and definitions for functions).

 

 

I was trying to do it like that because it's identical to the one below it which is the one you created (which also has no errors in it).

egg

Link to comment
Share on other sites

I was trying to do it like that because it's identical to the one below it which is the one you created (which also has no errors in it).

 

No, my code passes the

Fluid

to the

BlockFluidClassic

constructor. You're trying to pass the

Block

to its own constructor.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

I was trying to do it like that because it's identical to the one below it which is the one you created (which also has no errors in it).

 

No, my code passes the

Fluid

to the

BlockFluidClassic

constructor. You're trying to pass the

Block

to its own constructor.

 

 

OH. That's what I needed the entire time. That's what was causing it. I can't believe I misread that. Thanks!

egg

Link to comment
Share on other sites

@Choonster

I don't understand your ModModelManager.java does or where that method that gets the textures is called. Could you please explain how it works so I can implement it into my own mod? I currently use .json files to load all of my textures in. How does it work for liquids?

 

 

EDIT: Also on a side note,

.setCreativeTab();

doesn't appear to work on liquids. Is there another way to do it instead?

egg

Link to comment
Share on other sites

ModModelManager#registerAllModels

is called from

CombinedClientProxy#preInit

(this is only loaded on the client, the dedicated server loads

DedicatedServerProxy

instead), which is in turn called from

TestMod3#preInit

.

 

registerFluidModel

registers the model for a single

IFluidBlock

:

  • The call to
    ModelBakery.addVariantName

    without any names prevents any model being loaded for the

    Item

    form of the

    IFluidBlock

    . If you don't call

    ModelBakery.addVariantName

    for an

    Item

    , the model with the same name as the one passed to

    GameRegistry.registerBlock

    /

    registerItem

    will be loaded.

  • The
    ModelResourceLocation

    defines the location of the fluid's model (

    testmod3:fluid

    with the

    Fluid

    's name as the variant)

  • The call to
    ModelLoader.setCustomMeshDefinition

    tells Minecraft to always use the model defined by the

    ModelResourceLocation

    for the

    Item

    .

    • MeshDefinitionFix

      is an interface created by diesieben07 that allows a lambda to be used as an

      ItemMeshDefinition

      (this is needed because ForgeGradle doesn't know how to reobfuscate lambdas). If you're not compiling against Java 8, you'd use an anonymous class instead of a lambda.

    [*]The call to

    ModeLoader.setCustomStateMapper

    tells Minecraft to always use the blockstates file and variant defined by the

    ModelResourceLocation

    to get the model for the

    Block

 

The fluid.json blockstates file tells Minecraft to use the

forge:fluid

model for each variant, passing the name of the fluid to render in the custom data.

 

Forge's fluid model acts as both a

Block

and

Item

model, using a 3D model for the

Block

and a 2D model for the

Item

.

 

Block#setCreativeTab

works without issue on fluid blocks, but a

Fluid

isn't a

Block

and thus doesn't have a creative tab.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

UPDATE:my bad forge was not updated

OP your code seems to have Fluid fluid = new Fluid(name);

instead of choonster code.

 

 

 

Fluid fluid = new Fluid(name, still, flowing);

in
private static Fluid createFluid(String name, String textureName, boolean hasFlowIcon)

in
Modfluids

 

The constructor Fluid(String, ResourceLocation, ResourceLocation) is undefined

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Did you check the getRenderShape method of your block to ensure it's returning the correct enum value?
    • new to messing with modpacks. the server starts and the pack is playable on personal worlds, but every time i try to enter the server, i get "internal exception: io.netty.handler.codec.DecoderException: java.lang.IllegalArgumentException: Payload may not be larger than 1048576 bytes" and it boots me. not sure what this means. the debug log is essentially gibberish to me and i'm not sure... about anything. is it saying that it's sending me too much data? if it helps at all, my mc username is "leucanella", and the disconnect reasons are near the very bottom (at least once was due to mismatched modlists, but i got that fixed i'm pretty sure). i just can't make sense of it myself. https://gist.github.com/idlebird/c5269e80434a501104f6b99ebc16be46
    • We somehow figured out the issue: Whenever we try to eat a food item from the mod "[Let's Do] Candlelight" that can be eaten multiple times using a feeding upgrade from "Sophisticated Backpacks", that's when we crash. Food items include: - Beef Wellington - Bolognese - Chicken Alfredo - Chicken with Vegetables - Cooked Beef - Fricasse with Hash Browns - Lasagna - Lettuce with Steak - Lettuce with Tomatoes, Potatoes and Carrots - Mushroom Soup - Pasta with Bolognese - Pasta with Tomato Sauce - Pork Ribs - Roastbeef with Carrots - Salmon with White Wine Sauce - Tomato Mozzarella Salad - Tomato Soup - Tropical Fish Supreme
    • Me and my sister are playing on a modded minecraft server, but recently she has been crashing at random intervals and no one I've talked with knows why. There's no crash report on my sister's side, but in the log of the server there appears a bunch of lines every time she crashes. They appear to be mostly similar with different mods changing each crash. Minecraft Version: 1.20.1 Forge version: forge-47.2.20 Server log: [07May2024 18:13:29.067] [Server thread/ERROR] [net.minecraftforge.eventbus.EventBus/EVENTBUS]: Exception caught during firing event: null     Index: 12     Listeners:         0: NORMAL         1: ASM: com.github.alexthe666.citadel.server.CitadelEvents@28c884eb onEntityUpdateDebug(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         2: net.minecraftforge.eventbus.EventBus$$Lambda$4374/0x00007f0098c72da0@10f79ae2         3: ASM: com.github.alexthe666.alexsmobs.event.ServerEvents@6f4126f3 onLivingUpdateEvent(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         4: ASM: class tallestegg.illagersweararmor.IWASpawnEvents tickEntity(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         5: ASM: class io.github.lightman314.lightmanscurrency.common.EventHandler entityTick(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         6: ASM: com.github.L_Ender.cataclysm.event.ServerEventHandler@1bbd60d8 onLivingUpdateEvent(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         7: ASM: class io.github.edwinmindcraft.apoli.common.ApoliPowerEventHandler playerTick(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         8: ASM: class io.github.edwinmindcraft.apoli.common.ApoliEventHandler livingTick(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         9: net.minecraftforge.eventbus.EventBus$$Lambda$4374/0x00007f0098c72da0@1e30768c         10: ASM: class net.mcreator.borninchaosv.init.EntityAnimationFactory onEntityTick(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         11: ASM: squeek.appleskin.network.SyncHandler@29e380f7 onLivingTickEvent(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V         12: ASM: top.theillusivec4.curios.common.event.CuriosEventHandler@55b4416c tick(Lnet/minecraftforge/event/entity/living/LivingEvent$LivingTickEvent;)V java.lang.ArrayIndexOutOfBoundsException [07May2024 18:13:29.146] [Server thread/WARN] [net.minecraft.server.network.ServerConnectionListener/]: Failed to handle packet for /OMITTED IP net.minecraft.ReportedException: Ticking player     at net.minecraft.server.level.ServerPlayer.m_9240_(ServerPlayer.java:530) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at net.minecraft.server.network.ServerGamePacketListenerImpl.m_9933_(ServerGamePacketListenerImpl.java:262) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at net.minecraft.network.Connection.m_129483_(Connection.java:263) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at net.minecraft.server.network.ServerConnectionListener.m_9721_(ServerConnectionListener.java:142) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:907) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:283) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:814) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[server-1.20.1-20230612.114412-srg.jar%23461!/:?]     at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: java.lang.ArrayIndexOutOfBoundsException Mod List: SecurityCraft v1.9.9.jar additional_lights-1.20.1-2.1.7.jar advancements_tracker_1.20.1-6.1.0.jar AI-Improvements-1.20-0.5.2.jar alexsdelight-1.5.jar alexsmobs-1.22.8.jar AmbientSounds_FORGE_v5.3.9_mc1.20.1.jar amendments-1.20-1.1.26.jar appleskin-forge-mc1.20.1-2.5.1.jar Aquaculture-1.20.1-2.5.1.jar aquaculture_delight_1.0.0_forge_1.20.1.jar architectury-9.2.14-forge.jar Arda's Sculks 1.3.2 [FORGE] [1.20.1].jar artifacts-forge-9.5.3.jar async-locator-forge-1.20-1.3.0.jar athena-forge-1.20.1-3.1.2.jar AttributeFix-Forge-1.20.1-21.0.4.jar BadOptimizations-2.1.1.jar badpackets-forge-0.4.3.jar balm-forge-1.20.1-7.2.2.jar beautify-2.0.2.jar BetterAdvancements-1.20.1-0.3.2.162.jar bettercombat-forge-1.8.5+1.20.1.jar BetterF3-7.0.2-Forge-1.20.1.jar betterfarmerscombat-1.2-1.20.1.jar BetterThirdPerson-Forge-1.20-1.9.0.jar BiomesOPlenty-1.20.1-18.0.0.598.jar Bookshelf-Forge-1.20.1-20.1.10.jar born_in_chaos_[Forge]1.20.1_1.2.jar Bountiful-6.0.3+1.20.1-forge.jar caelus-forge-3.2.0+1.20.1.jar camera-forge-1.20.1-1.0.8.jar canary-mc1.20.1-0.3.3.jar chat_heads-0.10.32-forge-1.20.jar Chimes-v2.0.1-1.20.1.jar Chipped-forge-1.20.1-3.0.6.jar chunksending-1.20.1-2.8.jar Chunky-1.3.136.jar citadel-2.5.4-1.20.1.jar cloth-config-11.1.118-forge.jar Clumps-forge-1.20.1-12.0.0.3.jar cluttered-2.1-1.20.1.jar connectedglass-1.1.11-forge-mc1.20.1.jar Controlling-forge-1.20.1-12.0.2.jar corpse-forge-1.20.1-1.0.12.jar cosmeticarmorreworked-1.20.1-v1a.jar CreativeCore_FORGE_v2.11.27_mc1.20.1.jar creeperoverhaul-3.0.2-forge.jar Croptopia-1.20.1-FORGE-3.0.4.jar ctia-1.20.1-forge-2.0.9.jar cupboard-1.20.1-2.6.jar curios-forge-5.9.0+1.20.1.jar CustomPlayerModels-1.20-0.6.16c.jar darktimer-forge-1.20.1-1.0.9.jar dotbe-1.20.1-1.5.5.jar dummmmmmy-1.20-1.8.14.jar DungeonsArise-1.20.x-2.1.58-release.jar DungeonsAriseSevenSeas-1.20.x-1.0.2-forge.jar dye_depot-1.0.0-forge.jar dynamiclights-v1.7.1-mc1.17x-1.20x-mod.jar easy_mob_farm_1.20.1-7.1.0.jar elevatorid-1.20.1-lex-1.9.jar embeddium-0.3.17+mc1.20.1-all.jar embeddiumplus-1.20.1-v1.2.8.jar emotecraft-for-MC1.20.1-2.2.7-b.build.50-forge.jar EnchantmentDescriptions-Forge-1.20.1-17.0.14.jar EnderMail-1.20.1-1.2.9.jar endermanoverhaul-forge-1.20.1-1.0.4.jar endersdelight-1.20.1-1.0.3.jar entityculling-forge-1.6.2-mc1.20.1.jar EpheroLib-1.20.1-FORGE-1.2.0.jar fantasyfurniture-1.20.1-9.0.0.jar FarmersDelight-1.20.1-1.2.4.jar farmersutils-1.0.5-1.20.1.jar Fastload-Reforged-mc1.20.1-3.4.0.jar fastpaintings-1.20-1.2.5.jar ferritecore-6.0.1-forge.jar friendsandfoes-forge-mc1.20.1-2.0.10.jar ftb-essentials-forge-2001.2.2.jar ftb-library-forge-2001.2.1.jar fusion-1.1.1-forge-mc1.20.1.jar geckolib-forge-1.20.1-4.4.4.jar getittogetherdrops-forge-1.20-1.3.jar handcrafted-forge-1.20.1-3.0.6.jar IllagerInvasion-v8.0.5-1.20.1-Forge.jar illagersweararmor-1.20.1-1.3.4.jar ImmediatelyFast-Forge-1.2.13+1.20.4.jar immersive_melodies-0.1.0+1.20.1-forge.jar Incendium_1.20.4_v5.3.4.jar Item_Obliterator-FORGE-MC1.20.1-1.7.0.jar Jade-1.20.1-forge-11.8.0.jar jei-1.20.1-forge-15.3.0.4.jar journeymap-1.20.1-5.9.20-forge.jar Kambrik-6.1.1+1.20.1-forge.jar kotlinforforge-4.10.0-all.jar L_Enders_Cataclysm-1.99.2 -1.20.1.jar LeavesBeGone-v8.0.0-1.20.1-Forge.jar letmedespawn-forge-1.20.x-1.2.0.jar letsdo-addon-compat-forge-v1.4.1.jar letsdo-API-forge-1.2.9-forge.jar letsdo-bakery-forge-1.1.8.jar letsdo-beachparty-forge-1.1.4-1.jar letsdo-brewery-forge-1.1.6.jar letsdo-candlelight-forge-1.2.11.jar letsdo-herbalbrews-forge-1.0.6.jar letsdo-meadow-forge-1.3.8.jar letsdo-nethervinery-forge-1.2.10.jar letsdo-vinery-forge-1.4.15.jar lightmanscurrency-1.20.1-2.2.1.3b.jar lionfishapi-1.8.jar magicvibedecorations-HALLOWEEN 1.5.0 1.20.1 forge.jar make_bubbles_pop-0.2.0-forge-mc1.19.4+.jar memoryleakfix-forge-1.17+-1.1.5.jar MobLassos-v8.0.1-1.20.1-Forge.jar modelfix-1.15.jar moonlight-1.20-2.11.14-forge.jar morediscs-1.20.1-33-forge.jar MouseTweaks-forge-mc1.20-2.25.jar Necronomicon-Forge-1.4.2.jar nether-s-exoticism-1.20.1-1.2.7.jar nethersdelight-1.20.1-4.0.jar nomowanderer-1.20.1_1.6.4.jar oculus-mc1.20.1-1.7.0.jar origins-forge-1.20.1-1.10.0.7-all.jar origins-plus-plus-2.2-forge.jar Paraglider-forge-20.1.3.jar Patchouli-1.20.1-84-FORGE.jar Paxi-1.20-Forge-4.0.jar Pehkui-3.8.0+1.20.1-forge.jar player-animation-lib-forge-1.0.2-rc1+1.20.jar PlayerRevive_FORGE_v2.0.24_mc1.20.1.jar plushies-1.4.0-forge.jar polymorph-forge-0.49.3+1.20.1.jar projectvibrantjourneys-1.20.1-6.0.0.jar PuzzlesLib-v8.1.18-1.20.1-Forge.jar resourcefulconfig-forge-1.20.1-2.1.2.jar resourcefullib-forge-1.20.1-2.1.24.jar right-click-harvest-3.2.3+1.20.1-forge.jar rubidium-extra-0.5.4.3+mc1.20.1-build.121.jar Runelic-Forge-1.20.1-18.0.2.jar saturn-mc1.20.1-0.1.3.jar sawmill-1.20-1.3.13.jar scholar-1.20.1-1.0.0-forge.jar screenshot_viewer-1.2.1-forge-mc1.20.1.jar Searchables-forge-1.20.1-1.0.2.jar selfexpression-2.8 1.20.1.jar servercore-forge-1.5.1+1.20.1.jar ShulkerArmory_1.20.1_1.2.1_hotfix.jar simplehats-forge-1.20.1-0.2.4.jar simplevoicechat_broadcast-mc1.20.1-1.0.1.jar simplyswords-forge-1.55.0-1.20.1.jar smoothboot(reloaded)-mc1.20.1-0.0.4.jar Sniffer+-forge-1.20.1-0.3.0.jar sophisticatedbackpacks-1.20.1-3.20.5.1044.jar sophisticatedcore-1.20.1-0.6.21.609.jar sophisticatedstorage-1.20.1-0.10.21.793.jar spark-1.10.53-forge.jar stalwart-dungeons-1.20.1-1.2.8.jar starlight-1.1.2+forge.1cda73c.jar step-1.20.1-1.2.2.jar supermartijn642corelib-1.1.17-forge-mc1.20.1.jar supplementaries-1.20-2.8.10.jar temporalapi-1.5.0.jar TerraBlender-forge-1.20.1-3.0.1.4.jar Terralith_1.20.4_v2.4.11.jar toms_storage-1.20-1.6.6.jar torchmaster-20.1.6.jar trashslot-forge-1.20-15.1.0.jar treasuredistance-1.20-1.2.jar tru.e-ending-v1.1.0c.jar v_slab_compat-1.20-2.3.jar vintagedelight-0.0.12.jar vmp-fabric-mc1.20.1-0.2.0+beta.7.101-all.jar voicechat-forge-1.20.1-2.5.11.jar waystones-forge-1.20-14.1.3.jar WI-Zoom-1.5-MC1.20.1-Forge.jar worldedit-mod-7.2.15.jar wsopulence1.2.0_Forge_MC1.20.1-1.20.4.jar xlpackets-1.18.2-2.1.jar YungsApi-1.20-Forge-4.0.4.jar YungsBetterEndIsland-1.20-Forge-2.0.6.jar YungsBetterNetherFortresses-1.20-Forge-2.0.6.jar YungsBetterOceanMonuments-1.20-Forge-3.0.4.jar YungsBetterStrongholds-1.20-Forge-4.0.3.jar
    • Like the title i wanted to render a obj model into minecraft but i cant find any tutorials for this.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.