Вопрос Не находит файл (Делаю CustomModel)

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
10 Дек 2022
Сообщения
346
Реакции
3

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Всем привет, столкнулся с уебанищеской ошибкой, когда не находит путь до файла ResourceLocation, пытаюсь сделать, что бы рендерило obj модели и попробовал несколько вариаций написания пути и выдает ошибки таким планом.

Вариант 1:
ResourceLocation modelLocation = new ResourceLocation("assets/minecraft/expensive/models/Boblox.obj");
Ошибка - [21:01:08] [main/INFO]: [STDERR]: Ошибка при загрузке кастомной модели: minecraft:assets/minecraft/expensive/models/Boblox.obj
Вариант 2:
ResourceLocation modelLocation = new ResourceLocation("expensive/models/Boblox.obj");
Ошибка - [21:04:48] [main/INFO]: [STDERR]: Ошибка при загрузке кастомной модели: minecraft:expensive/models/Boblox.obj
Вариант 3:
ResourceLocation modelLocation = new ResourceLocation("models/Boblox.obj");
Ошибка - [21:05:36] [main/INFO]: [STDERR]: Ошибка при загрузке кастомной модели: minecraft:models/Boblox.obj


Путь я ввожу правильно, уверен на все сто:
C:\Users\...\Desktop\wolfram-master\src\assets\minecraft\expensive\models
По такому пути находится

На всякий случай класс ResourceLocation:
ResourceLocation:
Expand Collapse Copy
package net.minecraft.util;

import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.mojang.brigadier.exceptions.SimpleCommandExceptionType;
import com.mojang.serialization.Codec;
import com.mojang.serialization.DataResult;
import java.lang.reflect.Type;
import javax.annotation.Nullable;
import net.minecraft.util.text.TranslationTextComponent;

public class ResourceLocation implements Comparable<ResourceLocation>
{
    public static final Codec<ResourceLocation> CODEC = Codec.STRING.comapFlatMap(ResourceLocation::decodeResourceLocation, ResourceLocation::toString).stable();
    private static final SimpleCommandExceptionType INVALID_EXCEPTION = new SimpleCommandExceptionType(new TranslationTextComponent("argument.id.invalid"));
    protected final String namespace;
    protected final String path;

    protected ResourceLocation(String[] resourceParts)
    {
        this.namespace = org.apache.commons.lang3.StringUtils.isEmpty(resourceParts[0]) ? "minecraft" : resourceParts[0];
        this.path = resourceParts[1];

        if (this.path.equals("DUMMY"))
        {
            if (!isValidNamespace(this.namespace))
            {
                throw new ResourceLocationException("Non [a-z0-9_.-] character in namespace of location: " + this.namespace + ':' + this.path);
            }
            else if (!isPathValid(this.path))
            {
                throw new ResourceLocationException("Non [a-z0-9/._-] character in path of location: " + this.namespace + ':' + this.path);
            }
        }
    }

    public ResourceLocation(String resourceName)
    {
        this(decompose(resourceName, ':'));
    }

    public ResourceLocation(String namespaceIn, String pathIn)
    {
        this(new String[] {namespaceIn, pathIn});
    }

    /**
     * Constructs a ResourceLocation by splitting a String representation of a valid location on a specified character.
     */
    public static ResourceLocation create(String resourceName, char splitOn)
    {
        return new ResourceLocation(decompose(resourceName, splitOn));
    }

    [USER=1265501]@nullable[/USER]
    public static ResourceLocation tryCreate(String string)
    {
        try
        {
            return new ResourceLocation(string);
        }
        catch (ResourceLocationException resourcelocationexception)
        {
            return null;
        }
    }

    protected static String[] decompose(String resourceName, char splitOn)
    {
        String[] astring = new String[] {"minecraft", resourceName};
        int i = resourceName.indexOf(splitOn);

        if (i >= 0)
        {
            astring[1] = resourceName.substring(i + 1, resourceName.length());

            if (i >= 1)
            {
                astring[0] = resourceName.substring(0, i);
            }
        }

        return astring;
    }

    private static DataResult<ResourceLocation> decodeResourceLocation(String encoded)
    {
        try
        {
            return DataResult.success(new ResourceLocation(encoded));
        }
        catch (ResourceLocationException resourcelocationexception)
        {
            return DataResult.error("Not a valid resource location: " + encoded + " " + resourcelocationexception.getMessage());
        }
    }

    public String getPath()
    {
        return this.path;
    }

