Jump to content

[1.9] (SOLVED) Custom Block working fine but not textured in Inventory


EM3R50N

Recommended Posts

Hey everyone,

 

First let me say that I'm fairly nervous/intimidated posting this as C# is my day job language and JAVA is just something I tinker with. That said I love Minecraft and the many brilliant mods that have come out over the years! Anyhow - my apologies if I'm posting this in the wrong area or my level of Minecraft modding skills are not sufficient enough to ask a question like this!

 

So ... after watching some tutorials I've gotten a basic Tutorial "Custom Block" mod working in 1.9 with one problem ... the ItemBlock isn't registering correctly (if at all) because the texture doesn't map to the inventory/item in the player's hand. My assumption is that since the tutorials I've been referencing are for 1.8 they don't use what looks like a new way to register Block and ItemBlock as mentioned here: 1.8.9 to 1.9 quick primer (i.e. "Blocks and their ItemBlock forms are no longer registered together ...").

 

I've pasted the main java class from my tutorial below to show where it's at. Again, the custom block works great in game and the texture shows up when placed fine. However the item is not textured in the player's hand or in the inventory view. My theory is it's because my handling of ItemBlock registration below isn't working ... but if my situation sounds like something else is to blame please point me in that direction.

 

Any help would be greatly appreciated!

 

Java code:

 

package com.em3r50n.tutorialmod.init;

import com.em3r50n.tutorialmod.Reference;
import com.em3r50n.tutorialmod.blocks.TutorialModBlock;
import com.em3r50n.tutorialmod.itemblocks.TutorialModItemBlock;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class TutorialModBlocks {

public static Block testblock;
public static ItemBlock testblock_itemblock;	

public static void init(){	
	testblock = new TutorialModBlock(Material.grass)
							.setRegistryName("testblock");

	testblock_itemblock = (ItemBlock) new ItemBlock(testblock)
							.setRegistryName("testblock");								
}

public static void register(){
	GameRegistry.register(testblock);				
	GameRegistry.register(testblock_itemblock);						           
}

public static void registerRenders(){
	registerRender(testblock);		
}

public static void registerRender(Block block){
	Item item = Item.getItemFromBlock(block);		

	Minecraft.getMinecraft()
		.getRenderItem().getItemModelMesher()
		.register(item, 0, new ModelResourceLocation(
				Reference.MOD_ID + ":" + 
				item.getRegistryName().toString().substring(5), 
				"inventory"));			
}	
}

 

 

Screenshots:

 

11ukk0h.jpg

2q316yx.jpg

 

 

Link to comment
Share on other sites

item.getRegistryName returns a string I believe. In addition, it returns it in the format modid:itemName. Or you could use a name that you set in the constructor and then add the modId in that code.

It is trying to find a model at modid:modid:itemName, which doesn't exist.

Link to comment
Share on other sites

...It is trying to find a model at modid:modid:itemName, which doesn't exist.

 

DUDE! Thank you!

That was it! I changed the register call (below) and the item texture started showing up in the Inventory/Player Hand! Guess it wasn't my ItemBlock handling after all. Thank you so much again! Really appreciate it.

 

Code Change:

 

 

Before:

	Minecraft.getMinecraft()
		.getRenderItem().getItemModelMesher()
		.register(item, 0, new ModelResourceLocation(
				Reference.MOD_ID + ":" + 
				item.getRegistryName().toString().substring(5), 
				"inventory"));	

 

After:

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

 

 

 

Screenshot:

 

