Jump to content

Recommended Posts

Posted (edited)

I'm fairly new to forge, and have been following this tutorial

http://couchdoescode.blogspot.co.uk/2017/02/items.html?view=sidebar

 

In my ItemHandler class, registerRender method, I have to call Minecraft.getMinecraft() to register model location with item. However, it gives the error:

Method declared in a class annotated with a SideOnly.CLIENT cannot be referenced in an annotated method

 

This error seems to happen with all forge versions - I'm using 1.11 most recent, but an old project I did in 1.8 also has the same error, while it previously worked

I tried putting a @SideOnly(Side.CLIENT) before the class, which removed the error, but still crashed minecraft with a NullPointerException

All other attempted uses of @SideOnly have failed (It was worth a try)

 

I recently switched from eclipse to IntelliJ, and the same error does not seem to exist in the eclipse version - It may be a problem with the IDE. The exact line is:

Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item,0,new ModelResourceLocation(item.getRegistryName(),"inventory"));

 

Any help would be greatly appreciated

Edited by Ele20002
Solved
Posted (edited)

The tutorial is faulty to begin with.
Even if you put @SideOnly on the method, importing anything from minecraft's client package (in "common" code) will crash a dedicated server.
You would be better off splitting the registering of content & rendering them.
In a "registry" class, put all your Items in an ArrayList<Item> (and mirror that for blocks), then for-each-loop through the list, registering each one.
In a separate class altogether, "render", you register the renders (with ModelLoader) for each entry in the same list that you get from the registry class

Edited by Matryoshika

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Posted

Even having the ModelLoader call in it's own class gives an error. The class looks a bit like this:

package com.example.examplemod.handlers;

import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;

public class ItemRenderer {


	//Tells forge to look for the items models and textures
	public static void registerRender(Item item) {
		ModelLoader.setCustomModelResourceLocation(item,0,new ModelResourceLocation(item.getRegistryName(),"inventory"));
	}

}

 

The error is currently under the section

ModelLoader.setCustomModelResourceLocation

 

Posted (edited)

From before I isolated the ModelLoader call:

 

ExampleMod:

Spoiler

package com.example.examplemod;

import com.example.examplemod.proxy.IProxy;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

/**
 * Main mod class for ExampleMod
 * Has main functions
 *
 *
 *
 */

//References Id, version and name from 'Ref'
@Mod(modid = Ref.MODID, version = Ref.VERSION, name = Ref.NAME)
public class ExampleMod {

	//Set's up 'IProxy' interface with a sided proxy - client for client and common for server
	@SidedProxy(clientSide=Ref.CLIENT_PROXY, serverSide=Ref.SERVER_PROXY)
	static IProxy proxy;

	//Launches sided preInit
	@EventHandler
	public void preInit(FMLInitializationEvent event){
		proxy.preInit();
	}

	//Launches sided init
	//Items
    @EventHandler
    public void init(FMLInitializationEvent event){
		proxy.init();
    }

	//Launches sided postInit
	@EventHandler
	public void postInit(FMLInitializationEvent event){
		proxy.postInit();
	}
}

 

 

Ref:

Spoiler

package com.example.examplemod;

/**
 * Hold all references for the mod to access
 * Locations and final data
 */

public class Ref {
	public static final String MODID = "examplemod";
	public static final String VERSION = "1.0";
	public static final String NAME = "Example Mod";

	public static final String CLIENT_PROXY = "com.example.examplemod.proxy.ClientProxy";
	public static final String SERVER_PROXY = "com.example.examplemod.proxy.ServerProxy";

}

 

 

IProxy:

Spoiler

package com.example.examplemod.proxy;

/**
 * Interface for proxy's to implement, allowing them to handle all 3 initializations
 */

public interface IProxy {

	public void preInit();
	public void init();
	public void postInit();

}

 

 

CommonProxy:

Spoiler

package com.example.examplemod.proxy;

import com.example.examplemod.handlers.ItemHandler;

/**
 * Holds all initialization events that are always done
 * Superclass for other proxy's
 */

public class CommonProxy implements IProxy {
	@Override
	public void preInit() {
		//Initialize and register items
		ItemHandler.init();
		ItemHandler.register();
	}

	@Override
	public void init() {

	}

	@Override
	public void postInit() {

	}
}

 

 

ClientProxy:

Spoiler

package com.example.examplemod.proxy;

import com.example.examplemod.handlers.ItemHandler;

/**
 * Handles all exclusively client side initialization events
 */

public class ClientProxy extends CommonProxy {
	@Override
	public void preInit() {

	}

	@Override
	public void init() {
		//Render items
		ItemHandler.registerRenders();
	}

	@Override
	public void postInit() {

	}
}

 

 

ServerProxy:

Spoiler

package com.example.examplemod.proxy;

/**
 * Servers Handle:
 * Mob Spawning
 * Weather
 * Updating Inventories
 * Health
 * AI
 *
 *
 * (Game Logic)
 */

/**
 *
 */

public class ServerProxy extends CommonProxy{
}

 

 

ItemHandler:

Spoiler

package com.example.examplemod.handlers;

import com.example.examplemod.items.item_TestItem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.registry.GameRegistry;

/**
 * Handles mod items
 */

public class ItemHandler {

	public static Item testItem;

	//(pre)Initialises Items
	public static void init(){
		testItem = new item_TestItem("testItem", CreativeTabs.MATERIALS);
	}

	//Registers to forge
	public static void register() {
		GameRegistry.register(testItem);
	}

	//Registers rendering for forge to find models and textures
	public static void registerRenders() {
		registerRender(testItem);
	}

	//Tells forge to look for the items models and textures
	public static void registerRender(Item item) {
		//Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item,0,new ModelResourceLocation(item.getRegistryName(),"inventory"));
		ModelLoader.setCustomModelResourceLocation(item,0,new ModelResourceLocation(item.getRegistryName(),"inventory"));
	}
}

 

 

These are all the classes I have

Edited by Ele20002
Formatting
Posted

The error disappears when I put it into the ClientProxy, but is there any way to avoid filling up the ClientProxy with item rendering and have it in its own class?

Posted

Even having it in it's own class, being NOT REFERENCED AT ALL seems to give an error

Having the classes extend ClientProxy however does seems to prevent the error. I'm only not sure if it's good practice or will cause problems later down the line

Posted

ClientProxy:

Spoiler

package com.example.examplemod.proxy;

import com.example.examplemod.handlers.ItemHandler;
import com.example.examplemod.handlers.ItemRegister;
import com.example.examplemod.handlers.ItemRenderer;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraftforge.client.model.ModelLoader;

/**
 * Handles all exclusively client side initialization events
 */

public class ClientProxy extends CommonProxy {
	@Override
	public void preInit() {
		//Render items
		ItemRegister.register();
	}

	@Override
	public void init() {

	}

	@Override
	public void postInit() {

	}
}

 

 

ItemRenderer:

Spoiler

package com.example.examplemod.handlers;

import com.example.examplemod.proxy.ClientProxy;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;

public class ItemRenderer{


	//Tells forge to look for the items models and textures
	public static void registerRender(Item item) {
		ModelLoader.setCustomModelResourceLocation(item,0,new ModelResourceLocation(item.getRegistryName(),"inventory"));
	}

}

 

 

ItemRegister:

Spoiler

package com.example.examplemod.handlers;

import com.example.examplemod.items.item_TestItem;
import com.example.examplemod.proxy.ClientProxy;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;

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

public class ItemRegister{
	public static Item testItem;

	//(pre)Initialises Items
	public static void register() {
		testItem = new item_TestItem("testItem", CreativeTabs.MATERIALS);

		List<Item> list = new ArrayList<Item>();
		list.add(testItem);

		for(Item i:list) {
			GameRegistry.register(testItem);
			ItemRenderer.registerRender(i);
		}
	}
}

 

 

The error is:

Method declared in a class annotated with a SideOnly.CLIENT cannot be referenced in an annotated method

When hovering over:

ModelLoader.setCustomModelResourceLocation(item,0,new ModelResourceLocation(item.getRegistryName(),"inventory"));

In IntelliJ

 

I just tried loading it up and it actually worked fine this time. No idea why the error kept appearing, but the minecraft just suddenly started working - Thanks a lot

I stopped IntelliJ complaining with a

//noinspection MethodCallSideOnly

and it seems to work fine

 

