Jump to content

Registering a Texture to a Seed/Food.


gmod622

Recommended Posts

Hey!

 

So I'm having this problem with a crop that uses the food it creates, as the seed. However, I tried going about registering the texture, but have no luck. The crop displays correctly, not the item.

 

ModItems (Where the Item is registered and given the texture)

 

 

package com.lambda.PlentifulMisc.main.item;
import com.lambda.PlentifulMisc.main.PlentifulMisc;
import com.lambda.PlentifulMisc.main.block.ModBlocks;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemSeedFood;
import net.minecraftforge.fml.common.registry.GameRegistry;
import scala.collection.concurrent.Debug;

public class ModItems {

public static PMFoodBase cheese;
public static Item ROCKCRESS;
public static void init() {
	//Food&Crops
	cheese = register(new PMFoodBase(2, 0.3F, false, "pmcheese", "pmcheese"));
	ROCKCRESS = register(new ItemSeedFood(1, 0.3F, ModBlocks.CROP_ROCKCRESS, Blocks.FARMLAND).setUnlocalizedName("pmrockcress").setRegistryName("pmrockcress").setCreativeTab(PlentifulMisc.PM_CREATIVETAB));
}

private static <T extends Item> T register(T item) {
	GameRegistry.register(item);

	if (item instanceof ItemModelProvider ) {
		((ItemModelProvider )item).registerItemModel(item);
	}

	return item;
}

}

 

 

 

ItemModelProvider

 

 

 

package com.lambda.PlentifulMisc.main.item;

import net.minecraft.item.Item;

public interface ItemModelProvider {

void registerItemModel(Item item);

}

 

 

 

Finally, my Client Proxy

 

 

 

package com.lambda.PlentifulMisc.proxy;

import com.lambda.PlentifulMisc.main.PlentifulMisc;
import com.lambda.PlentifulMisc.main.info.PMReference;

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

public class ClientProxy extends CommonProxy {
@Override
public void registerItemRenderer(Item item, int meta, String id) {
	ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(PMReference.MODID + ":" + id, "inventory"));
}
}

 

 

 

Here is my json

 

 

{
    "parent": "item/generated",
    "textures": {
        "layer0": "pm:items/pmrockcress"
    }
}

 

 

 

screenshot of my paths:

http://prntscr.com/d6irrq

 

Not new to java >> New to modding.

Link to comment
Share on other sites

Hey!

 

So I'm having this problem with a crop that uses the food it creates, as the seed. However, I tried going about registering the texture, but have no luck. The crop displays correctly, not the item.

 

ModItems (Where the Item is registered and given the texture)

 

 

package com.lambda.PlentifulMisc.main.item;
import com.lambda.PlentifulMisc.main.PlentifulMisc;
import com.lambda.PlentifulMisc.main.block.ModBlocks;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemSeedFood;
import net.minecraftforge.fml.common.registry.GameRegistry;
import scala.collection.concurrent.Debug;

public class ModItems {

public static PMFoodBase cheese;
public static Item ROCKCRESS;
public static void init() {
	//Food&Crops
	cheese = register(new PMFoodBase(2, 0.3F, false, "pmcheese", "pmcheese"));
	ROCKCRESS = register(new ItemSeedFood(1, 0.3F, ModBlocks.CROP_ROCKCRESS, Blocks.FARMLAND).setUnlocalizedName("pmrockcress").setRegistryName("pmrockcress").setCreativeTab(PlentifulMisc.PM_CREATIVETAB));
}

private static <T extends Item> T register(T item) {
	GameRegistry.register(item);

	if (item instanceof ItemModelProvider ) {
		((ItemModelProvider )item).registerItemModel(item);
	}

	return item;
}

}

 

 

 

ItemModelProvider

 

 

 

package com.lambda.PlentifulMisc.main.item;

import net.minecraft.item.Item;

public interface ItemModelProvider {

void registerItemModel(Item item);

}

 

 

 

Finally, my Client Proxy

 

 

 

package com.lambda.PlentifulMisc.proxy;

