Jump to content

Recommended Posts

Posted

Hello everyone!!!

 

I'm having problems with achievement pages. What I want to make is a new achievement page with some custom achievements. I'm using forge for minecraft 1.5.2.

 

I'm able to make the achievements and the new page, and I can connect and trigger them, but my problem is that all the achievements (both vanilla and my custom ones) appear in both pages.

 

- Minecraft vanilla achievements page: http://gyazo.com/6dd01cfcd1815e8bfd20bc2e32eb3741

- My custom achievements page: http://gyazo.com/3e1a2a7322da0e11277cc8e288cffa46

 

As you can see, all the achievements are in both pages, the only change is the conexions between them.

 

I've followed lots of tutorials and no one shows a solution for this. Do you have any idea about what is going on? The funny thing is that thew actually work, but I don't want to see all the achievements in all pages...

 

I'm pasting my code in case it can help out. I've deleted repetitive stuff so you don't have to read so much.

 

Thank you!!!!

 

 

 

package Nakkuchan.Beechievements;

import net.minecraft.block.Block;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.item.EnumToolMaterial;

import net.minecraft.item.Item;

import net.minecraft.item.ItemFood;

import net.minecraft.item.ItemStack;

import net.minecraftforge.common.AchievementPage;

import net.minecraftforge.common.EnumHelper;

import cpw.mods.fml.common.Mod;

import cpw.mods.fml.common.Mod.Init;

import cpw.mods.fml.common.Mod.PreInit;

import cpw.mods.fml.common.event.FMLInitializationEvent;

import cpw.mods.fml.common.event.FMLPreInitializationEvent;

import cpw.mods.fml.common.network.NetworkMod;

import cpw.mods.fml.common.registry.GameRegistry;

import cpw.mods.fml.common.registry.LanguageRegistry;

import net.minecraft.src.BaseMod;

import net.minecraft.stats.Achievement;

import net.minecraft.stats.AchievementList;

 

@Mod(modid="Beechievements",name="Beechievements",version="v1")

@NetworkMod(clientSideRequired=true,serverSideRequired=false)

 