Also, I didn't use @SideOnly(Side.CLIENT) as THAT caused minecraft to crash, and I saw somewhere that it was made for minecraft, not forge, and using it is a bad idea

 

 

On another problem, it doesn't actually render anyway ingame - a massive block of purple and black. I imagine it can't find the model:

item.getRegistryName()

At resources/assets/examplemod/models/item/testitem.json, but nothing seems to fix it

Posted

You are still referencing a Client-Only class (ItemRender(as it does things Client-side, it can never be called in "common" code, which can be called on both server & client)) and will thus face more issues.

Here, here's my take on a proper tutorial on how to register & render blocks (You can mirror everything, and switch out Block for Item).
Sit down, take your time, read it through, and try to understand the steps.
It makes use of 2 things not discussed here, mainly the RegistryEvent & ModelRegistryEvent. I believe it would be better for you to use these, and let Forge handle calling your Render-class Client-Side only, for you.

If something renders black & purple, either link us the fml-client-latest.log inside the projectname/run/logs folder, or pastebin the error reported in the console. "Exception loading model for variant...."

Also previously known as eAndPi.

"Pi, is there a station coming up where we can board your train of thought?" -Kronnn

Published Mods: Underworld

Handy links: Vic_'s Forge events Own WIP Tutorials.

Posted (edited)

All asset names must be entirely lower case in 1.11+. So this registry name: 

		testItem = new item_TestItem("testItem", CreativeTabs.MATERIALS);

is probably the reason it can't find your item model.

 

For the block model problem, show your blockstates and model json files, your registration and model code, and the complete console output.

Edited by Jay Avery
Posted

I tried with items with the same result (Following steps from Matryoshika):

 

ItemRegister

Spoiler

package com.example.examplemod.items;

import net.minecraft.item.Item;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

import java.util.LinkedList;
import java.util.List;

@Mod.EventBusSubscriber
public class ItemRegister {
	public static Item banana;

	public static List<Item> ItemList = new LinkedList<Item>();


	public static void prepareItems(){
		ItemList.add(banana = new MyItem());
	}

	//Happens automatically on load
	@SubscribeEvent
	public static void registerItems(RegistryEvent.Register<Item> event){
		prepareItems();

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

}

 

 

BlockRegister:

Spoiler

package com.example.examplemod.blocks;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

import java.util.LinkedList;
import java.util.List;

@Mod.EventBusSubscriber
public class BlockRegister {
	public static Block blockBanana;

	public static List<Block> BlockList = new LinkedList<Block>();


	public static void prepareBlocks(){
		BlockList.add(blockBanana = new MyBlock());
	}

	//Happens automatically on load
	@SubscribeEvent
	public static void registerBlocks(RegistryEvent.Register<Block> event){
		prepareBlocks();

		for(Block block:BlockList){
			event.getRegistry().register(block);
		}
	}
	//As items are made after blocks, prepareBlocks() is not needed
	@SubscribeEvent
	public static void registerItemBlocks(RegistryEvent.Register<Item> event){
		for(Block block : BlockList){
			ItemBlock iblock = new ItemBlock(block);
			iblock.setRegistryName(block.getRegistryName());
			event.getRegistry().register(iblock);
		}
	}
}

 

 

MyItem:

Spoiler

package com.example.examplemod.items;

import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class MyItem extends Item {
	public MyItem(){
		super();
		setRegistryName("banana");
		setUnlocalizedName(getRegistryName().toString());
		setCreativeTab(CreativeTabs.MATERIALS);

	}
}

 

 

MyBlock:

Spoiler

package com.example.examplemod.blocks;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;

public class MyBlock extends Block{

	public MyBlock(Material material){
		super(material);
		setRegistryName("block_banana");
		setUnlocalizedName(getRegistryName().toString());
		setCreativeTab(CreativeTabs.BUILDING_BLOCKS);

	}
	public MyBlock(){
		super(Material.GROUND);
		setRegistryName("block_banana");
		setUnlocalizedName(getRegistryName().toString());
		setCreativeTab(CreativeTabs.BUILDING_BLOCKS);

	}
}

 

 

resources/assets/examplemod/

   blockstates/

      block_banana.json:

     

Spoiler

{
  "variants": {
    "normal": { "model": "examplemod:block_banana" }
  }
}

 