import com.lambda.PlentifulMisc.main.PlentifulMisc;
import com.lambda.PlentifulMisc.main.info.PMReference;

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

public class ClientProxy extends CommonProxy {
@Override
public void registerItemRenderer(Item item, int meta, String id) {
	ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(PMReference.MODID + ":" + id, "inventory"));
}
}

 

 

Is the model file name matching/correct? Is it in the right package? Is your texture in the right package? Is it the correct name? If you can't tell me post your JSON and a screenshot of your path.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Sorry mb, was doing that then I went to eat and forgot :^)

Is ItemSeedFood your own class or a vanilla one? If vanilla calling your register function only ever registers a model for ItemModelProvider. Otherwise post ItemSeedFood.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Vanilla.

 

Well.  ItemSeedFood (if vanilla*) doesn't implement ItemModelProvider, your class. So of course your register(...) method isn't going to register an item model for it.

 

*The vanilla class is ItemSeeds. Oh derp, carrots/etc.

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

ModelLoader.setCustomModelResourceLocation

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

It should throw a logging error.

Also, use ROCKCRESS.getRegistryName() instead of "PMReference.MODID + ":" + "pmrockcress"

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

Hmm... Looking through the log and not seeing anything.

 

 

 

2016-11-12 18:20:35,345 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2016-11-12 18:20:35,347 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[18:20:35] [main/INFO] [GradleStart]: Extra: []
[18:20:35] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Blake/.gradle/caches/minecraft/assets, --assetIndex, 1.10, --accessToken{REDACTED}, --version, 1.10.2, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[18:20:35] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[18:20:35] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[18:20:35] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[18:20:35] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[18:20:35] [main/INFO] [FML]: Forge Mod Loader version 12.18.2.2099 for Minecraft 1.10.2 loading
[18:20:35] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_101, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_101
[18:20:35] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[18:20:35] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[18:20:35] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[18:20:35] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[18:20:35] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[18:20:35] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[18:20:35] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[18:20:35] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[18:20:35] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[18:20:35] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[18:20:35] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[18:20:37] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[18:20:37] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[18:20:37] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[18:20:37] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[18:20:37] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[18:20:37] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[18:20:37] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
2016-11-12 18:20:38,285 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2016-11-12 18:20:38,317 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2016-11-12 18:20:38,320 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[18:20:38] [Client thread/INFO]: Setting user: Player504
[18:20:43] [Client thread/WARN]: Skipping bad option: lastServer:
[18:20:43] [Client thread/INFO]: LWJGL Version: 2.9.4
[18:20:44] [Client thread/INFO] [sTDOUT]: [net.minecraftforge.fml.client.SplashProgress:start:221]: ---- Minecraft Crash Report ----
// There are four lights!

Time: 11/12/16 6:20 PM
Description: Loading screen debug info

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


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

