Jump to content

Multiple questions


latias1290

Recommended Posts

1. How do I make the game render one texture for the front, left, right, back and bottom sides of the game, and a different one for the top?

2. How do I add a custom creative tab? I have examined the CreativeTabs constructor, but it's very hard-to-read and when I use the constructor, Eclipse says "Can't instantiate CreativeTabs".

3. How do I override a crafting recipe of a vanilla item?

Link to comment
Share on other sites

1) Override getIcon(int side, int meta) and return the correct IIcon field for whatever side you want.

 

2)

public static final CreativeTabs YOUR_CREATIVE_TAB = new CreativeTabs(YOUR_MOD_ID)
{
    @Override
    public Item getTabIconItem()
    {
        return YOUR_ITEM;
    }
};

 

As for 3)

 

I believe you just need register the recipe you want to override as returning nothing, then register your own recipe normally.

BEFORE ASKING FOR HELP READ THE EAQ!

 

I'll help if I can. Apologies if I do something obviously stupid. :D

 

If you don't know basic Java yet, go and follow these tutorials.

Link to comment
Share on other sites

http://www.minecraftforge.net/forum/index.php/board,120.0.html

 

Or more specifically,

1) http://bedrockminer.jimdo.com/modding-tutorials-1-7/basic-modding/basic-modding-multi-texture-blocks/

2) Copy CreativeTabs.java and @Override getTabIconItem() to return your item instead.

3) Delete it from CraftingManager.getInstance().getRecipeList() and re-add it using GameRegistry.addRecipe()

 

Edit: Ninja'd. :(

Link to comment
Share on other sites

3) Delete it from CraftingManager.getInstance().getRecipeList() and re-add it using GameRegistry.addRecipe()

I believe you just need register the recipe you want to override as returning nothing, then register your own recipe normally.

 

I don't get either of those :U

Link to comment
Share on other sites

It would look something like this:

public static void removeRecipes(ItemStack removeItem) {
List recipes = CraftingManager.getInstance().getRecipeList();
for (int i = 0; i < recipes.size(); i++) {
	IRecipe curRecipe = (IRecipe) recipes.get(i);
	ItemStack recipeResult = curRecipe.getRecipeOutput();
	if (ItemStack.areItemStacksEqual(removeItem, recipeResult)) {
		recipes.remove(i--);
	}
}
}

And then later create your new recipe in the same way as you would normally. If this doesn't make sense, I can't help you.

Link to comment
Share on other sites

After around 3 hours of wanting to just annihilate my PC with a giant steel mallet out of frustration from WHY DOES IT NOT F!CKING WORK, I realized that the block that I wanted to render with multiple textures was using the SillyBlock constructor(a generic constructor I made for my mod blocks), instead of the custom SillyChurn block which was written to render with multiple textures. Well, one problem solved.

 

(There was another question here, but after examining existing files I solved it on my own.)

 

Thanks for your help, y'all!

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.