Гайд Прокси 3.1

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
20 Апр 2025
Сообщения
326
Реакции
1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

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

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

Спасибо!

заходим по пути src/im/expensive/ui
делаем папку proxy
и в ней ProxyUI.java
код ProxyUI
ProxyUI:
Expand Collapse Copy
package im.expensive.ui.proxy;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.MultiplayerScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import im.expensive.managment.Managment;
import im.expensive.proxy.ProxyConnection;
import im.expensive.proxy.ProxyType;

import java.net.InetSocketAddress;
import java.util.Locale;

public class ProxyUI extends Screen {

ProxyConnection pc = Managment.PROXY_CONN;
private TextFieldWidget proxy;

public ProxyUI() {
super(new StringTextComponent(""));
}

[USER=1367676]@override[/USER]
    protected void init() {
super.init();
float[] center = {width / 2f, height / 2f};
this.addButton(new Button((int) center[0] - 100 - 5, (int) center[1] + 30, 100, 20, new TranslationTextComponent("Применить"), (ppp) ->
parse(proxy.getText())));
this.addButton(new Button((int) center[0] + 5, (int) center[1] + 30, 100, 20, new TranslationTextComponent("Назад"), (ppp) ->
Minecraft.getInstance().displayGuiScreen(new MultiplayerScreen(null))
));
this.proxy = new TextFieldWidget(this.font, (int) center[0] - 100, (int) center[1] - 10, 200, 20, new TranslationTextComponent("Ваш прокси"));
this.proxy.setMaxStringLength(32);
this.children.add(this.proxy);
}

[USER=1367676]@override[/USER]
    public void render(MatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) {
renderBackground(matrixStack);
super.render(matrixStack, mouseX, mouseY, partialTicks);

String cProxy;
if (pc != null && pc.getProxyAddr() != null) {
cProxy = pc.getProxyType().name().toLowerCase(Locale.ROOT) + "://" + pc.getProxyAddr().getHostString() + ":" + pc.getProxyAddr().getPort();
} else {
cProxy = "БЕЗ ПРОКСИ";
}

float[] center = {width / 2f, height / 2f};

// Fonts.gilroyBold[14].drawCenteredString(matrixStack, "Активный прокси: " + cProxy, center[0], center[1] - 30, -1);
        // Fonts.gilroyBold[14].drawCenteredString(matrixStack, "Пример: socks4://123.123.123.123:1234", center[0], center[1] + 60, -1);
        // типа фонт система 2.0
        Fonts.montserrat.drawCenteredText(matrixStack, "Активный прокси: " + cProxy, center[0], center[1] - 30, -1, 6);
Fonts.montserrat.drawCenteredText(matrixStack, "Пример: socks4://123.123.123.123:1234", center[0], center[1] + 60, -1, 6);


proxy.render(matrixStack, mouseX, mouseY, partialTicks);
}

public void parse(String input) {
input = input.toLowerCase(Locale.ROOT);
try {
ProxyType type = input.startsWith("http://") ? ProxyType.HTTP : input.startsWith("socks4://") ? ProxyType.SOCKS4 : input.startsWith("socks5://") ? ProxyType.SOCKS5 : ProxyType.DIRECT;
String addr = input.split("//")[1];
if (pc != null) {
pc.setup(type, new InetSocketAddress(addr.split(":")[0], Integer.parseInt(addr.split(":")[1])));
}
} catch (Exception e) {
if (pc != null) {
pc.reset();
}
}
}

[USER=1367676]@override[/USER]
    public void tick() {
super.tick();
proxy.tick();
}
}

Код ProxyType

ProxyType:
Expand Collapse Copy
package im.expensive.proxy;

public enum ProxyType {
    DIRECT,
    SOCKS4,
    SOCKS5,
    HTTP
}
теперь делаем папку managment в src/im/expensive/ и в ней же Managment.java
Код Managment
Managment:
Expand Collapse Copy
package im.expensive.managment;

import im.expensive.proxy.ProxyConnection;

public class Managment {
    public static ProxyConnection PROXY_CONN = new ProxyConnection();
}

дальше идем в MultiplayerScreen

