Skip to content

Commit

Permalink
fix: fixed behaviour in the quick waypoint panel
Browse files Browse the repository at this point in the history
  • Loading branch information
desht committed Mar 14, 2024
1 parent c3c7dff commit e22365a
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -378,7 +378,7 @@ private EventResult addQuickWaypoint() {
return MapManager.getInstance().map(manager -> {
BaseScreen screen = new WaypointAddScreen(name, manager, player);
screen.openGuiLater();
// later needed to prevent keypress being passed into gui
// later needed to prevent keypress being passed into gui
return EventResult.interruptTrue();
}).orElse(EventResult.pass());
}
Expand Down Expand Up @@ -1154,28 +1154,11 @@ public int getMinimapTextureId() {
return minimapTextureId;
}

private class WaypointAddScreen extends BaseScreen {
private static class WaypointAddScreen extends BaseScreen {
private final StringConfig name;
private EditStringConfigOverlay<String> overlay;

@Override
public boolean onInit() {
return super.onInit();
}

@Override
public ModalPanel popModalPanel() {
return null;
}

private final MapManager manager;
private final Player player;

@Override
public void drawBackground(GuiGraphics graphics, Theme theme, int x, int y, int w, int h) {

}

public WaypointAddScreen(StringConfig name, MapManager manager, Player player) {
super();
this.name = name;
Expand All @@ -1184,25 +1167,28 @@ public WaypointAddScreen(StringConfig name, MapManager manager, Player player) {
this.setHeight(35);
}

@Override
public void drawBackground(GuiGraphics graphics, Theme theme, int x, int y, int w, int h) {
}

@Override
public void addWidgets() {
overlay = new EditStringConfigOverlay<>(this, name, set -> {
EditStringConfigOverlay<String> overlay = new EditStringConfigOverlay<>(this, name, set -> {
if (set && !name.getValue().isEmpty()) {
MapDimension mapDimension = manager.getDimension(player.level().dimension());
WaypointImpl waypoint = new WaypointImpl(WaypointType.DEFAULT, mapDimension, player.blockPosition())
.setName(name.getValue())
.setColor(Color4I.hsb(MathUtils.RAND.nextFloat(), 1F, 1F).rgba());
mapDimension.getWaypointManager().add(waypoint);
Minecraft.getInstance().player.displayClientMessage(
Component.translatable("ftbchunks.waypoint_added",
Component.literal(waypoint.getName()).withStyle(ChatFormatting.YELLOW)
), true);
}
FTBChunksClient.this.openGui();
closeGui();
}, Component.translatable("key.ftbchunks.add_waypoint"));
overlay.setWidth(this.width);
this.add(overlay);
}

@Override
public void alignWidgets() {
this.align(WidgetLayout.VERTICAL);
pushModalPanel(overlay);
}
}
}
1 change: 1 addition & 0 deletions common/src/main/resources/assets/ftbchunks/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
"wilderness": "Wilderness",
"ftbchunks.no_server_mod": "FTB Chunks requires mod on server!",
"ftbchunks.already_claimed": "Chunk is already claimed by %s",
"ftbchunks.waypoint_added": "Waypoint '%s' added",
"ftbchunks.deathpoint_removed": "Waypoint '%s' auto-removed",
"ftbchunks.gui.claimed": "Claimed",
"ftbchunks.gui.force_loaded": "Force loaded",
Expand Down

0 comments on commit e22365a

Please sign in to comment.