MFF

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

    [1.12.2] J'ai besoin d'aide svp (block avec gui)

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.12.2
    4 Messages 2 Publieurs 546 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.
    • TheXrayFRT Hors-ligne
      TheXrayFR
      dernière édition par robin4002

      quand je fait SHIFT + CLICK (n’importe ou dans les case)

      text alternatif

      sa fait cracher le jeux MINECRAFT

      text alternatif

      text alternatif

      sa serais possible de m’aider ?

      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 robin4002

        Bonsoir,
        J’ai déplacé dans la section support pour les moddeurs. Merci de poster toutes futurs demande d’aide lié à la programmation dans cette section et non dans discussion général.

        Merci également d’utiliser les balises appropriés pour les logs plutôt que les images.

        Pour la deuxième erreur que tu as, tu as oublié d’enregistrer le tile entity.
        Concernant la première erreur il faudrait ton code pour déterminer le problème.

        1 réponse Dernière réponse Répondre Citer 1
        • TheXrayFRT Hors-ligne
          TheXrayFR
          dernière édition par

          Je lais fait ici

          @EventHandler
              public void init(FMLInitializationEvent event)
              {
                  proxy.init();
                  FamilygameRecipe.init();
                  NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
                  GameRegistry.registerTileEntity(TileEntityCrate.class, new ResourceLocation(MODID, "TileEntityCrate"));
              }
          

          Class BlockCrate

          package fr.thexrayfr.familygame.blocks;
          
          import fr.thexrayfr.familygame.Main;
          import fr.thexrayfr.familygame.tile.TileEntityCrate;
          import net.minecraft.block.BlockPlanks.EnumType;
          import net.minecraft.block.BlockPlanks;
          import net.minecraft.block.SoundType;
          import net.minecraft.block.material.Material;
          import net.minecraft.block.state.IBlockState;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.item.EnumDyeColor;
          import net.minecraft.tileentity.TileEntity;
          import net.minecraft.util.EnumFacing;
          import net.minecraft.util.EnumHand;
          import net.minecraft.util.math.BlockPos;
          import net.minecraft.world.World;
          
          public class BlockCrate extends BlockBase
          {
          
              public BlockCrate(String name, Material material)
              {
                  super(name, material);
                  this.setCreativeTab(Main.TABFAMILYGAME);
                  this.setHardness(2.0F);
                  this.setResistance(5.0F);
                  this.setSoundType(SoundType.WOOD);
              }
          
              @Override
              public boolean hasTileEntity(IBlockState state)
              {
                  return true;
              }
              
              
          
              @Override
              public TileEntity createTileEntity(World world, IBlockState state)
              {
                  return new TileEntityCrate();
              }
          
              @Override
              public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
              {
                  playerIn.openGui(Main.instance, 0, worldIn, pos.getX(), pos.getY(), pos.getZ());
                  return false;
              }
          
              @Override
              public boolean isOpaqueCube(IBlockState state)
              {
                  return false;
              }
          
              @Override
              public boolean isFullCube(IBlockState state)
              {
                  return false;
              }
          
          }
          
          

          Class TileEntityCrate

          package fr.thexrayfr.familygame.tile;
          
          import net.minecraft.block.BlockPlanks;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.inventory.IInventory;
          import net.minecraft.inventory.ItemStackHelper;
          import net.minecraft.item.ItemStack;
          import net.minecraft.nbt.NBTTagCompound;
          import net.minecraft.tileentity.TileEntity;
          import net.minecraft.util.NonNullList;
          
          public class TileEntityCrate extends TileEntity implements IInventory
          {
          
              private NonNullList<ItemStack> stacks = NonNullList.withSize(this.getSizeInventory(), ItemStack.EMPTY);
              protected String customName;
          
              @Override
              public String getName()
              {
                  return null;
              }
          
              @Override
              public boolean hasCustomName()
              {
                 return false;
              }
          
              public int getSizeInventory()
              {
                  return 27;
              }
          
              public boolean isEmpty()
              {
                  for (ItemStack itemstack : this.stacks)
                  {
                      if (!itemstack.isEmpty())
                      {
                          return false;
                      }
                  }
          
                  return true;
              }
             
              @Override
              public ItemStack getStackInSlot(int index)
              {
                  return this.stacks.get(index);
              }
          
              @Override
              public ItemStack decrStackSize(int index, int count)
              {
                  return ItemStackHelper.getAndSplit(this.stacks, index, count);
              }
          
              @Override
              public ItemStack removeStackFromSlot(int index)
              {
                  this.stacks.set(index, ItemStack.EMPTY);
                  return this.getStackInSlot(index);
              }
          
              @Override
              public void setInventorySlotContents(int index, ItemStack stack)
              {
          
                  this.stacks.set(index, stack);
          
              }
          
              @Override
              public int getInventoryStackLimit()
              {
          
                  return 64;
              }
          
              @Override
              public boolean isUsableByPlayer(EntityPlayer player)
              {
                  if (this.world.getTileEntity(this.pos) != this)
                  {
                      return false;
                  }
                  else
                  {
                      return player.getDistanceSq((double) this.pos.getX() + 0.5D, (double) this.pos.getY() + 0.5D, (double) this.pos.getZ() + 0.5D) <= 64.0D;
                  }
              }
          
              @Override
              public void openInventory(EntityPlayer player)
              {
          
              }
          
              @Override
              public void closeInventory(EntityPlayer player)
              {
          
          
              }
          
              @Override
              public boolean isItemValidForSlot(int index, ItemStack stack)
              {
          
                  return true;
              }
          
              @Override
              public int getField(int id)
              {
                  return 0;
              }
          
              @Override
              public void setField(int id, int value)
              {
          
              }
          
              @Override
              public int getFieldCount()
              {
          
                  return 0;
              }
          
              @Override
              public void clear()
              {
          
                  this.stacks.clear();
          
              }
          
              @Override
              public void readFromNBT(NBTTagCompound compound)
              {
                  super.readFromNBT(compound);
                  ItemStackHelper.loadAllItems(compound, this.stacks);
              }
          
              @Override
              public NBTTagCompound writeToNBT(NBTTagCompound compound)
              {
                  ItemStackHelper.saveAllItems(compound, this.stacks);
                  return super.writeToNBT(compound);
              }
          
          }
          
          

          class GuiCrate

          package fr.thexrayfr.familygame;
          
          import org.lwjgl.opengl.GL11;
          
          import fr.thexrayfr.familygame.container.ContainerOakCrate;
          import fr.thexrayfr.familygame.tile.TileEntityCrate;
          import net.minecraft.client.gui.inventory.GuiContainer;
          import net.minecraft.entity.player.InventoryPlayer;
          import net.minecraft.inventory.IInventory;
          import net.minecraft.util.ResourceLocation;
          
          public class GuiCrate extends GuiContainer
          {
          
              private static final ResourceLocation textures = new ResourceLocation(Main.MODID, "textures/gui/container/gui_crate_container.png");
              private TileEntityCrate tileTuto;
              private IInventory playerInv;
          
              public GuiCrate(TileEntityCrate tile, InventoryPlayer inventory)
              {
                  super(new ContainerOakCrate(tile, inventory));
                  this.tileTuto = tile;
                  this.playerInv = inventory;
                  this.allowUserInput = false;
                  this.ySize = 170;
              }
          
              @Override
              protected void drawGuiContainerBackgroundLayer(float partialRenderTick, int x, int y)
              {
                  GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); // on colorise
                  this.mc.getTextureManager().bindTexture(textures); // affiche la texture
                  int k = (this.width - this.xSize) / 2; // on calcul la coordonnée x du point en haut à gauche
                  int l = (this.height - this.ySize) / 2; // on calcul la coordonnée y du point en haut à gauche
                  this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); // on desine la texture, la fonction à pour argument point x de départ, point y de départ, vecteur u, vecteur v, largeur, hauteur)
              }
          }
          

          class gui Hnadler

          package fr.thexrayfr.familygame;
          
          import fr.thexrayfr.familygame.container.ContainerOakCrate;
          import fr.thexrayfr.familygame.tile.TileEntityCrate;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.tileentity.TileEntity;
          import net.minecraft.util.math.BlockPos;
          import net.minecraft.world.World;
          import net.minecraftforge.fml.common.network.IGuiHandler;
          
          public class GuiHandler implements IGuiHandler
          {
          
              @Override
              public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
              {
                  TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
                  if (ID == 0)
                  {
                      return new ContainerOakCrate((TileEntityCrate) tile, player.inventory);
                  }
                  return null;
              }
          
              @Override
              public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
              {
                  TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
                  if (ID == 0)
                  {
                      return new GuiCrate((TileEntityCrate) tile, player.inventory);
                  }
                  return null;
              }
          
          }
          
          1 réponse Dernière réponse Répondre Citer 0
          • TheXrayFRT Hors-ligne
            TheXrayFR
            dernière édition par

            et sa enregistre pas les block dans le gui quand je quitte et revient dans le monde

            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