MFF

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

    Four

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.6.4
    5 Messages 4 Publieurs 1.5k Vues 1 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.
    • Bowser338B Hors-ligne
      Bowser338
      dernière édition par

      Bonjour j’ai creer un four il marche
      mais j’ai 2 petits bugs
      tout d’abord quand je pose le bloc il est orienté sa marche mais quand je commence a faire cuire quelque chose ( la texture de la facade change ) il s’oriente vers une autre direction que celle dans laquelle je l’ai posé ( je pense que c’est celle de base )

      2eme probleme quand je fait cuire mes items il ne m’affiche pas la barre de progression de cuisson etc

      je pense que l’orientation est liée a la classe du bloc donc :

      
      package Universe.blocks;
      
      import java.util.Random;
      
      import Universe.common.UniverseMain;
      import Universe.entity.TileEntityCompresseur;
      
      import net.minecraft.block.Block;
      import net.minecraft.block.BlockContainer;
      import net.minecraft.block.material.Material;
      import net.minecraft.client.renderer.texture.IconRegister;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.inventory.Container;
      import net.minecraft.inventory.IInventory;
      import net.minecraft.item.ItemStack;
      import net.minecraft.tileentity.TileEntity;
      import net.minecraft.util.Icon;
      import net.minecraft.util.MathHelper;
      import net.minecraft.world.World;
      import cpw.mods.fml.common.network.FMLNetworkHandler;
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      
      public class Compresseur extends BlockContainer {
      
      private final boolean isActive;
      
      @SideOnly(Side.CLIENT)
      private Icon iconFront;
      
      private static boolean keepInventory;
      
      public Compresseur(int id, boolean isActive) {
      super(id, Material.rock);
      
      this.isActive = isActive;
      }
      
      @SideOnly(Side.CLIENT)
      public void registerIcons(IconRegister iconRegister)
      {
      this.blockIcon = iconRegister.registerIcon(Universe.common.UniverseMain.UltimateUniverseMod + ":" + "Compresseur");
      this.iconFront = iconRegister.registerIcon(Universe.common.UniverseMain.UltimateUniverseMod + ":" + (this.isActive ? "CompresseurFront_on" : "CompresseurFront_off"));
      }
      
      @SideOnly(Side.CLIENT)
      public Icon getIcon(int side, int metadata){
      return side == metadata ? this.iconFront : this.blockIcon;
      
      }
      
      public int idDropped(int par1, Random random, int par3)
      {
      return UniverseMain.CompresseurOff.blockID;
      }
      
      public void onBlockAdded(World world, int x,int y, int z)
      {
      super.onBlockAdded(world, x, y, z);
      this.setDefaultDirection(world, x, y, z);
      }
      
      private void setDefaultDirection(World world, int x, int y, int z)
      {
      if(!world.isRemote)
      {
      int l = world.getBlockId(x, y, z - 1);
      int il = world.getBlockId(x, y, z + 1);
      int jl = world.getBlockId(x - 1, y, z);
      int kl = world.getBlockId(x + 1, y, z);
      byte b0 = 3;
      
      if(Block.opaqueCubeLookup[1] && ! Block.opaqueCubeLookup[il]){
      b0 = 3;
      }
      
      if(Block.opaqueCubeLookup[il] && !Block.opaqueCubeLookup[l]){
      b0 = 2;
      }
      
      if(Block.opaqueCubeLookup[kl] && !Block.opaqueCubeLookup[jl]){
      b0 = 5;
      }
      
      if(Block.opaqueCubeLookup[jl] && !Block.opaqueCubeLookup[kl]){
      b0 = 4;
      }
      
      world.setBlockMetadataWithNotify(x, y, z, b0, 2);
      }
      
      }
      
      public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
      {
      if(!world.isRemote) {
      FMLNetworkHandler.openGui(player, UniverseMain.instance, Universe.common.UniverseMain.guiIdCompresseur, world, x, y, z);
      }
      return true;
      }
      
      public TileEntity createNewTileEntity(World world) {
      
      return new TileEntityCompresseur();
      }
      
      public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityLivingBase, ItemStack itemStack)
      {
      int l = MathHelper.floor_double((double)(entityLivingBase.rotationYaw * 4.0F / 360.0F) + 0.5F) & 3;
      
      if(l == 0) {
      world.setBlockMetadataWithNotify(x, y, z, 2, 2);
      }
      
      if(l == 1) {
      world.setBlockMetadataWithNotify(x, y, z, 5, 2);
      }
      
      if(l == 2) {
      world.setBlockMetadataWithNotify(x, y, z, 3, 2);
      }
      
      if(l == 3) {
      world.setBlockMetadataWithNotify(x, y, z,4, 2);
      }
      
      if(itemStack.hasDisplayName()) {
      ((TileEntityCompresseur)world.getBlockTileEntity(x, y, z)).setGuiDisplayName(itemStack.getDisplayName());
      }
      }
      
      public static void updateCompresseurBlockState(boolean active, World worldObj, int xCoord, int yCoord, int zCoord) {
      int i = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
      TileEntity tilentity = worldObj.getBlockTileEntity(xCoord, yCoord, zCoord);
      keepInventory = true;
      
      if (active) {
      worldObj.setBlock(xCoord, yCoord, zCoord, Universe.common.UniverseMain.CompresseurOn.blockID);
      }
      else {
      worldObj.setBlock(xCoord, yCoord, zCoord, Universe.common.UniverseMain.CompresseurOff.blockID);
      }
      
      keepInventory = false;
      
      worldObj.setBlockMetadataWithNotify(zCoord, yCoord, zCoord, i, 2);
      
      if(tilentity != null) {
      tilentity.validate();
      worldObj.setBlockTileEntity(xCoord, yCoord, zCoord, tilentity);
      }
      
      }
      
      public boolean hasComparatorInputOverride() {
      return true;
      }
      
      public int getComparatorInputOverride(World world,int x,int y,int z, int i) {
      return Container.calcRedstoneFromInventory((IInventory)world.getBlockTileEntity(x, y, z));
      }
      
      public int idPicked(World world, int x,int y,int z) {
      return UniverseMain.CompresseurOff.blockID;
      }
      
      }
      
      

      mais pour la barre de cuisson je ne sais pas dans quelle classe c’est situé exactement

      Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

      1 réponse Dernière réponse Répondre Citer 0
      • jglrxavpokJ Hors-ligne
        jglrxavpok Modérateurs
        dernière édition par

        Pour la barre de cuisson, c’est du côté du GUI et il faut avoir des bases (même légères) avec OpenGL.
        Pour l’orientation, je ne vois pas, désolé

        Modérateur sur MFF. 
        Mon Github: http://github.com/jglrxavpok
        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

        1 réponse Dernière réponse Répondre Citer 0
        • Superloup10S Hors-ligne
          Superloup10 Modérateurs
          dernière édition par

          Pour la barre de cuisson, c’est définie dans le Container, dans le TileEntity et dans le Gui.

          Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

          Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

            A vue de nez et après rapide comparatif sur mon code et sur le forum, je dirai que le problème viens de OnBlockAdded?

            De mon côté et je constate que sur le tutoriel c’est la même chose, cette fonction n’existe pas du tout.
            De plus en lui demandant de remettre la position par defaut, cela n’expliquerai pas le problème?

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

              j’ai enlever la fonction dans ce cas la le bloc se tourne vers le sol

              Edit : je me suis rendu compte que quand je quitte et reviens en jeu les items dans le four disparaissent 😕

              Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

              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