Иконка вкладки креатива

Статус
В этой теме нельзя размещать новые ответы.
47
0
Minecraft 1.7.2
Надо чтоб иконка креатив вкладки была к примеру TestBloc или желательно бралась с текстур. Но выдает ошибку посмотрите что не так?

Код MinecraftGases

Код:
package net.minecrftgases.Stuff;

import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecrftgases.Blocks.BlocksList;
import net.minecrftgases.Items.ItemsList;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;



@Mod (modid = ModInfo.ModId, name = ModInfo.ModName, version = ModInfo.ModVersion)

public class MinecraftGases {
    
    //Вкладка креатива
    
    public static CreativeTabs TestTab = new 

            CreativeTabs("TestTab"){
                public Block getTabIconBlock() {
                BlocksList.blockTest;
}


    @EventHandler
    public void preinit(FMLPreInitializationEvent event)
    {
        BlocksList.blocks();
        ItemsList.items();
    }
    
    @EventHandler
    public void init(FMLInitializationEvent event)
    {
        
    }
    
}

Код BlocksList.java
Код:
package net.minecrftgases.Blocks;

import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecrftgases.Stuff.ModInfo;
import cpw.mods.fml.common.registry.GameRegistry;


public class BlocksList {

    public static Block blockTest;
    
    public static void blocks(){
        
    blockTest = new BlockTest().setBlockName("blockTest").setCreativeTab(CreativeTabs.tabBlock).setBlockTextureName(ModInfo.ModId + ":" + "blockTest");
    GameRegistry.registerBlock(blockTest, "blockTest"); 
    
    }
    
}

И код BlockTest.java
Код:
package net.minecrftgases.Blocks;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;

public class BlockTest extends Block{

     public BlockTest()
        {
            super(Material.water);
            this.setHardness(2F);
        }

}
 
771
5
В создании вкладки забыл "}" и точку с запятой.
 
771
5
Эклипс тебя ругает же, вот там и ставь.
 
Ой, ДАНУНАФИГ в один класс все лепить. Много кода сбивает с толку. Да и класс весить много будет
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
Я складку всегда делаю inner-классом. Не весь же мод.
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
Vova_master написал(а):
Да и класс весить много будет
Брееееееед.

(если никогда не открывал моды, то inner-классы в отдельных class-файлах появляются)
 
2,955
12
Я всегда пилю 1 класс, в конструктор добавляю блок который будет иконкой и радуюсь.
 
47
0
Но все ровно проблема актуально выдаёт ошибку 

Код:
CreativeTabs("TestTab"){
        @Override
                public void getTabIconBlock() {
                BlocksList.blockTest;//Syntax error, insert "AssignmentOperator Expression" to complete Expression
}
};
 
Какой еще вуид? Если и писать русскими буквами, то правильно будет воид.
 
2,955
12
Ну не помню я, что поделаешь, суть одна и таже.
Я дуумаю там должно быть как то так:
public void getTabIconBlock() {
this.tabIconBlock = BlockList.blockTest;
}
 
1,990
18
105
Название метода кепствует. Метод должен возвращать что-то, раз там написано get.
Ставишь на возвращаемое значение класс типа [font=Verdana, Helvetica, Arial, sans-serif]BlockList.blockTest (скорее всего Block) и потом return.[/font]
 
Не знаю, как на 1.7, у меня на 1.6.4 так:
Код:
    public int getTabIconItemIndex()
    {
        return Items.testItem.itemID;
    }
 
Нужно возвращать id объекта:

Код:
@Override
    @SideOnly(Side.CLIENT)
    public int getTabIconItemIndex() {
        return Blocks.warning.blockID;
    }
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху