Вопрос Ассеты

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
15 Июл 2025
Сообщения
69
Реакции
0

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

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

Спасибо!

привет всем, делаю свой софт на 1.21.4 и решил вот только что закинуть ассеты чтоб был звук, закинул но майнкрафт их не видит кто может помочь?
 
Mcp/fabric? Gradle/no gradle?
 
Хз, мб у тебя в старт классе хуйня какае-то?
123:
Expand Collapse Copy
public class Start
{
    public static void main(String[] args)
    {
        String assets = System.getenv().containsKey("assetDirectory") ? System.getenv("assetDirectory") : "";
        Main.main(concat(new String[]{"--version", "mcp", "--accessToken", "0", "--assetsDir", assets, "--assetIndex", "24", "--userProperties", "{}"}, args));
    }

    public static <T> T[] concat(T[] first, T[] second)
    {
        T[] result = Arrays.copyOf(first, first.length + second.length);
        System.arraycopy(second, 0, result, first.length, second.length);
        return result;
    }
}

да нет вроде все ок
 
123:
Expand Collapse Copy
public class Start
{
    public static void main(String[] args)
    {
        String assets = System.getenv().containsKey("assetDirectory") ? System.getenv("assetDirectory") : "";
        Main.main(concat(new String[]{"--version", "mcp", "--accessToken", "0", "--assetsDir", assets, "--assetIndex", "24", "--userProperties", "{}"}, args));
    }

    public static <T> T[] concat(T[] first, T[] second)
    {
        T[] result = Arrays.copyOf(first, first.length + second.length);
        System.arraycopy(second, 0, result, first.length, second.length);
        return result;
    }
}

да нет вроде все ок
Чекни Main.java мб надо в папку на диске ц кинуть
 
Чекни Main.java мб надо в папку на диске ц кинуть
поискал, не нашел ничего может ты найдешь, если решишь проблему буду благодарен


