menu interface move

This commit is contained in:
MeexReay 2024-04-22 14:09:06 +03:00
parent efcc61b578
commit ae03aa9627
5 changed files with 33 additions and 34 deletions

View File

@ -18,7 +18,7 @@ public class RecordList {
public RecordList(File folder) { public RecordList(File folder) {
this.folder = folder; this.folder = folder;
this.records = new ArrayList<>(); this.records = new ArrayList<>();
this.widget = new RecordListWidget(0, 0, 120, 80); this.widget = new RecordListWidget(0, 0, 180, 200);
} }
public List<RecordState> getRecords() { public List<RecordState> getRecords() {

View File

@ -128,11 +128,6 @@ public class RecordState {
} }
Files.write(file.toPath(), text.toString().getBytes()); Files.write(file.toPath(), text.toString().getBytes());
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop();
desktop.browse(file.toURI());
}
} }
public static RecordState load(File file) throws Exception { public static RecordState load(File file) throws Exception {

View File

@ -11,6 +11,7 @@ import net.minecraft.client.gui.tooltip.Tooltip;
import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.SliderWidget; import net.minecraft.client.gui.widget.SliderWidget;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import themixray.repeating.mod.widget.RecordListWidget;
import java.awt.*; import java.awt.*;
import java.io.File; import java.io.File;
@ -69,16 +70,23 @@ public class RepeatingScreen extends Screen {
@Override @Override
protected void init() { protected void init() {
RecordListWidget list_widget = Main.me.record_list.getWidget();
list_widget.setX(width / 2 + 2);
list_widget.setY(height / 2 - list_widget.getHeight() / 2);
list_widget.init(this);
record_btn = ButtonWidget.builder( record_btn = ButtonWidget.builder(
Text.translatable("text.repeating-mod.start_record"), button -> { Text.translatable("text.repeating-mod.start_record"), button -> {
if (!Main.me.is_replaying) { if (!Main.me.is_replaying) {
if (Main.me.is_recording) if (Main.me.is_recording)
Main.me.stopRecording(); Main.me.stopRecording();
else Main.me.startRecording(); else Main.me.startRecording();
updateButtons(); updateButtons();
} }
}) })
.dimensions(width / 2 - 60, height / 2 - 76, 120, 20) .dimensions(width / 2 - 120, height / 2 - 32, 120, 20)
.tooltip(Tooltip.of(Text.translatable("text.repeating-mod.record_tooltip"))) .tooltip(Tooltip.of(Text.translatable("text.repeating-mod.record_tooltip")))
.build(); .build();
@ -86,14 +94,14 @@ public class RepeatingScreen extends Screen {
Main.me.loop_replay = !Main.me.loop_replay; Main.me.loop_replay = !Main.me.loop_replay;
updateButtons(); updateButtons();
}) })
.dimensions(width / 2 - 60, height / 2 - 54, 120, 20) .dimensions(width / 2 - 120, height / 2 - 10, 120, 20)
.tooltip(Tooltip.of(Text.translatable("text.repeating-mod.loop_tooltip"))) .tooltip(Tooltip.of(Text.translatable("text.repeating-mod.loop_tooltip")))
.build(); .build();
pos_delay_slider = new SliderWidget( pos_delay_slider = new SliderWidget(
width / 2 - 60, height / 2 - 32, 120, 20, width / 2 - 120, height / 2 + 12, 120, 20,
(Main.me.record_pos_delay < 0) ? Text.translatable("text.repeating-mod.nan_pos_delay") : (Main.me.record_pos_delay < 0) ? Text.translatable("text.repeating-mod.nan_pos_delay") :
Text.translatable("text.repeating-mod.pos_delay", String.valueOf(Main.me.record_pos_delay)), Text.translatable("text.repeating-mod.pos_delay", String.valueOf(Main.me.record_pos_delay)),
(Main.me.record_pos_delay+1d)/101d) { (Main.me.record_pos_delay+1d)/101d) {
@Override @Override
@ -153,14 +161,10 @@ public class RepeatingScreen extends Screen {
} }
}}).start(); }}).start();
}) })
.dimensions(width / 2 - 60, height / 2 - 10, 120, 20) .dimensions(width / 2 + 2, height / 2 - list_widget.getHeight() / 2 - 22, 180, 20)
.tooltip(Tooltip.of(Text.translatable("text.repeating-mod.import_tooltip"))) .tooltip(Tooltip.of(Text.translatable("text.repeating-mod.import_tooltip")))
.build(); .build();
Main.me.record_list.getWidget().setX(width / 2 - Main.me.record_list.getWidget().getWidth() / 2);
Main.me.record_list.getWidget().setY(height / 2 + 12);
Main.me.record_list.getWidget().init(this);
was_build = true; was_build = true;
updateButtons(); updateButtons();

View File

