minecraft-src/net/minecraft/client/gui/screens/multiplayer/SafetyScreen.java
2025-07-04 01:41:11 +03:00

45 lines
1.7 KiB
Java

package net.minecraft.client.gui.screens.multiplayer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.ChatFormatting;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.layouts.Layout;
import net.minecraft.client.gui.layouts.LinearLayout;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.CommonComponents;
import net.minecraft.network.chat.Component;
@Environment(EnvType.CLIENT)
public class SafetyScreen extends WarningScreen {
private static final Component TITLE = Component.translatable("multiplayerWarning.header").withStyle(ChatFormatting.BOLD);
private static final Component CONTENT = Component.translatable("multiplayerWarning.message");
private static final Component CHECK = Component.translatable("multiplayerWarning.check");
private static final Component NARRATION = TITLE.copy().append("\n").append(CONTENT);
private final Screen previous;
public SafetyScreen(Screen previous) {
super(TITLE, CONTENT, CHECK, NARRATION);
this.previous = previous;
}
@Override
protected Layout addFooterButtons() {
LinearLayout linearLayout = LinearLayout.horizontal().spacing(8);
linearLayout.addChild(Button.builder(CommonComponents.GUI_PROCEED, button -> {
if (this.stopShowing.selected()) {
this.minecraft.options.skipMultiplayerWarning = true;
this.minecraft.options.save();
}
this.minecraft.setScreen(new JoinMultiplayerScreen(this.previous));
}).build());
linearLayout.addChild(Button.builder(CommonComponents.GUI_BACK, button -> this.onClose()).build());
return linearLayout;
}
@Override
public void onClose() {
this.minecraft.setScreen(this.previous);
}
}