    public String getNamespace()
    {
        return this.namespace;
    }

    public String toString()
    {
        return this.namespace + ':' + this.path;
    }

    public boolean equals(Object p_equals_1_)
    {
        if (this == p_equals_1_)
        {
            return true;
        }
        else if (!(p_equals_1_ instanceof ResourceLocation))
        {
            return false;
        }
        else
        {
            ResourceLocation resourcelocation = (ResourceLocation)p_equals_1_;
            return this.namespace.equals(resourcelocation.namespace) && this.path.equals(resourcelocation.path);
        }
    }

    public int hashCode()
    {
        return 31 * this.namespace.hashCode() + this.path.hashCode();
    }

    public int compareTo(ResourceLocation p_compareTo_1_)
    {
        int i = this.path.compareTo(p_compareTo_1_.path);

        if (i == 0)
        {
            i = this.namespace.compareTo(p_compareTo_1_.namespace);
        }

        return i;
    }

    public static ResourceLocation read(StringReader reader) throws CommandSyntaxException
    {
        int i = reader.getCursor();

        while (reader.canRead() && isValidPathCharacter(reader.peek()))
        {
            reader.skip();
        }

        String s = reader.getString().substring(i, reader.getCursor());

        try
        {
            return new ResourceLocation(s);
        }
        catch (ResourceLocationException resourcelocationexception)
        {
            reader.setCursor(i);
            throw INVALID_EXCEPTION.createWithContext(reader);
        }
    }

    public static boolean isValidPathCharacter(char charIn)
    {
        return charIn >= '0' && charIn <= '9' || charIn >= 'a' && charIn <= 'z' || charIn == '_' || charIn == ':' || charIn == '/' || charIn == '.' || charIn == '-';
    }

    /**
     * Checks if the path contains invalid characters.
     */
    private static boolean isPathValid(String pathIn)
    {
        for (int i = 0; i < pathIn.length(); ++i)
        {
            if (!validatePathChar(pathIn.charAt(i)))
            {
                return false;
            }
        }

        return true;
    }

    /**
     * Returns true if given namespace only consists of allowed characters.
     */
    private static boolean isValidNamespace(String namespaceIn)
    {
        for (int i = 0; i < namespaceIn.length(); ++i)
        {
            if (!validateNamespaceChar(namespaceIn.charAt(i)))
            {
                return false;
            }
        }

        return true;
    }

    public static boolean validatePathChar(char charValue)
    {
        return charValue == '_' || charValue == '-' || charValue >= 'a' && charValue <= 'z' || charValue >= '0' && charValue <= '9' || charValue == '/' || charValue == '.';
    }

    private static boolean validateNamespaceChar(char charValue)
    {
        return charValue == '_' || charValue == '-' || charValue >= 'a' && charValue <= 'z' || charValue >= '0' && charValue <= '9' || charValue == '.';
    }

    /**
     * Checks if the specified resource name (namespace and path) contains invalid characters.
     */
    public static boolean isResouceNameValid(String resourceName)
    {
        String[] astring = decompose(resourceName, ':');
        return isValidNamespace(org.apache.commons.lang3.StringUtils.isEmpty(astring[0]) ? "minecraft" : astring[0]) && isPathValid(astring[1]);
    }

    public int compareNamespaced(ResourceLocation p_compareNamespaced_1_)
    {
        int i = this.namespace.compareTo(p_compareNamespaced_1_.namespace);
        return i != 0 ? i : this.path.compareTo(p_compareNamespaced_1_.path);
    }

    public static class Serializer implements JsonDeserializer<ResourceLocation>, JsonSerializer<ResourceLocation>
    {
        public ResourceLocation deserialize(JsonElement p_deserialize_1_, Type p_deserialize_2_, JsonDeserializationContext p_deserialize_3_) throws JsonParseException
        {
            return new ResourceLocation(JSONUtils.getString(p_deserialize_1_, "location"));
        }

        public JsonElement serialize(ResourceLocation p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_)
        {
            return new JsonPrimitive(p_serialize_1_.toString());
        }
    }
}

База экспа 3.1

Грок, дипсик, чатгпт ничем не помог, ответы в плане "чата гпт спроси" не одобряю

Ошибка при запуске клиента (не критично):

