Jump to content

Mod crashes after being built


ashjack

Recommended Posts

When I try to run Minecraft with my mod in it, it crashes, giving me this error:

 

 

---- Minecraft Crash Report ----

// Ouch. That hurt :(

 

Time: 17/01/15 21:42

Description: There was a severe problem during mod loading that has caused the game to fail

 

cpw.mods.fml.common.LoaderException: java.lang.NoSuchFieldError: wood

at cpw.mods.fml.common.LoadController.transition(LoadController.java:162)

at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:515)

at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239)

at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480)

at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:867)

at net.minecraft.client.main.Main.main(SourceFile:148)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)

at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

Caused by: java.lang.NoSuchFieldError: wood

at info.satscape.simukraft.common.BlockLightBox.<init>(BlockLightBox.java:23)

at info.satscape.simukraft.common.ModSimukraft.preInit(ModSimukraft.java:370)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

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 cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)

at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

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 cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)

at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:513)

... 10 more

 

 

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

---------------------------------------------------------------------------------------

 

-- System Details --

Details:

Minecraft Version: 1.7.10

Operating System: Windows 7 (amd64) version 6.1

Java Version: 1.8.0_25, Oracle Corporation

Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

Memory: 66065672 bytes (63 MB) / 238530560 bytes (227 MB) up to 1060372480 bytes (1011 MB)

JVM Flags: 6 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M

AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used

IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0

FML: MCP v9.05 FML v7.10.85.1277 Minecraft Forge 10.13.2.1277 4 mods loaded, 4 mods active

mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized

FML{7.10.85.1277} [Forge Mod Loader] (forge-1.7.10-10.13.2.1277.jar) Unloaded->Constructed->Pre-initialized

Forge{10.13.2.1277} [Minecraft Forge] (forge-1.7.10-10.13.2.1277.jar) Unloaded->Constructed->Pre-initialized

satscapesimukraft{1.0.0 Beta} [sim-U-Kraft] ([1.7.10]Sim-U-Kraft Reloaded 1.0.1.zip) Unloaded->Constructed->Errored

 

 

The file it refers to is here:

package info.satscape.simukraft.common;

import java.util.List;
import java.util.Random;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class BlockLightBox extends Block
{
    private IIcon icons[];

    public BlockLightBox()
    {
        super(Material.wood);
        setLightLevel(1.0F);
        this.setCreativeTab(CreativeTabs.tabMisc);
        setStepSound(Block.soundTypeWood);
        setHardness(2F);
        setResistance(1.0F);
        setTickRandomly(true);
        setBlockName("SUKlight");
    }

    @SideOnly(Side.CLIENT)
    @Override
    public void registerBlockIcons(IIconRegister iconRegister)
    {
        icons = new IIcon[8];
        icons[0] = iconRegister.registerIcon("satscapesimukraft:blockLightWhite");
        icons[1] = iconRegister.registerIcon("satscapesimukraft:blockLightRed");
        icons[2] = iconRegister.registerIcon("satscapesimukraft:blockLightOrange");
        icons[3] = iconRegister.registerIcon("satscapesimukraft:blockLightYellow");
        icons[4] = iconRegister.registerIcon("satscapesimukraft:blockLightGreen");
        icons[5] = iconRegister.registerIcon("satscapesimukraft:blockLightBlue");
        icons[6] = iconRegister.registerIcon("satscapesimukraft:blockLightPurple");
        icons[7] = iconRegister.registerIcon("satscapesimukraft:blockLightRainbow");
    }

    @Override
    @SideOnly(Side.CLIENT)
    public IIcon getIcon(int side, int meta)
    {
    	return meta < 8 && meta >= 0 ? icons[meta] : icons[0];
    }

    public BlockLightBox idDropped(int par1, Random par2Random, int par3)
    {
        return this;
    }

    @Override
    public int damageDropped(int j)
    {
        return j;
    }

    @SideOnly(Side.CLIENT)
    public void getSubBlocks(Block blockId, CreativeTabs par2CreativeTabs, List par3List)
    {
        for (int meta = 0; meta < 8; ++meta)
        {
            par3List.add(new ItemStack(blockId, 1, meta));
        }
    }

    @Override
    public int getBlockColor()
    {
        return 0xffffff;
    }
}

 

And this is how I register the block:

@EventHandler
public void preInit(FMLPreInitializationEvent evt)
{
        lightBox = new BlockLightBox();
}

@EventHandler
public void initLoad(FMLInitializationEvent event)
{
GameRegistry.registerBlock(lightBox, "SUKlight");
}

Link to comment
Share on other sites

Hi

 

Well it sure looks like a reobfuscation problem to me...  your mod should use "field_151575_d" not "wood".

 

Just to confirm - you used gradlew build, and then you used the jar you found in build\libs?

 

If so - I don't have any idea, sorry!  Your code looks perfectly normal to me.  You could try a fresh install of forge, it might perhaps help.

 

-TGG

Link to comment
Share on other sites

I didn't use any jar, I made a zip file from the files in the classes folder. Is that where I went wrong?

Yep :)

The gradle build command creates a jar in build\libs.  If you zip up the classes, they still have all the deobfuscated names (like "wood"), and when you try to run it as a mod, none of the names match up.  Hence the error message you got.  But the jar in build\libs has all your code converted to use the original ("obfusctated") vanilla names (like "field_151575_d").

 

Try it and see...

 

-TGG

 

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.