Skip to content

Commit 00f20a4

Browse files
committed
add waypoint title scale, waypoint rendering keybind
1 parent de27300 commit 00f20a4

File tree

19 files changed

+88
-77
lines changed

19 files changed

+88
-77
lines changed

1.20/build.gradle.kts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,6 @@ dependencies {
5050
}
5151

5252
implementation(include(project(path = ":common", configuration = "shadow"))!!)
53-
54-
api("org.lwjgl:lwjgl-nanovg:3.3.2")
55-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-linux")
56-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-linux-arm64")
57-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-windows")
58-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-windows-arm64")
59-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-macos")
60-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.2:natives-macos-arm64")
6153
}
6254

6355
tasks.processResources {

1.20/src/main/java/io/github/axolotlclient/waypoints/AxolotlClientWaypoints.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import io.github.axolotlclient.AxolotlClientConfig.api.manager.ConfigManager;
3636
import io.github.axolotlclient.AxolotlClientConfig.api.options.OptionCategory;
3737
import io.github.axolotlclient.AxolotlClientConfig.impl.managers.VersionedJsonConfigManager;
38+
import io.github.axolotlclient.AxolotlClientConfig.impl.options.FloatOption;
3839
import io.github.axolotlclient.AxolotlClientConfig.impl.util.ConfigStyles;
3940
import io.github.axolotlclient.waypoints.map.Minimap;
4041
import io.github.axolotlclient.waypoints.map.WorldMapScreen;
@@ -70,18 +71,21 @@ public class AxolotlClientWaypoints implements ClientModInitializer {
7071
public static BooleanOption renderWaypoints = new BooleanOption("render_waypoints", true);
7172
public static BooleanOption renderWaypointsInWorld = new BooleanOption("render_waypoints_in_world", true);
7273
public static BooleanOption renderOutOfViewWaypointsOnScreenEdge = new BooleanOption("render_out_of_view_waypoints", true);
74+
public static FloatOption waypointTitleScale = new FloatOption("waypoint_title_scale", 1f, 0.1f, 2f);
7375

74-
private final KeyMapping map = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".world_map", InputConstants.KEY_M, AxolotlClientWaypointsCommon.MODID);
75-
private final KeyMapping manageWaypoints = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".waypoints_menu", InputConstants.KEY_K, AxolotlClientWaypointsCommon.MODID);
76-
private final KeyMapping newWaypoint = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".create_waypoint", InputConstants.KEY_N, AxolotlClientWaypointsCommon.MODID);
76+
private final String category = "key.category."+AxolotlClientWaypointsCommon.MODID+"."+AxolotlClientWaypointsCommon.MODID;
77+
private final KeyMapping map = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".world_map", InputConstants.KEY_M, category);
78+
private final KeyMapping manageWaypoints = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".waypoints_menu", InputConstants.KEY_K, category);
79+
private final KeyMapping newWaypoint = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".create_waypoint", InputConstants.KEY_N, category);
80+
private final KeyMapping toggleWaypointRendering = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".toggle_waypoint_rendering", InputConstants.UNKNOWN.getValue(), category);
7781

