Предмет Minecraft-Forge Mod был зарегистрирован и был отмечен моделью для текстурирования, хотя в игре отсутствует текстура? - PullRequest
0 голосов
/ 01 мая 2019

Я в первую очередь JS Dev, и я новичок в Java, поэтому заранее извиняюсь за недостаток свободного владения!

Я создал элемент "dirt_ingot", зарегистрировал этот элемент (зарегистрирован, когда это было завершено для проверки), направил его в местоположение модели (также зарегистрирован). Мой файл / модель JSON работает правильно (я потратил много времени на работу с JSON), когда имя текстуры меняется на что-то другое, чтобы хотя бы подтвердить, что он делает это так далеко; "textures": { "layer0" :fm/items/dirt_ingo } не dirt_ingot. Затем он возвратил в консоли ошибку, из-за которой у меня не было ресурса в пакете fm.textures.items, который соответствовал этому имени, что имело смысл, поскольку я изменил имя на png, который не существует. Хотя, когда меняли обратно и указывали на правильный png, мне выдается ошибка текстуры.

Любой, кто может помочь, будет очень признателен, спасибо!

dirt_ingot.json

{
   "parent": "item/generated",
   "textures": {
       "layer0": "fm:items/dirt_ingot"
   }
}

ItemBase.java

package com.ash_haus.firstmod.items;

import com.ash_haus.firstmod.Main;
import com.ash_haus.firstmod.init.ModItems;
import com.ash_haus.firstmod.util.IHasModel;

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

public class ItemBase extends Item implements IHasModel {

    public ItemBase(String name) {

        setUnlocalizedName(name);
        setRegistryName(name);
        setCreativeTab(CreativeTabs.MISC);


        ModItems.ITEMS.add(this);
    }

    @Override
    public void registerModels() {

        Main.proxy.registerItemRenderer(this, 0, "inventory");
    }

}

CommonProxy.java

package com.ash_haus.firstmod.proxy;

import net.minecraft.item.Item;

public class CommonProxy {

    public void registerItemRenderer(Item item, int meta, String id) {

    }

}

ClientProxy.java

package com.ash_haus.firstmod.proxy;

import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;

public class ClientProxy extends CommonProxy {

    public void registerItemRender(Item item, int meta, String id) {

        ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id));
    }
}

ModItems.java

package com.ash_haus.firstmod.init;

import java.util.ArrayList;
import java.util.List;

import com.ash_haus.firstmod.items.ItemBase;

import net.minecraft.item.Item;

public class ModItems {

    public static final List<Item> ITEMS = new ArrayList<Item>();

    public static final Item DIRT_INGOT = new ItemBase("dirt_ingot");
}

IHasModel.java

package com.ash_haus.firstmod.util;

public interface IHasModel {

    public void registerModels();
}

Main.java

package com.ash_haus.firstmod;

import com.ash_haus.firstmod.proxy.CommonProxy;
import com.ash_haus.firstmod.util.Reference;

import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy; 
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

@Mod(modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION)
public class Main {

    @Instance
    public static Main instance;

    @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS)
    public static CommonProxy proxy;

    @EventHandler
    public static void preInit(FMLPreInitializationEvent event)
    {

    }

    @EventHandler
    public static void init(FMLInitializationEvent event)
    {

    }

    @EventHandler
    public static void postInit(FMLPostInitializationEvent event)
    {

    }
}

Только ошибка в консоли

com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
    at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:79) ~[YggdrasilAuthenticationService.class:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:180) [YggdrasilMinecraftSessionService.class:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:60) [YggdrasilMinecraftSessionService$1.class:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:57) [YggdrasilMinecraftSessionService$1.class:?]
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache.get(LocalCache.java:4154) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5153) [guava-21.0.jar:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:170) [YggdrasilMinecraftSessionService.class:?]
    at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3181) [Minecraft.class:?]
    at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:138) [SkinManager$3.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_212]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_212]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]

Я просто хочу, чтобы текстура правильно отображалась в игре, возилась с этим часами! Еще раз спасибо за помощь!

...