и создаем кнопку
button:
Expand Collapse Copy
        this.addButton(new Button(this.width / 2 + 4 + 50 + 105, this.height - 52, 100, 20, new StringTextComponent("proxy"), (ppp) ->
        {
            this.minecraft.displayGuiScreen(new ProxyUI());
        }));
ss

кому надо доделает
1749838205771.png
 
А дать
ProxyConnection?
 
пупскик мой +rep
Было лень делать сделал вам ChatGpt ProxyConnection:
Expand Collapse Copy
package vm.protect.ui.proxy;

import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.Proxy;
import java.net.SocketAddress;

public class ProxyConnection {

    private ProxyType proxyType;
    private InetSocketAddress proxyAddr;

    public ProxyConnection() {
        proxyType = ProxyType.DIRECT;
        proxyAddr = null;
    }
    
    public boolean setup(ProxyType type, InetSocketAddress addr) {
        if (type == ProxyType.DIRECT) {
            reset();
            return true;
        }

        // Проверим, что адрес не null и порт валиден
        if (addr == null || addr.getPort() <= 0 || addr.getPort() > 65535) {
            reset();
            return false;
        }

        try {
            Proxy.Type javaProxyType;
            
            switch (type) {
                case HTTP:
                    javaProxyType = Proxy.Type.HTTP;
                    break;
                case SOCKS4:
                case SOCKS5:
                    javaProxyType = Proxy.Type.SOCKS;
                    break;
                default:
                    reset();
                    return false;
            }

            Proxy proxy = new Proxy(javaProxyType, addr);
            
            Socket socket = new Socket(proxy);
            SocketAddress endpoint = new InetSocketAddress(addr.getHostString(), addr.getPort());
            socket.connect(endpoint, 3000);
            socket.close();
            
            this.proxyType = type;
            this.proxyAddr = addr;
            return true;

        } catch (Exception e) {
            reset();
            return false;
        }
    }
    
    public void reset() {
        this.proxyType = ProxyType.DIRECT;
        this.proxyAddr = null;
    }

    public ProxyType getProxyType() {
        return proxyType;
    }

    public InetSocketAddress getProxyAddr() {
        return proxyAddr;
    }
}
 
Последнее редактирование:
заходим по пути src/im/expensive/ui
делаем папку proxy
и в ней ProxyUI.java
код ProxyUI
ProxyUI:
Expand Collapse Copy
package im.expensive.ui.proxy;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.MultiplayerScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import im.expensive.managment.Managment;
import im.expensive.proxy.ProxyConnection;
import im.expensive.proxy.ProxyType;

import java.net.InetSocketAddress;
import java.util.Locale;

public class ProxyUI extends Screen {

ProxyConnection pc = Managment.PROXY_CONN;
private TextFieldWidget proxy;

public ProxyUI() {
super(new StringTextComponent(""));
}

[USER=1367676]@override[/USER]
    protected void init() {
super.init();
float[] center = {width / 2f, height / 2f};
this.addButton(new Button((int) center[0] - 100 - 5, (int) center[1] + 30, 100, 20, new TranslationTextComponent("Применить"), (ppp) ->
parse(proxy.getText())));
this.addButton(new Button((int) center[0] + 5, (int) center[1] + 30, 100, 20, new TranslationTextComponent("Назад"), (ppp) ->
Minecraft.getInstance().displayGuiScreen(new MultiplayerScreen(null))
));
this.proxy = new TextFieldWidget(this.font, (int) center[0] - 100, (int) center[1] - 10, 200, 20, new TranslationTextComponent("Ваш прокси"));
this.proxy.setMaxStringLength(32);
this.children.add(this.proxy);
}

[USER=1367676]@override[/USER]
    public void render(MatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) {
renderBackground(matrixStack);
super.render(matrixStack, mouseX, mouseY, partialTicks);

String cProxy;
if (pc != null && pc.getProxyAddr() != null) {
cProxy = pc.getProxyType().name().toLowerCase(Locale.ROOT) + "://" + pc.getProxyAddr().getHostString() + ":" + pc.getProxyAddr().getPort();
} else {
cProxy = "БЕЗ ПРОКСИ";
}

float[] center = {width / 2f, height / 2f};

// Fonts.gilroyBold[14].drawCenteredString(matrixStack, "Активный прокси: " + cProxy, center[0], center[1] - 30, -1);
        // Fonts.gilroyBold[14].drawCenteredString(matrixStack, "Пример: socks4://123.123.123.123:1234", center[0], center[1] + 60, -1);
        // типа фонт система 2.0
        Fonts.montserrat.drawCenteredText(matrixStack, "Активный прокси: " + cProxy, center[0], center[1] - 30, -1, 6);
Fonts.montserrat.drawCenteredText(matrixStack, "Пример: socks4://123.123.123.123:1234", center[0], center[1] + 60, -1, 6);


proxy.render(matrixStack, mouseX, mouseY, partialTicks);
}

public void parse(String input) {
input = input.toLowerCase(Locale.ROOT);
try {
ProxyType type = input.startsWith("http://") ? ProxyType.HTTP : input.startsWith("socks4://") ? ProxyType.SOCKS4 : input.startsWith("socks5://") ? ProxyType.SOCKS5 : ProxyType.DIRECT;
String addr = input.split("//")[1];
if (pc != null) {
pc.setup(type, new InetSocketAddress(addr.split(":")[0], Integer.parseInt(addr.split(":")[1])));
}
} catch (Exception e) {
if (pc != null) {
pc.reset();
}
}
}

[USER=1367676]@override[/USER]
    public void tick() {
super.tick();
proxy.tick();
}
}