123:
Expand Collapse Copy
@OnlyIn(Dist.CLIENT)
public class Main {
    @DontObfuscate
    public static void main(String[] pArgs) {
        OptionParser optionparser = new OptionParser();
        optionparser.allowsUnrecognizedOptions();
        optionparser.accepts("demo");
        optionparser.accepts("disableMultiplayer");
        optionparser.accepts("disableChat");
        optionparser.accepts("fullscreen");
        optionparser.accepts("checkGlErrors");
        OptionSpec<Void> optionspec = optionparser.accepts("jfrProfile");
        OptionSpec<Void> optionspec1 = optionparser.accepts("tracy");
        OptionSpec<Void> optionspec2 = optionparser.accepts("tracyNoImages");
        OptionSpec<String> optionspec3 = optionparser.accepts("quickPlayPath").withRequiredArg();
        OptionSpec<String> optionspec4 = optionparser.accepts("quickPlaySingleplayer").withRequiredArg();
        OptionSpec<String> optionspec5 = optionparser.accepts("quickPlayMultiplayer").withRequiredArg();
        OptionSpec<String> optionspec6 = optionparser.accepts("quickPlayRealms").withRequiredArg();
        OptionSpec<File> optionspec7 = optionparser.accepts("gameDir").withRequiredArg().ofType(File.class).defaultsTo(new File("."));
        OptionSpec<File> optionspec8 = optionparser.accepts("assetsDir").withRequiredArg().ofType(File.class);
        OptionSpec<File> optionspec9 = optionparser.accepts("resourcePackDir").withRequiredArg().ofType(File.class);
        OptionSpec<String> optionspec10 = optionparser.accepts("proxyHost").withRequiredArg();
        OptionSpec<Integer> optionspec11 = optionparser.accepts("proxyPort").withRequiredArg().defaultsTo("8080").ofType(Integer.class);
        OptionSpec<String> optionspec12 = optionparser.accepts("proxyUser").withRequiredArg();
        OptionSpec<String> optionspec13 = optionparser.accepts("proxyPass").withRequiredArg();
        OptionSpec<String> optionspec14 = optionparser.accepts("username").withRequiredArg().defaultsTo("Player" + System.currentTimeMillis() % 1000L);
        OptionSpec<String> optionspec15 = optionparser.accepts("uuid").withRequiredArg();
        OptionSpec<String> optionspec16 = optionparser.accepts("xuid").withOptionalArg().defaultsTo("");
        OptionSpec<String> optionspec17 = optionparser.accepts("clientId").withOptionalArg().defaultsTo("");
        OptionSpec<String> optionspec18 = optionparser.accepts("accessToken").withRequiredArg().required();
        OptionSpec<String> optionspec19 = optionparser.accepts("version").withRequiredArg().required();
        OptionSpec<Integer> optionspec20 = optionparser.accepts("width").withRequiredArg().ofType(Integer.class).defaultsTo(854);
        OptionSpec<Integer> optionspec21 = optionparser.accepts("height").withRequiredArg().ofType(Integer.class).defaultsTo(480);
        OptionSpec<Integer> optionspec22 = optionparser.accepts("fullscreenWidth").withRequiredArg().ofType(Integer.class);
        OptionSpec<Integer> optionspec23 = optionparser.accepts("fullscreenHeight").withRequiredArg().ofType(Integer.class);
        OptionSpec<String> optionspec24 = optionparser.accepts("userProperties").withRequiredArg().defaultsTo("{}");
        OptionSpec<String> optionspec25 = optionparser.accepts("profileProperties").withRequiredArg().defaultsTo("{}");
        OptionSpec<String> optionspec26 = optionparser.accepts("assetIndex").withRequiredArg();
        OptionSpec<String> optionspec27 = optionparser.accepts("userType").withRequiredArg().defaultsTo("legacy");
        OptionSpec<String> optionspec28 = optionparser.accepts("versionType").withRequiredArg().defaultsTo("release");
        OptionSpec<String> optionspec29 = optionparser.nonOptions();
        OptionSet optionset = optionparser.parse(pArgs);
        File file1 = parseArgument(optionset, optionspec7);
        String s = parseArgument(optionset, optionspec19);
        String s1 = "Pre-bootstrap";

        Logger logger;
        GameConfig gameconfig;
        try {
            if (optionset.has(optionspec)) {
                JvmProfiler.INSTANCE.start(Environment.CLIENT);
            }

            if (optionset.has(optionspec1)) {
                TracyBootstrap.setup();
            }

            Stopwatch stopwatch = Stopwatch.createStarted(Ticker.systemTicker());
            Stopwatch stopwatch1 = Stopwatch.createStarted(Ticker.systemTicker());
            GameLoadTimesEvent.INSTANCE.beginStep(TelemetryProperty.LOAD_TIME_TOTAL_TIME_MS, stopwatch);
            GameLoadTimesEvent.INSTANCE.beginStep(TelemetryProperty.LOAD_TIME_PRE_WINDOW_MS, stopwatch1);
            SharedConstants.tryDetectVersion();
            TracyClient.reportAppInfo("Minecraft Java Edition " + SharedConstants.getCurrentVersion().getName());
            CompletableFuture<?> completablefuture = DataFixers.optimize(DataFixTypes.TYPES_FOR_LEVEL_LIST);
            CrashReport.preload();
            logger = LogUtils.getLogger();
            s1 = "Bootstrap";
            Bootstrap.bootStrap();
            ClientBootstrap.bootstrap();
            GameLoadTimesEvent.INSTANCE.setBootstrapTime(Bootstrap.bootstrapDuration.get());
            Bootstrap.validate();
            s1 = "Argument parsing";
            List<String> list = optionset.valuesOf(optionspec29);
            if (!list.isEmpty()) {
                logger.info("Completely ignored arguments: {}", list);
            }

            String s2 = optionspec27.value(optionset);
            User.Type user$type = User.Type.byName(s2);
            if (user$type == null) {
                logger.warn("Unrecognized user type: {}", s2);
            }

            String s3 = parseArgument(optionset, optionspec10);
            Proxy proxy = Proxy.NO_PROXY;
            if (s3 != null) {
                try {
                    proxy = new Proxy(Type.SOCKS, new InetSocketAddress(s3, parseArgument(optionset, optionspec11)));
                } catch (Exception exception) {
                }
            }

            final String s4 = parseArgument(optionset, optionspec12);
            final String s5 = parseArgument(optionset, optionspec13);
            if (!proxy.equals(Proxy.NO_PROXY) && stringHasValue(s4) && stringHasValue(s5)) {
                Authenticator.setDefault(new Authenticator() {
                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(s4, s5.toCharArray());
                    }
                });
            }

            int i = parseArgument(optionset, optionspec20);
            int j = parseArgument(optionset, optionspec21);
            OptionalInt optionalint = ofNullable(parseArgument(optionset, optionspec22));
            OptionalInt optionalint1 = ofNullable(parseArgument(optionset, optionspec23));
            boolean flag = optionset.has("fullscreen");
            boolean flag1 = optionset.has("demo");
            boolean flag2 = optionset.has("disableMultiplayer");
            boolean flag3 = optionset.has("disableChat");
            boolean flag4 = !optionset.has(optionspec2);
            Gson gson = new GsonBuilder().registerTypeAdapter(PropertyMap.class, new Serializer()).create();
            PropertyMap propertymap = GsonHelper.fromJson(gson, parseArgument(optionset, optionspec24), PropertyMap.class);
            PropertyMap propertymap1 = GsonHelper.fromJson(gson, parseArgument(optionset, optionspec25), PropertyMap.class);
            String s6 = parseArgument(optionset, optionspec28);
            File file2 = optionset.has(optionspec8) ? parseArgument(optionset, optionspec8) : new File(file1, "assets/");
            File file3 = optionset.has(optionspec9) ? parseArgument(optionset, optionspec9) : new File(file1, "resourcepacks/");
            UUID uuid = hasValidUuid(optionspec15, optionset, logger)
                ? UndashedUuid.fromStringLenient(optionspec15.value(optionset))
                : UUIDUtil.createOfflinePlayerUUID(optionspec14.value(optionset));
            String s7 = optionset.has(optionspec26) ? optionspec26.value(optionset) : null;
            String s8 = optionset.valueOf(optionspec16);
            String s9 = optionset.valueOf(optionspec17);
            String s10 = parseArgument(optionset, optionspec3);
            String s11 = unescapeJavaArgument(parseArgument(optionset, optionspec4));
            String s12 = unescapeJavaArgument(parseArgument(optionset, optionspec5));
            String s13 = unescapeJavaArgument(parseArgument(optionset, optionspec6));
            User user = new User(optionspec14.value(optionset), uuid, optionspec18.value(optionset), emptyStringToEmptyOptional(s8), emptyStringToEmptyOptional(s9), user$type);
            gameconfig = new GameConfig(
                new GameConfig.UserData(user, propertymap, propertymap1, proxy),
                new DisplayData(i, j, optionalint, optionalint1, flag),
                new GameConfig.FolderData(file1, file3, file2, s7),
                new GameConfig.GameData(flag1, s, s6, flag2, flag3, flag4),
                new GameConfig.QuickPlayData(s10, s11, s12, s13)
            );
            Util.startTimerHackThread();
            completablefuture.join();
        } catch (Throwable throwable1) {
            CrashReport crashreport = CrashReport.forThrowable(throwable1, s1);
            CrashReportCategory crashreportcategory = crashreport.addCategory("Initialization");
            NativeModuleLister.addCrashSection(crashreportcategory);
            Minecraft.fillReport(null, null, s, null, crashreport);
            Minecraft.crash(null, file1, crashreport);
            return;
        }

