From 596ca3c0d344706a4d75d1a320317db55fae459e Mon Sep 17 00:00:00 2001 From: MeexReay Date: Mon, 22 Apr 2024 20:06:18 +0300 Subject: [PATCH] some fixes --- gradle.properties | 8 ++++---- .../java/themixray/repeating/mod/RecordList.java | 6 ++++-- .../java/themixray/repeating/mod/RecordState.java | 9 ++++++++- .../themixray/repeating/mod/RepeatingScreen.java | 4 ++-- .../repeating/mod/widget/RecordListWidget.java | 14 ++++++++------ .../repeating/mod/widget/RecordWidget.java | 4 ++++ 6 files changed, 30 insertions(+), 15 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8655bba..4fe0e23 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,14 +4,14 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.20.4 -yarn_mappings=1.20.4+build.3 +minecraft_version=1.20 +yarn_mappings=1.20+build.1 loader_version=0.15.10 #Fabric api -fabric_version=0.97.0+1.20.4 +fabric_version=0.83.0+1.20 # Mod Properties -mod_version = 1.1.0+1.20.4 +mod_version = 1.1.1+1.20 maven_group = themixray.repeating.mod archives_base_name = repeating-mod \ No newline at end of file diff --git a/src/main/java/themixray/repeating/mod/RecordList.java b/src/main/java/themixray/repeating/mod/RecordList.java index e17a0e8..cb93741 100644 --- a/src/main/java/themixray/repeating/mod/RecordList.java +++ b/src/main/java/themixray/repeating/mod/RecordList.java @@ -41,8 +41,10 @@ public class RecordList { } } - public void addRecord(File file) throws Exception { - addRecord(RecordState.load(file)); + public RecordState addRecord(File file) throws Exception { + RecordState st = RecordState.load(file); + addRecord(st); + return st; } public void addRecord(RecordState record) { diff --git a/src/main/java/themixray/repeating/mod/RecordState.java b/src/main/java/themixray/repeating/mod/RecordState.java index 239194a..09f870d 100644 --- a/src/main/java/themixray/repeating/mod/RecordState.java +++ b/src/main/java/themixray/repeating/mod/RecordState.java @@ -109,6 +109,8 @@ public class RecordState { } public void save() throws IOException { + if (start_record_pos == null || finish_record_pos == null) return; + StringBuilder text = new StringBuilder(); text.append(name).append("\n") @@ -162,8 +164,13 @@ public class RecordState { } public void remove() { - file.delete(); Main.me.record_list.removeRecord(this); Main.me.record_list.getWidget().removeWidget(this); + if (Main.me.is_recording && this.equals(Main.me.now_record)) { + Main.me.stopRecording(); + Main.me.now_record = null; + return; + } + file.delete(); } } diff --git a/src/main/java/themixray/repeating/mod/RepeatingScreen.java b/src/main/java/themixray/repeating/mod/RepeatingScreen.java index 7d13d12..b610d74 100644 --- a/src/main/java/themixray/repeating/mod/RepeatingScreen.java +++ b/src/main/java/themixray/repeating/mod/RepeatingScreen.java @@ -51,7 +51,7 @@ public class RepeatingScreen extends Screen { @Override public void render(DrawContext context, int mouseX, int mouseY, float delta) { - renderBackground(context,mouseX,mouseY,delta); + renderBackground(context); for (RenderListener l : render_listeners) { if (l.beforeRender()) { @@ -148,7 +148,7 @@ public class RepeatingScreen extends Screen { if (files != null) { for (File file : files) { try { - Main.me.record_list.addRecord(file); + Main.me.setNowRecord(Main.me.record_list.addRecord(file)); } catch (Exception e) { throw new RuntimeException(e); } diff --git a/src/main/java/themixray/repeating/mod/widget/RecordListWidget.java b/src/main/java/themixray/repeating/mod/widget/RecordListWidget.java index 5bcd5a4..ddded9f 100644 --- a/src/main/java/themixray/repeating/mod/widget/RecordListWidget.java +++ b/src/main/java/themixray/repeating/mod/widget/RecordListWidget.java @@ -104,7 +104,7 @@ public class RecordListWidget extends ScrollableWidget { public boolean checkTransport(transport tr) { for (RecordWidget wid : widgets) { for (ClickableWidget child : wid.getChildren()) { - if (tr.check(child)) { + if (child.isFocused() && tr.check(child)) { return true; } } @@ -112,12 +112,14 @@ public class RecordListWidget extends ScrollableWidget { return false; } - public boolean checkTransportNF(transport tr) { + public boolean checkTransportNF(double mouseX, double mouseY, int button) { for (RecordWidget wid : widgets) { - for (ClickableWidget child : wid.getChildren()) { - boolean res = tr.check(child); + if (wid.contains((int) mouseX, (int) mouseY)) { + Main.me.setNowRecord(wid.getRecord()); + } - if (res) { + for (ClickableWidget child : wid.getChildren()) { + if (child.mouseClicked(mouseX, mouseY, button)) { child.setFocused(true); return true; } else { @@ -130,7 +132,7 @@ public class RecordListWidget extends ScrollableWidget { @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { - return checkTransportNF((c) -> c.mouseClicked(mouseX, mouseY + this.getScrollY(), button)) || super.mouseClicked(mouseX, mouseY, button); + return checkTransportNF(mouseX, mouseY + getScrollY(), button) || super.mouseClicked(mouseX, mouseY, button); } @Override diff --git a/src/main/java/themixray/repeating/mod/widget/RecordWidget.java b/src/main/java/themixray/repeating/mod/widget/RecordWidget.java index 85900f7..44d3e23 100644 --- a/src/main/java/themixray/repeating/mod/widget/RecordWidget.java +++ b/src/main/java/themixray/repeating/mod/widget/RecordWidget.java @@ -42,6 +42,10 @@ public class RecordWidget implements Drawable, Widget { this.children = new ArrayList<>(); } + public boolean contains(int x, int y) { + return parent.getX() + getX() <= x && parent.getY() + getY() <= y && x <= parent.getX() + getX() + getWidth() && y <= parent.getY() + getY() + getHeight(); + } + public void setX(int x) { this.x = x; }