Jump to content

Recommended Posts

Posted
  On 11/20/2018 at 3:13 PM, themaw said:

 As the title said,Is there any way to import a model and render it at a block?

Expand  

Yes you can use .obj files and forge has an already in place system for it, you will still need a json file for your blockstate it just needs to point to the obj file and in your preInit method call OBJLoader.add or similar.

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.

Posted
  On 11/20/2018 at 3:30 PM, Animefan8888 said:

Yes you can use .obj files and forge has an already in place system for it, you will still need a json file for your blockstate it just needs to point to the obj file and in your preInit method call OBJLoader.add or similar.

Expand  

Ok.

Tank you so much

Posted

You can find a lot of examples of TESRs in vanilla code.

https://mcforge.readthedocs.io/en/latest/tileentities/tesr/#fasttesr

About Me

  Reveal hidden contents

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Posted
  On 11/22/2018 at 7:45 AM, Cadiboo said:

You can find a lot of examples of TESRs in vanilla code.

https://mcforge.readthedocs.io/en/latest/tileentities/tesr/#fasttesr

Expand  

Tank you for your answer.

 

And if I try to get an .obj model like this:

 

IModel model = RenderHelper.getRenderObj(new ResourceLocation(Info.modid+":obj/onhookblock"));

 

and the file's path is src\main\resources\assets\mawgui\obj\onhookblock.obj

 

the console will reporte a Expection :java.lang.NullPointerException

 

the getRenderObj void is like this:

	public static IModel getRenderObj(ResourceLocation res) {
		try {
			return OBJLoader.INSTANCE.loadModel(res);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}

What's wrong in this code?

Posted (edited)
  On 11/22/2018 at 8:01 AM, themaw said:

} catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return null; }

Expand  

All of that and this among other things

  On 11/22/2018 at 8:01 AM, themaw said:

ResourceLocation(Info.modid+":obj/onhookblock")

Expand  

You should use the overload that takes a namespace and path. You also haven’t provided any logs, so we can’t tell you exactly what is causing your issue (I assume it’s a FileNotFound error though)

Edited by Cadiboo

About Me

  Reveal hidden contents

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Posted
  On 11/22/2018 at 12:51 PM, V0idWa1k3r said:

Also IModel is just a collection of info that is needed to build the IBakedModel. IModel and it's implementations contain no quads and thus can't be rendered. You need an IBakedModel instance.

Expand  

Thank your for your answer.

