68 lines
3.4 KiB
Java
68 lines
3.4 KiB
Java
package net.minecraft.client.gui.screens;
|
|
|
|
import net.minecraft.Util;
|
|
import net.minecraft.client.Options;
|
|
import net.minecraft.client.gui.GuiGraphics;
|
|
import net.minecraft.client.gui.components.Button;
|
|
import net.minecraft.client.gui.components.MultiLineLabel;
|
|
import net.minecraft.client.renderer.RenderType;
|
|
import net.minecraft.network.chat.Component;
|
|
import net.minecraft.resources.ResourceLocation;
|
|
import net.minecraft.util.CommonLinks;
|
|
import net.minecraftforge.api.distmarker.Dist;
|
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
|
|
|
@OnlyIn(Dist.CLIENT)
|
|
public class DemoIntroScreen extends Screen {
|
|
private static final ResourceLocation DEMO_BACKGROUND_LOCATION = ResourceLocation.withDefaultNamespace("textures/gui/demo_background.png");
|
|
private static final int BACKGROUND_TEXTURE_WIDTH = 256;
|
|
private static final int BACKGROUND_TEXTURE_HEIGHT = 256;
|
|
private MultiLineLabel movementMessage = MultiLineLabel.EMPTY;
|
|
private MultiLineLabel durationMessage = MultiLineLabel.EMPTY;
|
|
|
|
public DemoIntroScreen() {
|
|
super(Component.translatable("demo.help.title"));
|
|
}
|
|
|
|
@Override
|
|
protected void init() {
|
|
int i = -16;
|
|
this.addRenderableWidget(Button.builder(Component.translatable("demo.help.buy"), p_340798_ -> {
|
|
p_340798_.active = false;
|
|
Util.getPlatform().openUri(CommonLinks.BUY_MINECRAFT_JAVA);
|
|
}).bounds(this.width / 2 - 116, this.height / 2 + 62 + -16, 114, 20).build());
|
|
this.addRenderableWidget(Button.builder(Component.translatable("demo.help.later"), p_280798_ -> {
|
|
this.minecraft.setScreen(null);
|
|
this.minecraft.mouseHandler.grabMouse();
|
|
}).bounds(this.width / 2 + 2, this.height / 2 + 62 + -16, 114, 20).build());
|
|
Options options = this.minecraft.options;
|
|
this.movementMessage = MultiLineLabel.create(
|
|
this.font,
|
|
Component.translatable(
|
|
"demo.help.movementShort", options.keyUp.getTranslatedKeyMessage(), options.keyLeft.getTranslatedKeyMessage(), options.keyDown.getTranslatedKeyMessage(), options.keyRight.getTranslatedKeyMessage()
|
|
),
|
|
Component.translatable("demo.help.movementMouse"),
|
|
Component.translatable("demo.help.jump", options.keyJump.getTranslatedKeyMessage()),
|
|
Component.translatable("demo.help.inventory", options.keyInventory.getTranslatedKeyMessage())
|
|
);
|
|
this.durationMessage = MultiLineLabel.create(this.font, Component.translatable("demo.help.fullWrapped"), 218);
|
|
}
|
|
|
|
@Override
|
|
public void renderBackground(GuiGraphics p_283391_, int p_299907_, int p_301194_, float p_297228_) {
|
|
super.renderBackground(p_283391_, p_299907_, p_301194_, p_297228_);
|
|
int i = (this.width - 248) / 2;
|
|
int j = (this.height - 166) / 2;
|
|
p_283391_.blit(RenderType::guiTextured, DEMO_BACKGROUND_LOCATION, i, j, 0.0F, 0.0F, 248, 166, 256, 256);
|
|
}
|
|
|
|
@Override
|
|
public void render(GuiGraphics p_281247_, int p_281844_, int p_283693_, float p_281842_) {
|
|
super.render(p_281247_, p_281844_, p_283693_, p_281842_);
|
|
int i = (this.width - 248) / 2 + 10;
|
|
int j = (this.height - 166) / 2 + 8;
|
|
p_281247_.drawString(this.font, this.title, i, j, 2039583, false);
|
|
j = this.movementMessage.renderLeftAlignedNoShadow(p_281247_, i, j + 12, 12, 5197647);
|
|
this.durationMessage.renderLeftAlignedNoShadow(p_281247_, i, j + 20, 9, 2039583);
|
|
}
|
|
} |