   models/block/

      block_banana.json:

Spoiler

{
  "parent": "block/cube_all",
  "textures": {
    "all": "examplemod:blocks/block_banana"
  }
}

 

   models/item/

      banana.json:

Spoiler

{
  "parent": "item/generated",
  "textures": {
    "layer0": "examplemod:items/banana"
  }
}

 

      block_banana.json

Spoiler

{
  "parent":"examplemod:block/block_banana",
  "display": {
    "thirdperson": {
      "rotation": [ 10, -45, 170 ],
      "translation": [ 0, 1.5, -2.75 ],
      "scale": [ 0.375, 0.375, 0.375 ]
    }
  }
}

 

   textures/blocks/block_banana.png

   textures/items/banana.png

 

Console output:

Spoiler

2017-04-03 01:11:06,921 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2017-04-03 01:11:06,923 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[01:11:07] [main/INFO] [GradleStart]: Extra: []
[01:11:07] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Joseph/.gradle/caches/minecraft/assets, --assetIndex, 1.11, --accessToken{REDACTED}, --version, 1.11.2, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[01:11:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[01:11:07] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[01:11:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[01:11:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[01:11:07] [main/INFO] [FML]: Forge Mod Loader version 13.20.0.2261 for Minecraft 1.11.2 loading
[01:11:07] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_121, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jdk1.8.0_121\jre
[01:11:07] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[01:11:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[01:11:07] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[01:11:07] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[01:11:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[01:11:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[01:11:07] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[01:11:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[01:11:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[01:11:07] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[01:11:07] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[01:11:10] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[01:11:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[01:11:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[01:11:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[01:11:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[01:11:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[01:11:10] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
2017-04-03 01:11:11,675 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2017-04-03 01:11:11,722 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2017-04-03 01:11:11,724 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[01:11:12] [Client thread/INFO]: Setting user: Player469
[01:11:17] [Client thread/WARN]: Skipping bad option: lastServer:
[01:11:17] [Client thread/INFO]: LWJGL Version: 2.9.4
[01:11:19] [Client thread/INFO]: [STDOUT]: ---- Minecraft Crash Report ----
// I just don't know what went wrong :(

Time: 4/3/17 1:11 AM
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.11.2
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_121, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 291298736 bytes (277 MB) / 512229376 bytes (488 MB) up to 1895825408 bytes (1808 MB)
	JVM Flags: 0 total; 
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML: 
	Loaded coremods (and transformers): 
	GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 378.92' Renderer: 'GeForce GTX 750 Ti/PCIe/SSE2'
[01:11:19] [Client thread/INFO] [FML]: MinecraftForge v13.20.0.2261 Initialized
[01:11:19] [Client thread/INFO] [FML]: Replaced 232 ore recipes
[01:11:19] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[01:11:19] [Client thread/INFO] [FML]: Searching E:\My Folder\Code Stuffs\IntelliJ Workspace - Minecraft\Minecraft Forge 1.11\run\mods for mods
[01:11:21] [Client thread/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
[01:11:22] [Client thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, examplemod] at CLIENT
[01:11:22] [Client thread/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, examplemod] at SERVER
[01:11:22] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Example Mod
[01:11:22] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[01:11:22] [Client thread/INFO] [FML]: Found 444 ObjectHolder annotations
[01:11:22] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[01:11:22] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[01:11:22] [Client thread/INFO] [FML]: Applying holder lookups
[01:11:22] [Client thread/INFO] [FML]: Holder lookups applied
[01:11:22] [Client thread/INFO] [FML]: Applying holder lookups
[01:11:22] [Client thread/INFO] [FML]: Holder lookups applied
[01:11:22] [Client thread/INFO] [FML]: Applying holder lookups
[01:11:22] [Client thread/INFO] [FML]: Holder lookups applied
[01:11:23] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[01:11:23] [Client thread/INFO] [FML]: Applying holder lookups
[01:11:23] [Client thread/INFO] [FML]: Holder lookups applied
[01:11:23] [Client thread/INFO] [FML]: Injecting itemstacks
[01:11:23] [Client thread/INFO] [FML]: Itemstack injection complete
[01:11:23] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[01:11:23] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Found status: OUTDATED Target: 13.20.0.2262
[01:11:27] [Sound Library Loader/INFO]: Starting up SoundSystem...
[01:11:27] [Thread-8/INFO]: Initializing LWJGL OpenAL
[01:11:27] [Thread-8/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[01:11:27] [Thread-8/INFO]: OpenAL initialized.
[01:11:28] [Sound Library Loader/INFO]: Sound engine started
[01:11:32] [Client thread/ERROR] [FML]: Could not load vanilla model parent 'examplemod:block/block_banana' for 'net.minecraft.client.renderer.block.model.ModelBlock@59b782fa
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model examplemod:block/block_banana with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModelOrLogError(ModelLoaderRegistry.java:203) [ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaModelWrapper.getTextures(ModelLoader.java:498) [ModelLoader$VanillaModelWrapper.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:163) [ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:336) [ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) [ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:156) [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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.io.FileNotFoundException: examplemod:models/block/block_banana.json
	at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:69) ~[FallbackResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.access$1600(ModelLoader.java:126) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:937) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 23 more
[01:11:34] [Client thread/INFO] [FML]: Max texture size: 16384
[01:11:34] [Client thread/INFO]: Created: 16x16 textures-atlas
[01:11:34] [Client thread/ERROR] [FML]: Exception loading model for variant examplemod:block_banana#inventory for item "examplemod:block_banana", normal location exception: 
java.lang.IllegalStateException: vanilla model 'net.minecraft.client.renderer.block.model.ModelBlock@59b782fa' can't have non-vanilla parent
	at net.minecraftforge.client.model.ModelLoader$VanillaModelWrapper.getTextures(ModelLoader.java:505) ~[ModelLoader$VanillaModelWrapper.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:163) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:336) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:156) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
[01:11:34] [Client thread/ERROR] [FML]: Exception loading model for variant examplemod:block_banana#inventory for item "examplemod:block_banana", blockstate location exception: 
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model examplemod:block_banana#inventory with loader VariantLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:344) ~[ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:156) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:78) ~[ModelBlockDefinition.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1253) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 20 more
[01:11:34] [Client thread/ERROR] [FML]: Exception loading model for variant examplemod:block_banana#normal for blockstate "examplemod:block_banana"
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model examplemod:block_banana#normal 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:260) ~[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:248) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:155) ~[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:122) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:541) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model examplemod:block/block_banana with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:777) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1254) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
Caused by: java.io.FileNotFoundException: examplemod:models/block/block_banana.json
	at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:69) ~[FallbackResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.access$1600(ModelLoader.java:126) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:937) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:777) ~[ModelLoader$WeightedRandomModel.class:?]
	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1254) ~[ModelLoader$VariantLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 21 more
[01:11:35] [Client thread/INFO] [FML]: Injecting itemstacks
[01:11:35] [Client thread/INFO] [FML]: Itemstack injection complete
[01:11:35] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods
[01:11:35] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Example Mod
[01:11:38] [Client thread/INFO]: SoundSystem shutting down...
[01:11:39] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[01:11:39] [Sound Library Loader/INFO]: Starting up SoundSystem...
[01:11:39] [Thread-10/INFO]: Initializing LWJGL OpenAL
[01:11:39] [Thread-10/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[01:11:39] [Thread-10/INFO]: OpenAL initialized.
[01:11:39] [Sound Library Loader/INFO]: Sound engine started
[01:11:42] [Client thread/ERROR] [FML]: Could not load vanilla model parent 'examplemod:block/block_banana' for 'net.minecraft.client.renderer.block.model.ModelBlock@40dac99d
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model examplemod:block/block_banana with loader VanillaLoader.INSTANCE, skipping
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModelOrLogError(ModelLoaderRegistry.java:203) [ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaModelWrapper.getTextures(ModelLoader.java:498) [ModelLoader$VanillaModelWrapper.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:163) [ModelLoaderRegistry.class:?]
	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:336) [ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) [ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:156) [ModelLoader.class:?]
	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:132) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:113) [SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:800) [Minecraft.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:366) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:562) [Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:387) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	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_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.io.FileNotFoundException: examplemod:models/block/block_banana.json
	at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:69) ~[FallbackResourceManager.class:?]
	at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[SimpleReloadableResourceManager.class:?]
	at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
	at net.minecraftforge.client.model.ModelLoader.access$1600(ModelLoader.java:126) ~[ModelLoader.class:?]
	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:937) ~[ModelLoader$VanillaLoader.class:?]
	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
	... 26 more
[01:11:44] [Client thread/INFO] [FML]: Max texture size: 16384
[01:11:44] [Client thread/INFO]: Created: 512x512 textures-atlas
[01:11:45] [Client thread/WARN]: Skipping bad option: lastServer:
[01:11:47] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id
[01:11:56] [Server thread/INFO]: Starting integrated minecraft server version 1.11.2
[01:11:56] [Server thread/INFO]: Generating keypair
[01:11:56] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
[01:11:56] [Server thread/INFO] [FML]: Applying holder lookups
[01:11:56] [Server thread/INFO] [FML]: Holder lookups applied
[01:11:56] [Server thread/INFO] [FML]: Loading dimension 0 (Test) (net.minecraft.server.integrated.IntegratedServer@f1557c5)
[01:11:56] [Server thread/INFO] [FML]: Loading dimension 1 (Test) (net.minecraft.server.integrated.IntegratedServer@f1557c5)
[01:11:56] [Server thread/INFO] [FML]: Loading dimension -1 (Test) (net.minecraft.server.integrated.IntegratedServer@f1557c5)
[01:11:56] [Server thread/INFO]: Preparing start region for level 0
[01:11:57] [Server thread/INFO]: Changing view distance to 12, from 10
[01:11:59] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 2
[01:11:59] [Netty Server IO #1/INFO] [FML]: Client protocol version 2
[01:11:59] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 5 mods : [email protected],[email protected],[email protected],[email protected],[email protected]
[01:11:59] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established
[01:11:59] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
[01:11:59] [Server thread/INFO]: Player469[local:E:0fd70059] logged in with entity id 128 at (-1150.7396907102268, 4.0, -1528.5201780255568)
[01:11:59] [Server thread/INFO]: Player469 joined the game
[01:12:00] [Server thread/INFO]: Saving and pausing game...
[01:12:00] [Server thread/INFO]: Saving chunks for level 'Test'/Overworld
[01:12:01] [Server thread/INFO]: Saving chunks for level 'Test'/Nether
[01:12:01] [Server thread/INFO]: Saving chunks for level 'Test'/The End
[01:12:01] [pool-2-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@2c5c13d8[id=11e12ca9-fda1-31b6-8f92-6e251e7a18f2,name=Player469,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:3524) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache.get(LocalCache.java:3934) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) [guava-17.0.jar:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:170) [YggdrasilMinecraftSessionService.class:?]
	at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3056) [Minecraft.class:?]
	at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:138) [SkinManager$3.class:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
[01:12:07] [Server thread/INFO]: Player469 has just earned the achievement [Taking Inventory]
[01:12:07] [Client thread/INFO]: [CHAT] Player469 has just earned the achievement [Taking Inventory]
[01:12:20] [Server thread/INFO]: Saving and pausing game...
[01:12:20] [Server thread/INFO]: Saving chunks for level 'Test'/Overworld
[01:12:20] [Server thread/INFO]: Saving chunks for level 'Test'/Nether
[01:12:20] [Server thread/INFO]: Saving chunks for level 'Test'/The End
[01:12:21] [Server thread/INFO]: Stopping server
[01:12:21] [Server thread/INFO]: Saving players
[01:12:21] [Server thread/INFO]: Player469 lost connection: TextComponent{text='Disconnected', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
[01:12:21] [Server thread/INFO]: Player469 left the game
[01:12:21] [Server thread/INFO]: Stopping singleplayer server as player logged out
[01:12:21] [Server thread/INFO]: Saving worlds
[01:12:21] [Server thread/INFO]: Saving chunks for level 'Test'/Overworld
[01:12:21] [Server thread/INFO]: Saving chunks for level 'Test'/Nether
[01:12:21] [Server thread/INFO]: Saving chunks for level 'Test'/The End
[01:12:21] [Server thread/INFO] [FML]: Unloading dimension 0
[01:12:21] [Server thread/INFO] [FML]: Unloading dimension -1
[01:12:21] [Server thread/INFO] [FML]: Unloading dimension 1
[01:12:21] [Server thread/INFO] [FML]: Applying holder lookups
[01:12:21] [Server thread/INFO] [FML]: Holder lookups applied
[01:12:22] [Client thread/INFO]: Stopping!
[01:12:22] [Client thread/INFO]: SoundSystem shutting down...
[01:12:23] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com

 

 

 

Hopefully that's everything

Posted

When you set your item/block's registry names, make sure to add the modid as well. Not doing so will default the block to vanilla's json location (minecraft:block_banana), which you do not want. In your case, it would be 'examplemod:block_banana'. Forge usually flags mis-registered names as containing a dangerous prefix, so not sure why it didn't in your case.

Posted

I changed the MyItems and MyBlocks to have:

setRegistryName("examplemod:banana");

instead of

setRegistryName("banana");

but it doesn't seem to have done much - nothing changed

Posted (edited)
3 hours ago, Matryoshika said:

The tutorial is faulty to begin with.
Even if you put @SideOnly on the method, importing anything from minecraft's client package (in "common" code) will crash a dedicated server.

That's....not....true....even by half.

 

@SideOnly makes the thing marked as side only stripped when run on the dedicated server.  Which is not necessarily sufficient to avoid crashing the dedicated server, as you may be trying to invoke this method from common code.

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.

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

    • After some time minecraft crashes with an error. Here is the log https://drive.google.com/file/d/1o-2R6KZaC8sxjtLaw5qj0A-GkG_SuoB5/view?usp=sharing
    • The specific issue is that items in my inventory wont stack properly. For instance, if I punch a tree down to collect wood, the first block I collected goes to my hand. So when I punch the second block of wood to collect it, it drops, but instead of stacking with the piece of wood already in my hand, it goes to the second slot in my hotbar instead. Another example is that I'll get some dirt, and then when I'm placing it down later I'll accidentally place a block where I don't want it. When I harvest it again, it doesn't go back to the stack that it came from on my hotbar, where it should have gone, but rather into my inventory. That means that if my inventory is full, then the dirt wont be picked up even though there should be space available in the stack I'm holding. The forge version I'm using is 40.3.0, for java 1.18.2. I'll leave the mods I'm using here, and I'd appreciate it if anybody can point me in the right direction in regards to figuring out how to fix this. I forgot to mention that I think it only happens on my server but I&#39;m not entirely sure. PLEASE HELP ME! LIST OF THE MODS. aaa_particles Adorn AdvancementPlaques AI-Improvements AkashicTome alexsdelight alexsmobs AmbientSounds amwplushies Animalistic another_furniture AppleSkin Aquaculture aquamirae architectury artifacts Atlas-Lib AutoLeveling AutoRegLib auudio balm betterfpsdist biggerstacks biomancy BiomesOPlenty blockui blueprint Bookshelf born_in_chaos Botania braincell BrassAmberBattleTowers brutalbosses camera CasinoCraft cfm (MrCrayfish’s Furniture Mod) chat_heads citadel cloth-config Clumps CMDCam CNB cobweb collective comforts convenientcurioscontainer cookingforblockheads coroutil CosmeticArmorReworked CozyHome CrabbersDelight crashexploitfixer crashutilities Create CreativeCore creeperoverhaul cristellib crittersandcompanions Croptopia CroptopiaAdditions CullLessLeaves curios curiouslanterns curiouslights Curses' Naturals CustomNPCs CyclopsCore dannys_expansion decocraft Decoration Mod DecorationDelightRefurbished Decorative Blocks Disenchanting DistantHorizons doubledoors DramaticDoors drippyloadingscreen durabilitytooltip dynamic-fps dynamiclights DynamicTrees DynamicTreesBOP DynamicTreesPlus Easy Dungeons EasyAnvils EasyMagic easy_npc eatinganimation ecologics effective_fg elevatorid embeddium emotecraft enchantlimiter EnchantmentDescriptions EnderMail engineersdecor entityculling entity_model_features entity_texture_features epicfight EvilCraft exlinefurniture expandability explosiveenhancement factory-blocks fairylights fancymenu FancyVideo FarmersDelight fast-ip-ping FastSuite ferritecore finsandtails FixMySpawnR Forge Middle Ages fossil FpsReducer2 furnish GamingDeco geckolib goblintraders goldenfood goodall H.e.b habitat harvest-with-ease hexerei hole_filler huge-structure-blocks HunterIllager iammusicplayer Iceberg illuminations immersive_paintings incubation infinitybuttons inventoryhud InventoryProfilesNext invocore ItemBorders itemzoom Jade jei (Just Enough Items) JetAndEliasArmors journeymap JRFTL justzoom kiwiboi Kobolds konkrete kotlinforforge lazydfu LegendaryTooltips libIPN lightspeed lmft lodestone LongNbtKiller LuckPerms Lucky77 MagmaMonsters malum ManyIdeasCore ManyIdeasDoors marbledsarsenal marg mcw-furniture mcw-lights mcw-paths mcw-stairs mcw-trapdoors mcw-windows meetyourfight melody memoryleakfix Mimic minecraft-comes-alive MineTraps minibosses MmmMmmMmmMmm MOAdecor (ART, BATH, COOKERY, GARDEN, HOLIDAYS, LIGHTS, SCIENCE) MobCatcher modonomicon mods_optimizer morehitboxes mowziesmobs MutantMonsters mysticalworld naturalist NaturesAura neapolitan NekosEnchantedBooks neoncraft2 nerb nifty NightConfigFixes nightlights nocube's_villagers_sell_animals NoSeeNoTick notenoughanimations obscure_api oculus oresabovediamonds otyacraftengine Paraglider Patchouli physics-mod Pillagers Gun PizzaCraft placeableitems Placebo player-animation-lib pneumaticcraft-repressurized polymorph PrettyPipes Prism projectbrazier Psychadelic-Chemistry PuzzlesLib realmrpg_imps_and_demons RecipesLibrary reeves-furniture RegionsUnexplored restrictedportals revive-me Scary_Mobs_And_Bosses selene shetiphiancore ShoulderSurfing smoothboot
    • Hi everyone, I'm currently developing a Forge 1.21 mod for Minecraft and I want to display a custom HUD overlay for a minigame. My goal: When the game starts, all players should see an item/block icon (from the base game, not a custom texture) plus its name/text in the HUD – similar to how the bossbar overlay works. The HUD should appear centered above the hotbar (or at a similar prominent spot), and update dynamically (icon and name change as the target item changes). What I've tried: I looked at many online tutorials and several GitHub repos (e.g. SeasonHUD, MiniHUD), but most of them use NeoForge or Forge versions <1.20 that provide the IGuiOverlay API (e.g. implements IGuiOverlay, RegisterGuiOverlaysEvent). In Forge 1.21, it seems that neither IGuiOverlay nor RegisterGuiOverlaysEvent exist anymore – at least, I can't import them and they are missing from the docs and code completion. I tried using RenderLevelStageEvent as a workaround but it is probably not intended for custom HUDs. I am not using NeoForge, and switching the project to NeoForge is currently not an option for me. I tried to look at the original minecraft source code to see how elements like hearts, hotbar etc are drawn on the screen but I am too new to Minecraft modding to understand. What I'm looking for: What is the correct way to add a custom HUD element (icon + text) in Forge 1.21, given that the previous overlay API is missing? Is there a new recommended event, callback, or method in Forge 1.21 for custom HUD overlays, or is everyone just using a workaround? Is there a minimal open-source example repo for Forge 1.21 that demonstrates a working HUD overlay without relying on NeoForge or deprecated Forge APIs? My ideal solution: Centered HUD element with an in-game item/block icon (from the base game's assets, e.g. a diamond or any ItemStack / Item) and its name as text, with a transparent background rectangle. It should be visible to the players when the mini game is running. Easy to update the item (e.g. static variable or other method), so it can change dynamically during the game. Any help, code snippets, or up-to-date references would be really appreciated! If this is simply not possible right now in Forge 1.21, it would also help to know that for sure. Thank you very much in advance!
    • The simple answer is there is not an easy way. You would need to know how to program in Java, as well as at least some familiarity with how Forge works so you could port the differences. You would also need the sourcecode for the original mod, and permission from the author to modify it, if they did not use some sort of open source license. So it's not impossible, but it would take some effort, but doing so would open up a whole new world of possibilities for you!
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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