        Thread thread = new Thread("Client Shutdown Thread") {
            @Override
            public void run() {
                Minecraft minecraft2 = Minecraft.getInstance();
                if (minecraft2 != null) {
                    IntegratedServer integratedserver = minecraft2.getSingleplayerServer();
                    if (integratedserver != null) {
                        integratedserver.halt(true);
                    }
                }
            }
        };
        thread.setUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler(logger));
        Runtime.getRuntime().addShutdownHook(thread);
        Minecraft minecraft = null;

        try {
            Thread.currentThread().setName("Render thread");
            RenderSystem.initRenderThread();
            RenderSystem.beginInitialization();
            minecraft = new Minecraft(gameconfig);
            RenderSystem.finishInitialization();
        } catch (SilentInitException silentinitexception) {
            Util.shutdownExecutors();
            logger.warn("Failed to create window: ", (Throwable)silentinitexception);
            return;
        } catch (Throwable throwable) {
            CrashReport crashreport1 = CrashReport.forThrowable(throwable, "Initializing game");
            CrashReportCategory crashreportcategory1 = crashreport1.addCategory("Initialization");
            NativeModuleLister.addCrashSection(crashreportcategory1);
            Minecraft.fillReport(minecraft, null, gameconfig.game.launchVersion, null, crashreport1);
            Minecraft.crash(minecraft, gameconfig.location.gameDirectory, crashreport1);
            return;
        }

        Minecraft minecraft1 = minecraft;
        minecraft.run();
        BufferUploader.reset();

        try {
            minecraft1.stop();
        } finally {
            minecraft.destroy();
        }
    }

    @Nullable
    private static String unescapeJavaArgument(@Nullable String pArg) {
        return pArg == null ? null : StringEscapeUtils.unescapeJava(pArg);
    }

    private static Optional<String> emptyStringToEmptyOptional(String pInput) {
        return pInput.isEmpty() ? Optional.empty() : Optional.of(pInput);
    }

    private static OptionalInt ofNullable(@Nullable Integer pValue) {
        return pValue != null ? OptionalInt.of(pValue) : OptionalInt.empty();
    }

    @Nullable
    private static <T> T parseArgument(OptionSet pSet, OptionSpec<T> pOption) {
        try {
            return pSet.valueOf(pOption);
        } catch (Throwable throwable) {
            if (pOption instanceof ArgumentAcceptingOptionSpec<T> argumentacceptingoptionspec) {
                List<T> list = argumentacceptingoptionspec.defaultValues();
                if (!list.isEmpty()) {
                    return list.get(0);
                }
            }

            throw throwable;
        }
    }

    private static boolean stringHasValue(@Nullable String pStr) {
        return pStr != null && !pStr.isEmpty();
    }

    private static boolean hasValidUuid(OptionSpec<String> pUuidOption, OptionSet pOptions, Logger pLogger) {
        return pOptions.has(pUuidOption) && isUuidValid(pUuidOption, pOptions, pLogger);
    }

    private static boolean isUuidValid(OptionSpec<String> pUuidOption, OptionSet pOptionSet, Logger pLogger) {
        try {
            UndashedUuid.fromStringLenient(pUuidOption.value(pOptionSet));
            return true;
        } catch (IllegalArgumentException illegalargumentexception) {
            pLogger.warn("Invalid UUID: '{}", pUuidOption.value(pOptionSet));
            return false;
        }
    }

    static {
        System.setProperty("java.awt.headless", "true");
    }
}
 
