diff --git a/src/main/java/sh/okx/civmodern/common/CivMapConfig.java b/src/main/java/sh/okx/civmodern/common/CivMapConfig.java index 389a54f..620403e 100644 --- a/src/main/java/sh/okx/civmodern/common/CivMapConfig.java +++ b/src/main/java/sh/okx/civmodern/common/CivMapConfig.java @@ -37,6 +37,7 @@ public class CivMapConfig { private boolean iceRoadAutoEat; private boolean iceRoadStop; private boolean showItems; + private boolean showVehicles; private boolean northUp; private int chevronColour; private boolean minimapEnabled; @@ -77,6 +78,7 @@ public CivMapConfig(File file, Properties properties) { this.iceRoadStop = Boolean.parseBoolean(properties.getProperty("ice_road_stop", "true")); this.bgTransparency = Float.parseFloat(properties.getProperty("bg_transparency", String.valueOf(this.transparency))); this.showItems = Boolean.parseBoolean(properties.getProperty("show_items", "true")); + this.showVehicles = Boolean.parseBoolean(properties.getProperty("show_vehicles", "true")); this.northUp = Boolean.parseBoolean(properties.getProperty("north_up", "false")); this.chevronColour = Integer.parseInt(properties.getProperty("chevron_colour", Integer.toString(DEFAULT_CHEVRON_COLOUR))); this.minimapEnabled = Boolean.parseBoolean(properties.getProperty("minimap_enabled", "true")); @@ -119,6 +121,7 @@ public void save() { properties.setProperty("ice_road_auto_eat", Boolean.toString(iceRoadAutoEat)); properties.setProperty("ice_road_stop", Boolean.toString(iceRoadStop)); properties.setProperty("show_items", Boolean.toString(showItems)); + properties.setProperty("show_vehicles", Boolean.toString(showVehicles)); properties.setProperty("north_up", Boolean.toString(northUp)); properties.setProperty("chevron_colour", Integer.toString(chevronColour)); properties.setProperty("minimap_enabled", Boolean.toString(minimapEnabled)); @@ -152,6 +155,14 @@ public void setShowItems(boolean showItems) { this.showItems = showItems; } + public boolean isShowVehicles() { + return showVehicles; + } + + public void setShowVehicles(boolean showVehicles) { + this.showVehicles = showVehicles; + } + public int getColour() { return compactedColour; } diff --git a/src/main/java/sh/okx/civmodern/common/gui/screen/RadarConfigScreen.java b/src/main/java/sh/okx/civmodern/common/gui/screen/RadarConfigScreen.java index 4e633bf..a48428c 100644 --- a/src/main/java/sh/okx/civmodern/common/gui/screen/RadarConfigScreen.java +++ b/src/main/java/sh/okx/civmodern/common/gui/screen/RadarConfigScreen.java @@ -85,15 +85,28 @@ protected void init() { ); addRenderableWidget(new ToggleButton( - this.centreX - (Button.DEFAULT_WIDTH / 2), + leftSideX, offsetY, - Button.DEFAULT_WIDTH, + ToggleButton.DEFAULT_BUTTON_WIDTH, Component.translatable("civmodern.screen.radar.enabled"), this.config::isRadarEnabled, this.config::setRadarEnabled, Tooltip.create(Component.translatable("civmodern.screen.radar.enabled.tooltip")), ToggleButton.DEFAULT_NARRATION )); + addRenderableWidget( + Button + .builder( + Component.translatable("civmodern.screen.radar.alignment", this.config.getAlignment().toString()), + (button) -> { + final Alignment next = this.config.getAlignment().next(); + this.config.setAlignment(next); + button.setMessage(Component.translatable("civmodern.screen.radar.alignment", next.toString())); + } + ) + .pos(rightSideX, offsetY) + .build() + ); offsetY += Button.DEFAULT_HEIGHT + 4; addRenderableWidget(new ToggleButton( @@ -118,21 +131,8 @@ protected void init() { )); offsetY += Button.DEFAULT_HEIGHT + 4; - addRenderableWidget( - Button - .builder( - Component.translatable("civmodern.screen.radar.alignment", this.config.getAlignment().toString()), - (button) -> { - final Alignment next = this.config.getAlignment().next(); - this.config.setAlignment(next); - button.setMessage(Component.translatable("civmodern.screen.radar.alignment", next.toString())); - } - ) - .pos(leftSideX, offsetY) - .build() - ); addRenderableWidget(new ToggleButton( - rightSideX, + leftSideX, offsetY, ToggleButton.DEFAULT_BUTTON_WIDTH, Component.translatable("civmodern.screen.radar.items"), @@ -141,6 +141,16 @@ protected void init() { Tooltip.create(Component.translatable("civmodern.screen.radar.items.tooltip")), ToggleButton.DEFAULT_NARRATION )); + addRenderableWidget(new ToggleButton( + rightSideX, + offsetY, + ToggleButton.DEFAULT_BUTTON_WIDTH, + Component.translatable("civmodern.screen.radar.vehicles"), + this.config::isShowVehicles, + this.config::setShowVehicles, + Tooltip.create(Component.translatable("civmodern.screen.radar.vehicles.tooltip")), + ToggleButton.DEFAULT_NARRATION + )); offsetY += Button.DEFAULT_HEIGHT + 4; addRenderableWidget(new DoubleOptionUpdateableSliderWidget( diff --git a/src/main/java/sh/okx/civmodern/common/radar/Radar.java b/src/main/java/sh/okx/civmodern/common/radar/Radar.java index d7b297f..32e28e0 100644 --- a/src/main/java/sh/okx/civmodern/common/radar/Radar.java +++ b/src/main/java/sh/okx/civmodern/common/radar/Radar.java @@ -209,7 +209,9 @@ public void render(GuiGraphics guiGraphics, float delta) { if (config.isShowItems()) { renderItems(guiGraphics, delta); } - renderBoatsMinecarts(guiGraphics, delta); + if (config.isShowVehicles()) { + renderBoatsMinecarts(guiGraphics, delta); + } renderPlayers(guiGraphics, delta); guiGraphics.pose().popMatrix(); diff --git a/src/main/resources/assets/civmodern/lang/en_us.json b/src/main/resources/assets/civmodern/lang/en_us.json index 1f15e6a..3b5828f 100644 --- a/src/main/resources/assets/civmodern/lang/en_us.json +++ b/src/main/resources/assets/civmodern/lang/en_us.json @@ -6,7 +6,7 @@ "key.civmodern.config": "Open Civ Modern configuration", "key.civmodern.map": "Open Civ Map", "key.civmodern.minimapzoom": "Cycle minimap zoom", - "category.civmodern": "${mod_name}", + "key.category.civmodern.category": "${mod_name}", "civmodern.screen.main.title": "Civ Modern Config", "civmodern.screen.main.radar": "Radar Settings", "civmodern.screen.main.ice": "Ice Road Macro", @@ -24,6 +24,8 @@ "civmodern.screen.radar.alignment": "Alignment: %s", "civmodern.screen.radar.items": "Items", "civmodern.screen.radar.items.tooltip": "Show nearby items on your radar?", + "civmodern.screen.radar.vehicles": "Vehicles", + "civmodern.screen.radar.vehicles.tooltip": "Show nearby vehicles on your radar?", "civmodern.screen.radar.iconsize": "Icon Size: %s", "civmodern.screen.radar.textsize": "Text Size: %s", "civmodern.screen.radar.range": "Range: %s blocks",