MFF

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

    Recettes 1.12.2

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.12.2
    5 Messages 2 Publieurs 345 Vues 2 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.
    • D Hors-ligne
      Drastic
      dernière édition par

      Bonjour, j’ai créé un minerai grâce à un tutoriel : (partie 1 ) https://www.youtube.com/watch?v=DcUSKLmtU58&list=PLiDUvCGH5WEUEV9nc0Ll2pzUFmSFc21uR&index=7 (partie 2) https://www.youtube.com/watch?v=tjlhLQ78lOk&list=PLiDUvCGH5WEUEV9nc0Ll2pzUFmSFc21uR&index=8.

      Je veux, avec ce bloc, faire une recette (four ou table).

      Mon code :

      Classe du Block

      public class BlockOreMod extends Block implements IHasModel, IMetaName
      {
          public static final PropertyEnum<EnumHandler.EnumType> VARIANT = PropertyEnum.<EnumHandler.EnumType>create("variant", EnumHandler.EnumType.class);
          
          private String name, dimension;
          
          public BlockOreMod(String name, String dimension)
          {
              super(Material.ROCK);
              setUnlocalizedName(name);
              setRegistryName(name);
              setCreativeTab(Main.GbTab);
              setHardness(4.0F);
              setDefaultState(this.blockState.getBaseState().withProperty(VARIANT, EnumHandler.EnumType.TNT));
              
              this.name = name;
              this.dimension = dimension;
              
              BlockInit.BLOCKS.add(this);
              ItemInit.ITEMS.add(new ItemBlockVariants(this).setRegistryName(this.getRegistryName()));
          }
          
          @Override
          public int damageDropped(IBlockState state)
          {
              return ((EnumHandler.EnumType)state.getValue(VARIANT)).getMeta();
          }
          
          @Override
          public int getMetaFromState(IBlockState state)
          {
              return ((EnumHandler.EnumType)state.getValue(VARIANT)).getMeta();
          }
          
          @Override
          public IBlockState getStateFromMeta(int meta)
          {
              return this.getDefaultState().withProperty(VARIANT, EnumHandler.EnumType.byMetadata(meta));
          }
          
          @Override
          public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player)
          {
              return new ItemStack(Item.getItemFromBlock(this), 1, getMetaFromState(world.getBlockState(pos)));
          }
          
          @Override
          public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> items)
          {
              for(EnumHandler.EnumType variant : EnumHandler.EnumType.values())
              {
                  items.add(new ItemStack(this, 1, variant.getMeta()));
              }
          }
          
          @Override
          protected BlockStateContainer createBlockState()
          {
              return new BlockStateContainer(this, new IProperty[] {VARIANT});
          }
          
          @Override
          public String getSpeciaName(ItemStack stack)
          {
              return EnumHandler.EnumType.values() [stack.getItemDamage()].getName();
          }
          
          @Override
          public void registerModels()
          {
              for(int i = 0; i < EnumHandler.EnumType.values().length; i++)
              {
                  Main.proxy.registerVariantRenderer(Item.getItemFromBlock(this), i, "ore_" + this.dimension + "_" + EnumHandler.EnumType.values()[i].getName(), "inventory");
              }
          }
          
      }
      
      

      Classe ItemBlock

      public class ItemBlockVariants extends ItemBlock
      {
      
          public ItemBlockVariants(Block block)
          {
              super(block);
              setHasSubtypes(true);
              setMaxDamage(0);
          }
          
          @Override
          public int getMetadata(int damage)
          {
              return damage;
          }
          
          @Override
          public String getUnlocalizedName(ItemStack stack)
          {
              return super.getUnlocalizedName() + "_" + ((IMetaName)this.block).getSpeciaName(stack);
          }
      
      }
      
      

      IMetaName

      public interface IMetaName
      {
          public String getSpeciaName(ItemStack stack);
      }
      
      

      EnumHandler

      public class EnumHandler
      {
          public static enum EnumType implements IStringSerializable
          {
              TNT(0, "tnt_ore");
              
              private static final EnumType[] META_LOOKUP = new EnumType[values().length];
              private final int meta;
              private final String name, unlocializedName;
              
              private EnumType(int meta,String name)
              {
                  this(meta, name, name);
              }
              
              private EnumType(int meta,String name, String unlocializedName)
              {
                  this.meta = meta;
                  this.name = name;
                  this.unlocializedName = unlocializedName;
              }
              
              @Override
              public String getName()
              {
                  return this.name;
              }
              
              public int getMeta()
              {
                  return this.meta;
              }
              
              public String getUnlocializedName()
              {
                  return this.unlocializedName;
              }
              
              @Override
              public String toString()
              {
                  return this.name;
              }
              
              public static EnumType byMetadata(int meta)
              {
                  return META_LOOKUP[meta];
              }
              
              static
              {
                  for(EnumType enumtype : values())
                  {
                      META_LOOKUP[enumtype.getMeta()] = enumtype;
                  }
              }
          }
      }
      
      
      1 réponse Dernière réponse Répondre Citer -1
      • BlueZikSB Hors-ligne
        BlueZikS
        dernière édition par

        Salut! La personne qui fait les tutoriels dont tu t’es inspiré pour ton minerai à également fait un tutoriel pour faire des recettes tu peux aller y jeter un coup d’oeil^^ (je n’ai pas encore fais de crafts perso donc j’ai pas d’exemple concret mais c’est avec du .json de mémoire)

        D 1 réponse Dernière réponse Répondre Citer 0
        • D Hors-ligne
          Drastic @BlueZikS
          dernière édition par

          @BlueZikSè oui mais il n’a pas précisé comment faire avec le minerai (je l’ai créé de facon spéciale)

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

            Voici le ficher de mon craft.

            {
                "type": "minecraft:crafting_shaped",
                "pattern": [
                    "#"
                ],
                "key": {
                    "#": {
                        "variant=tnt_ore": {"item": "gbmod:ore_overworld"}
                    }
                },
                "result": {
                    "item": "gbmod:tnt_shard",
                    "count": 9
                }
            }
            
            1 réponse Dernière réponse Répondre Citer 0
            • D Hors-ligne
              Drastic
              dernière édition par

              Finalement, j’avais mal compris le tuto et il fallait juste utiliser la métadata.

              {
                  "type": "minecraft:crafting_shaped",
                  "pattern": [
                      "#"
                  ],
                  "key": {
                      "#": {
                        "item": "gbmod:ore_overworld",
                        "data": 0
                           }
                  },
                  "result": {
                      "item": "gbmod:tnt_shard",
                      "count": 9
                  
              
              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