MFF

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

    [1.12.2] Bug dalles positionnement

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    2 Messages 1 Publieurs 201 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.
    • Flow ArgF Hors-ligne
      Flow Arg Moddeurs confirmés
      dernière édition par Flow Arg

      Bonjour à toutes et à tous, c’est encore moi 🙂

      J’ai un soucis qui est assez embêtant avec mes dalles. J’ai cherché un peu partout, sans trouver ce qui m’intéressait.
      Je m’explique.

      En solo : lorsque je place une slab sur le sol, elle reste au sol, et quand je pose une slab dessus, ça forme un block, jusque la, tout va bien. Mais quand je save & exit et que je reviens sur le monde, les slabs posé en bas, sont passé en haut.

      Sur serveur : lorsque je place une slab sur le sol, elle se déplace automatiquement vers le haut, comme en solo et que j’ai save & exit. et quand je pose une slab dessus, ça fait un block… comme si la slab du bas existait.

      Screen :

      unknown.png

      Conclusion : Je ne peux pas poser de slab sur le sol sans qu’elle se rehausse d’un cran.
      Voici mes classes qui gèrent les slabs:

      BlockSlabBase.java

      public abstract class BlockSlabBase extends BlockSlab implements IHasModel
      {
      
          public BlockSlabBase(String name, Material materialIn)
          {
              super(materialIn);
              setRegistryName(name).setUnlocalizedName(name);
      
              setCreativeTab(Main.blockslabtab);
      
              IBlockState state = this.blockState.getBaseState();
      
              if (!this.isDouble())
              {
                  state = state.withProperty(HALF, EnumBlockHalf.BOTTOM);
              }
      
              setDefaultState(state);
              this.useNeighborBrightness = true;
          }
      
          @Override
          public String getUnlocalizedName(int meta)
          {
              return this.getUnlocalizedName();
          }
      
          @Override
          public IProperty<?> getVariantProperty()
          {
              return HALF;
          }
      
          @Override
          public Comparable<?> getTypeForItem(ItemStack stack)
          {
              return EnumBlockHalf.BOTTOM;
          }
      
          @Override
          public int damageDropped(IBlockState state)
          {
              return 0;
          }
      
          @Override
          public IBlockState getStateFromMeta(int meta)
          {
              if (!this.isDouble())
              {
                  return this.getDefaultState().withProperty(HALF, EnumBlockHalf.values()[meta % EnumBlockHalf.values().length]);
              }
      
              return this.getDefaultState();
          }
      
          @Override
          public Item getItemDropped(IBlockState state, Random rand, int fortune)
          {
              return Item.getItemFromBlock(this);
          }
      
          @Override
          public int getMetaFromState(IBlockState state)
          {
             if (!this.isDouble())
             {
                 return 0;
             }
             return ((EnumBlockHalf)state.getValue(HALF)).ordinal() + 1;
          }
      
      
          @Override
          protected BlockStateContainer createBlockState()
          {
              return new BlockStateContainer(this, new IProperty[]{HALF});
          }
      }
      

      BlockHalfSlabBase

      public class BlockHalfSlabBase extends BlockSlabBase
      {
          public BlockHalfSlabBase(String name, Material material)
          {
              super(name, material);
      
              BlockInit.BLOCK.add(this);
              ItemInit.ITEM.add(Item.getItemFromBlock(this));
          }
      
          @Override
          public boolean isDouble()
          {
              return false;
          }
      
          @Override
          public void registerModels() {
              Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
          }
      }
      

      BlockDoubleSlabBase

      public class BlockDoubleSlabBase extends BlockSlabBase
      {
      
          public BlockDoubleSlabBase(String name, Material material)
          {
              super(name, material);
      
              BlockInit.BLOCK.add(this);
              ItemInit.ITEM.add(Item.getItemFromBlock(this));
          }
      
          @Override
          public boolean isDouble()
          {
              return true;
          }
      
          @Override
          public void registerModels() {
              Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
          }
      }
      

      Voila tout, merci d’avance pour toute aide qui me sera utile 🙂 .

      Flow Arg

      Mon GitHub
      Mon repo Maven
      Mon Updater
      Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

      1 réponse Dernière réponse Répondre Citer 0
      • Flow ArgF Hors-ligne
        Flow Arg Moddeurs confirmés
        dernière édition par

        Bon, probleme résolu, j’ai quelque peu modifié mes class de blockslab,
        les liens pour ceux que ca intéresse :
        https://pastebin.com/GeZgGy66
        https://pastebin.com/ex5rLfFA
        https://pastebin.com/ZmUXRdNS

        Voilà tout !

        Mon GitHub
        Mon repo Maven
        Mon Updater
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 10 points de réputation.

        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