-- System Details --
Details:
Minecraft Version: 1.10.2
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_101, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 192693568 bytes (183 MB) / 736624640 bytes (702 MB) up to 3814195200 bytes (3637 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 375.70' Renderer: 'GeForce GTX 960/PCIe/SSE2'
[18:20:44] [Client thread/INFO] [FML]: MinecraftForge v12.18.2.2099 Initialized
[18:20:44] [Client thread/INFO] [FML]: Replaced 232 ore recipes
[18:20:45] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[18:20:45] [Client thread/INFO] [FML]: Searching F:\Minecraft Workspace\1.10.x\Plentiful Misc\mods for mods
[18:20:46] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
[18:20:47] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, pm] at CLIENT
[18:20:47] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, pm] at SERVER
[18:20:47] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Plentiful Misc
[18:20:47] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[18:20:47] [Client thread/INFO] [FML]: Found 423 ObjectHolder annotations
[18:20:47] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[18:20:47] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[18:20:47] [Client thread/INFO] [FML]: Applying holder lookups
[18:20:47] [Client thread/INFO] [FML]: Holder lookups applied
[18:20:47] [Client thread/INFO] [FML]: Applying holder lookups
[18:20:47] [Client thread/INFO] [FML]: Holder lookups applied
[18:20:47] [Client thread/INFO] [FML]: Applying holder lookups
[18:20:47] [Client thread/INFO] [FML]: Holder lookups applied
[18:20:47] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[18:20:47] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[18:20:47] [Client thread/INFO] [sTDOUT]: [com.lambda.PlentifulMisc.main.PlentifulMisc:preInit:35]: [Plentiful Misc] Initializing Blocks!
[18:20:47] [Client thread/INFO] [sTDOUT]: [com.lambda.PlentifulMisc.main.PlentifulMisc:preInit:37]: [Plentiful Misc] Initializing Items!
[18:20:47] [Client thread/INFO] [FML]: Applying holder lookups
[18:20:47] [Client thread/INFO] [FML]: Holder lookups applied
[18:20:47] [Client thread/INFO] [FML]: Injecting itemstacks
[18:20:47] [Client thread/INFO] [FML]: Itemstack injection complete
[18:20:48] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Found status: UP_TO_DATE Target: null
[18:20:51] [sound Library Loader/INFO]: Starting up SoundSystem...
[18:20:51] [Thread-8/INFO]: Initializing LWJGL OpenAL
[18:20:51] [Thread-8/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[18:20:51] [Thread-8/INFO]: OpenAL initialized.
[18:20:51] [sound Library Loader/INFO]: Sound engine started
[18:20:55] [Client thread/INFO] [FML]: Max texture size: 16384
[18:20:55] [Client thread/INFO]: Created: 16x16 textures-atlas
[18:20:57] [Client thread/INFO] [FML]: Injecting itemstacks
[18:20:57] [Client thread/INFO] [FML]: Itemstack injection complete
[18:20:58] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
[18:20:58] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Plentiful Misc
[18:21:00] [Client thread/INFO]: SoundSystem shutting down...
[18:21:00] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[18:21:00] [sound Library Loader/INFO]: Starting up SoundSystem...
[18:21:01] [Thread-10/INFO]: Initializing LWJGL OpenAL
[18:21:01] [Thread-10/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[18:21:01] [Thread-10/INFO]: OpenAL initialized.
[18:21:01] [sound Library Loader/INFO]: Sound engine started
[18:21:04] [Client thread/INFO] [FML]: Max texture size: 16384
[18:21:04] [Client thread/INFO]: Created: 1024x512 textures-atlas
[18:21:05] [Client thread/WARN]: Skipping bad option: lastServer:
[18:21:06] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id
[18:21:12] [Client thread/INFO]: Stopping!
[18:21:12] [Client thread/INFO]: SoundSystem shutting down...
[18:21:12] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com

 

 

 

Also, now my item isn't in any creative tabs anymore?

 

EDIT:

It just randomly started working??? All i did was change the method back to

 ROCKCRESS = new register(... 

odd for sure..

Not new to java >> New to modding.

Link to comment
Share on other sites

Have a look at my project I created a couple of fully functional seeds and crops

for ex my model registry (blocks top items bottom) FENNEL is an ItemSeedFood  type item.

https://github.com/trollworkout/technorcery/blob/master/src/main/java/com/technorcery/client/ModelsHandler.java

 

 

For the seed eithr ItemSeed or ItemSeedFood is just like a regular item and you register it normally via ModelLoader

 

For ex my fennel is like a carrot ItemSeedFood is both a food and a seed  and is registered like so for texture

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

 

and defined like so

public static final Item FENNEL = new ItemSeedFood(1, 0.3F, ModBlocks.CROP_FENNEL, Blocks.FARMLAND).setUnlocalizedName("fennel").setRegistryName("fennel").setCreativeTab(ModData.CREATIVE_TAB);

 

As you can see I use the vanilla MC itemSeedFood works fine.

 

Also have a look at my json model for the item . My bet is you're doing something wrong either with model loader registry or your json is wrong.

my json for item

https://github.com/trollworkout/technorcery/blob/master/src/main/resources/assets/technorcery/models/item/fennel.json

Disclaimer:  I been told to keep my opinions to myself, to shut up and that I am spreading lies and misinformation or even that my methods are unorthodox and or too irregular. Here are my suggestions take it or leave it.

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.