Jump to content

Recommended Posts

Posted

In an attempt to make a better looking world, I have taken unto myself the task of overriding the lightmap that is coded into the game. However, this seems more difficult than I initially believed. My biggest problem is that I just don't know where to initialize my class without Minecraft not being able to find it. I am currently initializing it in my Client Proxy, but when I run it it is unable to find the enableLightMap() method for some reason. 

 

Spoiler

package com.commander.mgln.entity;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import net.minecraft.client.renderer.EntityRenderer;
import net.minecraft.client.resources.IResourceManager;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
import net.minecraftforge.fml.relauncher.ReflectionHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class ModLightMap extends EntityRenderer
{
	public static Minecraft mc = Minecraft.getMinecraft();
	
	public static Method lightmaploc = ReflectionHelper.findMethod(EntityRenderer.class, null, new String[]{"enableLightMap", "func_180436_i"});
	
	public ModLightMap(Minecraft mcIn, IResourceManager resourceManagerIn) 
	{
		super(mcIn, resourceManagerIn);
	}
	@SideOnly(Side.CLIENT)
	public static void setLightMap()
	{
		try 
		{
			lightmaploc.invoke((Minecraft.getMinecraft().entityRenderer), new ResourceLocation("textures/renderer/lightmap.png"));
		} 
		catch (IllegalAccessException e) 
		{
			e.printStackTrace();
		} 
		catch (IllegalArgumentException e) 
		{
			e.printStackTrace();
		} 
		catch (InvocationTargetException e) 
		{
			e.printStackTrace();
		}
	}
}

 

Any help whatsoever would be appreciated. I've scoured the web for answers but to no avail.

Help me Forge Forums, you are my only hope!

Posted

There was a thread in 2013 about resizing the lightmap to make colored light. Maybe that can help you: 

Also, you probably have to pass in an instance of the EntityRender to ReflectionHelper#findMethod. The EntityRenderer instance is located in Minecraft#entityRenderer.

 

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted
10 minutes ago, larsgerrits said:

There was a thread in 2013 about resizing the lightmap to make colored light. Maybe that can help you: 

Also, you probably have to pass in an instance of the EntityRender to ReflectionHelper#findMethod. The EntityRenderer instance is located in Minecraft#entityRenderer.

 

Thanks for the link. However, since very little about the problem I'm having is explained, which is why I passed it the first time I saw it, I have to keep looking. Adding in the entityRenderer instance will help later, but for some reason it still can't find the method.

This crash report may or may not help.

Thanks for helping larsgerrits. I didn't expect to get a reply so fast!

Spoiler

[13:38:20] [Client thread/INFO] [FML]: MinecraftForge v12.18.3.2316 Initialized
[13:38:20] [Client thread/INFO] [FML]: Replaced 231 ore recipes
[13:38:21] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[13:38:21] [Client thread/INFO] [FML]: Searching C:\Users\Joe\Desktop\Magellan\run\mods for mods
[13:38:23] [Client thread/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
[13:38:23] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, mgln, worldedit] at CLIENT
[13:38:23] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, mgln, worldedit] at SERVER
[13:38:23] [Thread-6/INFO] [FML]: Using sync timing. 200 frames of Display.update took 260491325 nanos
[13:38:24] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Alien: Magellan, FMLFileResourcePack:WorldEdit
[13:38:24] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[13:38:24] [Client thread/INFO] [FML]: Found 423 ObjectHolder annotations
[13:38:24] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[13:38:24] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[13:38:24] [Client thread/INFO] [FML]: Applying holder lookups
[13:38:24] [Client thread/INFO] [FML]: Holder lookups applied
[13:38:24] [Client thread/INFO] [FML]: Applying holder lookups
[13:38:24] [Client thread/INFO] [FML]: Holder lookups applied
[13:38:24] [Client thread/INFO] [FML]: Applying holder lookups
[13:38:24] [Client thread/INFO] [FML]: Holder lookups applied
[13:38:24] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[13:38:24] [Client thread/INFO] [STDOUT]: [com.commander.mgln.Magellan:preInit:48]: Pre Init
[13:38:24] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
[13:38:24] [Client thread/INFO] [FML]: Applying holder lookups
[13:38:24] [Client thread/INFO] [FML]: Holder lookups applied
[13:38:24] [Client thread/INFO] [FML]: Injecting itemstacks
[13:38:24] [Client thread/INFO] [FML]: Itemstack injection complete
[13:38:24] [Forge Version Check/INFO] [ForgeVersionCheck]: [Forge] Found status: AHEAD Target: null
[13:38:27] [Sound Library Loader/INFO]: Starting up SoundSystem...
[13:38:28] [Thread-8/INFO]: Initializing LWJGL OpenAL
[13:38:28] [Thread-8/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[13:38:28] [Thread-8/INFO]: OpenAL initialized.
[13:38:28] [Sound Library Loader/INFO]: Sound engine started
[13:38:32] [Client thread/INFO] [FML]: Max texture size: 16384
[13:38:32] [Client thread/INFO]: Created: 16x16 textures-atlas
[13:38:33] [Client thread/INFO] [STDOUT]: [com.commander.mgln.Magellan:init:63]: Init
[13:38:33] [Client thread/ERROR] [FML]: Fatal errors were detected during the transition from INITIALIZATION to POSTINITIALIZATION. Loading cannot continue
[13:38:33] [Client thread/ERROR] [FML]: 
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UCHI    mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) 
    UCHI    FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.10.2-12.18.3.2316.jar) 
    UCHI    Forge{12.18.3.2316} [Minecraft Forge] (forgeSrc-1.10.2-12.18.3.2316.jar) 
    UCHE    mgln{1.0} [Alien: Magellan] (bin) 
    UCHI    worldedit{6.1.4} [WorldEdit] (worldedit-forge-mc1.10.2-6.1.4-dist.jar) 
