MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    [1.10.2] Compatibilité de mod

    Planifier Épinglé Verrouillé Déplacé Résolu 1.9.x et 1.10.x
    1.10.2
    11 Messages 3 Publieurs 888 Vues 3 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • uiyttU Hors-ligne
      uiytt
      dernière édition par

      Pour JEI regarde ça : https://github.com/mezz/JustEnoughItems/wiki/Recipe-Categories

      Et peux tu nous passer ton code de ton block, recette, etc… car sinon dur de voir le problème 🤔

      Le BourguignonL 1 réponse Dernière réponse Répondre Citer 0
      • Le BourguignonL Hors-ligne
        Le Bourguignon @uiytt
        dernière édition par

        @uiytt
        Class block:

        package fr.lebourguignon.bourguimod.block;
        
        import net.minecraft.block.material.Material;
        import net.minecraft.block.properties.IProperty;
        import net.minecraft.block.properties.PropertyEnum;
        import net.minecraft.block.state.BlockStateContainer;
        import net.minecraft.block.state.IBlockState;
        import net.minecraft.creativetab.CreativeTabs;
        import net.minecraft.init.Blocks;
        import net.minecraft.block.Block;
        import net.minecraft.item.Item;
        import net.minecraft.item.ItemStack;
        import net.minecraft.util.IStringSerializable;
        import scala.tools.ant.sabbus.Break;
        
        import java.util.List;
        
        public class UniformBlock extends Block
        {
            public static final String NAME = "uniform_block";
            
            public static final PropertyEnum<UniformBlock.EnumType> VARIANT = PropertyEnum.<UniformBlock.EnumType>create("variant", UniformBlock.EnumType.class);
            
            public UniformBlock(Material material)
            {
                super(material);
             
                BourguiModBlocks.setBlockName(this, NAME);
                setDefaultState(this.blockState.getBaseState().withProperty(VARIANT, UniformBlock.EnumType.FIRST));
        
                setLightOpacity(255);
                setLightLevel(1);
                setResistance(5.0F);
                setHardness(3.0F);
                setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
                setSoundType(blockSoundType.GLASS);
            }
        
            @Override
            public int damageDropped(IBlockState state)
            {
                return state.getValue(VARIANT).getMetadata();
            }
         
            @Override
            public void getSubBlocks(Item itemIn, CreativeTabs tab, List <ItemStack> list)
            {
                for (UniformBlock.EnumType type : UniformBlock.EnumType.values())
                {
                    list.add(new ItemStack(itemIn, 1, type.getMetadata()));
                }
            }
         
            @Override
            public IBlockState getStateFromMeta(int meta)
            {
                return this.getDefaultState().withProperty(VARIANT, UniformBlock.EnumType.byMetadata(meta));
            }
         
            @Override
            public int getMetaFromState(IBlockState state)
            {
                return ((UniformBlock.EnumType)state.getValue(VARIANT)).getMetadata();
            }
         
            @Override
            protected BlockStateContainer createBlockState()
            {
                return new BlockStateContainer(this, new IProperty[] {VARIANT});
            }
         
            public static enum EnumType implements IStringSerializable
            {
                FIRST(0, "uniform", "uniform_block_white"),
                SECOND(1, "uniform2", "uniform_block_orange"),
                THIRD(2,"uniform3", "uniform_block_magenta"),
                FOURTH(3,"uniform4", "uniform_block_lightblue"),
                FIFTH(4,"uniform5", "uniform_block_yellow"),
                SIXTH(5,"uniform6", "uniform_block_lime"),
                SEVENTH(6,"uniform7", "uniform_block_pink"),
                EIGHTH(7,"uniform8", "uniform_block_gray"),
                NINTH(8,"uniform9", "uniform_block_silver"),
                TENTH(9,"uniform10", "uniform_block_cyan"),
                ELEVENTH(10,"uniform11", "uniform_block_purple"),
                TWELFTH(11,"uniform12", "uniform_block_blue"),
                THIRTEENTH(12,"uniform13", "uniform_block_brown"),
                FOURTEENTH(13,"uniform14", "uniform_block_green"),
                FIFTEENTH(14,"uniform15", "uniform_block_red"),
                SIXTEENTH(15,"uniform16", "uniform_block_black"),
                ;
         
                private static final UniformBlock.EnumType[] META_LOOKUP = new UniformBlock.EnumType[values().length];
                private final int meta;
                private final String name;
                private final String unlocalizedName;
         
                private EnumType(int metaIn, String nameIn, String unlocalizedIn)
                {
                    this.meta = metaIn;
                    this.name = nameIn;
                    this.unlocalizedName = unlocalizedIn;
                }
         
                public static String[] getUnlocalizedNames()
                {
                    String[] names = new String[values().length];
                    
                    for (int i = 0; i < META_LOOKUP.length; i++)
                        names[i] = META_LOOKUP[i].unlocalizedName;
                 
                    return names;
                }
         
                public int getMetadata()
                {
                    return this.meta;
                }
         
                public static UniformBlock.EnumType byMetadata(int meta)
                {
                    if (meta < 0 || meta >= META_LOOKUP.length)
                    {
                        meta = 0;
                    }
                 
                    return META_LOOKUP[meta];
                }
         
                public String toString()
                {
                    return this.name;
                }
         
                @Override
                public String getName()
                {
                    return this.name;
                }
                static
                {
                    for (UniformBlock.EnumType type : values())
                    {
                        META_LOOKUP[type.getMetadata()] = type;
                    }
                }
            }
            
        }
        

        Recette:

        @SubscribeEvent
            public void registerRecipes(RegistryEvent.Register <Item> event) 
            {
                for (int i =0; i < 16; i++)
                {    
                    GameRegistry.addRecipe(new ItemStack(BourguiModItems.BLOCK_UNIFORM_BLOCK_ITEM, 4, 15-i), new Object[]{
                            "XYX",
                            "YZY",
                            "XYX",
                            'X', Blocks.STONE,'Y', Blocks.GLOWSTONE,'Z', new ItemStack(Items.DYE, 1, i)});
                }
        
                for (int i =0; i < 16; i++)
                {
                    GameRegistry.addRecipe(new ItemStack(BourguiModItems.BLOCK_UNIFORM_BLOCK_ITEM, 8, 15-i), new Object[]{
                            "UUU",
                            "UDU",
                            "UUU",
                            'U', new ItemStack(BourguiModItems.BLOCK_UNIFORM_BLOCK_ITEM, 8, Short.MAX_VALUE),'D', new ItemStack(Items.DYE, 1, i)});
                }
            }
        

        J’ai entendu parler d’api? Est-ce une bonne direction?

        1 réponse Dernière réponse Répondre Citer 0
        • uiyttU Hors-ligne
          uiytt
          dernière édition par

          pour que JEI trouve ta recette il faut que au lieu de faire .addRecipe tu fasse tu le register en tant que “ShapedRecipes”

          Le BourguignonL 2 réponses Dernière réponse Répondre Citer 0
          • Le BourguignonL Hors-ligne
            Le Bourguignon @uiytt
            dernière édition par

            @uiytt Excuse moi de prendre autant de temps pour répondre j’avais pas mon pc sous la main mais Eclipse ne reconnait pas “ShapedRecipes”
            649673e7-e4da-47b6-976d-7a68c2ee3ce5-image.png

            1 réponse Dernière réponse Répondre Citer 0
            • Le BourguignonL Hors-ligne
              Le Bourguignon @uiytt
              dernière édition par

              @uiytt ah non c’est pas plutôt .addShapedRecipe ? Car là, Eclipse le reconnais!

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                Bonsoir,
                Les recettes ne sont pas censées être enregistrés dans cette event qui est là pour enregistrer des items (ils doivent être mis directement dans une fonction appelé lors d’init) mais je ne sais pas sûr que cela à quelque chose à voir avec ton problème.

                Tu peux toujours essayer de les déplacer au bon endroit.

                Le BourguignonL 1 réponse Dernière réponse Répondre Citer 0
                • Le BourguignonL Hors-ligne
                  Le Bourguignon @robin4002
                  dernière édition par

                  @robin4002 Voila j’ai tout refait correctement et il y a tjr le même problème… J’ai beau cherché dans les log je ne vois rien…
                  2019-08-10_15.26.27.png 2019-08-10_15.26.21.png
                  Je ne peux pas craft mes blocks

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    L’item est dans la table de craft mais tu ne peux pas le prendre ? Si oui c’est signe que le mod n’est pas installé sur le serveur.
                    Et ça n’a rien à voir avec un problème de compatabilité de mod …

                    Le BourguignonL 1 réponse Dernière réponse Répondre Citer 0
                    • Le BourguignonL Hors-ligne
                      Le Bourguignon @robin4002
                      dernière édition par

                      @robin4002 tu peux me dire comment l’installer car ce que j ai fait ne fonctionne pas ( explique à partir du moment où j ai mon mode source et normal )

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002R Hors-ligne
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                        dernière édition par

                        Faut exécuter la commande gradlew build, prendre le .jar généré dans le dossier build/libs et tu mets ce .jar dans le dossier mods de ton serveur et de ton client.

                        1 réponse Dernière réponse Répondre Citer 0
                        • 1 / 1
                        • Premier message
                          Dernier message
                        Design by Woryk
                        ContactMentions Légales

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB