Jump to content

[1.12.2] DoubleBlockPlant not rendering (black and purple boxes)


SeanOMik

Recommended Posts

I created a block extending the DoubleBlockPlant  this ended up not working causing the texture to be just 2 purple and black blocks... The top of the top section of the box has some text on it: "realfoods:tomato_plant#facing=north,half=upper,variant=tomato_plant" (also see attached screenshot) I did see this post, he is supposedly having the same issues (the issue is not very clear in the post), and fixing some json code fixed it. So here's all my json:

tomato_plant.json (Blockstate)

Spoiler

{
    "variants": {
		"facing": {	
			"north": { 
				"sunflower": { 
					"half=lower": { "model": "realfoods:block/tomato_plant_bottom" },
					"half=upper": { "model": "realfoods:block/tomato_plant_top" }
				}
			}
		}
    }
}

 

tomato_plant_top.json (models/block)

Spoiler

{
    "parent": "block/cross",
    "textures": {
        "cross": "realfoods:blocks/tomato_plant_top"
    }
}

 

tomato_plant_bottom.json (models/block)

Spoiler

{
    "parent": "block/cross",
    "textures": {
        "cross": "realfoods:blocks/tomato_plant_bottom"
    }
}

 

And I of course need to show you my block class so...

tomato_plant.java (Yes I know that its dropping strawberries and not tomatoes, I haven't created that item yet so for testing its strawberries...)

Spoiler

package com.SeanOMik.realfoods.objects.blocks.complex;

import java.util.Random;

import javax.annotation.Nullable;

import com.SeanOMik.realfoods.realfoods;
import com.SeanOMik.realfoods.init.realfoodsBlocks;
import com.SeanOMik.realfoods.init.realfoodsItems;
import com.SeanOMik.realfoods.objects.blocks.realDoubleBlock;
import com.SeanOMik.realfoods.util.IHasModel;
import com.SeanOMik.realfoods.util.handlers.RegistryHandler;

import net.minecraft.block.Block;
import net.minecraft.block.BlockBush;
import net.minecraft.block.BlockDoublePlant;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.BlockTallGrass;
import net.minecraft.block.IGrowable;
import net.minecraft.block.SoundType;
import net.minecraft.block.BlockDoublePlant.EnumBlockHalf;
import net.minecraft.block.BlockDoublePlant.EnumPlantType;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.StatList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class tomato_plant extends BlockDoublePlant implements IHasModel {
	public tomato_plant() {
		setUnlocalizedName("tomato_plant");
		setRegistryName("tomato_plant");
		setHardness(0.0F);
		setCreativeTab(realfoods.realFoodsTab);

		RegistryHandler.BLOCKS.add(this);
		RegistryHandler.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
	}

	@Override
	public void registerModels() {
		realfoods.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
	}

	public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, IBlockState state) {
		return true;
	}

	public boolean isOpaqueCube() {
		return false;
	}

	public Item getItemDropped(IBlockState state, Random rand, int fortune) {
		return realfoodsItems.STRAWBERRY;
	}

	@Override
	public int quantityDropped(IBlockState blockstate, int fortune, Random random) {
		return random.nextInt(4 - 1 + 1) + 1;
	}

}

 

I've easily spent almost a day in total on this which is way to long to spend on something so simple. I've searched and haven't found anything that has helped me, hopefully you all can!

 

Thanks!

2018-05-01_23.00.34.png

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

19 minutes ago, SeanOMik said:

{
    "variants": {
		"facing": {	
			"north": { 
				"sunflower": { 
					"half=lower": { "model": "realfoods:block/tomato_plant_bottom" },
					"half=upper": { "model": "realfoods:block/tomato_plant_top" }
				}
			}
		}
    }
}

This is not a valid blockstate json. You've smashed together the Forge format and the Vanilla format without thinking about what you're doing.

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

19 minutes ago, Draco18s said:

This is not a valid blockstate json. You've smashed together the Forge format and the Vanilla format without thinking about what you're doing.

Well how could I fix it? I'm not very good with json and it's difficult to understand. What is the difference in the Forge json and Vanilla json, so I don't have this issue later? 

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

Vanilla format:

"half=lower" {
    "texture" :"some/texture"
}

Forge format:
 

"facing": {
    "north": {
        "texture":"some/texture"
    }
}

http://mcforge.readthedocs.io/en/latest/models/blockstates/introduction/

http://mcforge.readthedocs.io/en/latest/models/blockstates/forgeBlockstates/

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

15 hours ago, Draco18s said:

Vanilla format:


"half=lower" {
    "texture" :"some/texture"
}

Forge format:
 


"facing": {
    "north": {
        "texture":"some/texture"
    }
}