[13:38:33] [Client thread/ERROR] [FML]: The following problems were captured during this phase
[13:38:33] [Client thread/ERROR] [FML]: Caught exception from Alien: Magellan (mgln)
java.lang.ExceptionInInitializerError
    at com.commander.mgln.proxy.ClientProxy.init(ClientProxy.java:27) ~[bin/:?]
    at com.commander.mgln.Magellan.init(Magellan.java:65) ~[bin/:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:618) ~[forgeSrc-1.10.2-12.18.3.2316.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:243) ~[forgeSrc-1.10.2-12.18.3.2316.jar:?]
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:221) ~[forgeSrc-1.10.2-12.18.3.2316.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:145) [LoadController.class:?]
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:805) [Loader.class:?]
    at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:334) [FMLClientHandler.class:?]
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:561) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:386) [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(Unknown Source) ~[?:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?: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(Unknown Source) ~[?:1.8.0_121]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?: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.fml.relauncher.ReflectionHelper$UnableToFindMethodException: java.lang.NoSuchMethodException: net.minecraft.client.renderer.EntityRenderer.field_110922_T()
    at net.minecraftforge.fml.relauncher.ReflectionHelper.findMethod(ReflectionHelper.java:189) ~[forgeSrc-1.10.2-12.18.3.2316.jar:?]
    at com.commander.mgln.entity.ModLightMap.<clinit>(ModLightMap.java:21) ~[ModLightMap.class:?]
    ... 45 more
Caused by: java.lang.NoSuchMethodException: net.minecraft.client.renderer.EntityRenderer.field_110922_T()
    at java.lang.Class.getDeclaredMethod(Unknown Source) ~[?:1.8.0_121]
    at net.minecraftforge.fml.relauncher.ReflectionHelper.findMethod(ReflectionHelper.java:180) ~[forgeSrc-1.10.2-12.18.3.2316.jar:?]
    at com.commander.mgln.entity.ModLightMap.<clinit>(ModLightMap.java:21) ~[ModLightMap.class:?]
    ... 45 more
[13:38:33] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:649]: ---- Minecraft Crash Report ----
// Surprise! Haha. Well, this is awkward.

Time: 6/15/17 1:38 PM
Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Alien: Magellan (mgln)
Caused by: java.lang.ExceptionInInitializerError
    at com.commander.mgln.proxy.ClientProxy.init(ClientProxy.java:27)
    at com.commander.mgln.Magellan.init(Magellan.java:65)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:618)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:243)
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:221)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:145)
    at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:805)
    at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:334)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:561)
    at net.minecraft.client.Minecraft.run(Minecraft.java:386)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    at GradleStart.main(GradleStart.java:26)
Caused by: net.minecraftforge.fml.relauncher.ReflectionHelper$UnableToFindMethodException: java.lang.NoSuchMethodException: net.minecraft.client.renderer.EntityRenderer.field_110922_T()
    at net.minecraftforge.fml.relauncher.ReflectionHelper.findMethod(ReflectionHelper.java:189)
    at com.commander.mgln.entity.ModLightMap.<clinit>(ModLightMap.java:21)
    ... 45 more
Caused by: java.lang.NoSuchMethodException: net.minecraft.client.renderer.EntityRenderer.field_110922_T()
    at java.lang.Class.getDeclaredMethod(Unknown Source)
    at net.minecraftforge.fml.relauncher.ReflectionHelper.findMethod(ReflectionHelper.java:180)
    ... 46 more


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 7 (amd64) version 6.1
    Java Version: 1.8.0_121, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 626273592 bytes (597 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: MCP 9.32 Powered by Forge 12.18.3.2316 5 mods loaded, 5 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UCHI    mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) 
    UCHI    FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.10.2-12.18.3.2316.jar) 
    UCHI    Forge{12.18.3.2316} [Minecraft Forge] (forgeSrc-1.10.2-12.18.3.2316.jar) 
    UCHE    mgln{1.0} [Alien: Magellan] (bin) 
    UCHI    worldedit{6.1.4} [WorldEdit] (worldedit-forge-mc1.10.2-6.1.4-dist.jar) 
    Loaded coremods (and transformers): 
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.4.0 NVIDIA 344.75' Renderer: 'GeForce GT 730/PCIe/SSE2'
[13:38:33] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:649]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Joe\Desktop\Magellan\run\.\crash-reports\crash-2017-06-15_13.38.33-client.txt
AL lib: (EE) alc_cleanup: 1 device not closed
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release

 