@ -51,7 +51,7 @@ public class RecordListWidget extends ScrollableWidget {
} }
public void addWidget(RecordState record) { public void addWidget(RecordState record) {
RecordWidget widget = new RecordWidget(0, 0, width, 50, record, this); RecordWidget widget = new RecordWidget(0, 0, width, 55, record, this);
widget.init(null); widget.init(null);
widgets.add(0, widget); widgets.add(0, widget);
} }
@ -72,7 +72,7 @@ public class RecordListWidget extends ScrollableWidget {
@Override @Override
protected int getContentsHeight() { protected int getContentsHeight() {
return !widgets.isEmpty() ? widgets.size() * 50 + (widgets.size() - 1) * 2 : 0; return !widgets.isEmpty() ? widgets.size() * 55 + (widgets.size() - 1) * 2 : 0;
} }
public void init(RepeatingScreen screen) { public void init(RepeatingScreen screen) {

View File

@ -77,7 +77,7 @@ public class RecordWidget implements Drawable, Widget {
Main.client.textRenderer, Main.client.textRenderer,
parent.getX() + getX() + 5, parent.getX() + getX() + 5,
parent.getY() + getY() + 5, parent.getY() + getY() + 5,
70, 102,
10, 10,
Text.empty()); Text.empty());
@ -96,7 +96,7 @@ public class RecordWidget implements Drawable, Widget {
ButtonWidget delete_button = ButtonWidget.builder(Text.translatable("text.repeating-mod.delete"), (i) -> { ButtonWidget delete_button = ButtonWidget.builder(Text.translatable("text.repeating-mod.delete"), (i) -> {
record.remove(); record.remove();
}).dimensions(parent.getX() + getX() + 77,parent.getY() + getY() + 4, 38, 13).build(); }).dimensions(parent.getX() + getX() + 110,parent.getY() + getY() + 4, 65, 13).build();
children.add(delete_button); children.add(delete_button);
@ -113,7 +113,7 @@ public class RecordWidget implements Drawable, Widget {
} }
} }
} }
}).dimensions(parent.getX() + getX() + 77,parent.getY() + getY() + 4 + 14, 38, 13).build(); }).dimensions(parent.getX() + getX() + 110,parent.getY() + getY() + 4 + 14, 65, 13).build();
children.add(export_button); children.add(export_button);
@ -125,7 +125,7 @@ public class RecordWidget implements Drawable, Widget {
i.setMessage(Text.translatable("text.repeating-mod.stop")); i.setMessage(Text.translatable("text.repeating-mod.stop"));
Main.me.now_record = record; Main.me.now_record = record;
Main.me.startReplay(); Main.me.startReplay();
}).dimensions(parent.getX() + getX() + 77,parent.getY() + getY() + 4 + 28, 38, 13) }).dimensions(parent.getX() + getX() + 110,parent.getY() + getY() + 4 + 28, 65, 13)
.tooltip(Tooltip.of(Text.translatable("text.repeating-mod.replay_tooltip"))).build(); .tooltip(Tooltip.of(Text.translatable("text.repeating-mod.replay_tooltip"))).build();
children.add(replay_button); children.add(replay_button);
@ -171,8 +171,8 @@ public class RecordWidget implements Drawable, Widget {
.append(": ") .append(": ")
.styled((s) -> s.withColor(0xbbbbbb)), .styled((s) -> s.withColor(0xbbbbbb)),
Text.literal(record.getAuthor()).styled((s) -> s.withColor(0xffffff)) Text.literal(record.getAuthor()).styled((s) -> s.withColor(0xffffff))
), 0.7f, ), 1,
7, 9,
false); false);
if (!children.isEmpty()) { if (!children.isEmpty()) {
@ -180,13 +180,13 @@ public class RecordWidget implements Drawable, Widget {
name_widget.setPosition(parent.getX() + getX() + 5, parent.getY() + getY() + 5); name_widget.setPosition(parent.getX() + getX() + 5, parent.getY() + getY() + 5);
ClickableWidget delete_button = children.get(1); ClickableWidget delete_button = children.get(1);
delete_button.setPosition(parent.getX() + getX() + 77,parent.getY() + getY() + 4); delete_button.setPosition(parent.getX() + getX() + 110,parent.getY() + getY() + 4);
ClickableWidget export_button = children.get(2); ClickableWidget export_button = children.get(2);
export_button.setPosition(parent.getX() + getX() + 77,parent.getY() + getY() + 4 + 14); export_button.setPosition(parent.getX() + getX() + 110,parent.getY() + getY() + 4 + 14);
ClickableWidget replay_button = children.get(3); ClickableWidget replay_button = children.get(3);
replay_button.setPosition(parent.getX() + getX() + 77,parent.getY() + getY() + 4 + 28); replay_button.setPosition(parent.getX() + getX() + 110,parent.getY() + getY() + 4 + 28);
} }
for (ClickableWidget child : children) { for (ClickableWidget child : children) {