Résolu [1.12.2] Bug dalles positionnement
-
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 :
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
-
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/ZmUXRdNSVoilà tout !
-
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/ZmUXRdNSVoilà tout !