- Статус
- Оффлайн
- Регистрация
- 20 Апр 2025
- Сообщения
- 326
- Реакции
- 1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
заходим по пути src/im/expensive/ui
делаем папку proxy
и в ней ProxyUI.java
код ProxyUI
Код ProxyType
теперь делаем папку managment в src/im/expensive/ и в ней же Managment.java
Код Managment
дальше идем в MultiplayerScreen
и создаем кнопку
ss
кому надо доделает
делаем папку proxy
и в ней ProxyUI.java
код ProxyUI
ProxyUI:
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:
package im.expensive.proxy;
public enum ProxyType {
DIRECT,
SOCKS4,
SOCKS5,
HTTP
}
Код Managment
Managment:
package im.expensive.managment;
import im.expensive.proxy.ProxyConnection;
public class Managment {
public static ProxyConnection PROXY_CONN = new ProxyConnection();
}
дальше идем в MultiplayerScreen
и создаем кнопку
button:
this.addButton(new Button(this.width / 2 + 4 + 50 + 105, this.height - 52, 100, 20, new StringTextComponent("proxy"), (ppp) ->
{
this.minecraft.displayGuiScreen(new ProxyUI());
}));
кому надо доделает