123:
Expand Collapse Copy
public class Start
{
    public static void main(String[] args)
    {
        String assets = System.getenv().containsKey("assetDirectory") ? System.getenv("assetDirectory") : "";
        Main.main(concat(new String[]{"--version", "mcp", "--accessToken", "0", "--assetsDir", assets, "--assetIndex", "24", "--userProperties", "{}"}, args));
    }

    public static <T> T[] concat(T[] first, T[] second)
    {
        T[] result = Arrays.copyOf(first, first.length + second.length);
        System.arraycopy(second, 0, result, first.length, second.length);
        return result;
    }
}

да нет вроде все ок
package wtf.mimi;

import java.util.Arrays;

import net.minecraft.client.main.Main;

public class StartClient
{
public static void main(String[] args)
{
Main.main(concat(new String[]{"--version", "msa", "--accessToken", "0", "--assetsDir", "assets", "--assetIndex", "19", "--userProperties", "{}"}, args));
}

public static <T> T[] concat(T[] first, T[] second)
{
T[] result = Arrays.copyOf(first, first.length + second.length);
System.arraycopy(second, 0, result, first.length, second.length);
return result;
}
}у меня с такими параметрами нашло
 
package wtf.mimi;

import java.util.Arrays;

import net.minecraft.client.main.Main;

public class StartClient
{
public static void main(String[] args)
{
Main.main(concat(new String[]{"--version", "msa", "--accessToken", "0", "--assetsDir", "assets", "--assetIndex", "19", "--userProperties", "{}"}, args));
}

public static <T> T[] concat(T[] first, T[] second)
{
T[] result = Arrays.copyOf(first, first.length + second.length);
System.arraycopy(second, 0, result, first.length, second.length);
return result;
}
}у меня с такими параметрами нашло
забей, я не заметил что в строчке
String assets = System.getenv().containsKey("assetDirectory") ? System.getenv("assetDirectory") : ""; в скобках самых последних нихуя нет
 
Назад
Сверху Снизу