Configuration Problème texture minecraft MCP

  • Auteur de la discussion Auteur de la discussion Divinityy
  • Date de début Date de début

Divinityy

Bucheron
30 Juin 2016
18
0
12
25
Plop all, j'avais suivi des tutos sur internet pour faire un serveur fun avec des potes et j'ai voulu créer un arc donc j'ai ajouté la ligne :
itemRegistry.addObject(2310, "topaze_bow", (new ItemBow()).setUnlocalizedName("topazeBow").setTextureName("topaze_bow"));

donc je l'ai ajoutée dans la class item, puis quand je run le jeu ça ne me met ni la flèche quand je charge l'arc et mon arc n'apparait pas dans ma main. Je vous joint un screen ...
PS : je suis en version 1.7.10
upload_2017-5-18_18-30-44.png
 

Fichiers joints

  • upload_2017-5-18_18-30-21.png
    upload_2017-5-18_18-30-21.png
    142.9 KB · Vues : 211
Bonjour !

Euh... tu souhaite recréer un arc qui existe déjà en vanilla ? x) Non sinon prends la ligne de l'arc de base et copie colle la en modifiant la texture (avec une fichier image) et son nom et je pense que la flèche devrait se mettre dessus ;)

AlexFatta
 
Bonjour !

Euh... tu souhaite recréer un arc qui existe déjà en vanilla ? x) Non sinon prends la ligne de l'arc de base et copie colle la en modifiant la texture (avec une fichier image) et son nom et je pense que la flèche devrait se mettre dessus ;)

AlexFatta
Euh non en fait il est d'une autre couleur enfin celle d'un autre minerai, mais j'ai voulu test avec les textures de l'arc de base pour voir si ça marchait et pour la ligne c'est celle de l'arc que j'ai copié ;)

Merci de ton aide
Divinityy
 
Salut,
Quelque part dans RenderItem.java il y a un condition spécifique pour le rendu de l'arc.
Merci pour ta réponse, alors j'ai regardé dans RenderItem.java et il n'y a rien concernant l'arc mais dans ItemRenderer il y a ça :
else if (var27 == EnumAction.bow)
{
GL11.glRotatef(-18.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-12.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-8.0F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.9F, 0.2F, 0.0F);
var18 = (float)var8.getMaxItemUseDuration() - ((float)var3.getItemInUseCount() - p_78440_1_ + 1.0F);
var19 = var18 / 20.0F;
var19 = (var19 * var19 + var19 * 2.0F) / 3.0F;
ça vient de là ou non?
 
Ça c'est ce qui gère l'animation de l'utilisation.

Fais une recherche avec eclipse de Items.bow dans la workspace, tu devrais trouver le code, il doit surement être dans une autre classe.
 
Ça c'est ce qui gère l'animation de l'utilisation.

Fais une recherche avec eclipse de Items.bow dans la workspace, tu devrais trouver le code, il doit surement être dans une autre classe.
J'ai trouvé une classe : ItemBow.java je dois ajouter un truc dedans ?
Voici un petit résumé de ce qu'il y a dedans
 
Je suis retourné voir, c'est dans RenderPlayer :
Code:
            else if (itemstack1.getItem() == Items.bow)
            {
                f2 = 0.625F;
                GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
                GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
                GL11.glScalef(f2, -f2, f2);
                GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
                GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
            }
 
Je suis retourné voir, c'est dans RenderPlayer :
Code:
            else if (itemstack1.getItem() == Items.bow)
            {
                f2 = 0.625F;
                GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
                GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
                GL11.glScalef(f2, -f2, f2);
                GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
                GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
            }
Merci ! ça marche par contre quand je charge mon arc y'a pas la flèche tu saurait pas d'ou ça viendrait par hasard ?
 
Dernière édition:
Dans EntityPlayer, fonction getItemIcon
Code:
    public IIcon getItemIcon(ItemStack p_70620_1_, int p_70620_2_)
    {
        IIcon iicon = super.getItemIcon(p_70620_1_, p_70620_2_);

        if (p_70620_1_.getItem() == Items.fishing_rod && this.fishEntity != null)
        {
            iicon = Items.fishing_rod.func_94597_g();
        }
        else
        {
            if (this.itemInUse != null && p_70620_1_.getItem() == Items.bow)
            {
                int j = p_70620_1_.getMaxItemUseDuration() - this.itemInUseCount;

                if (j >= 18)
                {
                    return Items.bow.getItemIconForUseDuration(2);
                }

                if (j > 13)
                {
                    return Items.bow.getItemIconForUseDuration(1);
                }

                if (j > 0)
                {
                    return Items.bow.getItemIconForUseDuration(0);
                }
            }
            iicon = p_70620_1_.getItem().getIcon(p_70620_1_, p_70620_2_, this, itemInUse, itemInUseCount);
        }

        return iicon;
    }