http://mcforge.readthedocs.io/en/latest/models/blockstates/introduction/

http://mcforge.readthedocs.io/en/latest/models/blockstates/forgeBlockstates/

Okay, so I looked through that, couldn't find a fix... So I went back through Vanilla code, specifically double_fern.json (blockstate). I copied it over to my blockstate json for the tomato plant, and modified it to my block, it still doesn't work and heres the new json code:

tomato_plant.json (blockstate)

Quote

{
    "variants": {
        "half=lower": { "model": "realfoods:block/tomato_plant_bottom" },
        "half=upper":    { "model": "realfoods:block/tomato_plant_top" }    
    }
}

 

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

23 minutes ago, SeanOMik said:

still doesn't work

You have more states than just an upper/lower half. You also have a facing.

Here's an example of a two-property blockstate file in the Forge format:

https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/resources/assets/expindustry/blockstates/rail_bridge_powered.json#L19-L39

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

1 hour ago, Draco18s said:

You have more states than just an upper/lower half. You also have a facing.

Here's an example of a two-property blockstate file in the Forge format:

https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/resources/assets/expindustry/blockstates/rail_bridge_powered.json#L19-L39

I'm sorry for wasting so much of your time, but it still isn't working. I've looked at the code posted and made mine look something like it, but I still got it wrong clearly.

tomato_plant.json (blockstate)

{
    "forge_marker": 1,
    "variants": {
        "sunflower": {
			"facing": {
				"north": {
					"half":{ 
						"lower": { "model": "realfoods:block/tomato_plant_bottom" },
						"upper": { "model": "realfoods:block/tomato_plant_top" }
					}
				}
			}
        }
    }
}

EDIT:

Just found an other issue... There are 6 tomato plants inside the creative tab for my mod. (See screenshot)

So I guess its time to also show you the tomato plant class:

tomato_plant.java

Spoiler

package com.SeanOMik.realfoods.objects.blocks.complex;

import java.util.Random;

import javax.annotation.Nullable;

import com.SeanOMik.realfoods.realfoods;
import com.SeanOMik.realfoods.init.realfoodsBlocks;
import com.SeanOMik.realfoods.init.realfoodsItems;
import com.SeanOMik.realfoods.objects.blocks.realDoubleBlock;
import com.SeanOMik.realfoods.util.IHasModel;
import com.SeanOMik.realfoods.util.handlers.RegistryHandler;

import net.minecraft.block.Block;
import net.minecraft.block.BlockBush;
import net.minecraft.block.BlockDoublePlant;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.BlockTallGrass;
import net.minecraft.block.IGrowable;
import net.minecraft.block.SoundType;
import net.minecraft.block.BlockDoublePlant.EnumBlockHalf;
import net.minecraft.block.BlockDoublePlant.EnumPlantType;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.StatList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class tomato_plant extends BlockDoublePlant implements IHasModel {
	public tomato_plant() {
		setUnlocalizedName("tomato_plant");
		setRegistryName("tomato_plant");
		setHardness(0.0F);
		setCreativeTab(realfoods.realFoodsTab);

		RegistryHandler.BLOCKS.add(this);
		RegistryHandler.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
	}

	@Override
	public void registerModels() {
		realfoods.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
	}

	public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, IBlockState state) {
		return true;
	}

	public boolean isOpaqueCube() {
		return false;
	}

	public Item getItemDropped(IBlockState state, Random rand, int fortune) {
		return realfoodsItems.TOMATO;
	}

	@Override
	public int quantityDropped(IBlockState blockstate, int fortune, Random random) {
		return random.nextInt(4 - 1 + 1) + 1;
	}

}

 

 

2018-05-02_17.51.50.png

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

58 minutes ago, SeanOMik said:

