Fix stale segment fallback - check distance before reusing lastSegment

This commit is contained in:
Noah Shoesmith
2026-09-14 21:13:10 +01:00
parent ae6c5cbbc6
commit 537bca510e
53 changed files with 1888 additions and 899 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1157 -757
View File
File diff suppressed because it is too large Load Diff
+382 -111
View File
@@ -1,111 +1,382 @@
[14Sep2026 20:30:59.542] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserveruserdev, --gameDir, ., --fml.forgeVersion, 47.4.10, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412, --nogui]
[14Sep2026 20:30:59.545] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.20 by Ubuntu; OS Linux arch amd64 version 7.0.0-31-generic
[14Sep2026 20:30:59.625] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: ImmediateWindowProvider not loading because launch target is forgeserveruserdev
[14Sep2026 20:30:59.663] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.5/9d1c0c3a304ae6697ecd477218fa61b850bf57fc/mixin-0.8.5.jar%23116!/ Service=ModLauncher Env=SERVER
[14Sep2026 20:30:59.901] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/net.minecraftforge/javafmllanguage/1.20.1-47.4.10/ccc533c7dd67e0983217197d7549c8b49e7ab453/javafmllanguage-1.20.1-47.4.10.jar is missing mods.toml file
[14Sep2026 20:30:59.902] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/net.minecraftforge/lowcodelanguage/1.20.1-47.4.10/e9a2879fe3612ea34b9728ec2633304a1e67d480/lowcodelanguage-1.20.1-47.4.10.jar is missing mods.toml file
[14Sep2026 20:30:59.903] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/net.minecraftforge/mclanguage/1.20.1-47.4.10/ec5cefbbc65c67302b8fac317010faab85fa14b9/mclanguage-1.20.1-47.4.10.jar is missing mods.toml file
[14Sep2026 20:30:59.904] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/net.minecraftforge/fmlcore/1.20.1-47.4.10/94dae566be650566ea9115a1414ab76bfcf5a804/fmlcore-1.20.1-47.4.10.jar is missing mods.toml file
[14Sep2026 20:30:59.946] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: No dependencies to load found. Skipping!
[14Sep2026 20:31:00.845] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeserveruserdev' with arguments [--gameDir, ., --nogui]
[14Sep2026 20:31:04.242] [modloading-worker-0/INFO] [com.example.ubercraft.UberCraftMod/]: UberCraft Mod Initializing...
[14Sep2026 20:31:04.250] [modloading-worker-0/INFO] [com.example.ubercraft.UberCraftMod/]: UberCraft: loaded road network - 79 nodes, 79 edges
[14Sep2026 20:31:04.251] [modloading-worker-0/INFO] [com.example.ubercraft.UberCraftMod/]: UberCraft: nearest node to (850,-9) is RoadNode{HSE_13 'High Street East' (818,-7)} at distance 32.1
[14Sep2026 20:31:04.256] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 47.4.10, for MC 1.20.1 with MCP 20230612.114412
[14Sep2026 20:31:04.258] [modloading-worker-0/INFO] [net.minecraftforge.common.MinecraftForge/FORGE]: MinecraftForge v47.4.10 Initialized
[14Sep2026 20:31:04.607] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [forge] Starting version check at https://files.minecraftforge.net/net/minecraftforge/forge/promotions_slim.json
[14Sep2026 20:31:05.013] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [forge] Found status: UP_TO_DATE Current: 47.4.10 Target: null
[14Sep2026 20:31:05.281] [main/ERROR] [net.minecraft.server.dedicated.Settings/]: Failed to load properties from file: server.properties
java.nio.file.NoSuchFileException: server.properties
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) ~[?:?]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) ~[?:?]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:218) ~[?:?]
at java.nio.file.Files.newByteChannel(Files.java:380) ~[?:?]
at java.nio.file.Files.newByteChannel(Files.java:432) ~[?:?]
at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422) ~[?:?]
at java.nio.file.Files.newInputStream(Files.java:160) ~[?:?]
at net.minecraft.server.dedicated.Settings.loadFromFile(Settings.java:36) ~[forge-1.20.1-47.4.10_mapped_official_1.20.1-recomp.jar:?]
at net.minecraft.server.dedicated.DedicatedServerProperties.fromFile(DedicatedServerProperties.java:122) ~[forge-1.20.1-47.4.10_mapped_official_1.20.1-recomp.jar:?]
at net.minecraft.server.dedicated.DedicatedServerSettings.<init>(DedicatedServerSettings.java:12) ~[forge-1.20.1-47.4.10_mapped_official_1.20.1-recomp.jar:?]
at net.minecraft.server.Main.main(Main.java:126) ~[forge-1.20.1-47.4.10_mapped_official_1.20.1-recomp.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]
at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.4.10.jar:?]
at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.serverService(CommonLaunchHandler.java:103) ~[fmlloader-1.20.1-47.4.10.jar:?]
at net.minecraftforge.fml.loading.targets.ForgeServerUserdevLaunchHandler.devService(ForgeServerUserdevLaunchHandler.java:16) ~[fmlloader-1.20.1-47.4.10.jar:?]
at net.minecraftforge.fml.loading.targets.CommonDevLaunchHandler.lambda$makeService$7(CommonDevLaunchHandler.java:135) ~[fmlloader-1.20.1-47.4.10.jar:?]
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]
at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]
at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]
at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]
at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]
at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]
[14Sep2026 20:31:05.303] [main/INFO] [com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService/]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[14Sep2026 20:31:05.326] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/home/noah-shoesmith/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.4.10_mapped_official_1.20.1/forge-1.20.1-47.4.10_mapped_official_1.20.1-recomp.jar%23181!/assets/.mcassetsroot' uses unexpected schema
[14Sep2026 20:31:05.326] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/home/noah-shoesmith/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.4.10_mapped_official_1.20.1/forge-1.20.1-47.4.10_mapped_official_1.20.1-recomp.jar%23181!/data/.mcassetsroot' uses unexpected schema
[14Sep2026 20:31:06.245] [main/INFO] [net.minecraft.world.item.crafting.RecipeManager/]: Loaded 7 recipes
[14Sep2026 20:31:06.322] [main/INFO] [net.minecraft.advancements.AdvancementList/]: Loaded 1271 advancements
[14Sep2026 20:31:06.737] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Starting minecraft server version 1.20.1
[14Sep2026 20:31:06.738] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Loading properties
[14Sep2026 20:31:06.738] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Default game type: SURVIVAL
[14Sep2026 20:31:06.738] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Generating keypair
[14Sep2026 20:31:06.818] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Starting Minecraft server on *:25565
[14Sep2026 20:31:06.837] [Server thread/INFO] [net.minecraft.server.network.ServerConnectionListener/]: Using epoll channel type
[14Sep2026 20:31:06.915] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Configuration file ./world/serverconfig/forge-server.toml is not correct. Correcting
[14Sep2026 20:31:06.915] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server was corrected from null to its default, SimpleCommentedConfig:{}.
[14Sep2026 20:31:06.915] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.removeErroringBlockEntities was corrected from null to its default, false.
[14Sep2026 20:31:06.915] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.removeErroringEntities was corrected from null to its default, false.
[14Sep2026 20:31:06.916] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.fullBoundingBoxLadders was corrected from null to its default, false.
[14Sep2026 20:31:06.916] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.zombieBaseSummonChance was corrected from null to its default, 0.1.
[14Sep2026 20:31:06.916] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.zombieBabyChance was corrected from null to its default, 0.05.
[14Sep2026 20:31:06.916] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.permissionHandler was corrected from null to its default, forge:default_handler.
[14Sep2026 20:31:06.916] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.advertiseDedicatedServerToLan was corrected from null to its default, true.
[14Sep2026 20:31:06.916] [Server thread/WARN] [net.minecraftforge.common.ForgeConfigSpec/CORE]: Incorrect key server.useItemWithDurationZero was corrected from null to its default, false.
[14Sep2026 20:31:06.935] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Preparing level "world"
[14Sep2026 20:31:09.438] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Preparing start region for dimension minecraft:overworld
[14Sep2026 20:31:09.961] [Worker-Main-8/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 20:31:09.966] [Worker-Main-11/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 20:31:10.441] [Worker-Main-15/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 20:31:11.015] [Worker-Main-9/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 20:31:11.439] [Worker-Main-2/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 1%
[14Sep2026 20:31:11.951] [Worker-Main-1/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 3%
[14Sep2026 20:31:12.440] [Worker-Main-4/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 5%
[14Sep2026 20:31:12.939] [Worker-Main-1/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 9%
[14Sep2026 20:31:13.440] [Worker-Main-4/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 12%
[14Sep2026 20:31:13.943] [Worker-Main-7/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 17%
[14Sep2026 20:31:14.441] [Worker-Main-4/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 21%
[14Sep2026 20:31:14.944] [Worker-Main-1/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 25%
[14Sep2026 20:31:15.438] [Worker-Main-9/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 30%
[14Sep2026 20:31:15.938] [Worker-Main-9/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 33%
[14Sep2026 20:31:16.440] [Worker-Main-14/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 37%
[14Sep2026 20:31:16.938] [Worker-Main-14/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 42%
[14Sep2026 20:31:17.440] [Worker-Main-14/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 46%
[14Sep2026 20:31:17.939] [Worker-Main-11/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 52%
[14Sep2026 20:31:18.443] [Worker-Main-11/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 56%
[14Sep2026 20:31:18.942] [Worker-Main-4/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 61%
[14Sep2026 20:31:19.440] [Worker-Main-8/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 65%
[14Sep2026 20:31:19.947] [Worker-Main-1/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 70%
[14Sep2026 20:31:20.445] [Worker-Main-14/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 75%
[14Sep2026 20:31:20.941] [Worker-Main-14/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 81%
[14Sep2026 20:31:21.439] [Worker-Main-13/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 85%
[14Sep2026 20:31:21.939] [Worker-Main-14/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 88%
[14Sep2026 20:31:22.443] [Worker-Main-13/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 94%
[14Sep2026 20:31:22.831] [Server thread/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Time elapsed: 13393 ms
[14Sep2026 20:31:22.831] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Done (15.921s)! For help, type "help"
[14Sep2026 20:31:22.841] [Server thread/INFO] [net.minecraftforge.gametest.ForgeGameTestHooks/]: Enabled Gametest Namespaces: [examplemod]
[14Sep2026 20:31:22.844] [Server thread/INFO] [net.minecraftforge.server.permission.PermissionAPI/]: Successfully initialized permission handler forge:default_handler
[14Sep2026 20:33:07.343] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Stopping server
[14Sep2026 20:33:07.344] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving players
[14Sep2026 20:33:07.344] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving worlds
[14Sep2026 20:33:07.867] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
[14Sep2026 20:33:10.757] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
[14Sep2026 20:33:10.758] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
[14Sep2026 20:33:10.774] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (world): All chunks are saved
[14Sep2026 20:33:10.774] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[14Sep2026 20:33:10.774] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[14Sep2026 20:33:10.775] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage: All dimensions are saved
[14Sep2026 21:05:17.950] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserveruserdev, --gameDir, ., --fml.forgeVersion, 47.4.10, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412, --nogui]
[14Sep2026 21:05:17.952] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.20 by Ubuntu; OS Linux arch amd64 version 7.0.0-31-generic
[14Sep2026 21:05:18.036] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: ImmediateWindowProvider not loading because launch target is forgeserveruserdev
[14Sep2026 21:05:18.073] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.5/9d1c0c3a304ae6697ecd477218fa61b850bf57fc/mixin-0.8.5.jar%23116!/ Service=ModLauncher Env=SERVER
[14Sep2026 21:05:18.303] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/net.minecraftforge/javafmllanguage/1.20.1-47.4.10/ccc533c7dd67e0983217197d7549c8b49e7ab453/javafmllanguage-1.20.1-47.4.10.jar is missing mods.toml file
[14Sep2026 21:05:18.304] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/net.minecraftforge/lowcodelanguage/1.20.1-47.4.10/e9a2879fe3612ea34b9728ec2633304a1e67d480/lowcodelanguage-1.20.1-47.4.10.jar is missing mods.toml file
[14Sep2026 21:05:18.304] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/net.minecraftforge/mclanguage/1.20.1-47.4.10/ec5cefbbc65c67302b8fac317010faab85fa14b9/mclanguage-1.20.1-47.4.10.jar is missing mods.toml file
[14Sep2026 21:05:18.305] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/noah-shoesmith/.gradle/caches/modules-2/files-2.1/net.minecraftforge/fmlcore/1.20.1-47.4.10/94dae566be650566ea9115a1414ab76bfcf5a804/fmlcore-1.20.1-47.4.10.jar is missing mods.toml file
[14Sep2026 21:05:18.347] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: No dependencies to load found. Skipping!
[14Sep2026 21:05:19.256] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeserveruserdev' with arguments [--gameDir, ., --nogui]
[14Sep2026 21:05:22.803] [modloading-worker-0/INFO] [com.example.ubercraft.UberCraftMod/]: UberCraft Mod Initializing...
[14Sep2026 21:05:22.814] [modloading-worker-0/INFO] [com.example.ubercraft.UberCraftMod/]: UberCraft: loaded road network - 79 nodes, 79 edges
[14Sep2026 21:05:22.817] [modloading-worker-0/INFO] [com.example.ubercraft.UberCraftMod/]: UberCraft: nearest node to (850,-9) is RoadNode{HSE_13 'High Street East' (818,-7)} at distance 32.1
[14Sep2026 21:05:22.819] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 47.4.10, for MC 1.20.1 with MCP 20230612.114412
[14Sep2026 21:05:22.819] [modloading-worker-0/INFO] [net.minecraftforge.common.MinecraftForge/FORGE]: MinecraftForge v47.4.10 Initialized
[14Sep2026 21:05:22.824] [modloading-worker-0/INFO] [com.example.ubercraft.UberCraftMod/]: UberCraft: PlayerTickHandler registered
[14Sep2026 21:05:23.147] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [forge] Starting version check at https://files.minecraftforge.net/net/minecraftforge/forge/promotions_slim.json
[14Sep2026 21:05:23.498] [Forge Version Check/INFO] [net.minecraftforge.fml.VersionChecker/]: [forge] Found status: UP_TO_DATE Current: 47.4.10 Target: null
[14Sep2026 21:05:23.822] [main/INFO] [com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService/]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[14Sep2026 21:05:23.876] [main/INFO] [net.minecraftforge.registries.GameData/REGISTRIES]: Injecting existing registry data into this CLIENT instance
[14Sep2026 21:05:24.274] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/home/noah-shoesmith/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.4.10_mapped_official_1.20.1/forge-1.20.1-47.4.10_mapped_official_1.20.1-recomp.jar%23181!/assets/.mcassetsroot' uses unexpected schema
[14Sep2026 21:05:24.274] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/home/noah-shoesmith/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.4.10_mapped_official_1.20.1/forge-1.20.1-47.4.10_mapped_official_1.20.1-recomp.jar%23181!/data/.mcassetsroot' uses unexpected schema
[14Sep2026 21:05:25.201] [main/INFO] [net.minecraft.world.item.crafting.RecipeManager/]: Loaded 7 recipes
[14Sep2026 21:05:25.271] [main/INFO] [net.minecraft.advancements.AdvancementList/]: Loaded 1271 advancements
[14Sep2026 21:05:25.652] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Starting minecraft server version 1.20.1
[14Sep2026 21:05:25.652] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Loading properties
[14Sep2026 21:05:25.652] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Default game type: SURVIVAL
[14Sep2026 21:05:25.653] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Generating keypair
[14Sep2026 21:05:25.710] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Starting Minecraft server on *:25565
[14Sep2026 21:05:25.728] [Server thread/INFO] [net.minecraft.server.network.ServerConnectionListener/]: Using epoll channel type
[14Sep2026 21:05:25.820] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Preparing level "world"
[14Sep2026 21:05:26.542] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Preparing start region for dimension minecraft:overworld
[14Sep2026 21:05:28.376] [Worker-Main-7/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 21:05:28.404] [Worker-Main-12/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 21:05:28.409] [Worker-Main-8/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 21:05:28.414] [Worker-Main-8/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 21:05:28.545] [Worker-Main-5/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 0%
[14Sep2026 21:05:29.043] [Worker-Main-5/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Preparing spawn area: 60%
[14Sep2026 21:05:29.229] [Server thread/INFO] [net.minecraft.server.level.progress.LoggerChunkProgressListener/]: Time elapsed: 2687 ms
[14Sep2026 21:05:29.230] [Server thread/INFO] [net.minecraft.server.dedicated.DedicatedServer/]: Done (3.433s)! For help, type "help"
[14Sep2026 21:05:29.240] [Server thread/INFO] [net.minecraftforge.gametest.ForgeGameTestHooks/]: Enabled Gametest Namespaces: [examplemod]
[14Sep2026 21:05:29.244] [Server thread/INFO] [net.minecraftforge.server.permission.PermissionAPI/]: Successfully initialized permission handler forge:default_handler
[14Sep2026 21:06:09.172] [User Authenticator #1/INFO] [net.minecraft.server.network.ServerLoginPacketListenerImpl/]: UUID of player ItsNRS is fbd7140e-f6d9-4314-9079-a578c3d9bd34
[14Sep2026 21:06:10.674] [Server thread/INFO] [net.minecraft.server.players.PlayerList/]: ItsNRS[/127.0.0.1:46542] logged in with entity id 240 at (-7.7909511648268985, 96.0, 8.42668821195973)
[14Sep2026 21:06:10.693] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ItsNRS joined the game
[14Sep2026 21:06:11.655] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -42.9 -> OFF ROAD
[14Sep2026 21:06:12.674] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -42.9 -> OFF ROAD
[14Sep2026 21:06:13.671] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -39.2 -> OFF ROAD
[14Sep2026 21:06:14.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -36.6 -> OFF ROAD
[14Sep2026 21:06:15.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -69.5 -> OFF ROAD
[14Sep2026 21:06:16.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -73.4 -> OFF ROAD
[14Sep2026 21:06:17.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -75.8 -> OFF ROAD
[14Sep2026 21:06:18.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -125.7 -> OFF ROAD
[14Sep2026 21:06:19.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:20.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:21.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:22.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:23.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:24.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:25.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:26.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:27.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:28.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:29.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:30.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:31.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:32.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:33.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:34.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:35.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:36.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:37.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:38.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:39.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:40.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:41.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:42.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:43.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:44.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.8, 8.4) heading -21.0 -> OFF ROAD
[14Sep2026 21:06:45.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-8.1, 9.2) heading 10.5 -> OFF ROAD
[14Sep2026 21:06:46.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-9.6, 14.2) heading 64.2 -> OFF ROAD
[14Sep2026 21:06:47.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-14.9, 15.6) heading 79.5 -> OFF ROAD
[14Sep2026 21:06:48.663] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-20.8, 16.0) heading 79.5 -> OFF ROAD
[14Sep2026 21:06:49.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-22.8, 16.4) heading 79.5 -> OFF ROAD
[14Sep2026 21:06:50.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-21.4, 16.7) heading -79.5 -> OFF ROAD
[14Sep2026 21:06:51.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-15.4, 16.8) heading -57.3 -> OFF ROAD
[14Sep2026 21:06:52.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-9.6, 16.3) heading -52.6 -> OFF ROAD
[14Sep2026 21:06:53.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-3.9, 15.5) heading -52.6 -> OFF ROAD
[14Sep2026 21:06:54.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-6.0, 15.6) heading 97.4 -> OFF ROAD
[14Sep2026 21:06:55.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-11.6, 14.9) heading 97.4 -> OFF ROAD
[14Sep2026 21:06:56.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-15.1, 11.4) heading 168.5 -> OFF ROAD
[14Sep2026 21:06:57.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-16.1, 6.2) heading 168.9 -> OFF ROAD
[14Sep2026 21:06:58.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-13.3, 1.4) heading -96.6 -> OFF ROAD
[14Sep2026 21:06:59.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-7.5, 0.3) heading -97.2 -> OFF ROAD
[14Sep2026 21:07:00.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (-3.5, -3.5) heading -100.2 -> OFF ROAD
[14Sep2026 21:07:01.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (1.5, -5.3) heading -100.2 -> OFF ROAD
[14Sep2026 21:07:02.649] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (6.3, -7.4) heading -100.2 -> OFF ROAD
[14Sep2026 21:07:03.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (11.9, -7.7) heading -92.7 -> OFF ROAD
[14Sep2026 21:07:04.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (17.9, -8.1) heading -95.0 -> OFF ROAD
[14Sep2026 21:07:05.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (24.4, -8.8) heading -103.1 -> OFF ROAD
[14Sep2026 21:07:06.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (28.0, -10.2) heading -103.8 -> OFF ROAD
[14Sep2026 21:07:07.655] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (33.9, -11.7) heading -103.1 -> OFF ROAD
[14Sep2026 21:07:08.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (39.7, -12.7) heading -92.1 -> OFF ROAD
[14Sep2026 21:07:09.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (44.7, -11.1) heading -92.3 -> OFF ROAD
[14Sep2026 21:07:10.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (50.1, -11.3) heading -93.6 -> OFF ROAD
[14Sep2026 21:07:11.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (53.4, -13.1) heading -98.0 -> OFF ROAD
[14Sep2026 21:07:12.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (56.9, -13.1) heading -99.2 -> OFF ROAD
[14Sep2026 21:07:13.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (62.7, -14.0) heading -98.7 -> OFF ROAD
[14Sep2026 21:07:14.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (69.8, -15.1) heading -97.5 -> OFF ROAD
[14Sep2026 21:07:15.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (75.7, -17.7) heading -89.1 -> OFF ROAD
[14Sep2026 21:07:16.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (80.9, -17.5) heading -66.2 -> OFF ROAD
[14Sep2026 21:07:17.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (85.9, -14.1) heading -51.3 -> OFF ROAD
[14Sep2026 21:07:18.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (91.2, -9.6) heading -50.4 -> OFF ROAD
[14Sep2026 21:07:19.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (93.7, -6.5) heading -61.7 -> OFF ROAD
[14Sep2026 21:07:20.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (98.3, -4.7) heading -82.4 -> OFF ROAD
[14Sep2026 21:07:21.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (104.4, -3.1) heading -82.4 -> OFF ROAD
[14Sep2026 21:07:22.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (110.5, -1.2) heading -83.7 -> OFF ROAD
[14Sep2026 21:07:23.659] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (115.0, 0.6) heading -84.8 -> OFF ROAD
[14Sep2026 21:07:24.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (119.7, 0.6) heading -91.8 -> OFF ROAD
[14Sep2026 21:07:25.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (124.4, -0.6) heading -81.8 -> OFF ROAD
[14Sep2026 21:07:26.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (129.2, -1.8) heading -94.8 -> OFF ROAD
[14Sep2026 21:07:27.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (133.8, -3.9) heading -105.9 -> OFF ROAD
[14Sep2026 21:07:28.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (138.1, -6.6) heading -105.3 -> OFF ROAD
[14Sep2026 21:07:29.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (142.8, -8.5) heading -105.3 -> OFF ROAD
[14Sep2026 21:07:30.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (147.6, -9.7) heading -105.3 -> OFF ROAD
[14Sep2026 21:07:31.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (152.8, -11.1) heading -105.3 -> OFF ROAD
[14Sep2026 21:07:32.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (157.5, -13.0) heading -105.5 -> OFF ROAD
[14Sep2026 21:07:33.659] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (162.7, -14.4) heading -101.4 -> OFF ROAD
[14Sep2026 21:07:34.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (167.9, -15.4) heading -100.1 -> OFF ROAD
[14Sep2026 21:07:35.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (173.8, -16.4) heading -100.1 -> OFF ROAD
[14Sep2026 21:07:36.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (179.4, -17.4) heading -95.7 -> OFF ROAD
[14Sep2026 21:07:37.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (184.7, -17.7) heading -92.7 -> OFF ROAD
[14Sep2026 21:07:38.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (190.4, -17.9) heading -92.0 -> OFF ROAD
[14Sep2026 21:07:39.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (195.7, -18.2) heading -93.2 -> OFF ROAD
[14Sep2026 21:07:40.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (200.9, -19.5) heading -95.4 -> OFF ROAD
[14Sep2026 21:07:41.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (204.9, -20.7) heading -95.4 -> OFF ROAD
[14Sep2026 21:07:42.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (209.6, -21.2) heading -96.0 -> OFF ROAD
[14Sep2026 21:07:43.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (213.7, -23.2) heading -102.3 -> OFF ROAD
[14Sep2026 21:07:44.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (218.4, -24.1) heading -99.2 -> OFF ROAD
[14Sep2026 21:07:45.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (222.9, -25.9) heading -90.5 -> OFF ROAD
[14Sep2026 21:07:46.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (227.5, -28.1) heading -90.8 -> OFF ROAD
[14Sep2026 21:07:47.655] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (233.0, -29.1) heading -98.6 -> OFF ROAD
[14Sep2026 21:07:48.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (238.9, -28.7) heading -83.0 -> OFF ROAD
[14Sep2026 21:07:49.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (244.9, -27.4) heading -77.4 -> OFF ROAD
[14Sep2026 21:07:50.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (248.2, -27.3) heading -79.7 -> OFF ROAD
[14Sep2026 21:07:51.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (254.7, -25.8) heading -72.0 -> OFF ROAD
[14Sep2026 21:07:52.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (257.1, -22.8) heading -54.8 -> OFF ROAD
[14Sep2026 21:07:53.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (262.4, -20.4) heading -80.0 -> OFF ROAD
[14Sep2026 21:07:54.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (265.3, -18.4) heading -87.2 -> OFF ROAD
[14Sep2026 21:07:55.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (269.1, -16.6) heading -86.4 -> OFF ROAD
[14Sep2026 21:07:56.655] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (272.4, -16.7) heading -87.5 -> OFF ROAD
[14Sep2026 21:07:57.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (272.8, -17.5) heading -92.4 -> OFF ROAD
[14Sep2026 21:07:58.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (276.8, -18.9) heading -98.0 -> OFF ROAD
[14Sep2026 21:07:59.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (279.3, -19.9) heading -100.4 -> OFF ROAD
[14Sep2026 21:08:00.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (282.9, -22.1) heading -105.6 -> OFF ROAD
[14Sep2026 21:08:01.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (286.5, -23.3) heading -79.4 -> OFF ROAD
[14Sep2026 21:08:02.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (289.2, -22.3) heading -82.1 -> OFF ROAD
[14Sep2026 21:08:03.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (293.5, -22.0) heading -88.2 -> OFF ROAD
[14Sep2026 21:08:04.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (299.6, -22.2) heading -97.5 -> OFF ROAD
[14Sep2026 21:08:05.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (303.0, -22.7) heading -76.8 -> OFF ROAD
[14Sep2026 21:08:06.655] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (304.6, -20.8) heading -56.7 -> OFF ROAD
[14Sep2026 21:08:07.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (308.0, -18.1) heading -63.5 -> OFF ROAD
[14Sep2026 21:08:08.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (312.2, -16.1) heading -63.8 -> OFF ROAD
[14Sep2026 21:08:09.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (316.5, -13.3) heading -58.7 -> OFF ROAD
[14Sep2026 21:08:10.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (320.8, -9.7) heading -48.6 -> OFF ROAD
[14Sep2026 21:08:11.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (325.0, -6.0) heading -51.9 -> OFF ROAD
[14Sep2026 21:08:12.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (329.1, -3.7) heading -84.3 -> OFF ROAD
[14Sep2026 21:08:13.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (332.1, -4.6) heading -94.1 -> OFF ROAD
[14Sep2026 21:08:14.676] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (337.3, -4.7) heading -86.7 -> OFF ROAD
[14Sep2026 21:08:15.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (343.2, -4.5) heading -87.3 -> OFF ROAD
[14Sep2026 21:08:16.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (345.7, -4.6) heading -90.0 -> OFF ROAD
[14Sep2026 21:08:17.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (348.3, -4.6) heading -89.6 -> OFF ROAD
[14Sep2026 21:08:18.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (354.6, -3.7) heading -39.6 -> OFF ROAD
[14Sep2026 21:08:19.662] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (356.4, 0.2) heading -69.2 -> OFF ROAD
[14Sep2026 21:08:20.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (357.9, 1.2) heading -78.2 -> OFF ROAD
[14Sep2026 21:08:21.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (362.3, 2.1) heading -84.2 -> OFF ROAD
[14Sep2026 21:08:22.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (365.0, 2.4) heading -84.2 -> OFF ROAD
[14Sep2026 21:08:23.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (369.3, 2.7) heading -86.6 -> OFF ROAD
[14Sep2026 21:08:24.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (371.8, 2.3) heading -86.6 -> OFF ROAD
[14Sep2026 21:08:25.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (376.4, 2.6) heading -89.1 -> OFF ROAD
[14Sep2026 21:08:26.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (379.7, 2.7) heading -87.2 -> OFF ROAD
[14Sep2026 21:08:27.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (383.9, 2.9) heading -87.0 -> OFF ROAD
[14Sep2026 21:08:28.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (388.9, 4.1) heading -65.3 -> OFF ROAD
[14Sep2026 21:08:29.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (394.0, 6.1) heading -54.3 -> OFF ROAD
[14Sep2026 21:08:30.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (398.4, 10.3) heading -42.5 -> OFF ROAD
[14Sep2026 21:08:31.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (403.5, 14.8) heading -42.5 -> OFF ROAD
[14Sep2026 21:08:32.674] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (405.3, 18.9) heading -35.4 -> OFF ROAD
[14Sep2026 21:08:33.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (408.3, 22.4) heading -86.9 -> OFF ROAD
[14Sep2026 21:08:34.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (410.0, 19.5) heading -116.9 -> OFF ROAD
[14Sep2026 21:08:35.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (412.0, 19.1) heading -19.5 -> OFF ROAD
[14Sep2026 21:08:36.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (413.3, 20.5) heading -11.9 -> OFF ROAD
[14Sep2026 21:08:37.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (413.4, 22.9) heading -1.7 -> OFF ROAD
[14Sep2026 21:08:38.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (413.4, 24.4) heading 3.9 -> OFF ROAD
[14Sep2026 21:08:39.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (412.8, 26.1) heading 15.0 -> OFF ROAD
[14Sep2026 21:08:40.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (412.1, 28.7) heading 31.2 -> OFF ROAD
[14Sep2026 21:08:41.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (411.1, 29.8) heading 61.8 -> OFF ROAD
[14Sep2026 21:08:42.656] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (409.0, 30.1) heading 81.3 -> OFF ROAD
[14Sep2026 21:08:43.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (412.7, 31.2) heading -63.2 -> OFF ROAD
[14Sep2026 21:08:44.669] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (416.3, 30.1) heading -104.0 -> OFF ROAD
[14Sep2026 21:08:45.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (419.1, 28.7) heading -104.1 -> OFF ROAD
[14Sep2026 21:08:46.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (421.8, 25.9) heading -105.0 -> OFF ROAD
[14Sep2026 21:08:47.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (426.9, 24.6) heading -106.1 -> OFF ROAD
[14Sep2026 21:08:48.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (427.7, 25.1) heading -91.4 -> OFF ROAD
[14Sep2026 21:08:49.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (428.7, 24.4) heading -86.9 -> OFF ROAD
[14Sep2026 21:08:50.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (429.7, 27.1) heading -59.3 -> OFF ROAD
[14Sep2026 21:08:51.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (433.7, 27.5) heading -98.7 -> OFF ROAD
[14Sep2026 21:08:52.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (438.5, 26.4) heading -99.3 -> OFF ROAD
[14Sep2026 21:08:53.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (442.7, 25.6) heading -95.1 -> OFF ROAD
[14Sep2026 21:08:54.664] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (448.8, 25.2) heading -87.8 -> OFF ROAD
[14Sep2026 21:08:55.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (454.7, 25.0) heading -92.3 -> OFF ROAD
[14Sep2026 21:08:56.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (459.5, 24.2) heading -67.4 -> OFF ROAD
[14Sep2026 21:08:57.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (465.1, 26.7) heading -66.8 -> OFF ROAD
[14Sep2026 21:08:58.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (469.8, 29.3) heading -62.6 -> OFF ROAD
[14Sep2026 21:08:59.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (474.6, 30.8) heading -42.6 -> OFF ROAD
[14Sep2026 21:09:00.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (475.6, 32.5) heading -51.2 -> OFF ROAD
[14Sep2026 21:09:01.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (475.8, 32.7) heading -29.9 -> OFF ROAD
[14Sep2026 21:09:02.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (475.5, 34.0) heading 18.7 -> OFF ROAD
[14Sep2026 21:09:03.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (474.8, 34.6) heading 96.0 -> OFF ROAD
[14Sep2026 21:09:04.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (473.6, 34.7) heading 89.2 -> OFF ROAD
[14Sep2026 21:09:05.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (472.8, 35.1) heading 172.3 -> OFF ROAD
[14Sep2026 21:09:06.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (472.1, 34.6) heading -141.5 -> OFF ROAD
[14Sep2026 21:09:07.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (470.7, 34.6) heading -110.6 -> OFF ROAD
[14Sep2026 21:09:08.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (471.9, 35.5) heading -136.4 -> OFF ROAD
[14Sep2026 21:09:09.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (472.1, 35.1) heading -143.3 -> OFF ROAD
[14Sep2026 21:09:10.656] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (476.3, 33.8) heading -89.1 -> OFF ROAD
[14Sep2026 21:09:11.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (479.8, 31.4) heading 39.9 -> OFF ROAD
[14Sep2026 21:09:12.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (478.8, 32.2) heading 95.7 -> OFF ROAD
[14Sep2026 21:09:13.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (477.6, 32.8) heading 48.0 -> OFF ROAD
[14Sep2026 21:09:14.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (476.5, 34.0) heading 44.2 -> OFF ROAD
[14Sep2026 21:09:15.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (475.2, 34.8) heading 24.4 -> OFF ROAD
[14Sep2026 21:09:16.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (475.2, 35.6) heading -97.8 -> OFF ROAD
[14Sep2026 21:09:17.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (479.0, 33.3) heading -119.3 -> OFF ROAD
[14Sep2026 21:09:18.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (483.2, 30.4) heading -101.3 -> OFF ROAD
[14Sep2026 21:09:19.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (487.8, 32.6) heading -63.6 -> OFF ROAD
[14Sep2026 21:09:20.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (490.8, 33.7) heading -128.3 -> OFF ROAD
[14Sep2026 21:09:21.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (495.2, 33.8) heading -100.4 -> OFF ROAD
[14Sep2026 21:09:22.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (500.4, 33.7) heading -81.6 -> OFF ROAD
[14Sep2026 21:09:23.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (504.9, 32.4) heading 16.3 -> OFF ROAD
[14Sep2026 21:09:24.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (508.3, 31.0) heading -129.2 -> OFF ROAD
[14Sep2026 21:09:25.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (511.8, 29.4) heading 162.6 -> OFF ROAD
[14Sep2026 21:09:26.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (511.9, 25.2) heading -166.1 -> OFF ROAD
[14Sep2026 21:09:27.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (513.3, 20.9) heading -38.7 -> OFF ROAD
[14Sep2026 21:09:28.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (516.9, 19.8) heading -83.6 -> OFF ROAD
[14Sep2026 21:09:29.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (522.4, 20.3) heading -85.2 -> OFF ROAD
[14Sep2026 21:09:30.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (526.0, 18.1) heading -90.8 -> OFF ROAD
[14Sep2026 21:09:31.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (531.9, 17.2) heading -110.6 -> OFF ROAD
[14Sep2026 21:09:32.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (535.5, 13.3) heading -98.7 -> OFF ROAD
[14Sep2026 21:09:33.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (540.8, 12.5) heading -88.2 -> OFF ROAD
[14Sep2026 21:09:34.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (545.9, 13.3) heading -65.4 -> OFF ROAD
[14Sep2026 21:09:35.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (550.4, 14.7) heading -82.0 -> OFF ROAD
[14Sep2026 21:09:36.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (555.2, 14.0) heading -98.4 -> OFF ROAD
[14Sep2026 21:09:37.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (559.5, 10.8) heading -96.5 -> OFF ROAD
[14Sep2026 21:09:38.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (564.9, 9.9) heading -91.3 -> OFF ROAD
[14Sep2026 21:09:39.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (569.5, 8.7) heading -83.4 -> OFF ROAD
[14Sep2026 21:09:40.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (572.8, 8.2) heading -115.2 -> OFF ROAD
[14Sep2026 21:09:41.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.9, 4.3) heading -135.8 -> OFF ROAD
[14Sep2026 21:09:42.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (578.6, 2.7) heading -162.2 -> OFF ROAD
[14Sep2026 21:09:43.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (579.7, -3.2) heading -175.5 -> OFF ROAD
[14Sep2026 21:09:44.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (580.0, -5.7) heading -179.4 -> OFF ROAD
[14Sep2026 21:09:45.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (579.4, -5.7) heading 7.0 -> OFF ROAD
[14Sep2026 21:09:46.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (579.4, -5.7) heading 86.5 -> OFF ROAD
[14Sep2026 21:09:47.669] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.0, -5.4) heading 86.8 -> OFF ROAD
[14Sep2026 21:09:48.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (573.6, -5.3) heading 100.3 -> OFF ROAD
[14Sep2026 21:09:49.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (573.1, -5.5) heading -122.1 -> OFF ROAD
[14Sep2026 21:09:50.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (570.0, -5.1) heading 124.6 -> OFF ROAD
[14Sep2026 21:09:51.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (566.2, -6.1) heading 124.3 -> OFF ROAD
[14Sep2026 21:09:52.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (562.5, -6.8) heading 134.8 -> OFF ROAD
[14Sep2026 21:09:53.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (559.0, -8.8) heading 162.1 -> OFF ROAD
[14Sep2026 21:09:54.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (558.6, -12.9) heading -170.4 -> OFF ROAD
[14Sep2026 21:09:55.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (558.9, -16.5) heading 177.9 -> OFF ROAD
[14Sep2026 21:09:56.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (559.7, -18.7) heading 149.8 -> OFF ROAD
[14Sep2026 21:09:57.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (559.7, -18.7) heading -30.9 -> OFF ROAD
[14Sep2026 21:09:58.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (560.9, -18.2) heading -90.2 -> OFF ROAD
[14Sep2026 21:09:59.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (562.9, -18.2) heading -93.5 -> OFF ROAD
[14Sep2026 21:10:00.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (564.9, -18.8) heading -93.0 -> OFF ROAD
[14Sep2026 21:10:01.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (567.9, -20.3) heading -91.4 -> OFF ROAD
[14Sep2026 21:10:02.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (571.7, -20.3) heading -86.0 -> OFF ROAD
[14Sep2026 21:10:03.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (574.7, -19.3) heading -92.4 -> OFF ROAD
[14Sep2026 21:10:04.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.6) heading -94.4 -> OFF ROAD
[14Sep2026 21:10:05.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 100.2 -> OFF ROAD
[14Sep2026 21:10:06.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 99.6 -> OFF ROAD
[14Sep2026 21:10:07.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 99.6 -> OFF ROAD
[14Sep2026 21:10:08.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 99.6 -> OFF ROAD
[14Sep2026 21:10:09.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 80.5 -> OFF ROAD
[14Sep2026 21:10:10.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 59.8 -> OFF ROAD
[14Sep2026 21:10:11.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 97.5 -> OFF ROAD
[14Sep2026 21:10:12.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 58.3 -> OFF ROAD
[14Sep2026 21:10:13.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 89.7 -> OFF ROAD
[14Sep2026 21:10:14.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.7, -19.7) heading 152.5 -> OFF ROAD
[14Sep2026 21:10:15.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (575.4, -19.7) heading 124.2 -> OFF ROAD
[14Sep2026 21:10:16.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (574.5, -19.7) heading 131.4 -> OFF ROAD
[14Sep2026 21:10:17.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (572.0, -19.8) heading 101.7 -> OFF ROAD
[14Sep2026 21:10:18.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (570.1, -21.0) heading -174.3 -> OFF ROAD
[14Sep2026 21:10:19.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (570.7, -23.6) heading -89.0 -> OFF ROAD
[14Sep2026 21:10:20.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (572.7, -23.8) heading -93.9 -> OFF ROAD
[14Sep2026 21:10:21.657] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (576.0, -26.2) heading -160.1 -> OFF ROAD
[14Sep2026 21:10:22.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (578.4, -31.3) heading -147.0 -> OFF ROAD
[14Sep2026 21:10:23.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (580.7, -36.7) heading -170.7 -> OFF ROAD
[14Sep2026 21:10:24.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (581.7, -38.5) heading -96.0 -> OFF ROAD
[14Sep2026 21:10:25.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (585.1, -39.7) heading -128.1 -> OFF ROAD
[14Sep2026 21:10:26.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (584.5, -39.8) heading -171.5 -> OFF ROAD
[14Sep2026 21:10:27.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (586.6, -42.3) heading -148.4 -> OFF ROAD
[14Sep2026 21:10:28.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (587.7, -44.1) heading -147.6 -> OFF ROAD
[14Sep2026 21:10:29.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (588.7, -46.7) heading -161.0 -> OFF ROAD
[14Sep2026 21:10:30.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (589.8, -49.0) heading -138.9 -> OFF ROAD
[14Sep2026 21:10:31.657] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (592.5, -53.5) heading -106.4 -> OFF ROAD
[14Sep2026 21:10:32.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (595.7, -54.6) heading -116.9 -> Liverpool Road [TWOWAY] score=0.87
[14Sep2026 21:10:33.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (599.2, -58.0) heading -115.8 -> Liverpool Road [TWOWAY] score=0.73
[14Sep2026 21:10:34.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (604.6, -60.6) heading -103.4 -> Liverpool Road [TWOWAY] score=0.00
[14Sep2026 21:10:35.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (609.3, -61.5) heading -100.2 -> Liverpool Road [TWOWAY] score=0.00
[14Sep2026 21:10:36.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (612.8, -63.6) heading -120.0 -> Liverpool Road [TWOWAY] score=0.00
[14Sep2026 21:10:37.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (613.8, -65.0) heading -113.9 -> Liverpool Road [TWOWAY] score=0.00
[14Sep2026 21:10:38.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (615.7, -67.0) heading -146.1 -> OFF ROAD
[14Sep2026 21:10:39.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (616.7, -69.2) heading -165.6 -> OFF ROAD
[14Sep2026 21:10:40.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (616.8, -69.9) heading 179.1 -> OFF ROAD
[14Sep2026 21:10:41.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (616.8, -71.4) heading 178.8 -> OFF ROAD
[14Sep2026 21:10:42.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (616.6, -73.0) heading 164.8 -> OFF ROAD
[14Sep2026 21:10:43.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (616.3, -73.8) heading 135.1 -> Finsbury Circus [ONEWAY] score=0.84
[14Sep2026 21:10:44.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (615.7, -74.0) heading 154.8 -> Finsbury Circus [ONEWAY] score=0.83
[14Sep2026 21:10:45.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (615.2, -75.1) heading 89.1 -> Finsbury Circus [ONEWAY] score=1.06
[14Sep2026 21:10:46.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (613.7, -74.3) heading 11.5 -> Finsbury Circus [ONEWAY] score=1.04
[14Sep2026 21:10:47.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (612.0, -73.3) heading 44.7 -> Finsbury Circus [ONEWAY] score=1.05
[14Sep2026 21:10:48.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (611.6, -73.3) heading -39.8 -> Finsbury Circus [ONEWAY] score=0.88
[14Sep2026 21:10:49.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (611.3, -72.3) heading 55.8 -> Finsbury Circus [ONEWAY] score=1.07
[14Sep2026 21:10:50.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (610.5, -71.6) heading -146.3 -> Finsbury Circus [ONEWAY] score=0.78
[14Sep2026 21:10:51.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (609.5, -71.5) heading 83.4 -> Finsbury Circus [ONEWAY] score=1.01
[14Sep2026 21:10:52.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (609.6, -72.0) heading 115.9 -> Finsbury Circus [ONEWAY] score=0.92
[14Sep2026 21:10:53.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (612.1, -69.7) heading -50.7 -> Finsbury Circus [ONEWAY] score=0.78
[14Sep2026 21:10:54.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (615.7, -68.1) heading -86.6 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:10:55.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (621.0, -69.1) heading -151.2 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:10:56.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (622.6, -68.5) heading 118.8 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:10:57.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (622.6, -68.5) heading 177.6 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:10:58.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (622.6, -68.5) heading 124.3 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:10:59.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (622.6, -68.5) heading 120.6 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:00.666] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (624.2, -67.5) heading 120.6 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:01.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (625.7, -67.2) heading 121.5 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:02.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (627.0, -67.4) heading -18.3 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:03.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (628.3, -67.6) heading 146.2 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:04.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (629.5, -67.8) heading -70.7 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:05.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (630.7, -67.5) heading -59.9 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:06.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (631.9, -67.0) heading -124.4 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:07.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.0, -66.3) heading 77.2 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:08.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 92.8 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:09.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 92.5 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:10.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 89.5 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:11.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 90.1 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:12.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 90.1 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:13.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 90.1 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:14.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 90.1 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:15.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 90.1 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:16.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.7, -66.4) heading 90.1 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:17.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (631.6, -66.9) heading 136.3 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:18.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (629.0, -71.4) heading 146.1 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:19.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (627.5, -75.8) heading 173.4 -> Finsbury Circus [ONEWAY] score=0.00
[14Sep2026 21:11:20.654] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (627.7, -81.5) heading -172.7 -> Finsbury Circus [ONEWAY] score=0.62
[14Sep2026 21:11:21.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (629.7, -82.7) heading -156.0 -> Finsbury Circus [ONEWAY] score=0.56
[14Sep2026 21:11:22.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (631.2, -85.9) heading -165.9 -> Eastcheap [TWOWAY] score=0.89
[14Sep2026 21:11:23.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (631.2, -88.8) heading 170.5 -> Eastcheap [TWOWAY] score=0.99
[14Sep2026 21:11:24.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (631.3, -90.9) heading -164.6 -> Eastcheap [TWOWAY] score=1.02
[14Sep2026 21:11:25.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (633.6, -94.8) heading -170.3 -> Eastcheap [TWOWAY] score=0.69
[14Sep2026 21:11:26.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (634.0, -96.5) heading -175.5 -> Eastcheap [TWOWAY] score=0.00
[14Sep2026 21:11:27.653] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (635.3, -97.6) heading -91.2 -> Eastcheap [TWOWAY] score=0.00
[14Sep2026 21:11:28.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (635.7, -97.7) heading -82.1 -> Eastcheap [TWOWAY] score=0.00
[14Sep2026 21:11:29.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (637.5, -97.6) heading -87.8 -> Eastcheap [TWOWAY] score=0.00
[14Sep2026 21:11:30.652] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (641.4, -97.8) heading -105.8 -> Eastcheap [TWOWAY] score=0.00
[14Sep2026 21:11:31.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (646.5, -97.8) heading -94.5 -> Eastcheap [TWOWAY] score=0.00
[14Sep2026 21:11:32.650] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (650.2, -100.5) heading -119.1 -> OFF ROAD
[14Sep2026 21:11:33.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (655.6, -101.6) heading -87.5 -> OFF ROAD
[14Sep2026 21:11:34.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (659.8, -101.5) heading -97.1 -> OFF ROAD
[14Sep2026 21:11:35.651] [Server thread/INFO] [com.example.ubercraft.event.PlayerTickHandler/]: [track] ItsNRS at (664.6, -102.8) heading -97.8 -> OFF ROAD
[14Sep2026 21:11:36.603] [Server thread/INFO] [net.minecraft.server.network.ServerGamePacketListenerImpl/]: ItsNRS lost connection: Disconnected
[14Sep2026 21:11:36.603] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ItsNRS left the game
[14Sep2026 21:11:40.594] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Stopping server
[14Sep2026 21:11:40.595] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving players
[14Sep2026 21:11:40.595] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving worlds
[14Sep2026 21:11:40.871] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
[14Sep2026 21:11:42.252] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
[14Sep2026 21:11:42.253] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
[14Sep2026 21:11:42.262] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (world): All chunks are saved
[14Sep2026 21:11:42.262] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[14Sep2026 21:11:42.262] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[14Sep2026 21:11:42.262] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: ThreadedAnvilChunkStorage: All dimensions are saved
+1 -1
View File
@@ -1,5 +1,5 @@
#Minecraft server properties
#Mon Sep 14 20:31:05 BST 2026
#Mon Sep 14 21:05:23 BST 2026
allow-flight=false
allow-nether=true
broadcast-console-to-ops=true
+1 -1
View File
@@ -1 +1 @@
[]
[{"name":"ItsNRS","uuid":"fbd7140e-f6d9-4314-9079-a578c3d9bd34","expiresOn":"2026-10-14 21:06:10 +0100"}]
+3
View File
@@ -0,0 +1,3 @@
{
"fbd7140e-f6d9-4314-9079-a578c3d9bd34": "ItsNRS"
}
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,108 @@
{
"minecraft:recipes/decorations/crafting_table": {
"criteria": {
"unlock_right_away": "2026-09-14 20:48:33 +0100"
},
"done": true
},
"minecraft:adventure/adventuring_time": {
"criteria": {
"minecraft:grove": "2026-09-14 20:54:08 +0100",
"minecraft:forest": "2026-09-14 20:52:21 +0100",
"minecraft:plains": "2026-09-14 20:48:33 +0100"
},
"done": false
},
"minecraft:recipes/combat/leather_helmet": {
"criteria": {
"has_leather": "2026-09-14 21:09:14 +0100"
},
"done": true
},
"minecraft:recipes/combat/leather_leggings": {
"criteria": {
"has_leather": "2026-09-14 21:09:14 +0100"
},
"done": true
},
"minecraft:recipes/food/cooked_beef_from_smoking": {
"criteria": {
"has_beef": "2026-09-14 21:09:15 +0100"
},
"done": true
},
"minecraft:recipes/food/cooked_porkchop": {
"criteria": {
"has_porkchop": "2026-09-14 21:08:42 +0100"
},
"done": true
},
"minecraft:recipes/decorations/item_frame": {
"criteria": {
"has_leather": "2026-09-14 21:09:14 +0100"
},
"done": true
},
"minecraft:recipes/combat/leather_chestplate": {
"criteria": {
"has_leather": "2026-09-14 21:09:14 +0100"
},
"done": true
},
"minecraft:adventure/root": {
"criteria": {
"killed_something": "2026-09-14 21:08:41 +0100"
},
"done": true
},
"minecraft:recipes/food/cooked_porkchop_from_campfire_cooking": {
"criteria": {
"has_porkchop": "2026-09-14 21:08:42 +0100"
},
"done": true
},
"minecraft:recipes/food/cooked_porkchop_from_smoking": {
"criteria": {
"has_porkchop": "2026-09-14 21:08:42 +0100"
},
"done": true
},
"minecraft:recipes/combat/leather_boots": {
"criteria": {
"has_leather": "2026-09-14 21:09:14 +0100"
},
"done": true
},
"minecraft:husbandry/balanced_diet": {
"criteria": {
"beef": "2026-09-14 21:09:46 +0100",
"porkchop": "2026-09-14 21:09:49 +0100"
},
"done": false
},
"minecraft:recipes/misc/leather_horse_armor": {
"criteria": {
"has_leather": "2026-09-14 21:09:14 +0100"
},
"done": true
},
"minecraft:husbandry/root": {
"criteria": {
"consumed_item": "2026-09-14 21:09:46 +0100"
},
"done": true
},
"minecraft:recipes/food/cooked_beef": {
"criteria": {
"has_beef": "2026-09-14 21:09:15 +0100"
},
"done": true
},
"minecraft:recipes/food/cooked_beef_from_campfire_cooking": {
"criteria": {
"has_beef": "2026-09-14 21:09:15 +0100"
},
"done": true
},
"DataVersion": 3465
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
{"stats":{"minecraft:picked_up":{"minecraft:leather":1,"minecraft:wheat_seeds":1,"minecraft:beef":1,"minecraft:porkchop":2,"minecraft:dirt":20},"minecraft:used":{"minecraft:beef":1,"minecraft:porkchop":2},"minecraft:custom":{"minecraft:time_since_rest":6789,"minecraft:crouch_one_cm":1163,"minecraft:sprint_one_cm":93360,"minecraft:play_time":15034,"minecraft:deaths":1,"minecraft:damage_taken":410,"minecraft:walk_one_cm":36974,"minecraft:sneak_time":223,"minecraft:mob_kills":3,"minecraft:jump":479,"minecraft:damage_dealt":298,"minecraft:leave_game":2,"minecraft:time_since_death":6733,"minecraft:total_world_time":15034,"minecraft:fall_one_cm":12039,"minecraft:fly_one_cm":61880},"minecraft:mined":{"minecraft:grass":6,"minecraft:dirt":1,"minecraft:birch_leaves":1,"minecraft:powder_snow":1,"minecraft:oak_leaves":3},"minecraft:killed":{"minecraft:pig":2,"minecraft:cow":1}},"DataVersion":3465}
@@ -1,7 +1,9 @@
package com.example.ubercraft;
import com.example.ubercraft.data.RoadNetwork;
import com.example.ubercraft.event.PlayerTickHandler;
import com.mojang.logging.LogUtils;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import org.slf4j.Logger;
@@ -23,8 +25,6 @@ public class UberCraftMod {
LOGGER.info("UberCraft: loaded road network - {} nodes, {} edges",
ROAD_NETWORK.nodeCount(), ROAD_NETWORK.edgeCount());
// Proof-of-life check: snap a known coordinate to the nearest node.
// (850, -9) is near Reptonstone Primary from our earlier route trace.
RoadNetwork.NearestNodeResult result = ROAD_NETWORK.findNearestNode(850, -9);
LOGGER.info("UberCraft: nearest node to (850,-9) is {} at distance {}",
result.node, String.format("%.1f", result.distance));
@@ -32,5 +32,9 @@ public class UberCraftMod {
} catch (IOException e) {
LOGGER.error("UberCraft: FAILED to load roads.json", e);
}
// PlayerTickEvent is a game event, not a mod-loading event - register on the Forge bus.
MinecraftForge.EVENT_BUS.register(PlayerTickHandler.class);
LOGGER.info("UberCraft: PlayerTickHandler registered");
}
}
@@ -0,0 +1,23 @@
package com.example.ubercraft.data;
import java.util.UUID;
/**
* Live tracking state for one player. Updated every tick by PlayerTickHandler.
*/
public class PlayerState {
public final UUID playerId;
public final String playerName;
public double x;
public double z;
public float heading; // Minecraft yaw, degrees. 0 = south, increases clockwise.
public RoadEdge currentSegment; // null if off-road / unmatched
public double lastMatchScore;
public PlayerState(UUID playerId, String playerName) {
this.playerId = playerId;
this.playerName = playerName;
}
}
@@ -0,0 +1,30 @@
package com.example.ubercraft.data;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
/**
* Holds one PlayerState per online player. Not persisted - rebuilt as
* players join, discarded (or just left stale, harmless) when they leave.
*/
public class PlayerTracker {
private static final Map<UUID, PlayerState> STATES = new ConcurrentHashMap<>();
public static PlayerState getOrCreate(UUID playerId, String playerName) {
return STATES.computeIfAbsent(playerId, id -> new PlayerState(id, playerName));
}
public static PlayerState get(UUID playerId) {
return STATES.get(playerId);
}
public static void remove(UUID playerId) {
STATES.remove(playerId);
}
public static int trackedCount() {
return STATES.size();
}
}
@@ -7,33 +7,33 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Loads roads.json and holds the in-memory road graph.
* This is the single source of truth for road data at runtime.
* Also owns the position -> segment matching algorithm (distance + heading + continuity).
*/
public class RoadNetwork {
private final Map<String, RoadNode> nodes = new HashMap<>();
private final List<RoadEdge> edges;
/** Minimum score for a fresh match to "win". Below this, we keep the last known segment. */
private static final double MATCH_THRESHOLD = 0.5;
private RoadNetwork(List<NodeJson> nodeJsons, List<EdgeJson> edgeJsons) {
for (NodeJson n : nodeJsons) {
nodes.put(n.id, new RoadNode(n.id, n.name, n.x, n.z));
}
this.edges = new java.util.ArrayList<>();
this.edges = new ArrayList<>();
for (EdgeJson e : edgeJsons) {
edges.add(new RoadEdge(e.id, e.from, e.to, e.road, e.oneway, e.width));
}
}
/**
* Loads roads.json from the mod's resources.
* Expects the file at src/main/resources/roads.json
*/
public static RoadNetwork loadFromResource(String resourcePath) throws IOException {
InputStream stream = RoadNetwork.class.getClassLoader().getResourceAsStream(resourcePath);
if (stream == null) {
@@ -49,27 +49,11 @@ public class RoadNetwork {
}
}
public int nodeCount() {
return nodes.size();
}
public int nodeCount() { return nodes.size(); }
public int edgeCount() { return edges.size(); }
public RoadNode getNode(String id) { return nodes.get(id); }
public List<RoadEdge> getEdges() { return edges; }
public int edgeCount() {
return edges.size();
}
public RoadNode getNode(String id) {
return nodes.get(id);
}
public List<RoadEdge> getEdges() {
return edges;
}
/**
* Simple nearest-node lookup (mirrors the original roads.js findClosestRoadNode).
* Useful for sanity checks and as a fallback. Real segment matching (with
* heading + width tolerance) comes in the next phase.
*/
public NearestNodeResult findNearestNode(double x, double z) {
RoadNode closest = null;
double minDist = Double.MAX_VALUE;
@@ -111,16 +95,102 @@ public class RoadNetwork {
return Math.sqrt(ddx * ddx + ddz * ddz);
}
/**
* Finds which road segment a player is currently on, using:
* - distance to centerline (hard cutoff at edge.width - if you're further than
* the road is wide, you're not a candidate at all)
* - heading match (one-way edges need you roughly facing the right way;
* two-way edges accept either direction)
* - continuity bonus (prefer staying on the segment you were on last tick,
* to avoid flickering between roads at intersections)
*
* If nothing scores above MATCH_THRESHOLD, falls back to the last known
* segment rather than snapping to something uncertain.
*/
public MatchResult matchSegment(double px, double pz, float playerHeadingDeg, RoadEdge lastSegment) {
RoadEdge best = null;
double bestScore = 0;
for (RoadEdge edge : edges) {
double dist = distanceToEdge(px, pz, edge);
if (dist > edge.width) continue; // not even a candidate
RoadNode a = nodes.get(edge.fromNodeId);
RoadNode b = nodes.get(edge.toNodeId);
if (a == null || b == null) continue;
double edgeHeading = headingOf(a, b);
double diff = angleDiffDeg(playerHeadingDeg, edgeHeading);
double headingScore;
if (edge.oneway) {
double c = Math.cos(Math.toRadians(diff));
headingScore = (c + 1) / 2.0;
} else {
double c1 = Math.cos(Math.toRadians(diff));
double c2 = Math.cos(Math.toRadians(diff - 180));
headingScore = (Math.max(c1, c2) + 1) / 2.0;
}
double continuityBonus = (lastSegment != null && edge.id.equals(lastSegment.id)) ? 0.3 : 0;
double distScore = 1 - (dist / edge.width);
double score = distScore * 0.5 + headingScore * 0.3 + continuityBonus;
if (score > bestScore) {
bestScore = score;
best = edge;
}
}
if (bestScore > MATCH_THRESHOLD) {
return new MatchResult(best, bestScore);
}
// Only fall back to the last segment if we're still plausibly near it.
// Otherwise we're genuinely off-road (fell, teleported, flew away).
if (lastSegment != null) {
double distToLast = distanceToEdge(px, pz, lastSegment);
if (distToLast <= lastSegment.width * 3) {
return new MatchResult(lastSegment, 0.0);
}
}
return new MatchResult(null, 0.0);
}
/** Heading (Minecraft yaw convention) from node a to node b. 0=south, 90=west, 180=north, 270=east. */
private static double headingOf(RoadNode a, RoadNode b) {
double dx = b.x - a.x;
double dz = b.z - a.z;
return Math.toDegrees(Math.atan2(-dx, dz));
}
/** Smallest signed difference between two angles in degrees, range [-180, 180]. */
private static double angleDiffDeg(double a, double b) {
double diff = (a - b) % 360;
if (diff < -180) diff += 360;
if (diff > 180) diff -= 360;
return diff;
}
public static class NearestNodeResult {
public final RoadNode node;
public final double distance;
public NearestNodeResult(RoadNode node, double distance) {
this.node = node;
this.distance = distance;
}
}
public static class MatchResult {
public final RoadEdge edge; // may be null if never matched anything
public final double score; // 0 if this is a stale/fallback result
public MatchResult(RoadEdge edge, double score) {
this.edge = edge;
this.score = score;
}
}
// --- JSON shape (mutable DTOs for Gson) ---
private static class RoadsFile {
@@ -0,0 +1,79 @@
package com.example.ubercraft.event;
import com.example.ubercraft.UberCraftMod;
import com.example.ubercraft.data.PlayerState;
import com.example.ubercraft.data.PlayerTracker;
import com.example.ubercraft.data.RoadEdge;
import com.example.ubercraft.data.RoadNetwork;
import com.mojang.logging.LogUtils;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import org.slf4j.Logger;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
* Fires every server tick, once per online player. Updates that player's
* PlayerState (position, heading, matched road segment).
*
* Logging is throttled per-player so we get proof of live tracking without
* flooding the console at 20 lines/second/player.
*/
public class PlayerTickHandler {
private static final Logger LOGGER = LogUtils.getLogger();
private static final int LOG_EVERY_N_TICKS = 20; // ~once per second
private static final Map<UUID, Integer> tickCounters = new HashMap<>();
@SubscribeEvent
public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
if (event.phase != TickEvent.Phase.END) return;
if (UberCraftMod.ROAD_NETWORK == null) return;
Player player = event.player;
UUID id = player.getUUID();
String name = player.getName().getString();
PlayerState state = PlayerTracker.getOrCreate(id, name);
state.x = player.getX();
state.z = player.getZ();
state.heading = player.getYRot();
RoadNetwork.MatchResult match = UberCraftMod.ROAD_NETWORK.matchSegment(
state.x, state.z, state.heading, state.currentSegment
);
state.currentSegment = match.edge;
state.lastMatchScore = match.score;
int count = tickCounters.merge(id, 1, Integer::sum);
if (count >= LOG_EVERY_N_TICKS) {
tickCounters.put(id, 0);
logStatus(name, state);
}
}
private static void logStatus(String name, PlayerState state) {
RoadEdge edge = state.currentSegment;
if (edge == null) {
LOGGER.info("[track] {} at ({}, {}) heading {} -> OFF ROAD",
name, round(state.x), round(state.z), round(state.heading));
} else {
LOGGER.info("[track] {} at ({}, {}) heading {} -> {} [{}] score={}",
name, round(state.x), round(state.z), round(state.heading),
edge.roadName, edge.oneway ? "ONEWAY" : "TWOWAY",
String.format("%.2f", state.lastMatchScore));
}
}
private static double round(double v) {
return Math.round(v * 10) / 10.0;
}
private static float round(float v) {
return Math.round(v * 10) / 10.0f;
}
}