J'ai créer des dalles, elles fonctionnent bien mais sont légèrement buggés. Quand je les pose par terre (screen 1) et que je me déconnecte, quand je reviens sur le monde je les retrouve en l'air (screen 2). J'ai suivi un tuto que j'ai trouvé mais je ne vois pas le soucis... Si on peut m'aider..
1-

2-

La class CustomBlockSlab :
Code : Tout sélectionner
package net.fightmc.mod.blocks;
import java.util.Random;
import net.fightmc.mod.Fightmc;
import net.minecraft.block.BlockSlab;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public abstract class CustomBlockSlab extends BlockSlab
{
public CustomBlockSlab(String name, float hardness, float resistance)
{
super(Material.ROCK);
setUnlocalizedName(name);
setRegistryName(name);
setHardness(hardness);
setResistance(resistance);
setCreativeTab(Fightmc.fightmctab);
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 int getMetaFromState(IBlockState state)
{
if(!this.isDouble())
{
return 0;
}
return ((EnumBlockHalf)state.getValue(HALF)).ordinal() + 1;
}
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(Blocks.STONEBRICK);
}
@Override
protected BlockStateContainer createBlockState()
{
return new BlockStateContainer(this, new IProperty[] {HALF});
}
}
Code : Tout sélectionner
package net.fightmc.mod.blocks;
public class CustomBlockHalfSlab extends CustomBlockSlab
{
public CustomBlockHalfSlab(String name, float hardness, float resistance)
{
super(name, hardness, resistance);
}
@Override
public boolean isDouble()
{
return false;
}
}
Code : Tout sélectionner
package net.fightmc.mod.blocks;
public class CustomBlockDoubleSlab extends CustomBlockSlab
{
public CustomBlockDoubleSlab(String name, float hardness, float resistance)
{
super(name, hardness, resistance);
}
@Override
public boolean isDouble()
{
return true;
}
}