minecraft-source/src/com/mojang/realmsclient/gui/screens/RealmsResetNormalWorldScree...

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");
}
}