Код ProxyType

ProxyType:
Expand Collapse Copy
package im.expensive.proxy;

public enum ProxyType {
    DIRECT,
    SOCKS4,
    SOCKS5,
    HTTP
}
теперь делаем папку managment в src/im/expensive/ и в ней же Managment.java
Код Managment
Managment:
Expand Collapse Copy
package im.expensive.managment;

import im.expensive.proxy.ProxyConnection;

public class Managment {
    public static ProxyConnection PROXY_CONN = new ProxyConnection();
}

дальше идем в MultiplayerScreen

и создаем кнопку
button:
Expand Collapse Copy
        this.addButton(new Button(this.width / 2 + 4 + 50 + 105, this.height - 52, 100, 20, new StringTextComponent("proxy"), (ppp) ->
        {
            this.minecraft.displayGuiScreen(new ProxyUI());
        }));
ss

кому надо доделаетПосмотреть вложение 308802
Ты что курил, это сливали в апгрейд базе 3.1
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ты что курил, это сливали в апгрейд базе 3.1
люди пернести не могли
А дать
ProxyConnection?
я забыл щас дам
А дать
ProxyConnection?
Код:
Expand Collapse Copy
package im.expensive.proxy;

import lombok.Getter;
import java.net.InetSocketAddress;

public class ProxyConnection {
    @Getter private ProxyType proxyType = ProxyType.DIRECT;
    @Getter private InetSocketAddress proxyAddr = null;

    public void setup(ProxyType proxyType, InetSocketAddress proxyAddr) {
        this.proxyType = proxyType;
        this.proxyAddr = proxyAddr;
    }

    public void reset() {
        proxyType = ProxyType.DIRECT;
        proxyAddr = null;
    }
}
 
люди пернести не могли

я забыл щас дам

Код:
Expand Collapse Copy
package im.expensive.proxy;

import lombok.Getter;
import java.net.InetSocketAddress;

public class ProxyConnection {
    @Getter private ProxyType proxyType = ProxyType.DIRECT;
    @Getter private InetSocketAddress proxyAddr = null;

    public void setup(ProxyType proxyType, InetSocketAddress proxyAddr) {
        this.proxyType = proxyType;
        this.proxyAddr = proxyAddr;
    }

    public void reset() {
        proxyType = ProxyType.DIRECT;
        proxyAddr = null;
    }
}
Чувачок 2 минуты дела, перекинул классы, сменил импорты, добавил кнопку, все
 
пиздец, а в чем сложность, наху сливать?
 
заходим по пути src/im/expensive/ui
делаем папку proxy
и в ней ProxyUI.java
код ProxyUI
ProxyUI:
Expand Collapse Copy
package im.expensive.ui.proxy;

import com.mojang.blaze3d.matrix.MatrixStack;
import im.expensive.utils.render.font.Fonts;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.MultiplayerScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import im.expensive.managment.Managment;
import im.expensive.proxy.ProxyConnection;
import im.expensive.proxy.ProxyType;

import java.net.InetSocketAddress;
import java.util.Locale;

public class ProxyUI extends Screen {

ProxyConnection pc = Managment.PROXY_CONN;
private TextFieldWidget proxy;

public ProxyUI() {
super(new StringTextComponent(""));
}

[USER=1367676]@override[/USER]
    protected void init() {
super.init();
float[] center = {width / 2f, height / 2f};
this.addButton(new Button((int) center[0] - 100 - 5, (int) center[1] + 30, 100, 20, new TranslationTextComponent("Применить"), (ppp) ->
parse(proxy.getText())));
this.addButton(new Button((int) center[0] + 5, (int) center[1] + 30, 100, 20, new TranslationTextComponent("Назад"), (ppp) ->
Minecraft.getInstance().displayGuiScreen(new MultiplayerScreen(null))
));
this.proxy = new TextFieldWidget(this.font, (int) center[0] - 100, (int) center[1] - 10, 200, 20, new TranslationTextComponent("Ваш прокси"));
this.proxy.setMaxStringLength(32);
this.children.add(this.proxy);
}

[USER=1367676]@override[/USER]
    public void render(MatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) {
renderBackground(matrixStack);
super.render(matrixStack, mouseX, mouseY, partialTicks);

String cProxy;
if (pc != null && pc.getProxyAddr() != null) {
cProxy = pc.getProxyType().name().toLowerCase(Locale.ROOT) + "://" + pc.getProxyAddr().getHostString() + ":" + pc.getProxyAddr().getPort();
} else {
cProxy = "БЕЗ ПРОКСИ";
}

float[] center = {width / 2f, height / 2f};

// Fonts.gilroyBold[14].drawCenteredString(matrixStack, "Активный прокси: " + cProxy, center[0], center[1] - 30, -1);
        // Fonts.gilroyBold[14].drawCenteredString(matrixStack, "Пример: socks4://123.123.123.123:1234", center[0], center[1] + 60, -1);
        // типа фонт система 2.0
        Fonts.montserrat.drawCenteredText(matrixStack, "Активный прокси: " + cProxy, center[0], center[1] - 30, -1, 6);
Fonts.montserrat.drawCenteredText(matrixStack, "Пример: socks4://123.123.123.123:1234", center[0], center[1] + 60, -1, 6);


proxy.render(matrixStack, mouseX, mouseY, partialTicks);
}

public void parse(String input) {
input = input.toLowerCase(Locale.ROOT);
try {
ProxyType type = input.startsWith("http://") ? ProxyType.HTTP : input.startsWith("socks4://") ? ProxyType.SOCKS4 : input.startsWith("socks5://") ? ProxyType.SOCKS5 : ProxyType.DIRECT;
String addr = input.split("//")[1];
if (pc != null) {
pc.setup(type, new InetSocketAddress(addr.split(":")[0], Integer.parseInt(addr.split(":")[1])));
}
} catch (Exception e) {
if (pc != null) {
pc.reset();
}
}
}

[USER=1367676]@override[/USER]
    public void tick() {
super.tick();
proxy.tick();
}
}

Код ProxyType

ProxyType:
Expand Collapse Copy
package im.expensive.proxy;

public enum ProxyType {
    DIRECT,
    SOCKS4,
    SOCKS5,
    HTTP
}
теперь делаем папку managment в src/im/expensive/ и в ней же Managment.java
Код Managment
Managment:
Expand Collapse Copy
package im.expensive.managment;

import im.expensive.proxy.ProxyConnection;

public class Managment {
    public static ProxyConnection PROXY_CONN = new ProxyConnection();
}

дальше идем в MultiplayerScreen

и создаем кнопку
button:
Expand Collapse Copy
        this.addButton(new Button(this.width / 2 + 4 + 50 + 105, this.height - 52, 100, 20, new StringTextComponent("proxy"), (ppp) ->
        {
            this.minecraft.displayGuiScreen(new ProxyUI());
        }));
ss

кому надо доделаетПосмотреть вложение 308802
шо туда айпи или ш
шо туда айпи или ш
неворк нихуя
 
Последнее редактирование:
а че ты такой умный а не додумался за пару минут перенести прокси с екселента на 3.1 я перенес себе
 
Назад
Сверху Снизу