Гайд Хуки Forge 1.16.5

  • Автор темы Автор темы ak1
  • Дата начала Дата начала
Forge Api ;-;
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
3 Май 2023
Сообщения
854
Реакции
19
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

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

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

Спасибо!

Пасани, всем здарова йоу

Сегодня показываю как короче крутые штуки делать да жи ес

Научимся хукать классы и использовать это в своих селфкодах пастах на Forge 1.16.5

Покажу на примере фикса мультиплеера

Для начала, нам нужно скачать срц нашего форж майнкрафта в Intellij

Пишем в любом классе например
Java:
Expand Collapse Copy
Minecraft

Наводимся и нажимаем CTRL+ЛКМ, а далее на Download Sources

После того, как у нас всё скачалось, нам нужно найти класс, который как раз таки отвечает за блокировку мультиплеера и чата
В нашем случае это класс SocialInteractionsService
Java:
Expand Collapse Copy
package com.mojang.authlib.minecraft;

import java.util.UUID;

public interface SocialInteractionsService {
    boolean serversAllowed();

    boolean realmsAllowed();

    boolean chatAllowed();

    boolean isBlockedPlayer(UUID var1);
}

После того, как мы нашли нужный класс, создаём у себя в проекте пекедж hooks (чисто для нашего же удобства)

Далее в этом пекедже создаем класс SocialInteractionsServiceHook

Вставляем туда код из оригинального класса, оверрайдим все булки и возвращаем везде то, что нужно нам
Java:
Expand Collapse Copy
public class SocialInteractionsServiceHook implements SocialInteractionsService {
    @Override
    public boolean serversAllowed() {
        return true;
    }

    @Override
    public boolean realmsAllowed() {
        return false;
    }

    @Override
    public boolean chatAllowed() {
        return true;
    }

    @Override
    public boolean isBlockedPlayer(UUID var1) {
        return false;
    }
}
 
Последнее редактирование:
Пасани, всем здарова йоу

Сегодня показываю как короче крутые штуки делать да жи ес

Научимся хукать классы и использовать это в своих селфкодах пастах на Forge 1.16.5

Покажу на примере фикса мультиплеера

Для начала, нам нужно скачать срц нашего форж майнкрафта в Intellij

Пишем в любом классе например
Java:
Expand Collapse Copy
Minecraft

Наводимся и нажимаем CTRL+ЛКМ, а далее на Download Sources

После того, как у нас всё скачалось, нам нужно найти класс, который как раз таки отвечает за блокировку мультиплеера и чата
В нашем случае это класс SocialInteractionsService
Java:
Expand Collapse Copy
package com.mojang.authlib.minecraft;

import java.util.UUID;

public interface SocialInteractionsService {
    boolean serversAllowed();

    boolean realmsAllowed();

    boolean chatAllowed();

    boolean isBlockedPlayer(UUID var1);
}

После того, как мы нашли нужный класс, создаём у себя в проекте пекедж hooks (чисто для нашего же удобства)

Далее в этом пекедже создаем класс SocialInteractionsServiceHook

Вставляем туда код из оригинального класса, оверрайдим все булки и возвращаем везде то, что нужно нам
Java:
Expand Collapse Copy
public class SocialInteractionsServiceHook implements SocialInteractionsService {
    @Override
    public boolean serversAllowed() {
        return true;
    }

    @Override
    public boolean realmsAllowed() {
        return false;
    }

    @Override
    public boolean chatAllowed() {
        return true;
    }

    @Override
    public boolean isBlockedPlayer(UUID var1) {
        return false;
    }
}

Основная часть уже готова нам осталось только правильно инициализировать наш хук

Для этого создадим незамысловатую утилиту

Java:
Expand Collapse Copy
public class Reflection<T> {

    private final Object Instance;
    private final Class<?> localClass;
    private final Field localField;

    private Reflection(Object Instance, Class<?> clas, Field field) {
        this.Instance = Instance;
        this.localClass = clas;
        localField = field;
    }

    public Reflection(Object Instance, Class<?> from, Class<?> toGet) {
        this(Instance, from, getFromClazz(from, toGet));
    }

    public void setValue(T value) {
        setValue(Instance, value);
    }

    public void setValue(Object instance, T value) {
        try {
            Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe");
            unsafeField.setAccessible(true);
            Unsafe UNSAFE = (Unsafe) unsafeField.get(null);
            long PROFILER_OFFSET = UNSAFE.objectFieldOffset(localField);
            UNSAFE.putObject(instance, PROFILER_OFFSET, value);
        } catch (Exception ignored) {
        }
    }

    private static Field getFromClazz(Class<?> from, Class<?> toGet) {
        Field local = null;
        for (Field tracker : from.getDeclaredFields()) {
            if (tracker.getType().equals(toGet)) {
                local = tracker;
                break;
            }
        }
        return local;
    }
}

Далее заходим в наш метод инита и кумарим

Java:
Expand Collapse Copy
new Reflection(mc, Minecraft.class, SocialInteractionsService.class).setValue(new SocialInteractionsServiceHook());
Где mc - экземпляр нужного нам класса
Minecraft.class, SocialInteractionsService.class то, что мы заменяем АКА

Minecraft.class:
Expand Collapse Copy
/* field */

private final SocialInteractionsService socialInteractionsService;

Ну и соответственно SocialInteractionsServiceHook() - наш хук.

После всех этих действий запускаем майнкрафт и видим чудо, мультиплеер и чат работают!

