Skip to content

Commit 2aacc45

Browse files
committed
fix #47
1 parent 624b7ca commit 2aacc45

File tree

4 files changed

+22
-12
lines changed

4 files changed

+22
-12
lines changed

src/main/java/one/pouekdev/coordinatelist/CListClient.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public void onInitializeClient() {
166166
while(add_a_waypoint.wasPressed()){
167167
if(!Objects.equals(client.currentScreen, new CListWaypointScreen(Text.literal("Waypoints")))){
168168
PlayerEntity player = CListVariables.minecraft_client.player;
169-
addNewWaypoint((int) Math.round(player.getX()), (int) Math.round(player.getY()), (int) Math.round(player.getZ()),false);
169+
addNewWaypoint((int) Math.round(player.getX()), (int) Math.round(player.getY()), (int) Math.round(player.getZ()),false,true);
170170
}
171171
}
172172
while(toggle_visibility.wasPressed()){
@@ -200,7 +200,7 @@ public void onInitializeClient() {
200200
}
201201
if(!client.player.isAlive() && !variables.had_death_waypoint_placed && CListConfig.can_place_deathpoints){
202202
PlayerEntity player = client.player;
203-
addNewWaypoint((int) Math.round(player.getX()), (int) Math.round(player.getY()), (int) Math.round(player.getZ()),true);
203+
addNewWaypoint((int) Math.round(player.getX()), (int) Math.round(player.getY()), (int) Math.round(player.getZ()),true,false);
204204
variables.had_death_waypoint_placed = true;
205205
} else if (client.player.isAlive() && variables.had_death_waypoint_placed) {
206206
variables.had_death_waypoint_placed = false;
@@ -216,7 +216,7 @@ public void onInitializeClient() {
216216
variables.saved_since_last_update = true;
217217
variables.loaded_last_world = false;
218218
}
219-
public static void addNewWaypoint(int x, int y, int z, boolean death){
219+
public static void addNewWaypoint(int x, int y, int z, boolean death, boolean viaKeybind){
220220
CList.LOGGER.info("New waypoint for dimension " + variables.last_world.getDimension().effects());
221221
String waypoint_name;
222222
if(death){
@@ -229,7 +229,7 @@ public static void addNewWaypoint(int x, int y, int z, boolean death){
229229
variables.colors.add(new CListWaypointColor(rand.nextFloat(),rand.nextFloat(),rand.nextFloat()));
230230
variables.saved_since_last_update = false;
231231
if(!death){
232-
CListVariables.minecraft_client.setScreen(new CListWaypointConfig(Text.literal("Config"),variables.waypoints.size()-1));
232+
CListVariables.minecraft_client.setScreen(new CListWaypointConfig(Text.literal("Config"),variables.waypoints.size()-1, viaKeybind));
233233
}
234234
}
235235
public static void deleteWaypoint(int position){

src/main/java/one/pouekdev/coordinatelist/CListCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public void register(CommandDispatcher<FabricClientCommandSource> dispatcher, Co
1818
int x = IntegerArgumentType.getInteger(ctx,"x");
1919
int y = IntegerArgumentType.getInteger(ctx,"y");
2020
int z = IntegerArgumentType.getInteger(ctx,"z");
21-
CListClient.addNewWaypoint(x,y,z,false);
21+
CListClient.addNewWaypoint(x,y,z,false,true);
2222
return 0;
2323
})))));
2424
}

src/main/java/one/pouekdev/coordinatelist/CListWaypointConfig.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,19 @@
1717
public class CListWaypointConfig extends Screen {
1818
private static int id;
1919
private boolean render_color_picker = false;
20+
private final boolean viaKeybind;
2021
private final CListWaypoint waypoint;
2122
private TextFieldWidget waypoint_name;
2223
private static TextFieldWidget waypoint_color;
2324
private TextFieldWidget x, y, z;
2425
private SpriteButton change_color;
2526
private HSVSlider h, s, v;
2627
private static float[] hsv;
27-
public CListWaypointConfig(Text title, int waypoint_id){
28+
public CListWaypointConfig(Text title, int waypoint_id, boolean viaKeybind){
2829
super(title);
2930
id = waypoint_id;
3031
this.waypoint = CListClient.variables.waypoints.get(id);
32+
this.viaKeybind = viaKeybind;
3133
}
3234
@Override
3335
protected void init(){
@@ -39,7 +41,15 @@ protected void init(){
3941
CListClient.deleteWaypoint(id);
4042
CListVariables.minecraft_client.setScreen(new CListWaypointScreen(Text.literal("Waypoints")));
4143
}).width(150).build(),1, gridWidget.copyPositioner().marginBottom(10));
42-
adder.add(ButtonWidget.builder(Text.translatable("gui.done"), button -> {CListVariables.minecraft_client.setScreen(new CListWaypointScreen(Text.literal("Waypoints")));CListClient.variables.saved_since_last_update = false;}).width(150).build(),1, gridWidget.copyPositioner().marginBottom(10));
44+
adder.add(ButtonWidget.builder(Text.translatable("gui.done"), button -> {
45+
CListClient.variables.saved_since_last_update = false;
46+
if(!viaKeybind){
47+
CListVariables.minecraft_client.setScreen(new CListWaypointScreen(Text.literal("Waypoints")));
48+
}
49+
else{
50+
close();
51+
}
52+
}).width(150).build(),1, gridWidget.copyPositioner().marginBottom(10));
4353
this.waypoint_name = new TextFieldWidget(textRenderer, (this.width-150)/2, (this.height-20)/2-80, 150, 20, Text.literal(""));
4454
this.waypoint_name.setFocusUnlocked(true);
4555
this.waypoint_name.setMaxLength(25);

src/main/java/one/pouekdev/coordinatelist/CListWaypointScreen.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
import java.util.List;
1818

1919
public class CListWaypointScreen extends Screen {
20-
public CListWaypointScreen(Text title) {
21-
super(title);
22-
}
2320
private ScrollList list;
2421
private int selected_waypoint_id = -1;
2522
private ButtonWidget copy_coordinates_button;
2623
private ButtonWidget edit_waypoint_button;
2724
private ButtonWidget delete_waypoint_button;
25+
public CListWaypointScreen(Text title) {
26+
super(title);
27+
}
2828
@Override
2929
protected void init() {
3030
GridWidget gridWidget = new GridWidget();
@@ -35,7 +35,7 @@ protected void init() {
3535
GridWidget.Adder adderBottom = gridWidgetBottom.createAdder(3);
3636
adder.add(ButtonWidget.builder(Text.translatable("buttons.add.new.waypoint"), button -> {
3737
PlayerEntity player = CListVariables.minecraft_client.player;
38-
CListClient.addNewWaypoint((int) Math.round(player.getX()), (int) Math.round(player.getY()), (int) Math.round(player.getZ()),false);
38+
CListClient.addNewWaypoint((int) Math.round(player.getX()), (int) Math.round(player.getY()), (int) Math.round(player.getZ()),false,true);
3939
list.RefreshElements();
4040
}).width(300).build(),2, gridWidget.copyPositioner().marginTop(10));
4141
copy_coordinates_button = ButtonWidget.builder(Text.literal("---"), button -> {
@@ -44,7 +44,7 @@ protected void init() {
4444
GLFW.glfwSetClipboardString(window, waypoint.x + " " + waypoint.y + " " + waypoint.z);
4545
}).width(150).build();
4646
copy_coordinates_button.setTooltip(Tooltip.of(Text.translatable("tooltip.copy.waypoint.coordinates")));
47-
edit_waypoint_button = ButtonWidget.builder(Text.translatable("selectWorld.edit"), button -> CListVariables.minecraft_client.setScreen(new CListWaypointConfig(Text.literal("Config"),selected_waypoint_id))).width(100).build();
47+
edit_waypoint_button = ButtonWidget.builder(Text.translatable("selectWorld.edit"), button -> CListVariables.minecraft_client.setScreen(new CListWaypointConfig(Text.literal("Config"),selected_waypoint_id,false))).width(100).build();
4848
delete_waypoint_button = ButtonWidget.builder(Text.translatable("selectWorld.delete"), button -> {
4949
CListClient.deleteWaypoint(selected_waypoint_id);
5050
if(selected_waypoint_id >= CListClient.variables.waypoints.size()){

0 commit comments

Comments
 (0)