Креативные вкладки

1,976
68
220
Доброго времени суток =)
Такая проблема - создаю свою вкладку, регистрирую, всё чики-пуки, работает, иконка есть. Но вот предметы в ней не отображаются. Вот код
Глав. Файл:
Код:
public static CreativeTabs osmTab = new OSMCTab("OldSchoolMagic");

Вкладка:
Код:
package obscurasoft.osm;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class OSMCTab extends CreativeTabs {
    
    public OSMCTab(String tabID) {
        super(tabID);
    }

    @Override
    public Item getTabIconItem() {
        return OSMMain.spellMeteoricStrike;
    }
}

Вещь:
Код:
this.setCreativeTab(OSMMain.osmTab);

Подскажите, пожалуйста, что может быть не так.. Заранее спасибо :D
 
20
0
А если так !
Код:
public static CreativeTabs osmTab = new OSMTab(CreativeTabs.getNextID(),"OldSchoolMagic");


Код:
public class OSMTab extends CreativeTabs {

    public OSMTab(int position, String tabID)
    {
    super(position, tabID);
    }
    
    @Override
    @SideOnly(Side.CLIENT)
    public Item getTabIconItem() {
        return OSMMain.spellMeteoricStrike;
    }
}
 

timaxa007

Модератор
5,831
409
672
Miki, этот способ вряд-ли поможет.
Одно из предположений AlexSocol мог использовать метод getSubItems (в предмете) или getSubBlocks (в блоке) и не указать, что будет во в кладке. Других предположений проблемы, исходя из того что есть, у меня нету.
 
1,976
68
220
Нету, ни того ни другого. Что ещё нужно скинуть?
[merge_posts_bbcode]Добавлено: 18.01.2016 20:23:01[/merge_posts_bbcode]

Более того, у меня работает такая вкладка:
Код:
public static CreativeTabs tpTab = new CreativeTabs("TemporalProcessingTab") {
    @Override
    public Item getTabIconItem() {
        return new ItemStack(ProxyUtils.resonator).getItem();
    }
};
но работает в другом моде... А в этом - нет
 

timaxa007

Модератор
5,831
409
672
Есть ещё предположение. Твоя "Вещь" зарегистрирована?
[merge_posts_bbcode]Добавлено: 18.01.2016 20:37:08[/merge_posts_bbcode]

AlexSocol написал(а):
Что ещё нужно скинуть?
Весь класс "Глав. Файл" и класс "Вещь".
 
1,976
68
220
Вещь зарегистрирована, полностью работает. В главном классе 244 строки. Так называемая "Вещь" - это все 3-4 десятка предметов и блоков, которые есть в моде, в большинстве из них нет ничего интересного. Например:
Код:
package obscurasoft.osm.items;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
import obscurasoft.osm.ModInfo;
import obscurasoft.osm.OSMMain;

public class TaintedPotatoOnAStick extends ItemFood {

    public TaintedPotatoOnAStick() {
        super(10, true);
        this.setCreativeTab(OSMMain.osmTab);
        this.setTextureName(ModInfo.MODID + ":TaintedPotatoOnAStick");
        this.setUnlocalizedName("TaintedPotatoOnAStick");
    }

    @Override
    public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) {
        player.addPotionEffect(new PotionEffect(Potion.confusion.id, 100, 0));
        player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 600, 4));
        return stack;
    }
}
Ничего такого. Вот части Main'а, относящиеся к этой картошке:
Код:
public class OSMMain {
    public static Item potata = new TaintedPotatoOnAStick();

    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
        GameRegistry.registerItem(potata, potata.getUnlocalizedName().substring(5));
    }

    public static CreativeTabs osmTab = new CreativeTabs("OldSchoolMagic") {
        @Override
        public Item getTabIconItem() {
            return spellMeteoricStrike;
        }
    };
}
В одном моде всё работает, но стоит перенести или создать новый мод - и всё, во вкладке пусто (сам предмет есть, с текстурой, всё, как положено)
 

timaxa007

Модератор
5,831
409
672
Подобное было, ответ примерно такой: "Объявление вкладки должно быть раньше, чем объявленные предметы и блоки".
Код:
public static CreativeTabs osmTab = new CreativeTabs("OldSchoolMagic") {
        @Override
        public Item getTabIconItem() {
            return spellMeteoricStrike;
        }
    };

public static Item potata = new TaintedPotatoOnAStick();
 
1,976
68
220
Ладно, допустим. А почему тогда в другом моде всё работает, когда вкладка в самом низу?
Код:
@Mod(modid = ModInfo.MODID, name = ModInfo.NAME, version = ModInfo.VERSION)

public class TPMain {

    @Instance(ModInfo.MODID)
    public static TPMain instance;

    @SidedProxy(clientSide = "obscurasoft.tp.proxy.ClientProxy", serverSide = "obscurasoft.tp.proxy.CommonProxy")
    public static CommonProxy proxy;

    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
        //Всякие регистрации
    }

    @EventHandler
    public void init(FMLInitializationEvent event) {
        //Ещё регистрации
    }

    @EventHandler
    public void postInit(FMLPostInitializationEvent event) {
        //И ещё регистрации
    }

    public static CreativeTabs tpTab = new CreativeTabs("TemporalProgressoin") {
        @Override
        public Item getTabIconItem() {
            return ProxyUtils.resonator;
        }
    };
 
Сверху