LogNotCriticalError:
Expand Collapse Copy
[21:05:36] [main/INFO]: [STDERR]: Ошибка при загрузке кастомной модели: minecraft:models/Boblox.obj
[21:05:36] [main/INFO]: [STDERR]: java.io.FileNotFoundException: minecraft:models/Boblox.obj
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:72)
[21:05:36] [main/INFO]: [STDERR]:     at im.expensive.utils.objfile.ObjFile.loadModel(ObjFile.java:16)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.renderer.entity.PlayerRenderer.<init>(PlayerRenderer.java:79)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.renderer.entity.PlayerRenderer.<init>(PlayerRenderer.java:59)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.renderer.entity.EntityRendererManager.<init>(EntityRendererManager.java:219)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.Minecraft.<init>(Minecraft.java:399)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.main.Main.main(Main.java:156)
[21:05:36] [main/INFO]: [STDERR]:     at Start.main(Start.java:11)
[21:05:36] [main/INFO]: [STDERR]: Ошибка при загрузке кастомной модели: minecraft:models/Boblox.obj
[21:05:36] [main/INFO]: [STDERR]: java.io.FileNotFoundException: minecraft:models/Boblox.obj
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:72)
[21:05:36] [main/INFO]: [STDERR]:     at im.expensive.utils.objfile.ObjFile.loadModel(ObjFile.java:16)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.renderer.entity.PlayerRenderer.<init>(PlayerRenderer.java:79)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.renderer.entity.EntityRendererManager.<init>(EntityRendererManager.java:221)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.Minecraft.<init>(Minecraft.java:399)
[21:05:36] [main/INFO]: [STDERR]:     at net.minecraft.client.main.Main.main(Main.java:156)
[21:05:36] [main/INFO]: [STDERR]:     at Start.main(Start.java:11)

Ошибка при рендере модели, когда переключаешься от третьего лица (критично):

LogCriticalError:
Expand Collapse Copy
[21:16:48] [main/FATAL]: Reported exception thrown!
net.minecraft.crash.ReportedException: Rendering entity in world
    at net.minecraft.client.renderer.entity.EntityRendererManager.renderEntityStatic(EntityRendererManager.java:332) ~[client/:?]
    at net.minecraft.client.renderer.WorldRenderer.renderEntity(WorldRenderer.java:2039) ~[client/:?]
    at net.minecraft.client.renderer.WorldRenderer.updateCameraAndRender(WorldRenderer.java:1635) ~[client/:?]
    at net.minecraft.client.renderer.GameRenderer.renderWorld(GameRenderer.java:959) ~[client/:?]
    at net.minecraft.client.renderer.GameRenderer.updateCameraAndRender(GameRenderer.java:669) ~[client/:?]
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:974) ~[client/:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:565) [client/:?]
    at net.minecraft.client.main.Main.main(Main.java:191) [client/:?]
    at Start.main(Start.java:11) [client/:?]
Caused by: java.lang.NullPointerException: Cannot invoke "im.expensive.utils.objfile.ObjModel.getTexture()" because "model" is null
    at net.minecraft.client.renderer.entity.PlayerRenderer.renderCustomModel(PlayerRenderer.java:125) ~[client/:?]
    at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:107) ~[client/:?]
    at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:54) ~[client/:?]
    at net.minecraft.client.renderer.entity.EntityRendererManager.renderEntityStatic(EntityRendererManager.java:291) ~[client/:?]
    ... 8 more
---- Minecraft Crash Report ----
// I bet Cylons wouldn't have this problem.

Time: 18.04.2025, 21:16
Description: Rendering entity in world

java.lang.NullPointerException: Cannot invoke "im.expensive.utils.objfile.ObjModel.getTexture()" because "model" is null
    at net.minecraft.client.renderer.entity.PlayerRenderer.renderCustomModel(PlayerRenderer.java:125)
    at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:107)
    at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:54)
    at net.minecraft.client.renderer.entity.EntityRendererManager.renderEntityStatic(EntityRendererManager.java:291)
    at net.minecraft.client.renderer.WorldRenderer.renderEntity(WorldRenderer.java:2039)
    at net.minecraft.client.renderer.WorldRenderer.updateCameraAndRender(WorldRenderer.java:1635)
    at net.minecraft.client.renderer.GameRenderer.renderWorld(GameRenderer.java:959)
    at net.minecraft.client.renderer.GameRenderer.updateCameraAndRender(GameRenderer.java:669)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:974)
    at net.minecraft.client.Minecraft.run(Minecraft.java:565)
    at net.minecraft.client.main.Main.main(Main.java:191)
    at Start.main(Start.java:11)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
    at net.minecraft.client.renderer.entity.PlayerRenderer.renderCustomModel(PlayerRenderer.java:125)
    at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:107)
    at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:54)