Posted
1 hour ago, CommanderNeville said:

Caused by: java.lang.NoSuchMethodException: net.minecraft.client.renderer.EntityRenderer.field_110922_T()

The error has a SRG name, and you asked about a deobfuscated method name. Is there some deobfuscation/reobfuscation mismatching going on? How and where are you running your mod? Did you compile your mod by  running gradlew build, or did you export your mod using Eclipse?

The debugger is a powerful and necessary tool in any IDE, so learn how to use it. You'll be able to tell us more and get better help here if you investigate your runtime problems in the debugger before posting.

Posted
1 hour ago, jeffryfisher said:

The error has a SRG name, and you asked about a deobfuscated method name. Is there some deobfuscation/reobfuscation mismatching going on? How and where are you running your mod? Did you compile your mod by  running gradlew build, or did you export your mod using Eclipse?

The mod has not yet been exported and is running in gradlew build. The reason for the SRG name is that I read somewhere that in order to properly register the method you needed both the SRG and the method name.

Just to make sure I'm not doing something stupid, the method should be registered in the Client Proxy, right?

Posted
12 hours ago, CommanderNeville said:

Caused by: java.lang.NoSuchMethodException: net.minecraft.client.renderer.EntityRenderer.field_110922_T()
    at java.lang.Class.getDeclaredMethod(Unknown Source) ~[?:1.8.0_121]
    at net.minecraftforge.fml.relauncher.ReflectionHelper.findMethod(ReflectionHelper.java:180) ~[forgeSrc-1.10.2-12.18.3.2316.jar:?]
    at com.commander.mgln.entity.ModLightMap.<clinit>(ModLightMap.java:21) ~[ModLightMap.class:?]

 

The error says you're asking for a method named field_110922_T, but the code you posted doesn't use this name. Did an old version of your code use this name?

 

Try rebuilding the mod in your IDE to ensure it's using the latest version.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Posted
4 hours ago, Choonster said:

 

The error says you're asking for a method named field_110922_T, but the code you posted doesn't use this name. Did an old version of your code use this name?

 

Try rebuilding the mod in your IDE to ensure it's using the latest version.

Sorry about that. I realized a mistake I made and switched the method name but forgot to update the original post. The actual name is "func_180436_i". Upon replacing the incorrect field name (How did I miss that?) it comes through with the same error. I've checked in two places for the correct name of the method (SRG) and come through with the same function name. Right now I'm working on rebuilding my IDE.

 

Thank you Choonster, jeffryfisher, and larsgerrits for the help so far!

Posted

Please post the latest version of your code and the latest FML log (logs/fml-client-latest.log in the game directory).

 

It's not the direct cause of the error, but you're passing a ResourceLocation to EntityRenderer#enableLightmap (when you invoke it via the Method) even though the method doesn't have any parameters. EntityRenderer#enableLightmap is also a public method, so there's no need to invoke it via reflection.

 

When you do use reflection, mark the field containing the Field/Method object as final.

  • Like 2

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Posted

Okay, sorry about the delay, but in response to your post I have reworked a few things to reflect some research I've done. Instead of reflecting it (as it is public) I've simply overridden EntityRenderer#enableLightmap. Whether or not this works I have been unable to ascertain due to my ignorance of how to register this class. A crash report is not included as I haven't dared to mess with registering it yet. Again, thank you for all the help.

Spoiler

package com.commander.mgln.entity;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import net.minecraft.client.renderer.EntityRenderer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.texture.DynamicTexture;
import net.minecraft.client.resources.IResourceManager;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
import net.minecraftforge.fml.relauncher.ReflectionHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class ModLightMap extends EntityRenderer
{
	public static Minecraft mc = Minecraft.getMinecraft();
	
	public ResourceLocation lightmaploc = new ResourceLocation("mgln:textures/renderer/lightmap.png");
	
	public ModLightMap(Minecraft mcIn, IResourceManager resourceManagerIn) 
	{
		super(mcIn, resourceManagerIn);
		this.enableLightmap();
	}
	@Override
	public void enableLightmap()
    {
        this.mc.getTextureManager().bindTexture(this.lightmaploc);
        super.enableLightmap();
    }
}

 

4 hours ago, Choonster said:

Please post the latest version of your code and the latest FML log (logs/fml-client-latest.log in the game directory).

 

It's not the direct cause of the error, but you're passing a ResourceLocation to EntityRenderer#enableLightmap (when you invoke it via the Method) even though the method doesn't have any parameters. EntityRenderer#enableLightmap is also a public method, so there's no need to invoke it via reflection.

 

When you do use reflection, mark the field containing the Field/Method object as final.

 

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.