"facing": { "north": { "half":{

WRONGLY DONE, SIR.

 

Look at my example again. Notice how "shape" and "powered" are at the same level of indentation. At no point was one of them inside the other.

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

19 minutes ago, Draco18s said:

WRONGLY DONE, SIR.

 

Look at my example again. Notice how "shape" and "powered" are at the same level of indentation. At no point was one of them inside the other.

Well... It still isnt working. I don't have any changes in the model if its facing a certain direction, etc.

tomato_plant.json (blockstate)

Spoiler

{
    "forge_marker": 1,
    "variants": 
    {
        "sunflower": 
        {
            
        },
        "facing": 
        {
            "north": 
            {
                
            }
        },
        "half": 
        {
            "lower": 
            {
                "model": "realfoods:block/tomato_plant_bottom"
            },

            "upper": 
            {
                "model": "realfoods:block/tomato_plant_top"
            }
        }
    }
}

 

 

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

26 minutes ago, SeanOMik said:

        "facing": 
        {
            "north": 
            {
                
            }
        },

Is north the only direction your block can face?
I suspect not.

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

3 minutes ago, Draco18s said:

Is north the only direction your block can face?
I suspect not.

Well it still doesn't seem to work when I add the other directions:

{
    "forge_marker": 1,
    "variants": 
    {
        "sunflower": 
        {
            
        },
        "facing": 
        {
            "north": 
            {
                
            },
            "south":
            {
            
            },
            "east":
            {
            
            },
            "west": {
            
            }
        },
        "half": 
        {
            "lower": 
            {
                "model": "realfoods:block/tomato_plant_bottom"
            },

            "upper": 
            {
                "model": "realfoods:block/tomato_plant_top"
            }
        }
    }
}

 

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

Post your log.

 

There's delicious information in the log.

 

You should learn to read it.

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

1 hour ago, Draco18s said:

Post your log.

 

There's delicious information in the log.

 

You should learn to read it.

Yeah, I'll work on that! Anyway, here's the log: https://pastebin.com/BzAUSjxh

Also log (If you don't wanna use pastebin)

Spoiler

[20:43:09] [main/INFO] [GradleStart]: Extra: []
[20:43:09] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/sean_/.gradle/caches/minecraft/assets, --assetIndex, 1.12, --accessToken{REDACTED}, --version, 1.12.2, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[20:43:09] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[20:43:10] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[20:43:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[20:43:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[20:43:10] [main/INFO] [FML]: Forge Mod Loader version 14.23.3.2655 for Minecraft 1.12.2 loading
[20:43:10] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_151, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_151
[20:43:10] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[20:43:10] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLCorePlugin (net.minecraftforge.fml.relauncher.FMLCorePlugin), we are in deobf and it's a forge core plugin
[20:43:10] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLForgePlugin (net.minecraftforge.classloading.FMLForgePlugin), we are in deobf and it's a forge core plugin
[20:43:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[20:43:10] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[20:43:10] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[20:43:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:43:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:43:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[20:43:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:43:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:43:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:43:12] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[20:43:12] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:43:12] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:43:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[20:43:13] [main/INFO] [GradleStart]: Remapping AccessTransformer rules...
[20:43:13] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:43:13] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:43:13] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[20:43:14] [main/INFO] [net.minecraft.client.Minecraft]: Setting user: Player306
[20:43:20] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: lastServer:
[20:43:20] [main/INFO] [net.minecraft.client.Minecraft]: LWJGL Version: 2.9.4
[20:43:21] [main/INFO] [FML]: -- System Details --
Details:
	Minecraft Version: 1.12.2
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_151, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 3928072968 bytes (3746 MB) / 4225236992 bytes (4029 MB) up to 4225236992 bytes (4029 MB)
	JVM Flags: 3 total; -Xincgc -Xmx4G -Xms4G
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML: 
	Loaded coremods (and transformers): 
	GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 390.77' Renderer: 'GeForce GTX 1050 Ti/PCIe/SSE2'
[20:43:21] [main/INFO] [FML]: MinecraftForge v14.23.3.2655 Initialized
[20:43:21] [main/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients.
[20:43:21] [main/INFO] [FML]: Replaced 1036 ore ingredients
[20:43:22] [main/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[20:43:22] [main/INFO] [FML]: Searching D:\realFoods\1.12.2\run\mods for mods
[20:43:23] [main/INFO] [FML]: Forge Mod Loader has identified 6 mods to load
[20:43:23] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, realfoods, jei] at CLIENT
[20:43:23] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, realfoods, jei] at SERVER
[20:43:24] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 244051420 nanos
[20:43:24] [main/INFO] [net.minecraft.client.resources.SimpleReloadableResourceManager]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:A Relistic Food Mod, FMLFileResourcePack:Just Enough Items
[20:43:25] [main/INFO] [FML]: Processing ObjectHolder annotations
[20:43:25] [main/INFO] [FML]: Found 1168 ObjectHolder annotations
[20:43:25] [main/INFO] [FML]: Identifying ItemStackHolder annotations
[20:43:25] [main/INFO] [FML]: Found 0 ItemStackHolder annotations
[20:43:25] [main/INFO] [FML]: Configured a dormant chunk cache size of 0
[20:43:25] [main/INFO] [FML]: Ignored smelting recipe with conflicting input: 1xtile.air@32767 = 1xtile.air@0
[20:43:25] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[20:43:25] [main/INFO] [FML]: Ignored smelting recipe with conflicting input: 1xtile.air@32767 = 1xtile.air@0
[20:43:25] [main/INFO] [FML]: Ignored smelting recipe with conflicting input: 1xtile.air@32767 = 1xtile.air@0
[20:43:25] [main/INFO] [FML]: Ignored smelting recipe with conflicting input: 1xtile.air@32767 = 1xtile.air@0
[20:43:25] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Found status: UP_TO_DATE Target: null
[20:43:25] [main/WARN] [FML]: ****************************************
[20:43:25] [main/WARN] [FML]: * Registry Block: The object Block{realfoods:stove} has been registered twice for the same name realfoods:stove.
[20:43:25] [main/WARN] [FML]: *  at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:300)
[20:43:25] [main/WARN] [FML]: *  at net.minecraftforge.registries.ForgeRegistry.add(ForgeRegistry.java:281)
[20:43:25] [main/WARN] [FML]: *  at net.minecraftforge.registries.ForgeRegistry.register(ForgeRegistry.java:114)
[20:43:25] [main/WARN] [FML]: *  at com.SeanOMik.realfoods.util.handlers.RegistryHandler.registerBlocks(RegistryHandler.java:37)
[20:43:25] [main/WARN] [FML]: *  at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_RegistryHandler_registerBlocks_Register.invoke(.dynamic)
[20:43:25] [main/WARN] [FML]: *  at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)...
[20:43:25] [main/WARN] [FML]: ****************************************
[20:43:25] [main/INFO] [FML]: Applying holder lookups
[20:43:25] [main/INFO] [FML]: Holder lookups applied
[20:43:25] [main/INFO] [FML]: Applying holder lookups
[20:43:25] [main/INFO] [FML]: Holder lookups applied
[20:43:25] [main/INFO] [FML]: Applying holder lookups
[20:43:25] [main/INFO] [FML]: Holder lookups applied
[20:43:25] [main/INFO] [FML]: Applying holder lookups
[20:43:25] [main/INFO] [FML]: Holder lookups applied
[20:43:25] [main/INFO] [FML]: Injecting itemstacks
[20:43:25] [main/INFO] [FML]: Itemstack injection complete
[20:43:29] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Starting up SoundSystem...
[20:43:29] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: Initializing LWJGL OpenAL
[20:43:29] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[20:43:30] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: OpenAL initialized.
[20:43:30] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Sound engine started
[20:43:36] [main/INFO] [FML]: Max texture size: 16384
[20:43:37] [main/INFO] [net.minecraft.client.renderer.texture.TextureMap]: Created: 512x512 textures-atlas
[20:43:38] [main/ERROR] [FML]: Exception loading model for variant realfoods:tomato_plant#facing=south,half=lower,variant=double_fern for blockstate "realfoods:tomato_plant[facing=south,half=lower,variant=double_fern]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model realfoods:tomato_plant#facing=south,half=lower,variant=double_fern with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	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_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[20:43:38] [main/ERROR] [FML]: Exception loading blockstate for the variant realfoods:tomato_plant#facing=south,half=lower,variant=double_fern: 
java.lang.Exception: Could not load model definition for variant realfoods:tomato_plant
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:281) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:121) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	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_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'realfoods:tomato_plant' from: 'realfoods:blockstates/tomato_plant.json' in resourcepack: 'FMLFileResourcePack:A Relistic Food Mod'
	at net.minecraft.client.renderer.block.model.ModelBakery.loadModelBlockDefinition(ModelBakery.java:246) ~[ModelBakery.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:223) ~[ModelBakery.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
	... 20 more
Caused by: java.util.NoSuchElementException
	at com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode(LinkedTreeMap.java:541) ~[LinkedTreeMap$LinkedTreeMapIterator.class:?]
	at com.google.gson.internal.LinkedTreeMap$EntrySet$1.next(LinkedTreeMap.java:568) ~[LinkedTreeMap$EntrySet$1.class:?]
	at com.google.gson.internal.LinkedTreeMap$EntrySet$1.next(LinkedTreeMap.java:566) ~[LinkedTreeMap$EntrySet$1.class:?]
	at net.minecraftforge.client.model.ForgeBlockStateV1$Deserializer.deserialize(ForgeBlockStateV1.java:103) ~[ForgeBlockStateV1$Deserializer.class:?]
	at net.minecraftforge.client.model.ForgeBlockStateV1$Deserializer.deserialize(ForgeBlockStateV1.java:68) ~[ForgeBlockStateV1$Deserializer.class:?]
	at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:69) ~[TreeTypeAdapter.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:887) ~[Gson.class:?]
	at com.google.gson.Gson.fromJson(Gson.java:825) ~[Gson.class:?]
	at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:84) ~[BlockStateLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:42) ~[ModelBlockDefinition.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadModelBlockDefinition(ModelBakery.java:242) ~[ModelBakery.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:223) ~[ModelBakery.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
	... 20 more
[20:43:38] [main/ERROR] [FML]: Exception loading model for variant realfoods:tomato_plant#facing=west,half=lower,variant=sunflower for blockstate "realfoods:tomato_plant[facing=west,half=lower,variant=sunflower]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model realfoods:tomato_plant#facing=west,half=lower,variant=sunflower with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	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_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[20:43:38] [main/ERROR] [FML]: Exception loading model for variant realfoods:strawberry_crop#age=5 for blockstate "realfoods:strawberry_crop[age=5]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model realfoods:strawberry_crop#age=5 with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	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_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[20:43:38] [main/ERROR] [FML]: Exception loading model for variant realfoods:strawberry_crop#age=6 for blockstate "realfoods:strawberry_crop[age=6]"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model realfoods:strawberry_crop#age=6 with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:248) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	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_151]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1189) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[20:43:38] [main/FATAL] [FML]: Suppressed additional 69 model loading errors for domain realfoods
[20:43:39] [main/INFO] [FML]: Applying holder lookups
[20:43:39] [main/INFO] [FML]: Holder lookups applied
[20:43:39] [main/INFO] [FML]: Injecting itemstacks
[20:43:39] [main/INFO] [FML]: Itemstack injection complete
[20:43:39] [main/INFO] [jei]: Starting JEI...
[20:43:40] [main/INFO] [jei]: Registering recipe categories...
[20:43:40] [main/INFO] [jei]: Registering recipe categories took 38.37 ms
[20:43:40] [main/INFO] [jei]: Registering mod plugins...
[20:43:40] [main/INFO] [jei]: Registering mod plugins took 358.9 ms
[20:43:40] [main/INFO] [jei]: Building recipe registry...
[20:43:40] [main/INFO] [jei]: Building recipe registry took 103.4 ms
[20:43:40] [main/INFO] [jei]: Building ingredient list...
[20:43:40] [main/INFO] [jei]: Building ingredient list took 41.15 ms
[20:43:40] [main/INFO] [jei]: Building ingredient filter...
[20:43:40] [main/INFO] [jei]: Building ingredient filter took 186.5 ms
[20:43:40] [main/INFO] [jei]: Building runtime...
[20:43:41] [main/INFO] [jei]: Building runtime took 131.6 ms
[20:43:41] [main/INFO] [jei]: Starting JEI took 1.112 s
[20:43:41] [main/INFO] [FML]: Forge Mod Loader has successfully loaded 6 mods
[20:43:41] [main/WARN] [net.minecraft.client.settings.GameSettings]: Skipping bad option: lastServer:
[20:43:41] [main/INFO] [com.mojang.text2speech.NarratorWindows]: Narrator library for x64 successfully loaded
[20:43:42] [Realms Notification Availability checker #1/INFO] [com.mojang.realmsclient.client.RealmsClient]: Could not authorize you against Realms server: Invalid session id
[20:43:45] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Starting integrated minecraft server version 1.12.2
[20:43:45] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Generating keypair
[20:43:45] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance
[20:43:45] [Server thread/INFO] [FML]: Applying holder lookups
[20:43:45] [Server thread/INFO] [FML]: Holder lookups applied
[20:43:46] [Server thread/INFO] [FML]: Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@1dde8709)
[20:43:46] [Server thread/INFO] [net.minecraft.advancements.AdvancementList]: Loaded 488 advancements
[20:43:46] [Server thread/INFO] [FML]: Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@1dde8709)
[20:43:46] [Server thread/INFO] [FML]: Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@1dde8709)
[20:43:46] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Preparing start region for level 0
[20:43:47] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Preparing spawn area: 7%
[20:43:48] [Server thread/INFO] [FML]: Unloading dimension -1
[20:43:48] [Server thread/INFO] [FML]: Unloading dimension 1
[20:43:48] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Changing view distance to 8, from 10
[20:43:50] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 2
[20:43:50] [Netty Server IO #1/INFO] [FML]: Client protocol version 2
[20:43:50] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 6 mods : [email protected],[email protected],[email protected],[email protected],[email protected],[email protected]
[20:43:50] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established
[20:43:50] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
[20:43:50] [Server thread/INFO] [net.minecraft.server.management.PlayerList]: Player306[local:E:07bdd73e] logged in with entity id 275 at (-140.72582944174977, 64.0, 351.7079008633882)
[20:43:50] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Player306 joined the game
[20:43:52] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Saving and pausing game...
[20:43:52] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'New World'/overworld
[20:43:52] [pool-2-thread-1/WARN] [com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@49c5cac0[id=a08e137b-04fa-3fce-96cc-517c7a87690d,name=Player306,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
	at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:79) ~[YggdrasilAuthenticationService.class:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:180) [YggdrasilMinecraftSessionService.class:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:60) [YggdrasilMinecraftSessionService$1.class:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:57) [YggdrasilMinecraftSessionService$1.class:?]
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) [guava-21.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) [guava-21.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) [guava-21.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) [guava-21.0.jar:?]
	at com.google.common.cache.LocalCache.get(LocalCache.java:4154) [guava-21.0.jar:?]
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) [guava-21.0.jar:?]
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) [guava-21.0.jar:?]
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5153) [guava-21.0.jar:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:170) [YggdrasilMinecraftSessionService.class:?]
	at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3177) [Minecraft.class:?]
	at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:138) [SkinManager$3.class:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_151]
	at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_151]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_151]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_151]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
