Как зарегистрировать блок

Версия Minecraft
1.9+
30
0
У меня не получается зарегистрировать блок в ванильной версии minecraft 1.9.4
Шаги:
В Block.java я написал
Java:
registerBlock(300, "light_cube", (new BlockLightCube(Material.GLASS)).setHardness(0.3F).setSoundType(SoundType.GLASS).setLightLevel(0.7F).setUnlocalizedName("lightBlock"));
Далее создал класс BlockLightCube
Java:
public class BlockLightCube extends Block
{
    public BlockLightCube(Material materialIn)
    {
        super(materialIn);
        this.setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
    }

    /**
     * Get the quantity dropped based on the given fortune level
     */
    public int quantityDroppedWithBonus(int fortune, Random random)
    {
        return MathHelper.clamp_int(this.quantityDropped(random) + random.nextInt(fortune + 1), 1, 4);
    }

    /**
     * Returns the quantity of items to drop on block destruction.
     */
    public int quantityDropped(Random random)
    {
        return 2 + random.nextInt(3);
    }

    @Nullable

    /**
     * Get the Item that this Block should drop when harvested.
     */
    public Item getItemDropped(IBlockState state, Random rand, int fortune)
    {
        return Items.GLOWSTONE_DUST;
    }

    /**
     * Get the MapColor for this Block and the given BlockState
     */
    public MapColor getMapColor(IBlockState state)
    {
        return MapColor.SAND;
    }
}

В this.setCreativeTab(CreativeTabs.BUILDING_BLOCKS); данном креатив табе не появился данный блок, после я нашёл класс под названием Blocks.class, где написал 2 строки о этом блоке.
Java:
public class Blocks
{
    private static final Set<Block> CACHE;
    public static final Block AIR;
    public static final Block STONE;
    public static final BlockGrass GRASS;
    public static final Block DIRT;
    public static final Block COBBLESTONE;
    public static final Block PLANKS;
    public static final Block SAPLING;
    public static final Block BEDROCK;
    public static final BlockDynamicLiquid FLOWING_WATER;
    public static final BlockStaticLiquid WATER;
    //Я не стану скидывать весь код
    public static final Block LIGHT_CUBE;
@Nullable

    /**
     * Returns the Block in the blockRegistry with the specified name.
     */
    private static Block getRegisteredBlock(String blockName)
    {
    LIGHT_CUBE = getRegisteredBlock("light_cube");
//дальше не стану закрывать

Но старания пошли на смарку и у меня не получилось увидеть данный блок в игре. Я пробовал в версиях выше, но там такая же ерунда. Не могу до сих пор разобраться в этом.

PS прошу писать по теме, а не сообщения типа: "лучше бы писал с помощью Forge" и т.п
 
30
0
Нет, просто хотелось бы внести свои изменения в сервер игры.
Так как же можно увидеть блок в игре?
З.Ы В версиях 1.5-1.6 у меня получалось это сделать, а в версии новее, начиная с 1.9, заканчивая последней 1.12 - у меня не получается
 
129
6
18
Я хз зачем это тебе, но это по моему чушь редачить весь майн ради 1 блока. Посмотри как регаются блоки через фордж. Пошамань с id блока(Block.class).
Вот как регаются у меня на 1.7.10.(если ты на бакките делаешь то мож это и не то)
Снимок.PNG
 
30
0
artemka3112, я думаю, что это не совсем чушь, но позволь спросить, почему Вы думаете, что я делаю это ради одного блока? Скажу совсем обратное, я собираюсь добавить немало предметов и блоков в новейших версиях, начиная с 1.9+. Ибо на версии 1.5.2 до 1.6.4 всё прекрасно получается. Но в версии 1.9 и больше - такого не происходит. Раннее я посмотрел, как регистрируется блоки через forge, поверьте, желаемый результат просто обошёл стороной.
ЗЫ Я редактирую ванильный код, без баккита2.JPG
 
Последнее редактирование:
7,099
324
1,509
защитив его от декомпиляции
Не поможет. Также декомпильнут и сравнят с ванильным кодом, что найти твои правки
без сторонних API
Forge предназначен для упрощения жизни разработчикам, почему бы его не использовать?
 
Сверху