Jump to content

[1.6.4]cant get my itemID from config file


demand12

Recommended Posts

a) Why are your EventHandlers static?

b) You create the Item before you load the config.

c) You should do all your Item creation and stuffs in preInit.

yea i can tell you none of that makes any diffrence. that was the first i tryied and did not work. i have made the event handlers not static anymore. but what ever the place i but the item creation it will not get the id from the config file :(

Link to comment
Share on other sites

Maybe it's different in 1.6.4, but in my version (1.7.2) Configuration does not have the signature you used. It doesn't even have that method.

 

Code you use:

config.getItem("Talisman core id", 6244, "determens the id of the core").getInt(6244);

 

The code I found:

    public Property get(String category, String key, int defaultValue, String comment)

 

So, get vs getItem, and the argument order and types differ.

Link to comment
Share on other sites

Show your new code.

here is what the code looks like right now: http://pastebin.com/JGSzCxAg

 

Maybe it's different in 1.6.4, but in my version (1.7.2) Configuration does not have the signature you used. It doesn't even have that method.

 

Code you use:

config.getItem("Talisman core id", 6244, "determens the id of the core").getInt(6244);

 

The code I found:

    public Property get(String category, String key, int defaultValue, String comment)

 

So, get vs getItem, and the argument order and types differ.

there is a get(String category, String key, int defaultValue) in 1.6.4 but i found the getItem method and that takes one less parameter than get, and that is the category :)

Link to comment
Share on other sites

public static Item talismancore;

public static int talibaseID;

 

PRE INT:

Configuration config = new Configuration(event.getSuggestedConfigurationFile());

config.load();

talibaseID = config.get("Item", "Talisman core ID", theid).getInt();

config.save();

 

LOAD:

talismancore = new talismancore(talismancoreID - 256).setUnlocalizedName("talismancore");

 

Thats it!

 

 

Link to comment
Share on other sites

It works fine for me on 1.6.4!

Don't know why he have to create items in preInit!

Yea i know right. I have a mod were i have done the same but have no config file. Is it the config that makes me need the preinit?

 

And i did not have the time yesterday to try it out, i will today when i get home.

Link to comment
Share on other sites

It works fine for me on 1.6.4!

Don't know why he have to create items in preInit!

Yea i know right. I have a mod were i have done the same but have no config file. Is it the config that makes me need the preinit?

 

And i did not have the time yesterday to try it out, i will today when i get home.

 

look here why you should register your items / blocks in preinit:

http://greyminecraftcoder.blogspot.de/2013/11/how-forge-starts-up-your-code.html

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Link to comment
Share on other sites

well what happens when i put my item constructor inside preinit it make an error in init where i register my item.

[spoiler=Code not working]

public static int talismancoreID;

 

@EventHandler

public void modconfig(FMLPreInitializationEvent event){

Item talismancore = new talismancore(talibase.talismancoreID).setUnlocalizedName("talismancore");

Configuration config = new Configuration(event.getSuggestedConfigurationFile());

config.load();

 

talibase.talismancoreID = talibase.talismancoreID + config.getItem("Talisman core id", 6244, "determens the id of the core").getInt(6244);

 

config.save();

}

 

@EventHandler

public void Load(FMLInitializationEvent event){

 

 

Item talismancore; // <-- eclipse wants that there

//GameRegistry

GameRegistry.registerItem(talismancore, "talismancore");

 

//LanguageRegistry

LanguageRegistry.addName(talismancore, "Talisman Core");

 

}

 

 

and it does't want to be a public constructor. so what do i do now???

Link to comment
Share on other sites

Please learn basic java before modding.

trust me, i would have learned it if i havent been stuck in a totaly stupid school system where i need 5 more years of school before i can actualy do anysort of programing, and i am only 17 -_-. but can someone tell me so i can learn from my failiure and hopefully get on with evrybodys lifes?

Link to comment
Share on other sites

SanAndreasP:I know what order the forge uses to load up the mod.

 

demand12:CTRL+C and CTRL+V my code and you are basically done!

i am sorry, i have scrolled past your code since you posted it, i have been scrolling to fast to see it xD.

 

but i tried your code, AND IT WORKS!!! thank you very much good sir

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.