[20:44:03] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Saving and pausing game...
[20:44:03] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'New World'/overworld
[20:44:04] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Stopping server
[20:44:04] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving players
[20:44:04] [Server thread/INFO] [net.minecraft.network.NetHandlerPlayServer]: Player306 lost connection: Disconnected
[20:44:04] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Player306 left the game
[20:44:04] [Server thread/INFO] [net.minecraft.network.NetHandlerPlayServer]: Stopping singleplayer server as player logged out
[20:44:04] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving worlds
[20:44:04] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'New World'/overworld
[20:44:04] [Server thread/INFO] [FML]: Unloading dimension 0
[20:44:04] [Server thread/INFO] [FML]: Applying holder lookups
[20:44:04] [Server thread/INFO] [FML]: Holder lookups applied
[20:44:06] [main/INFO] [net.minecraft.client.Minecraft]: Stopping!
[20:44:06] [main/INFO] [net.minecraft.client.audio.SoundManager]: SoundSystem shutting down...
[20:44:06] [main/WARN] [net.minecraft.client.audio.SoundManager]: Author: Paul Lamb, www.paulscode.com

 

 

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

Lets start with this chunk:

Spoiler

 

[20:43:38] [main/ERROR] [FML]: Exception loading blockstate for the variant realfoods:tomato_plant#facing=south,half=lower,variant=double_fern:
java.lang.Exception: Could not load model definition for variant realfoods:tomato_plant
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:281) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:121) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:236) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:163) ~[ModelLoader.class:?]
    at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
    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_151]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    at GradleStart.main(GradleStart.java:25) [start/:?]
Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'realfoods:tomato_plant' from: 'realfoods:blockstates/tomato_plant.json' in resourcepack: 'FMLFileResourcePack:A Relistic Food Mod'
    at net.minecraft.client.renderer.block.model.ModelBakery.loadModelBlockDefinition(ModelBakery.java:246) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:223) ~[ModelBakery.class:?]
    at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:277) ~[ModelLoader.class:?]
    ... 20 more