public class Beechievements{

 

// Creative Tab

 

public static CreativeTabs Bees_Tab = new CustomCreativeTabs(CreativeTabs.getNextID(), "Bees Stuff");

 

// Declaring bees and bee warrants

 

public static Item bee_meadow;

public static Item bee_meadow_cert;

public static Item bee_forest;

public static Item bee_forest_cert;

public static Item bee_common;

public static Item bee_common_cert;

 

// Achievement stuff

 

public static AchievementPage BeePage;

 

public static Achievement MeadowBee;

public static Achievement ForestBee;

public static Achievement MeadowBee_2;

public static Achievement ForestBee_2;

public static Achievement CommonBee;

 

public static ModCraftingHandler modCraftHandler = new ModCraftingHandler();

 

public void addAchievementLocalizations() {

addAchievementName("MeadowBee","Meadow Bees");

addAchievementDesc("MeadowBee","Bee-hunting in meadows!");

addAchievementName("MeadowBee_2","Meadow Bees");

addAchievementDesc("MeadowBee_2","Bee-hunting in meadows!");

addAchievementName("ForestBee","Forest Bees");

addAchievementDesc("ForestBee","Bee-hunting in forests!");

addAchievementName("ForestBee_2","Forest Bees");

addAchievementDesc("ForestBee_2","Bee-hunting in forests!");

addAchievementName("CommonBee","Common Bees");

addAchievementDesc("CommonBee","Just regular ones");

}

 

public void addAchievementDesc(String Ach, String Desc) {

LanguageRegistry.instance().addStringLocalization("achievement." + Ach + ".desc", "en_US", Desc);

}

public void addAchievementName(String Ach, String Name) {

LanguageRegistry.instance().addStringLocalization("achievement." + Ach, "en_US", Name);

}

 

@PreInit

public void initConfig(FMLPreInitializationEvent fml) {

}

 

@Init

public void load(FMLInitializationEvent fml)

{

 

// Bees and bee warrants definitions

 

bee_meadow = new BeestuffItems(2030).setUnlocalizedName("bee_meadow");

LanguageRegistry.addName(bee_meadow, "Meadow bee genetics");

bee_meadow_cert = new BeestuffItems(2031).setUnlocalizedName("bee_meadow_cert");

LanguageRegistry.addName(bee_meadow_cert, "Meadow bee genetics warrant");

bee_forest = new BeestuffItems(2032).setUnlocalizedName("bee_forest");

LanguageRegistry.addName(bee_forest, "Forest bee genetics");

bee_forest_cert = new BeestuffItems(2033).setUnlocalizedName("bee_forest_cert");

LanguageRegistry.addName(bee_forest_cert, "Forest bee genetics warrant");

bee_common = new BeestuffItems(2034).setUnlocalizedName("bee_common");

LanguageRegistry.addName(bee_common, "Common bee genetics");

bee_common_cert = new BeestuffItems(2035).setUnlocalizedName("bee_common_cert");

LanguageRegistry.addName(bee_common_cert, "Common bee genetics warrant");

 

// Bee and bee warrants crafting

 

GameRegistry.addShapelessRecipe(new ItemStack(bee_meadow_cert,1), new Object[]{Item.paper, bee_meadow});

GameRegistry.addShapelessRecipe(new ItemStack(bee_forest_cert,1), new Object[]{Item.paper, bee_forest});

GameRegistry.addShapelessRecipe(new ItemStack(bee_common_cert,1), new Object[]{Item.paper, bee_common});

 

// Achievement definitions

 

MeadowBee = (new Achievement(1001, "MeadowBee", 4, -4, bee_meadow, null)).setIndependent().registerAchievement();

ForestBee = (new Achievement(1002, "ForestBee", 3, -4, bee_forest, null)).setIndependent().registerAchievement();

CommonBee = (new Achievement(1003, "CommonBee", 6, -4, bee_common, MeadowBee)).registerAchievement();

MeadowBee_2 = (new Achievement(1004, "MeadowBee_2", 7, -4, bee_meadow, MeadowBee)).setIndependent().registerAchievement();

ForestBee_2 = (new Achievement(1005, "ForestBee_2", 8, -4, bee_forest, ForestBee)).setIndependent().registerAchievement();

 

GameRegistry.registerCraftingHandler(modCraftHandler);

 

// Acvhievement stuff

 

BeePage = new AchievementPage("Beechievements",MeadowBee, MeadowBee_2, ForestBee, ForestBee_2, CommonBee);

AchievementPage.registerAchievementPage(BeePage);

addAchievementLocalizations();

}

}

 

 

Posted

Well, I've been playing for a while in my own Minecraft world with 1.5.2 mods and I'm happy with it! This is a mod for myself, to help me with some stuff. And by the way, the way you program achievements in 1.5 is not very different as you would do in 1.7 if you look at it.

 

And about the rendering bug, I don't know. I've followed minecraft 1.5 forge tutorials and they have no problem with the code I'm using. And I'm sure I'm using the last forge version for 1.5.2 minecraft.

 

The only thing they say I have to do is to add a couple code lines, and they work perfectly for them:

 

public class Beechievements{
[...]
public static AchievementPage BeePage;
[...]
@Init
public void load(FMLInitializationEvent fml)
{
[...]
BeePage = new AchievementPage("Beechievements",MeadowBee, MeadowBee_2, ForestBee, ForestBee_2, CommonBee);
AchievementPage.registerAchievementPage(BeePage);
[...]
}
}

 

You can check it here, for example: http://www.minecraftforge.net/wiki/How_to_add_an_AchievementPage

Posted

Any idea? :S Anyone has experienced this kind of problems? Do you know somewhere else I could go for advice? Since "AchievementPage" is a forge class, I though this was the right place to ask, but I might be wrong!

Posted

OK, problem SOLVED :D I compiled it and tried it ingame and it works fine. Eclipse might be the guilty here.

 

I leave the post in case someone finds himself in this situation :)

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.