Пока чумбы, спасибо за внимание.
:CoolCat:
 
Пасани, всем здарова йоу

Сегодня показываю как короче крутые штуки делать да жи ес

Научимся хукать классы и использовать это в своих селфкодах пастах на Forge 1.16.5

Покажу на примере фикса мультиплеера

Для начала, нам нужно скачать срц нашего форж майнкрафта в Intellij

Пишем в любом классе например
Java:
Expand Collapse Copy
Minecraft

Наводимся и нажимаем CTRL+ЛКМ, а далее на Download Sources

После того, как у нас всё скачалось, нам нужно найти класс, который как раз таки отвечает за блокировку мультиплеера и чата
В нашем случае это класс SocialInteractionsService
Java:
Expand Collapse Copy
package com.mojang.authlib.minecraft;

import java.util.UUID;

public interface SocialInteractionsService {
    boolean serversAllowed();

    boolean realmsAllowed();

    boolean chatAllowed();

    boolean isBlockedPlayer(UUID var1);
}

После того, как мы нашли нужный класс, создаём у себя в проекте пекедж hooks (чисто для нашего же удобства)

Далее в этом пекедже создаем класс SocialInteractionsServiceHook

Вставляем туда код из оригинального класса, оверрайдим все булки и возвращаем везде то, что нужно нам
Java:
Expand Collapse Copy
public class SocialInteractionsServiceHook implements SocialInteractionsService {
    @Override
    public boolean serversAllowed() {
        return true;
    }

    @Override
    public boolean realmsAllowed() {
        return false;
    }

    @Override
    public boolean chatAllowed() {
        return true;
    }

    @Override
    public boolean isBlockedPlayer(UUID var1) {
        return false;
    }
}

Основная часть уже готова нам осталось только правильно инициализировать наш хук

Для этого создадим незамысловатую утилиту

Java:
Expand Collapse Copy
public class Reflection<T> {

    private final Object Instance;
    private final Class<?> localClass;
    private final Field localField;

    private Reflection(Object Instance, Class<?> clas, Field field) {
        this.Instance = Instance;
        this.localClass = clas;
        localField = field;
    }

    public Reflection(Object Instance, Class<?> from, Class<?> toGet) {
        this(Instance, from, getFromClazz(from, toGet));
    }

    public void setValue(T value) {
        setValue(Instance, value);
    }

    public void setValue(Object instance, T value) {
        try {
            Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe");
            unsafeField.setAccessible(true);
            Unsafe UNSAFE = (Unsafe) unsafeField.get(null);
            long PROFILER_OFFSET = UNSAFE.objectFieldOffset(localField);
            UNSAFE.putObject(instance, PROFILER_OFFSET, value);
        } catch (Exception ignored) {
        }
    }

    private static Field getFromClazz(Class<?> from, Class<?> toGet) {
        Field local = null;
        for (Field tracker : from.getDeclaredFields()) {
            if (tracker.getType().equals(toGet)) {
                local = tracker;
                break;
            }
        }
        return local;
    }
}

Далее заходим в наш метод инита и кумарим

Java:
Expand Collapse Copy
new Reflection(mc, Minecraft.class, SocialInteractionsService.class).setValue(new SocialInteractionsServiceHook());
Где mc - экземпляр нужного нам класса
Minecraft.class, SocialInteractionsService.class то, что мы заменяем АКА

Minecraft.class:
Expand Collapse Copy
/* field */

private final SocialInteractionsService socialInteractionsService;

Ну и соответственно SocialInteractionsServiceHook() - наш хук.

После всех этих действий запускаем майнкрафт и видим чудо, мультиплеер и чат работают!

Пока чумбы, спасибо за внимание.
загруженное.jpg
 
lmao, but this is a rofl
 
Пасани, всем здарова йоу

Сегодня показываю как короче крутые штуки делать да жи ес

Научимся хукать классы и использовать это в своих селфкодах пастах на Forge 1.16.5

Покажу на примере фикса мультиплеера

Для начала, нам нужно скачать срц нашего форж майнкрафта в Intellij

Пишем в любом классе например
Java:
Expand Collapse Copy
Minecraft

Наводимся и нажимаем CTRL+ЛКМ, а далее на Download Sources

После того, как у нас всё скачалось, нам нужно найти класс, который как раз таки отвечает за блокировку мультиплеера и чата
В нашем случае это класс SocialInteractionsService
Java:
Expand Collapse Copy
package com.mojang.authlib.minecraft;

import java.util.UUID;

public interface SocialInteractionsService {
    boolean serversAllowed();

    boolean realmsAllowed();

    boolean chatAllowed();

    boolean isBlockedPlayer(UUID var1);
}

После того, как мы нашли нужный класс, создаём у себя в проекте пекедж hooks (чисто для нашего же удобства)

Далее в этом пекедже создаем класс SocialInteractionsServiceHook

Вставляем туда код из оригинального класса, оверрайдим все булки и возвращаем везде то, что нужно нам
Java:
Expand Collapse Copy
public class SocialInteractionsServiceHook implements SocialInteractionsService {
    @Override
    public boolean serversAllowed() {
        return true;
    }

    @Override
    public boolean realmsAllowed() {
        return false;
    }

    @Override
    public boolean chatAllowed() {
        return true;
    }

    @Override
    public boolean isBlockedPlayer(UUID var1) {
        return false;
    }
}
ура я скачал срц и теперь моя паста не запускается!!!
 
Назад
Сверху Снизу