Caused by: java.util.NoSuchElementException

 

And boil it down to only the important bits:

Quote

 

[20:43:38] [main/ERROR] [FML]: Exception loading blockstate for the variant realfoods:tomato_plant#facing=south,half=lower,variant=double_fern:java.lang.Exception: Could not load model definition for variant realfoods:tomato_plant

 

Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'realfoods:tomato_plant' from: 'realfoods:blockstates/tomato_plant.json' in resourcepack: 'FMLFileResourcePack:A Relistic Food Mod'

 

Caused by: java.util.NoSuchElementException

 

 

Three lines.

 

The first one tells us what variant failed to load. Not very important, but this is where to start.

Then we find the next "Caused by" line, line two. "Encounter an exception when loading the model definition" this tells us something is wrong with the model, not the blockstate file.

The next "Caused by" line tells us what went wrong: NoSuchElementException.

 

Something is wrong with your realfoods:tomato_plant.json model, which you have not posted.

Edited by Draco18s
  • Thanks 1

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

Ah okay, amazing explanation for reading logs extremely helpful, but I actually have two model files, one for the top block and one for the bottom block (I got this idea from the double_fern.json setup), meaning I have no tomato_plant.json model, is this how it should be? Because that's how vanilla does it... Also here's the two json files:

tomato_plant_top.json (model)