But now can not even get the IModel:(

It give me a "file not found" message

Posted
  On 11/22/2018 at 10:51 AM, Cadiboo said:

All of that and this among other things

You should use the overload that takes a namespace and path. You also haven’t provided any logs, so we can’t tell you exactly what is causing your issue (I assume it’s a FileNotFound error though)

Expand  

Yes.It's a "FileNotFound" error.

I still not solved this problem.

I have skipped this problem to solve other problems at present, but sooner or later this problem will be the only one left in these two days

 

My obj folder layout was in my last reply

There should actually be only one question left: where should the resourcelocation for this obj file be.

Thank you for your care

 

Posted (edited)

Can you post your log please?

The ResourceLocation should be in this code

  On 11/22/2018 at 8:01 AM, themaw said:

IModel model = RenderHelper.getRenderObj(new ResourceLocation(Info.modid+":obj/onhookblock"));

Expand  

 

Edited by Cadiboo

About Me

  Reveal hidden contents

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Posted
  On 11/24/2018 at 8:18 AM, Cadiboo said:

Can you post your log please?

The ResourceLocation should in this code

 

Expand  

I'm sorry for my late reply.

Here is the log at launch:

2018-11-26 23:33:44,322 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2018-11-26 23:33:44,338 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[23:33:44] [main/INFO] [GradleStart]: Extra: []
[23:33:44] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/mawse/.gradle/caches/minecraft/assets, --assetIndex, 1.12, --accessToken{REDACTED}, --version, 1.12, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[23:33:44] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[23:33:45] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[23:33:45] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[23:33:45] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[23:33:45] [main/INFO] [FML]: Forge Mod Loader version 14.21.1.2387 for Minecraft 1.12 loading
[23:33:45] [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\jre1.8.0_121
[23:33:45] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[23:33:45] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[23:33:45] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[23:33:45] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[23:33:45] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[23:33:45] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[23:33:45] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[23:33:45] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[23:33:45] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[23:33:45] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
2018-11-26 23:33:45,602 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2018-11-26 23:33:46,131 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2018-11-26 23:33:46,134 main WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[23:33:46] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[23:33:50] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[23:33:50] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[23:33:50] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[23:33:51] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[23:33:51] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[23:33:51] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[23:33:51] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[23:33:54] [main/INFO]: Setting user: Player149
[23:34:01] [main/WARN]: Skipping bad option: lastServer:
[23:34:02] [main/INFO]: LWJGL Version: 2.9.4
[23:34:03] [main/INFO] [FML]: -- System Details --
Details:
	Minecraft Version: 1.12
	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: 770322848 bytes (734 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
	JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML: 
	Loaded coremods (and transformers): 
	GL info: ' Vendor: 'Intel' Version: '4.5.0 - Build 24.20.100.6136' Renderer: 'Intel(R) HD Graphics 520'
[23:34:03] [main/INFO] [FML]: MinecraftForge v14.21.1.2387 Initialized
[23:34:03] [main/INFO] [FML]: Replaced 921 ore ingredients
[23:34:04] [main/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[23:34:04] [main/INFO] [FML]: Searching C:\Users\mawse\Desktop\Try\run\mods for mods
[23:34:06] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 140626556 nanos
[23:34:07] [main/INFO] [FML]: Forge Mod Loader has identified 6 mods to load
[23:34:08] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, mawgui, chameleon] at CLIENT
[23:34:08] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, mawgui, chameleon] at SERVER
[23:34:09] [main/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:themawgui, FMLFileResourcePack:Chameleon
[23:34:09] [main/INFO] [FML]: Processing ObjectHolder annotations
[23:34:09] [main/INFO] [FML]: Found 1168 ObjectHolder annotations
[23:34:09] [main/INFO] [FML]: Identifying ItemStackHolder annotations
[23:34:09] [main/INFO] [FML]: Found 0 ItemStackHolder annotations
[23:34:09] [main/INFO] [FML]: Configured a dormant chunk cache size of 0
[23:34:09] [Forge Version Check/INFO] [ForgeVersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[23:34:09] [main/INFO] [mawgui]: Checking the modlist
[23:34:09] [main/INFO]: [STDOUT]: Check Register Complete
[23:34:09] [main/INFO] [mawgui]: MAW preinit
[23:34:09] [Thread-6/INFO] [mawgui]: Start Check the url:https://github.com/mawserver/serverjson/blob/master/announcement
[23:34:09] [Thread-5/INFO] [mawgui]: Start Check the url:https://github.com/mawserver/serverjson/blob/master/the%20server%20version.update
[23:34:09] [main/INFO] [FML]: OBJLoader: Domain mawgui has been added.
[23:34:10] [main/INFO]: [STDERR]: java.lang.NullPointerException
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraftforge.client.model.obj.OBJLoader.loadModel(OBJLoader.java:80)
[23:34:10] [main/INFO]: [STDERR]: 	at mawmanager.maw.GUI.math.RenderHelper.getRenderObj(RenderHelper.java:12)
[23:34:10] [main/INFO]: [STDERR]: 	at mawmanager.maw.GUI.render.OnHookBlockSpecialRender.<init>(OnHookBlockSpecialRender.java:21)
[23:34:10] [main/INFO]: [STDERR]: 	at mawmanager.maw.GUI.render.RenderRegister.<init>(RenderRegister.java:15)
[23:34:10] [main/INFO]: [STDERR]: 	at mawmanager.maw.GUI.Client.preinit(Client.java:59)
[23:34:10] [main/INFO]: [STDERR]: 	at mawmanager.maw.GUI.Main.preinit(Main.java:64)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:630)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.EventBus.post(EventBus.java:217)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:252)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:230)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
[23:34:10] [main/INFO]: [STDERR]: 	at com.google.common.eventbus.EventBus.post(EventBus.java:217)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:147)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:604)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:266)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraft.client.Minecraft.init(Minecraft.java:508)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraft.client.Minecraft.run(Minecraft.java:416)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraft.client.main.Main.main(Main.java:118)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[23:34:10] [main/INFO]: [STDERR]: 	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
[23:34:10] [main/INFO]: [STDERR]: 	at GradleStart.main(GradleStart.java:25)
[23:34:10] [main/INFO] [mawgui]: mawgui
[23:34:10] [main/INFO] [FML]: Applying holder lookups
[23:34:10] [main/INFO] [FML]: Holder lookups applied
[23:34:10] [main/INFO] [FML]: Applying holder lookups
[23:34:10] [main/INFO] [FML]: Holder lookups applied
[23:34:10] [main/INFO] [FML]: Applying holder lookups
[23:34:10] [main/INFO] [FML]: Holder lookups applied

 