-- Entity being rendered --
Details:
    Entity Type: minecraft:player (net.minecraft.client.entity.player.ClientPlayerEntity)
    Entity ID: 81
    Entity Name: fgst_710
    Entity's Exact location: -118.21, 68.00, -197.53
    Entity's Block location: World: (-119,68,-198), Chunk: (at 9,4,10 in -8,-13; contains blocks -128,0,-208 to -113,255,-193), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
    Entity's Momentum: 0.00, -0.08, 0.00
    Entity's Passengers: []
    Entity's Vehicle: ~~ERROR~~ NullPointerException: Cannot invoke "net.minecraft.entity.Entity.toString()" because the return value of "net.minecraft.entity.Entity.getRidingEntity()" is null

-- Renderer details --
Details:
    Assigned renderer: net.minecraft.client.renderer.entity.PlayerRenderer@331f603d
    Location: 2.65,-3.13,-2.59 - World: (2,-4,-3), Chunk: (at 2,-1,13 in 0,-1; contains blocks 0,0,-16 to 15,255,-1), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
    Rotation: 225.64423
    Delta: 0.06001115
Stacktrace:
    at net.minecraft.client.renderer.entity.EntityRendererManager.renderEntityStatic(EntityRendererManager.java:291)
    at net.minecraft.client.renderer.WorldRenderer.renderEntity(WorldRenderer.java:2039)
    at net.minecraft.client.renderer.WorldRenderer.updateCameraAndRender(WorldRenderer.java:1635)
    at net.minecraft.client.renderer.GameRenderer.renderWorld(GameRenderer.java:959)

-- Affected level --
Details:
    All players: 1 total; [ClientPlayerEntity['fgst_710'/81, l='ClientLevel', x=-118.21, y=68.00, z=-197.53]]
    Chunk stats: Client Chunk Cache: 441, 225
    Level dimension: minecraft:overworld
    Level spawn location: World: (240,70,-256), Chunk: (at 0,4,0 in 15,-16; contains blocks 240,0,-256 to 255,255,-241), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
    Level time: 2439081 game time, 1193421 day time
    Server brand: vanilla
    Server type: Integrated singleplayer server
Stacktrace:
    at net.minecraft.client.world.ClientWorld.fillCrashReport(ClientWorld.java:530)
    at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2291)
    at net.minecraft.client.Minecraft.run(Minecraft.java:581)
    at net.minecraft.client.main.Main.main(Main.java:191)
    at Start.main(Start.java:11)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ошибка при рендере модели, когда переключаешься от третьего лица (критично):

Caused by: java.lang.NullPointerException: Cannot invoke "im.expensive.utils.objfile.ObjModel.getTexture()" because "model" is null
at net.minecraft.client.renderer.entity.PlayerRenderer.renderCustomModel(PlayerRenderer.java:125) ~[client/:?]
at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:107) ~[client/:?]
at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:54) ~[client/:?]
at net.minecraft.client.renderer.entity.EntityRendererManager.renderEntityStatic(EntityRendererManager.java:291) ~[client/:?]


java.lang.NullPointerException: Cannot invoke "im.expensive.utils.objfile.ObjModel.getTexture()" because "model" is null
at net.minecraft.client.renderer.entity.PlayerRenderer.renderCustomModel(PlayerRenderer.java:125)
at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:107)
at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:54)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
at net.minecraft.client.renderer.entity.PlayerRenderer.renderCustomModel(PlayerRenderer.java:125)
at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:107)
at net.minecraft.client.renderer.entity.PlayerRenderer.render(PlayerRenderer.java:54)

-- Entity being rendered --
Details:
Entity Type: minecraft:player (net.minecraft.client.entity.player.ClientPlayerEntity)
Entity ID: 81
Entity Name: fgst_710
Entity's Exact location: -118.21, 68.00, -197.53
Entity's Block location: World: (-119,68,-198), Chunk: (at 9,4,10 in -8,-13; contains blocks -128,0,-208 to -113,255,-193), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
Entity's Momentum: 0.00, -0.08, 0.00
Entity's Passengers: []
Entity's Vehicle: ~~ERROR~~ NullPointerException: Cannot invoke "net.minecraft.entity.Entity.toString()" because the return value of "net.minecraft.entity.Entity.getRidingEntity()" is null
Инициализируй model, и сделай проверку на getRidingEntity
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
куда добавлял модельку
Она до этого была, если ты имеешь ввиду это

PlayerRenderer:
Expand Collapse Copy
public PlayerRenderer(EntityRendererManager renderManager, boolean useSmallArms)
    {
        super(renderManager, new PlayerModel<>(0.0F, useSmallArms), 0.5F);
        this.addLayer(new BipedArmorLayer<>(this, new BipedModel(0.5F), new BipedModel(1.0F)));
        this.addLayer(new HeldItemLayer<>(this));
        this.addLayer(new ArrowLayer<>(this));
        this.addLayer(new Deadmau5HeadLayer(this));
        this.addLayer(new CapeLayer(this));
        this.addLayer(new HeadLayer<>(this));
        this.addLayer(new ElytraLayer<>(this));
        this.addLayer(new ParrotVariantLayer<>(this));
        this.addLayer(new SpinAttackEffectLayer<>(this));
        this.addLayer(new BeeStingerLayer<>(this));

        try {
            ResourceLocation modelLocation = new ResourceLocation("expensive/models/Boblox.obj");
//            ResourceLocation modelLocation = new ResourceLocation("expensive", "models/untitled.obj");
            customModel = ObjFile.loadModel(modelLocation);
            System.out.println("Кастомная модель успешно загружена: " + modelLocation);
        } catch (IOException e) {
            System.err.println("Ошибка при загрузке кастомной модели: " + e.getMessage());
            e.printStackTrace();
            customModel = null;
        }
    }

Если надо, то могу отправить какой-нибудь код, который нужен
 
Она до этого была, если ты имеешь ввиду это

PlayerRenderer:
Expand Collapse Copy
public PlayerRenderer(EntityRendererManager renderManager, boolean useSmallArms)
    {
        super(renderManager, new PlayerModel<>(0.0F, useSmallArms), 0.5F);
        this.addLayer(new BipedArmorLayer<>(this, new BipedModel(0.5F), new BipedModel(1.0F)));
        this.addLayer(new HeldItemLayer<>(this));
        this.addLayer(new ArrowLayer<>(this));
        this.addLayer(new Deadmau5HeadLayer(this));
        this.addLayer(new CapeLayer(this));
        this.addLayer(new HeadLayer<>(this));
        this.addLayer(new ElytraLayer<>(this));
        this.addLayer(new ParrotVariantLayer<>(this));
        this.addLayer(new SpinAttackEffectLayer<>(this));
        this.addLayer(new BeeStingerLayer<>(this));

        try {
            ResourceLocation modelLocation = new ResourceLocation("expensive/models/Boblox.obj");
//            ResourceLocation modelLocation = new ResourceLocation("expensive", "models/untitled.obj");
            customModel = ObjFile.loadModel(modelLocation);
            System.out.println("Кастомная модель успешно загружена: " + modelLocation);
        } catch (IOException e) {
            System.err.println("Ошибка при загрузке кастомной модели: " + e.getMessage());
            e.printStackTrace();
            customModel = null;
        }
    }

Если надо, то могу отправить какой-нибудь код, который нужен
Кастом модел делал?
 
Кастом модел делал?
Ну да, с загрузчиком .obj + .mtl
Если не жалко, то можете слить просто кастом модель, что бы не парился я и не писал свои дурацкие вопросы <--
"Я думаю в строчке выше я сильно прихуел"
 
Последнее редактирование:
[21:05:36] [main/INFO]: [STDERR]: Ошибка при загрузке кастомной модели: minecraft:models/Boblox.obj
умнейший, почему у тебя не minecraft:expensive/models/Boblox.obj, а просто моделс боблокс, да и через .obj кринж делать, пнг в руки взял и наклипал в Modelplayer
 
умнейший, почему у тебя не minecraft:expensive/models/Boblox.obj, а просто моделс боблокс, да и через .obj кринж делать, пнг в руки взял и наклипал в Modelplayer
Я несколько вариаций прислал, там с любым путем не находит файл все равно, просто по итогу мне лень было менять расположение обратно на:
ResourceLocation modelLocation = new ResourceLocation("expensive/models/Boblox.obj");

Я считаю вариант выше самый правильный, поправьте меня если не так

И я сделал лог с:
ResourceLocation modelLocation = new ResourceLocation("models/Boblox.obj");

Плюсом я делаю с сглаживанием модель, а не просто квадратную (у модели есть закругления тела)
 
Последнее редактирование:
Назад
Сверху Снизу