I'm working on my mod for creating a new block, but i'm stuck.
The problem is in the title.
The code :
package mrsalimoc.moderntech.common.blocks;
import mrsalimoc.moderntech.ModernTech;
import mrsalimoc.moderntech.common.items.MTItems;
import mrsalimoc.moderntech.util.MTModel;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
public class MTBlockBase extends Block implements MTModel{
public MTBlockBase(String name, Material material) {
super(material);
setUnlocalizedName(name);
setRegistryName(name);
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
MTBlocks.BLOCKS.add(this);
MTItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()).setUnlocalizedName(this.getUnlocalizedName()));
System.out.println(this.getRegistryName()); //returning 'moderntech:testblock' (my block)
System.out.println(new ItemBlock(this).getRegistryName()); //returning 'null'
}
@Override
public void registerModels() {
ModernTech.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
System.out.println(Item.getItemFromBlock(this).getUnlocalizedName()); //returning 'tile.air' (null)
System.out.println(Item.getItemFromBlock(this).getRegistryName()); //returning 'minecraft:air'
}
}
Creating block code :
package mrsalimoc.moderntech.common.blocks;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
public class MTBlocks {
public static final List<Block> BLOCKS = new ArrayList<Block>();
public static final Block TESTBLOCK = new MTBlockBase("testblock", Material.IRON);
}
I don't have any error, but the block don't exist in the game when i launch.
(If you need more code, tell me)