MineColonies

MineColonies

53M Downloads

Updating from 496 to 502 broke my entire village.

Moleculor opened this issue ยท 3 comments

commented

Prerequisites

  • I am running the latest alpha version of MineColonies and Structurize for my Minecraft version.
  • I checked the MineColonies/Structurize wiki and made sure my issue is not covered there.
  • I made sure that this issue is not a duplicate of any existing issue.

Context

  • Minecraft Version: 1.16.4
  • MineColonies Version: 0.13.502-ALPHA
  • Structurize Version: 0.13.100-RELEASE
  • Related Mods and their Versions: The official Minecolonies showcase pack with Forge 35.0.18

Expected behavior

I expect my village to still be accessible and functional without full and complete rebuilds of the entire thing after upgrading.

Actual behavior

Every building (except the town hall) claims its building is gone. The clipboard has all the previous requests that used to be on it listed as if they're from <UNKNOWN> rather than the villagers in question.

2020-12-07_20 00 58
2020-12-07_20 01 18
2020-12-07_20 01 25
2020-12-07_20 01 45
2020-12-07_20 01 52
2020-12-07_20 02 13
2020-12-07_20 09 00
2020-12-07_20 09 02

Steps to reproduce the issue

  1. Be running the Minecolonies pack with Minecolonies updated to 496.
  2. Update to 502.

Logs

Notes


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

My environment isn't set up to easily debug this, but can replicate it.

One spot to check, in AbstractBuildingWorker.java:

public String getJobDisplayName()
{
if (jobDisplayName.isEmpty())
{
jobDisplayName = createJob(null).getName();
}
return jobDisplayName;
}

But in AbstractBuildingFarmer.java:

@NotNull
@OverRide
public IJob<?> createJob(@NotNull final ICitizenData citizen)
{
if (!farmerFields.isEmpty())
{
for (@NotNull final BlockPos field : farmerFields)
{
final TileEntity scareCrow = getColony().getWorld().getTileEntity(field);
if (scareCrow instanceof ScarecrowTileEntity)
{
((ScarecrowTileEntity) scareCrow).setOwner(citizen.getId());
}
}
}
return new JobFarmer(citizen);
}

Looking into it further to see if there are other effects going on, or if just popping the Farmer hut stops the behavior.

EDIT: for anyone having this issue, I'd be very interested to know if tearing up the farmer hut solves the problem after ~30 seconds, or if they see the issue without having a farmer built.

commented

fix pushed

commented

issue is affecting the patron server as well