{
    "parent": "block/cross",
    "textures": {
        "cross": "realfoods:blocks/tomato_plant_top"
    }
}

tomato_plant_bottom.json (model)

{
    "parent": "block/cross",
    "textures": {
        "cross": "realfoods:blocks/tomato_plant_bottom"
    }
}

 

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

Then you have something somewhere telling Minecraft to fetch the wrong thing.

 

Also, you should do something about having a Facing property and a Sunflower property you aren't even using

Edited by Draco18s

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

43 minutes ago, Draco18s said:

Then you have something somewhere telling Minecraft to fetch the wrong thing.

 

Also, you should do something about having a Facing property and a Sunflower property you aren't even using

Well the sunflower property is something from minecraft's class BlockDoublePlant so I thought I needed it, and the facing property, well your telling me I need it but I have no use for it... I mean its a plant! Are there any issues in my blocks class? I don't see anything that could be causing it...

realfoodsBlocks.java

Spoiler

package com.SeanOMik.realfoods.init;

import java.util.ArrayList;
import java.util.List;

import com.SeanOMik.realfoods.objects.blocks.complex.tomato_plant;
import com.SeanOMik.realfoods.util.handlers.RegistryHandler;

import net.minecraft.block.Block;

public class realfoodsBlocks {
	public static Block TOMATO_PLANT;

