MineColonies

MineColonies

65M Downloads

500 block max pathing is causing issues in large colonies.

kezmodius opened this issue ยท 2 comments

commented

Is there an existing issue for this?

  • I have searched the existing issues.

Are you using the latest MineColonies Version?

  • I am running the latest beta/release version of MineColonies for my Minecraft version.
    I am also running the latest versions of other mods that are part of my problem.

Did you check on the Wiki? or ask on Discord?

  • I checked the MineColonies Wiki and made sure my issue is not covered there. Or I was sent from discord to open an issue here.

What were you playing at the time? Were you able to reproduce it in both settings?

  • Single Player
  • Multi Player

Minecraft Version

1.20

MineColonies Version

1.20.1-1.1.814

Structurize Version

1.20.1-1.0.764

Related Mods and their Versions

Forge 47.2.23
Modpack: https://www.curseforge.com/minecraft/modpacks/wolf-craft-colonies

Current Behavior

Latest log is >150MB. Too large to attach but can provide by other means if you need. You know where to find me :)

Player on our server has a large colony (over 40 chunks across) and when they logged on their colony started spamming the console. It was guards and couriers:

[07Mar2025 09:56:38.437] [Server thread/ERROR] [minecolonies/]: Entity: Rosa G. Goodrick is trying to walk too far! distance:630.9088682210768 from:BlockPos{x=-2743, y=75, z=6597} to:BlockPos{x=-2225, y=104, z=6956}
java.lang.Exception: null
	at com.minecolonies.core.entity.pathfinding.navigation.MinecoloniesAdvancedPathNavigate.setPathJob(MinecoloniesAdvancedPathNavigate.java:272) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.pathfinding.navigation.MinecoloniesAdvancedPathNavigate.walkCloseToXNearY(MinecoloniesAdvancedPathNavigate.java:242) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.pathfinding.navigation.EntityNavigationUtils.walkCloseToXNearY(EntityNavigationUtils.java:82) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.pathfinding.navigation.EntityNavigationUtils.walkCloseToXNearY(EntityNavigationUtils.java:44) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.pathfinding.navigation.EntityNavigationUtils.walkToPosInBuilding(EntityNavigationUtils.java:105) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.pathfinding.navigation.EntityNavigationUtils.walkToBuilding(EntityNavigationUtils.java:121) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.ai.workers.AbstractEntityAIBasic.walkToBuilding(AbstractEntityAIBasic.java:816) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.ai.workers.service.EntityAIWorkDeliveryman.deliver(EntityAIWorkDeliveryman.java:355) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.basestatemachine.BasicTransition.getNextState(BasicTransition.java:79) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.basestatemachine.BasicStateMachine.transitionToNext(BasicStateMachine.java:163) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.basestatemachine.BasicStateMachine.checkTransition(BasicStateMachine.java:149) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.tickratestatemachine.TickRateStateMachine.checkTransition(TickRateStateMachine.java:126) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.tickratestatemachine.TickRateStateMachine.tick(TickRateStateMachine.java:102) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.ai.workers.AbstractAISkeleton.tick(AbstractAISkeleton.java:63) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.ai.workers.CitizenAI.lambda$registerWorkAI$4(CitizenAI.java:99) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.basestatemachine.BasicTransition.getNextState(BasicTransition.java:79) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.basestatemachine.BasicStateMachine.transitionToNext(BasicStateMachine.java:163) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.basestatemachine.BasicStateMachine.checkTransition(BasicStateMachine.java:149) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.tickratestatemachine.TickRateStateMachine.checkTransition(TickRateStateMachine.java:126) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.tickratestatemachine.TickRateStateMachine.tick(TickRateStateMachine.java:102) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.citizen.EntityCitizen.lambda$new$11(EntityCitizen.java:275) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.basestatemachine.BasicTransition.checkCondition(BasicTransition.java:87) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.basestatemachine.BasicStateMachine.checkTransition(BasicStateMachine.java:138) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.tickratestatemachine.TickRateStateMachine.checkTransition(TickRateStateMachine.java:126) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.ai.statemachine.tickratestatemachine.TickRateStateMachine.tick(TickRateStateMachine.java:102) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.api.entity.citizen.AbstractEntityCitizen.m_8107_(AbstractEntityCitizen.java:432) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at com.minecolonies.core.entity.citizen.EntityCitizen.m_8107_(EntityCitizen.java:700) ~[minecolonies-1.20.1-1.1.814-snapshot.jar%23548!/:1.20.1-1.1.814-snapshot]
	at net.minecraft.world.entity.LivingEntity.m_8119_(LivingEntity.java:2298) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.world.entity.Mob.m_8119_(Mob.java:337) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.level.ServerLevel.observable$track(ServerLevel.java:10169) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.level.ServerLevel.redirect$cod000$observable$onTickNonPassenger(ServerLevel.java:10185) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.level.ServerLevel.m_8647_(ServerLevel.java:693) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.world.level.Level.m_46653_(Level.java:479) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.level.ServerLevel.m_184063_(ServerLevel.java:343) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.level.ServerLevel.m_8793_(ServerLevel.java:323) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:893) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:283) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:814) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[server-1.20.1-20230612.114412-srg.jar%23669!/:?]
	at java.lang.Thread.run(Thread.java:840) ~[?:?]

This was from the warehouse to a guard tower in one of the outer edges of the colony. There were many guards and couriers (at least 10) doing this simultaneously. (Hence the massive log file)

Expected Behavior

Considering the max colony size is larger than this, there may need to be more education that there is a hard limit on pathing of 500 blocks. We advise that couriers can service the entire colony on main discord and that is not true (or was once true, but is true no longer). I ask for clarification on this and what advice we need to provide players going forward.

Reproduction Steps

Have a giant colony with multiple warehouses.
Place some guard towers 500-600 blocks from the warehouses and staff them.
Watch errors flood the server console.

Logs

https://gist.github.com/kezmodius/3d086227dbfd0a806fe5b76c1680a967

Anything else?

Snippet of log above with a guard and a courier in case there is some way to make them able to cover the whole colony.

Footer


Viewers

  • Add a thumbs-up to the bug report if you are also affected. This helps the bug report become more visible to the team and doesn't clutter the comments.
  • Add a comment if you have any insights or background information that isn't already part of the conversation.
commented

This is actually more of a debug log to find potentially wrong paths than something intended to be a har dlimit

commented