- 83
- 3
Доброго времени суток!
Столкнулся с тем, что у ново-созданных item'ов не отображается текстура. Сначала подумал, что где-то при создании item'а напортачил, но после перенаписания класса проблема не решилась. При сравнении рабочего и не рабочего item'ов не нашел отличий.
Пошерстил на форуме, прочитанные методы не помогли (там в основном было отсутствие текстур у всех предметов или криво написанные классы (с кривостью моих классов они не совпали)).
На всякий случай приложил скрин файла текстурок, вдруг ошибка в нем.
Не думаю, что ошибка в общих классах, ибо tincan (и остальные) работают исправно
Столкнулся с тем, что у ново-созданных item'ов не отображается текстура. Сначала подумал, что где-то при создании item'а напортачил, но после перенаписания класса проблема не решилась. При сравнении рабочего и не рабочего item'ов не нашел отличий.
Пошерстил на форуме, прочитанные методы не помогли (там в основном было отсутствие текстур у всех предметов или криво написанные классы (с кривостью моих классов они не совпали)).
На всякий случай приложил скрин файла текстурок, вдруг ошибка в нем.
Код:
package masterEnotus.witch.items;
import masterEnotus.witch.Witch;
import net.minecraft.item.Item;
public class ItemTincan extends Item {
public ItemTincan(String name){
this.setRegistryName(name);
this.setUnlocalizedName(name);
this.setCreativeTab(Witch.CTAB);
}
}
Код:
{
"parent": "item/generated",
"textures": {
"layer0": "witch:items/tincan"
}
}
Код:
package masterEnotus.witch.items;
import masterEnotus.witch.Witch;
import net.minecraft.item.Item;
public class ItemAxeHead extends Item {
public ItemAxeHead(String name){
this.setRegistryName(name);
this.setUnlocalizedName(name);
this.setCreativeTab(Witch.CTAB);
}
}
Код:
{
"parent": "item/generated",
"textures": {
"layer0": "witch:items/axeHead"
}
}
Не думаю, что ошибка в общих классах, ибо tincan (и остальные) работают исправно
Код:
package masterEnotus.witch.items;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.List;
public class ItemsRegister {
//public static Item tincan = new ItemTincan("tincan");
public static List<Item> itemsList = new ArrayList<Item>();
public static void adding(){
//Systems
itemsList.add(new ItemLogo("logo"));
//Extra
//Primary
itemsList.add(new ItemAxeHead("axeHead"));
//Garbage
itemsList.add(new ItemTincan("tincan"));
}
public static void register(){
adding();
for(Item item : itemsList){
setRegister(item);
}
}
@SideOnly(Side.CLIENT)
public static void registerRender(){
for(Item item : itemsList){
setRender(item);
}
}
private static void setRegister(Item item){
ForgeRegistries.ITEMS.register(item);
}
@SideOnly(Side.CLIENT)
private static void setRender(Item item){
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
}
Код:
package masterEnotus.proxy;
import masterEnotus.witch.Witch;
import masterEnotus.witch.items.ItemsRegister;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.client.model.obj.OBJLoader;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class ClientProxy extends CommonProxy{
public void registerModel(Item item) {
ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
@Override
public void preInit(FMLPreInitializationEvent event) {
super.preInit(event);
//OBJLoader.INSTANCE.addDomain(Witch.MODID);
//registerModel(ItemsRegister.itemsList.get(1));
}
@Override
public void init(FMLInitializationEvent event) {
super.init(event);
ItemsRegister.registerRender();
}
@Override
public void postInit(FMLPostInitializationEvent event){
super.postInit(event);
}
}
Код:
package masterEnotus.proxy;
import masterEnotus.witch.items.ItemsRegister;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event) {
ItemsRegister.register();
}
public void init(FMLInitializationEvent event) {
}
public void postInit(FMLPostInitializationEvent event) {
}
}