	public static void init() {
		//Plants
		RegistryHandler.BLOCKS.add(TOMATO_PLANT = new tomato_plant());
	}
}

 

 

If this isn't this, where do you think the error could be?

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

So, I've found out its something with the blockstate json file... I created two blocks, one with the top texture and the other with the bottom texture, and both worked fine. I went back to my original json (tomato_plant.json) and searched everywhere for anything... I found a tiny error:

"half": 
        {
            "lower": 
            {
                "model": "realfoods:blocks/tomato_plant_bottom"
            },

            "upper": 
            {
                "model": "realfoods:blocks/tomato_plant_top"
            }
        }

Can you see it? Its "realfoods:BLOCKS/tomato_plant_top" its the "blocks/" in both the model lines. So I called myself stupid and fixed it to:

"half": 
        {
            "lower": 
            {
                "model": "realfoods:tomato_plant_bottom"
            },

            "upper": 
            {
                "model": "realfoods:tomato_plant_top"
            }
        }

Then proceeded to startup minecraft hopefully... It of course didn't work... Its still the same thing... 

 

The full script now (tomato_plant.json (Model)):

Spoiler

{
    "forge_marker": 1,
    "variants": 
    {
        "sunflower": 
        {
            
        },
		"double_fern": 
        {
            
        },
        "facing": 
        {
            "north": 
            {
                
            },
            "south":
            {
            
            },
            "east":
            {
            
            },
            "west": {
            
            }
        },
        "half": 
        {
            "lower": 
            {
                "model": "realfoods:tomato_plant_bottom"
            },

            "upper": 
            {
                "model": "realfoods:tomato_plant_top"
            }
        }
    }
}

 

If anybody is an expert in JSON then please help!

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

1 hour ago, SeanOMik said:

RegistryHandler.BLOCKS.add(TOMATO_PLANT = new tomato_plant());

OH GOD, THIS WOULD BE WHY YOU HAVE PROBLEMS. FUCK ME.

 

Use the RegistryEvent.Register<Block> event to register your blocks.

1 hour ago, SeanOMik said:

Well the sunflower property is something from minecraft's class BlockDoublePlant so I thought I needed it, and the facing property, well your telling me I need it but I have no use for it... I mean its a plant!

It's called "you extended a block with declared properties that you don't want and don't need, stop doing that." That or "you added a property that doesn't exist in your block to your blockstate file and did so in a way that is fucking retarded because you made it contain your other properties and that is Wrong."

 

One or the other, I don't know which, maybe both. I can't be arsed to look at Vanilla's code right now.

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

18 hours ago, Draco18s said:

OH GOD, THIS WOULD BE WHY YOU HAVE PROBLEMS. FUCK ME.

 

Use the RegistryEvent.Register<Block> event to register your blocks.

I probably should've posted my RegistryHandler...

RegistryHandler.java

Spoiler

package com.SeanOMik.realfoods.util.handlers;

import java.util.ArrayList;
import java.util.List;

import com.SeanOMik.realfoods.init.realfoodsBlocks;
import com.SeanOMik.realfoods.init.realfoodsItems;
import com.SeanOMik.realfoods.util.IHasModel;
import com.SeanOMik.realfoods.world.realFoodsWorldGenerator;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.event.RegistryEvent.Register;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;

@EventBusSubscriber
public class RegistryHandler {
	public static List<Block> BLOCKS = new ArrayList<Block>();
	public static List<Item> ITEMS = new ArrayList<Item>();

	public static void prepareBlocks() {
		realfoodsBlocks.init();
	}

	public static void prepareItems() {
		realfoodsItems.init();
	}

	@SubscribeEvent
	public static void registerBlocks(RegistryEvent.Register<Block> event) {
		prepareBlocks();

		for (Block block : BLOCKS) {
			event.getRegistry().register(block);
		}
	}

	@SubscribeEvent
	public static void registerItems(RegistryEvent.Register<Item> event) {
		prepareItems();

		for (Item item : ITEMS) {
			event.getRegistry().register(item);
		}
	}

	@SubscribeEvent
	public static void onModelRegister(ModelRegistryEvent event) {
		for (Block block : BLOCKS) {
			if (block instanceof IHasModel) {
				((IHasModel) block).registerModels();
			}
		}

		for (Item item : ITEMS) {
			if (item instanceof IHasModel) {
				((IHasModel) item).registerModels();
			}
		}
	}
	public static void otherRegistries() {
		GameRegistry.registerWorldGenerator(new realFoodsWorldGenerator(), 0);
	}
	
}

 

 

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

16 minutes ago, SeanOMik said:

Sorry about taking so long to answer I had school...

No one cares, this isn't a chat room.

 

Anyway, ok, that looks less awful than I'd originally thought.

 

  1. ModelRegistryEvent is client-side only. It can't live here.

  2. IHasModel is a fucking stupid convention. Seriously. ALL ITEMS HAVE MODELS
  3. Your IHasModel does nothing to insure that your block class registers an ItemBlock for itself, leading to a possible crash if you forget.
  4. The method your IHasModel interface supplies just redirects to your client proxy with no additional information from the block/item. proxy.registerModel(item, item.getRegistryName(), "inventory") will work just fine (or if the code is already in the client proxy--see #1--then you don't need the proxy. part...or really, you just just call ModelLoader directly).

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

Where do you put other client-side-only code?

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

The client proxy... So now my client proxy looked like this (I added the onModelRegister function and also added the @EventBusSubscriber at the before the class.)

Spoiler

package com.SeanOMik.realfoods.proxy;

import com.SeanOMik.realfoods.util.IHasModel;
import com.SeanOMik.realfoods.util.Reference;
import com.SeanOMik.realfoods.util.handlers.RegistryHandler;

import net.minecraft.block.Block;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@EventBusSubscriber
public class ClientProxy extends CommonProxy
{
	@Override
	public void registerItemRenderer(Item item, int meta, String id) 
	{
		ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id));
	}
	
	@Override
	public void registerVariantRenderer(Item item, int meta, String filename, String id) 
	{
		ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(new ResourceLocation(Reference.MOD_ID, filename), id));
	}
	
	@SubscribeEvent
	public static void onModelRegister(ModelRegistryEvent event) {
		for (Block block : RegistryHandler.BLOCKS) {
			if (block instanceof IHasModel) {
				((IHasModel) block).registerModels();
			}
		}

		for (Item item : RegistryHandler.ITEMS) {
			if (item instanceof IHasModel) {
				((IHasModel) item).registerModels();
			}
		}
	}
}

 

So now the RegisterHandler looks like this:

Spoiler

package com.SeanOMik.realfoods.util.handlers;

import java.util.ArrayList;
import java.util.List;

import com.SeanOMik.realfoods.init.realfoodsBlocks;
import com.SeanOMik.realfoods.init.realfoodsItems;
import com.SeanOMik.realfoods.util.IHasModel;
import com.SeanOMik.realfoods.world.realFoodsWorldGenerator;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.event.RegistryEvent.Register;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;

@EventBusSubscriber
public class RegistryHandler {
	public static List<Block> BLOCKS = new ArrayList<Block>();
	public static List<Item> ITEMS = new ArrayList<Item>();

	public static void prepareBlocks() {
		realfoodsBlocks.init();
	}

	public static void prepareItems() {
		realfoodsItems.init();
	}

	@SubscribeEvent
	public static void registerBlocks(RegistryEvent.Register<Block> event) {
		prepareBlocks();

		for (Block block : BLOCKS) {
			event.getRegistry().register(block);
		}
	}

	@SubscribeEvent
	public static void registerItems(RegistryEvent.Register<Item> event) {
		prepareItems();

		for (Item item : ITEMS) {
			event.getRegistry().register(item);
		}
	}
      
	public static void otherRegistries() {
		GameRegistry.registerWorldGenerator(new realFoodsWorldGenerator(), 0);
	}
}

 

After making this change nothing changed... Did I mention that there are 6 different Tomato Plants in JEI and in the creative tab? (See screenshot)

Capture.PNG

Edited by SeanOMik

Developer of "A Realistic Foods Mod"

Link to comment
Share on other sites

38 minutes ago, SeanOMik said:

Did I mention that there are 6 different Tomato Plants in JEI and in the creative tab?

This is because you're not overriding getSubItems, but a parent class is, providing variants you don't want.

 

Every single one of your model problems is likely also related to that fact.

 

Stop extending that class.

 

(You also didn't do anything about 2,3,and 4 in my bullet list, but whatever)

Edited by Draco18s

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

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



×
×
  • Create New...

Important Information

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