7882
@Override
7983
public void onInitializeClient() {
8084
AxolotlClientWaypointsCommon.init();
8185
MINIMAP.init();
8286

8387
AxolotlClientWaypointsCommon.category.add(waypoints);
84-
waypoints.add(renderWaypoints, renderWaypointsInWorld, renderOutOfViewWaypointsOnScreenEdge);
88+
waypoints.add(renderWaypoints, renderWaypointsInWorld, renderOutOfViewWaypointsOnScreenEdge, waypointTitleScale);
8589

8690
try {
8791
Files.createDirectories(FabricLoader.getInstance().getConfigDir().resolve(AxolotlClientWaypointsCommon.MODID));
@@ -97,6 +101,7 @@ public void onInitializeClient() {
97101
KeyBindingHelper.registerKeyBinding(map);
98102
KeyBindingHelper.registerKeyBinding(manageWaypoints);
99103
KeyBindingHelper.registerKeyBinding(newWaypoint);
104+
KeyBindingHelper.registerKeyBinding(toggleWaypointRendering);
100105
ClientTickEvents.END_CLIENT_TICK.register(mc -> {
101106
if (map.consumeClick()) {
102107
mc.setScreen(new WorldMapScreen());
@@ -105,6 +110,10 @@ public void onInitializeClient() {
105110
} else if (newWaypoint.consumeClick()) {
106111
mc.setScreen(new CreateWaypointScreen(mc.screen));
107112
}
113+
if (toggleWaypointRendering.consumeClick()) {
114+
renderWaypointsInWorld.toggle();
115+
configManager.save();
116+
}
108117
});
109118
NETWORK_LISTENER.init();
110119
}

1.20/src/main/java/io/github/axolotlclient/waypoints/waypoints/WaypointRenderer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ public class WaypointRenderer {
5252
private final Set<Waypoint> worldRendererWaypoints = new HashSet<>();
5353

5454
public void render(PoseStack stack, MultiBufferSource.BufferSource source, float tick) {
55+
if (!AxolotlClientWaypoints.renderWaypoints.get()) return;
56+
if (!AxolotlClientWaypoints.renderWaypointsInWorld.get()) return;
5557
var profiler = Minecraft.getInstance().getProfiler();
5658
profiler.popPush("waypoints");
5759
stack.pushPose();
@@ -197,6 +199,8 @@ private void renderWaypoint(Waypoint waypoint, GuiGraphics graphics, float tick,
197199
var line1 = waypoint.name();
198200
pose.pushPose();
199201
pose.last().pose().translate(pos);
202+
var scale = AxolotlClientWaypoints.waypointTitleScale.get();
203+
graphics.pose().scale(scale, scale, 1);
200204
int line1W = minecraft.font.width(line1);
201205
graphics.fill(-line1W / 2 - 2, -2, line1W / 2 + 2, minecraft.font.lineHeight + 2, Colors.GRAY.withAlpha(100).toInt());
202206
graphics.renderOutline(-line1W / 2 - 2, -2, line1W + 4, minecraft.font.lineHeight + 4, Colors.GRAY.toInt());

1.21/build.gradle.kts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,6 @@ dependencies {
5050
}
5151

5252
implementation(include(project(path = ":common", configuration = "shadow"))!!)
53-
54-
api("org.lwjgl:lwjgl-nanovg:3.3.3")
55-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-linux")
56-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-linux-arm64")
57-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-windows")
58-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-windows-arm64")
59-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-macos")
60-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-macos-arm64")
6153
}
6254

6355
tasks.processResources {

1.21/src/main/java/io/github/axolotlclient/waypoints/AxolotlClientWaypoints.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import io.github.axolotlclient.AxolotlClientConfig.api.manager.ConfigManager;
3636
import io.github.axolotlclient.AxolotlClientConfig.api.options.OptionCategory;
3737
import io.github.axolotlclient.AxolotlClientConfig.impl.managers.VersionedJsonConfigManager;
38+
import io.github.axolotlclient.AxolotlClientConfig.impl.options.FloatOption;
3839
import io.github.axolotlclient.AxolotlClientConfig.impl.util.ConfigStyles;
3940
import io.github.axolotlclient.waypoints.map.Minimap;
4041
import io.github.axolotlclient.waypoints.map.WorldMapScreen;
@@ -70,18 +71,21 @@ public class AxolotlClientWaypoints implements ClientModInitializer {
7071
public static BooleanOption renderWaypoints = new BooleanOption("render_waypoints", true);
7172
public static BooleanOption renderWaypointsInWorld = new BooleanOption("render_waypoints_in_world", true);
7273
public static BooleanOption renderOutOfViewWaypointsOnScreenEdge = new BooleanOption("render_out_of_view_waypoints", true);
74+
public static FloatOption waypointTitleScale = new FloatOption("waypoint_title_scale", 1f, 0.1f, 2f);
7375

74-
private final KeyMapping map = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".world_map", InputConstants.KEY_M, AxolotlClientWaypointsCommon.MODID);
75-
private final KeyMapping manageWaypoints = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".waypoints_menu", InputConstants.KEY_K, AxolotlClientWaypointsCommon.MODID);
76-
private final KeyMapping newWaypoint = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".create_waypoint", InputConstants.KEY_N, AxolotlClientWaypointsCommon.MODID);
76+
private final String category = "key.category."+AxolotlClientWaypointsCommon.MODID+"."+AxolotlClientWaypointsCommon.MODID;
77+
private final KeyMapping map = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".world_map", InputConstants.KEY_M, category);
78+
private final KeyMapping manageWaypoints = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".waypoints_menu", InputConstants.KEY_K, category);
79+
private final KeyMapping newWaypoint = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".create_waypoint", InputConstants.KEY_N, category);
80+
private final KeyMapping toggleWaypointRendering = new KeyMapping(AxolotlClientWaypointsCommon.MODID + ".toggle_waypoint_rendering", InputConstants.UNKNOWN.getValue(), category);
7781

7882
@Override
7983
public void onInitializeClient() {
8084
AxolotlClientWaypointsCommon.init();
8185
MINIMAP.init();
8286

8387
AxolotlClientWaypointsCommon.category.add(waypoints);
84-
waypoints.add(renderWaypoints, renderWaypointsInWorld, renderOutOfViewWaypointsOnScreenEdge);
88+
waypoints.add(renderWaypoints, renderWaypointsInWorld, renderOutOfViewWaypointsOnScreenEdge, waypointTitleScale);
8589

8690
try {
8791
Files.createDirectories(FabricLoader.getInstance().getConfigDir().resolve(AxolotlClientWaypointsCommon.MODID));
@@ -97,6 +101,7 @@ public void onInitializeClient() {
97101
KeyBindingHelper.registerKeyBinding(map);
98102
KeyBindingHelper.registerKeyBinding(manageWaypoints);
99103
KeyBindingHelper.registerKeyBinding(newWaypoint);
104+
KeyBindingHelper.registerKeyBinding(toggleWaypointRendering);
100105
ClientTickEvents.END_CLIENT_TICK.register(mc -> {
101106
if (map.consumeClick()) {
102107
mc.setScreen(new WorldMapScreen());
@@ -105,6 +110,10 @@ public void onInitializeClient() {
105110
} else if (newWaypoint.consumeClick()) {
106111
mc.setScreen(new CreateWaypointScreen(mc.screen));
107112
}
113+
if (toggleWaypointRendering.consumeClick()) {
114+
renderWaypointsInWorld.toggle();
115+
configManager.save();
116+
}
108117
});
109118
NETWORK_LISTENER.init();
110119
}

1.21/src/main/java/io/github/axolotlclient/waypoints/waypoints/WaypointRenderer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,8 @@ private void renderWaypoint(Waypoint waypoint, GuiGraphics graphics, DeltaTracke
203203
var line1 = waypoint.name();
204204
pose.pushPose();
205205
pose.last().pose().translate(pos);
206+
var scale = AxolotlClientWaypoints.waypointTitleScale.get();
207+
graphics.pose().scale(scale, scale, 1);
206208
int line1W = minecraft.font.width(line1);
207209
graphics.fill(-line1W / 2 - 2, -2, line1W / 2 + 2, minecraft.font.lineHeight + 2, Colors.GRAY.withAlpha(100).toInt());
208210
graphics.renderOutline(-line1W / 2 - 2, -2, line1W + 4, minecraft.font.lineHeight + 4, Colors.GRAY.toInt());

1.8.9/build.gradle.kts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,6 @@ dependencies {
4747

4848
implementation(include(project(path = ":common", configuration = "shadow"))!!)
4949

50-
val lwjglVersion = "3.3.5"
51-
api("org.lwjgl:lwjgl-nanovg:$lwjglVersion")
52-
runtimeOnly("org.lwjgl:lwjgl-nanovg:${lwjglVersion}:natives-linux")
53-
runtimeOnly("org.lwjgl:lwjgl-nanovg:${lwjglVersion}:natives-linux-arm64")
54-
runtimeOnly("org.lwjgl:lwjgl-nanovg:${lwjglVersion}:natives-windows")
55-
runtimeOnly("org.lwjgl:lwjgl-nanovg:${lwjglVersion}:natives-windows-arm64")
56-
runtimeOnly("org.lwjgl:lwjgl-nanovg:${lwjglVersion}:natives-macos")
57-
runtimeOnly("org.lwjgl:lwjgl-nanovg:${lwjglVersion}:natives-macos-arm64")
58-
59-
//compileOnly("org.lwjgl:lwjgl-glfw:${lwjglVersion}")
60-
6150
modImplementation("io.github.moehreag:legacy-lwjgl3:${project.property("legacy_lwgjl3")}")
6251

6352
implementation(include("org.joml:joml:1.10.8")!!)

1.8.9/src/main/java/io/github/axolotlclient/waypoints/AxolotlClientWaypoints.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import io.github.axolotlclient.AxolotlClientConfig.api.manager.ConfigManager;
3535
import io.github.axolotlclient.AxolotlClientConfig.api.options.OptionCategory;
3636
import io.github.axolotlclient.AxolotlClientConfig.impl.managers.VersionedJsonConfigManager;
37+
import io.github.axolotlclient.AxolotlClientConfig.impl.options.FloatOption;
3738
import io.github.axolotlclient.AxolotlClientConfig.impl.util.ConfigStyles;
3839
import io.github.axolotlclient.waypoints.map.Minimap;
3940
import io.github.axolotlclient.waypoints.map.WorldMapScreen;
@@ -69,18 +70,21 @@ public class AxolotlClientWaypoints implements ClientModInitializer {
6970
public static BooleanOption renderWaypoints = new BooleanOption("render_waypoints", true);
7071
public static BooleanOption renderWaypointsInWorld = new BooleanOption("render_waypoints_in_world", true);
7172
public static BooleanOption renderOutOfViewWaypointsOnScreenEdge = new BooleanOption("render_out_of_view_waypoints", true);
73+
public static FloatOption waypointTitleScale = new FloatOption("waypoint_title_scale", 1f, 0.1f, 2f);
7274

73-
private final KeyBinding map = new KeyBinding(AxolotlClientWaypointsCommon.MODID + ".world_map", Keyboard.KEY_M, AxolotlClientWaypointsCommon.MODID);
74-
private final KeyBinding manageWaypoints = new KeyBinding(AxolotlClientWaypointsCommon.MODID + ".waypoints_menu", Keyboard.KEY_K, AxolotlClientWaypointsCommon.MODID);
75-
private final KeyBinding newWaypoint = new KeyBinding(AxolotlClientWaypointsCommon.MODID + ".create_waypoint", Keyboard.KEY_N, AxolotlClientWaypointsCommon.MODID);
75+
private final String category = "key.category."+AxolotlClientWaypointsCommon.MODID+"."+AxolotlClientWaypointsCommon.MODID;
76+
private final KeyBinding map = new KeyBinding(AxolotlClientWaypointsCommon.MODID + ".world_map", Keyboard.KEY_M, category);
77+
private final KeyBinding manageWaypoints = new KeyBinding(AxolotlClientWaypointsCommon.MODID + ".waypoints_menu", Keyboard.KEY_K, category);
78+
private final KeyBinding newWaypoint = new KeyBinding(AxolotlClientWaypointsCommon.MODID + ".create_waypoint", Keyboard.KEY_N, category);
79+
private final KeyBinding toggleWaypointRendering = new KeyBinding(AxolotlClientWaypointsCommon.MODID + ".toggle_waypoint_rendering", 0, category);
7680

7781
@Override
7882
public void onInitializeClient() {
7983
AxolotlClientWaypointsCommon.init();
8084
MINIMAP.init();
8185

8286
AxolotlClientWaypointsCommon.category.add(waypoints);
83-
waypoints.add(renderWaypoints, renderWaypointsInWorld, renderOutOfViewWaypointsOnScreenEdge);
87+
waypoints.add(renderWaypoints, renderWaypointsInWorld, renderOutOfViewWaypointsOnScreenEdge, waypointTitleScale);
8488

8589
try {
8690
Files.createDirectories(FabricLoader.getInstance().getConfigDir().resolve(AxolotlClientWaypointsCommon.MODID));
@@ -97,6 +101,7 @@ public void onInitializeClient() {
97101
reg.register(map);
98102
reg.register(manageWaypoints);
99103
reg.register(newWaypoint);
104+
reg.register(toggleWaypointRendering);
100105
});
101106
MinecraftClientEvents.TICK_END.register(mc -> {
102107
if (map.consumeClick()) {
@@ -106,6 +111,10 @@ public void onInitializeClient() {
106111
} else if (newWaypoint.consumeClick()) {
107112
mc.openScreen(new CreateWaypointScreen(mc.screen));
108113
}
114+
if (toggleWaypointRendering.consumeClick()) {
115+
renderWaypointsInWorld.toggle();
116+
configManager.save();
117+
}
109118
});
110119
NETWORK_LISTENER.init();
111120
}
@@ -158,8 +167,4 @@ public static Path getCurrentWorldStorageDir() {
158167
}
159168
return AxolotlClientWaypointsCommon.MOD_STORAGE_DIR.resolve(getB64(str));
160169
}
161-
162-
public static boolean playerHasOp() {
163-
return Minecraft.getInstance().getServer().getPlayerManager().isOp(Minecraft.getInstance().player.getGameProfile());
164-
}
165170
}

1.8.9/src/main/java/io/github/axolotlclient/waypoints/waypoints/WaypointRenderer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@ private void renderWaypoint(Waypoint waypoint, float tick, Entity camera, List<R
227227
var y2 = Math.min(y, displayEnd.y() + 6);
228228
GlStateManager.translatef(0, y2 - y, 0);
229229
}
230+
var scale = AxolotlClientWaypoints.waypointTitleScale.get();
231+
GlStateManager.scalef(scale, scale, 1);
230232
int line1W = minecraft.textRenderer.getWidth(line1);
231233
GuiElement.fill(-line1W / 2 - 2, -2, line1W / 2 + 2, minecraft.textRenderer.fontHeight + 2, Colors.GRAY.withAlpha(100).toInt());
232234
DrawUtil.outlineRect(-line1W / 2 - 2, -2, line1W + 4, minecraft.textRenderer.fontHeight + 4, Colors.GRAY.toInt());

1.latest/build.gradle.kts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,6 @@ dependencies {
5151
modCompileOnly("com.terraformersmc:modmenu:16.0.0-rc.1")
5252

5353
implementation(include(project(path = ":common", configuration = "shadow"))!!)
54-
55-
api("org.lwjgl:lwjgl-nanovg:3.3.3")
56-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-linux")
57-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-linux-arm64")
58-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-windows")
59-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-windows-arm64")
60-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-macos")
61-
runtimeOnly("org.lwjgl:lwjgl-nanovg:3.3.3:natives-macos-arm64")
6254
}
6355

6456
tasks.processResources {

0 commit comments

Comments
 (0)