The code of  mawmanager.maw.GUI.math.RenderHelper.getRenderObj(RenderHelper.java:12)



	
	public static IModel getRenderObj(ResourceLocation res) {
		try {
			return OBJLoader.INSTANCE.loadModel(res);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
			}
	}

The RenderRegister Class:

	public RenderRegister() {
		OBJLoader.INSTANCE.addDomain(Info.modid);
		
		ClientRegistry.bindTileEntitySpecialRenderer(TileEntityOnHookBlock.class,new OnHookBlockSpecialRender());
	}

The OnHookBlockSpecialRender.java

package mawmanager.maw.GUI.render;

import mawmanager.maw.GUI.Info;
import mawmanager.maw.GUI.Main;
import mawmanager.maw.GUI.math.RenderHelper;
import mawmanager.maw.GUI.tileentity.TileEntityOnHookBlock;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3i;
import net.minecraftforge.client.model.IModel;
import net.minecraftforge.client.model.animation.FastTESR;

public class OnHookBlockSpecialRender extends FastTESR<TileEntityOnHookBlock>{
    
		IModel model = RenderHelper.getRenderObj(new ResourceLocation(Info.modid+":obj/onhookblock.obj"));
		IBakedModel bakedmodel;
	private ResourceLocation textures = new ResourceLocation(Info.modid,"textures/model/onhookblock.png");
	
	public OnHookBlockSpecialRender() {
		
		Main.log.info(new ResourceLocation(Info.modid+":obj/onhookblock").getResourceDomain());
	}
	
	
	@Override
	public void renderTileEntityFast(TileEntityOnHookBlock te, double x, double y, double z, float partialTicks,
			int destroyStage, float partial, BufferBuilder buffer) {
		GlStateManager.pushMatrix();
        
            GlStateManager.enableCull();
            BlockPos pos = te.getPos();
            IBlockState state = te.getWorld().getBlockState(pos);
            BlockRendererDispatcher rendererDispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
            IBakedModel model = rendererDispatcher.getBlockModelShapes().getModelForState(state);
            Vec3i vec = new Vec3i(pos.getX(), pos.getY(), pos.getZ());
            buffer.setTranslation(x - pos.getX() , y - pos.getY(), z - pos.getZ());
            rendererDispatcher.getBlockModelRenderer().renderModel(te.getWorld(), model, state, pos, buffer, true);
            
        
        GlStateManager.popMatrix();
	
	}
	
	
	
	
	

}

 

Posted
  On 11/26/2018 at 3:42 PM, themaw said:

getRenderObj(new ResourceLocation(

Expand  

You're adding an extra colon in the resource location to pass to this.

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.

Posted
  On 11/28/2018 at 3:25 PM, themaw said:

I've tried all sorts of path and I've been able to remove the quotes,

But still not work

Expand  

I've figured it out. You are loading the model too early. You need to load the model later. Either move the loading into the render method and only load it once. Or move your TESR registration code to a later initialization event.

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.

Posted

Now I got  a super serious problem.

The ModelRegistryEvent had never beening called.

    @SubscribeEvent
    @SideOnly(Side.CLIENT)
    public static void renderEvent(ModelRegistryEvent e) {
		Main.log.info("Rendering");
        RenderRegister.renderItems();
        RenderRegister.renderBlockItems();
    }

I had try to put this code in CommonProxy or ClientProxy,

even use the MinecraftForge.EVENTBUS.register(this);,

but the console had never display:

"Rendering"

And all the items look like ***...

Posted (edited)
  On 11/29/2018 at 1:48 PM, diesieben07 said:
  • Do not use @SideOnly.
  • Use @EventBusSubscriber(Side.CLIENT) for subscribing to client-only events.
  • Code Style, issue 1.
Expand  

Thank you so much.It works.:)

And the final question is how to set a ItemBlock to the CreativeTab?

Edited by themaw
Wrong word
Posted
  On 11/29/2018 at 3:18 PM, diesieben07 said:

You call Item#setCreativeTab on it, just like with any other item.

Expand  

I use this void:

	public static ItemBlock createItemBlock(Block b) {
		ItemBlock b2 = new ItemBlock(b);
		b2
		.setRegistryName(b.getRegistryName())
		.setUnlocalizedName(b.getUnlocalizedName())
		.setCreativeTab(Client.tab1);
		return b2;
	}

But it do not work

Posted

How stupid I was...

I thought it had to be a subclass of Item to register with the CreativeTab

Now I find that someone else's code registers the CreativeTab directly in the Block

Thank you for your answers

  On 11/29/2018 at 3:18 PM, diesieben07 said:

You call Item#setCreativeTab on it, just like with any other item.

Expand  

 

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.