119 lines
5.3 KiB
Java
119 lines
5.3 KiB
Java
package com.mojang.realmsclient.gui.screens;
|
|
|
|
import net.minecraft.realms.RealmsGuiEventListener;
|
|
import net.minecraft.realms.AbstractRealmsButton;
|
|
import net.minecraft.realms.Realms;
|
|
import com.mojang.realmsclient.gui.RealmsConstants;
|
|
import net.minecraft.realms.RealmsButton;
|
|
import net.minecraft.realms.RealmsEditBox;
|
|
import net.minecraft.realms.RealmsLabel;
|
|
import net.minecraft.realms.RealmsScreen;
|
|
|
|
public class RealmsResetNormalWorldScreen extends RealmsScreen {
|
|
private final RealmsResetWorldScreen lastScreen;
|
|
private RealmsLabel titleLabel;
|
|
private RealmsEditBox seedEdit;
|
|
private Boolean generateStructures;
|
|
private Integer levelTypeIndex;
|
|
String[] levelTypes;
|
|
private final int BUTTON_CANCEL_ID = 0;
|
|
private final int BUTTON_RESET_ID = 1;
|
|
private final int SEED_EDIT_BOX = 4;
|
|
private RealmsButton resetButton;
|
|
private RealmsButton levelTypeButton;
|
|
private RealmsButton generateStructuresButton;
|
|
private String buttonTitle;
|
|
|
|
public RealmsResetNormalWorldScreen(final RealmsResetWorldScreen daf) {
|
|
this.generateStructures = true;
|
|
this.levelTypeIndex = 0;
|
|
this.buttonTitle = RealmsScreen.getLocalizedString("mco.backup.button.reset");
|
|
this.lastScreen = daf;
|
|
}
|
|
|
|
public RealmsResetNormalWorldScreen(final RealmsResetWorldScreen daf, final String string) {
|
|
this(daf);
|
|
this.buttonTitle = string;
|
|
}
|
|
|
|
@Override
|
|
public void tick() {
|
|
this.seedEdit.tick();
|
|
super.tick();
|
|
}
|
|
|
|
@Override
|
|
public void init() {
|
|
this.levelTypes = new String[] { RealmsScreen.getLocalizedString("generator.default"), RealmsScreen.getLocalizedString("generator.flat"), RealmsScreen.getLocalizedString("generator.largeBiomes"), RealmsScreen.getLocalizedString("generator.amplified") };
|
|
this.setKeyboardHandlerSendRepeatsToGui(true);
|
|
this.buttonsAdd(new RealmsButton(0, this.width() / 2 + 8, RealmsConstants.row(12), 97, 20, RealmsScreen.getLocalizedString("gui.back")) {
|
|
@Override
|
|
public void onPress() {
|
|
Realms.setScreen(RealmsResetNormalWorldScreen.this.lastScreen);
|
|
}
|
|
});
|
|
this.buttonsAdd(this.resetButton = new RealmsButton(1, this.width() / 2 - 102, RealmsConstants.row(12), 97, 20, this.buttonTitle) {
|
|
@Override
|
|
public void onPress() {
|
|
RealmsResetNormalWorldScreen.this.onReset();
|
|
}
|
|
});
|
|
(this.seedEdit = this.newEditBox(4, this.width() / 2 - 100, RealmsConstants.row(2), 200, 20, RealmsScreen.getLocalizedString("mco.reset.world.seed"))).setMaxLength(32);
|
|
this.seedEdit.setValue("");
|
|
this.addWidget(this.seedEdit);
|
|
this.focusOn(this.seedEdit);
|
|
this.buttonsAdd(this.levelTypeButton = new RealmsButton(2, this.width() / 2 - 102, RealmsConstants.row(4), 205, 20, this.levelTypeTitle()) {
|
|
@Override
|
|
public void onPress() {
|
|
RealmsResetNormalWorldScreen.this.levelTypeIndex = (RealmsResetNormalWorldScreen.this.levelTypeIndex + 1) % RealmsResetNormalWorldScreen.this.levelTypes.length;
|
|
this.setMessage(RealmsResetNormalWorldScreen.this.levelTypeTitle());
|
|
}
|
|
});
|
|
this.buttonsAdd(this.generateStructuresButton = new RealmsButton(3, this.width() / 2 - 102, RealmsConstants.row(6) - 2, 205, 20, this.generateStructuresTitle()) {
|
|
@Override
|
|
public void onPress() {
|
|
RealmsResetNormalWorldScreen.this.generateStructures = !RealmsResetNormalWorldScreen.this.generateStructures;
|
|
this.setMessage(RealmsResetNormalWorldScreen.this.generateStructuresTitle());
|
|
}
|
|
});
|
|
this.addWidget(this.titleLabel = new RealmsLabel(RealmsScreen.getLocalizedString("mco.reset.world.generate"), this.width() / 2, 17, 16777215));
|
|
this.narrateLabels();
|
|
}
|
|
|
|
@Override
|
|
public void removed() {
|
|
this.setKeyboardHandlerSendRepeatsToGui(false);
|
|
}
|
|
|
|
@Override
|
|
public boolean keyPressed(final int integer1, final int integer2, final int integer3) {
|
|
if (integer1 == 256) {
|
|
Realms.setScreen(this.lastScreen);
|
|
return true;
|
|
}
|
|
return super.keyPressed(integer1, integer2, integer3);
|
|
}
|
|
|
|
private void onReset() {
|
|
this.lastScreen.resetWorld(new RealmsResetWorldScreen.ResetWorldInfo(this.seedEdit.getValue(), this.levelTypeIndex, this.generateStructures));
|
|
}
|
|
|
|
@Override
|
|
public void render(final int integer1, final int integer2, final float float3) {
|
|
this.renderBackground();
|
|
this.titleLabel.render(this);
|
|
this.drawString(RealmsScreen.getLocalizedString("mco.reset.world.seed"), this.width() / 2 - 100, RealmsConstants.row(1), 10526880);
|
|
this.seedEdit.render(integer1, integer2, float3);
|
|
super.render(integer1, integer2, float3);
|
|
}
|
|
|
|
private String levelTypeTitle() {
|
|
final String string2 = RealmsScreen.getLocalizedString("selectWorld.mapType");
|
|
return string2 + " " + this.levelTypes[this.levelTypeIndex];
|
|
}
|
|
|
|
private String generateStructuresTitle() {
|
|
return RealmsScreen.getLocalizedString("selectWorld.mapFeatures") + " " + RealmsScreen.getLocalizedString(((boolean)this.generateStructures) ? "mco.configure.world.on" : "mco.configure.world.off");
|
|
}
|
|
}
|