10z396a.jpg

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I have been trying to combat this issue between oculus and embeddium and to no avail... I have already tried a few online tutorials on how to get this working but it doesn't work at all. https://pastebin.com/geQgifjc
    • wow you sound like fun to play with
    • Instale el mod en mi servidor y este se queda iniciando por horas, en la consola me habla de algo de permisos y trate de seguir la ruta que me da pero no existe.   [13:05:32 INFO]: CustomNPC Permissions available: [13:05:32 INFO]: customnpcs.edit.blocks [13:05:32 INFO]: customnpcs.edit.villager [13:05:32 INFO]: customnpcs.global.bank [13:05:32 INFO]: customnpcs.global.dialog [13:05:32 INFO]: customnpcs.global.faction [13:05:32 INFO]: customnpcs.global.linked [13:05:32 INFO]: customnpcs.global.naturalspawn [13:05:32 INFO]: customnpcs.global.playerdata [13:05:32 INFO]: customnpcs.global.quest [13:05:32 INFO]: customnpcs.global.recipe [13:05:32 INFO]: customnpcs.global.transport [13:05:32 INFO]: customnpcs.npc.advanced [13:05:32 INFO]: customnpcs.npc.ai [13:05:32 INFO]: customnpcs.npc.clone [13:05:32 INFO]: customnpcs.npc.create [13:05:32 INFO]: customnpcs.npc.delete [13:05:32 INFO]: customnpcs.npc.display [13:05:32 INFO]: customnpcs.npc.freeze [13:05:32 INFO]: customnpcs.npc.gui [13:05:32 INFO]: customnpcs.npc.inventory [13:05:32 INFO]: customnpcs.npc.reset [13:05:32 INFO]: customnpcs.npc.stats [13:05:32 INFO]: customnpcs.scenes [13:05:32 INFO]: customnpcs.soulstone.all [13:05:32 INFO]: customnpcs.spawner.create [13:05:32 INFO]: customnpcs.spawner.mob [13:05:32 INFO]: customnpcs.tool.mounter [13:05:32 INFO]: customnpcs.tool.nbtbook [13:05:32 INFO]: customnpcs.tool.pather [13:05:32 INFO]: customnpcs.tool.scripter
    • I have created a very simple mod that is just supposed to send a message to a player when they join. Upon adding it to a server (that has other mods on it), the following crash message appears: [12:13:01] [main/ERROR] [minecraft/Main]: Failed to start the minecraft server net.minecraftforge.fml.LoadingFailedException: Loading errors encountered: [         Epic Mod (epicmod) has failed to load correctly §7java.lang.NoSuchMethodException: net.ed.epicmod.EpicMod.<init>() ]         at net.minecraftforge.fml.ModLoader.waitForTransition(ModLoader.java:243) ~[fmlcore-1.19.2-43.2.14.jar%23548!/:?] {}         at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$24(ModLoader.java:208) ~[fmlcore-1.19.2-43.2.14.jar%23548!/:?] {}         at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}         at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:208) ~[fmlcore-1.19.2-43.2.14.jar%23548!/:?] {}         at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$14(ModLoader.java:185) ~[fmlcore-1.19.2-43.2.14.jar%23548!/:?] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin,re:computing_frames}         at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:185) ~[fmlcore-1.19.2-43.2.14.jar%23548!/:?] {}         at net.minecraftforge.server.loading.ServerModLoader.load(ServerModLoader.java:32) ~[forge-1.19.2-43.2.14-universal.jar%23552!/:?] {re:classloading}         at net.minecraft.server.Main.main(Main.java:113) ~[server-1.19.2-20220805.130853-srg.jar%23547!/:?] {re:classloading,re:mixin,pl:mixin:A}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}         at net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$launchService$0(CommonServerLaunchHandler.java:29) ~[fmlloader-1.19.2-43.2.14.jar%2367!/:?] {}         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.8.jar%2354!/:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.8.jar%2354!/:?] {}         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.8.jar%2354!/:?] {}         at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-10.0.8.jar%2354!/:?] {}         at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-10.0.8.jar%2354!/:?] {}         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-10.0.8.jar%2354!/:?] {}         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-10.0.8.jar%2354!/:?] {}         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) [bootstraplauncher-1.1.2.jar:?] {} Why could this be? I have tried using the mod on another forge server with only this mod installed and it works there. Is my mod somehow interfering with other mods? MC version is 1.19.2
    • how to make animated doors?, maybe geckolib, but i don't know how to code it?
  • Topics

×
×
  • Create New...

Important Information

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