Creative Tab

Tomikaddle

Apprenti Batcheur
7 Juin 2014
314
5
129
Je fais un Mod en 1.7.2 avec Forge.

J'ai fait une nouvelle creative tab avec ce tuto:
https://github.com/FFMT/ModTutoriel/commit/9717bd38f3628cbc54bc2f515a694b5552d039d3

J'ai déclaré ma Tab dans ma class principale comme ceci:

public static CreativeTabs CraftPlus = new CraftPlus("CraftPlusTab");

Et dans ma class "CraftPlus", ça se passe comme ça mais j'ai une erreur:

package com.buckzor.ArbreFruitier;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;

public class CraftPlus extends CreativeTabs
{
public CraftPlus(String label) ----------------Là
{
super(label);
}

@Override
public ItemStack getIconItemStack()
{
return new ItemStack(BuckzorMod.Bloccharcoal);
} ------------------ Et là

Merci d'avance.
 
Merci pour l'accolade, plus de problème mais le "public CraftPlus(String label)" ?

+

Saurais -tu comment mettre une metadata à l'objet que l'on fait cuir dans un four ?

Je fais mes FurnaceRecipe comme ça:

GameRegistry.addSmelting(Item.getItemById(111), new ItemStack(this.Minislimeball, 1), 1);

ou comme ça:

GameRegistry.addSmelting(Blocks.iron_bars, new ItemStack(this.Maille, 2), 3);

Merci
 
Pour le problème sur CraftPlus il me faudrait l'erreur indiquer par eclipse pour trouver la solution.

Pour les recettes de four avec metadata, il faut utiliser un itemStack :
GameRegistry.addSmelting(new ItemStack(item ou bloc, quantité, metadata), new ItemStack(item ou bloc, quantité, metadata), xp);
 
L'erreur indiquée sur "CraftPlus":

The type CraftPlus must implement the inherited abstract method CreativeTabs.getTabIconItem()

Quand je met:

GameRegistry.addSmelting(new ItemStack(item ou bloc, quantité, metadata), new ItemStack(item ou bloc, quantité, metadata), xp);

J'ai une erreur ici:

GameRegistry.addSmelting(new ItemStack(349, 1, 2), new ItemStack(this.CookedClownfish, 1, 0), 2.0);
|
|
|
|
Here
 
Pour la table créative, suit le tutoriel pour 1.7.x et ça devrait être bon.
Pour la méthode addSmelting, remplace le 349 par Items.fish
Il ne faut JAMAIS mettre de référence directe au id. Ça peut causer de gros problème.
 
Merci pour les fours, pour la creative tab, ça ne marche toujours pas mias ce n'est pas grave je m'en abstiendrais.

Par contre nouveau problème, les textures de mes items ou de mes blocs in-game ne fonctionne plus (quadrillage rose et noir).
Saurais-tu pourquoi ?
 
Le problème des textures venait du fait que j'avais changé mon MODID.

Du coup j'aimerais savoir comment le changer sans avoir de problème. Si tu sais comment.

Encore un problème qui vient s'ajouter:

Comment faire pour mettre deux "CustomFuel" dans la class "CustomFuelHandler"

Si possible, pourrait tu m'expliquer comme mettre en nouveau "Fuel":

Des items déjà existants dans le jeu
Des blocs déjà existants dans le jeu ?

Merci
 
Si change le modid il faut changer partout ou tu l'as mit dans le code et renommer le dossier forge/src/main/resources/assets/modid
Pour le fuel, tu as juste à rajouter des conditions dans ta fonction :
Code:
public class CustomFuelHandler implements IFuelHandler
{
    @Override
    public int getBurnTime(ItemStack fuel)
    {
        if(fuel.getItem() != null && fuel.getItem() == Items.apple) // une pomme
        {
            return 200;
        }
        else if(fuel.getItem() != null && fuel.getItem() == Item.getItemFromBlock(Block.stone)) // une pierre
        {
            return 200;
        }
        return 0;
    }
}