21 sept. 2017, 18:17

Bonjour à tous je suis actuellement entrain de coder une dalle sauf que je n’arrive pas a l’enregister j’ai essayer dans ma classe registerhandler (j’ai eu une erreur d’enregistrement de block null) puis avec la methode public static void register() sans succès

Je met ci-joint toutes les classes qui traitent de me dalles

ma classe BasiqueSlab

package fr.priya.simpleores.blocks;

import java.util.Random;

import fr.priya.simpleores.ModSimpleores;
import net.minecraft.block.Block;
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.item.Item;
import net.minecraft.item.ItemStack;

public abstract class BasiqueSlab extends BlockSlab {

public BasiqueSlab(String name, float hardness, float resistance)
{
super(Material.IRON);
setHardness(hardness);
setResistance(resistance);
setCreativeTab(ModSimpleores.blocksTab);

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(SimpleoresBlocks.TIN_HALF_SLAB);
}

@Override
protected BlockStateContainer createBlockState() 
{
return new BlockStateContainer(this, new IProperty[] {HALF});
}
}

Ma classe basiqueHalfSlab

public class BasiqueSlabHalf extends BasiqueSlab{

public BasiqueSlabHalf(String name, float hardness, float resistance)
{
super(name, hardness, resistance);
}

@Override
public boolean isDouble() 
{
return false;
}

}

Ma classe Basique doubleSlab

public class BasiqueSlabDouble extends BasiqueSlab{

public BasiqueSlabDouble(String name, float hardness, float resistance) 
{
super(name, hardness, resistance);
}

@Override
public boolean isDouble() 
{
return true;
}

}

Si vous avez besoin d’autre chose n’hésitez pas !