@@ -57,32 +57,42 @@ public void onVillagerClick(PlayerInteractEntityEvent event) {
5757 event .setCancelled (true );
5858 Location villagerPOI = villager .getMemory (MemoryKey .JOB_SITE );
5959 ArrayList <Component > messageList = new ArrayList <>();
60+
61+ boolean isUseful = villager .getProfession () != Villager .Profession .NONE
62+ && villager .getProfession () != Villager .Profession .NITWIT ;
63+ boolean hasWorkSite = villager .getMemory (MemoryKey .JOB_SITE ) != null ;
64+ boolean hasBed = villager .getMemory (MemoryKey .HOME ) != null ;
65+
6066 //profession
6167 if (toggleSettings .get (ConfigValidator .ToggleSetting .PROFESSION )) {
6268 messageList .add (villagerProfession (villager ));
6369 }
6470 //job-site
65- if (toggleSettings .get (ConfigValidator .ToggleSetting .JOB_SITE )) {
71+ // Only show job site and last worked info if the villager has a profession
72+ if (isUseful && toggleSettings .get (ConfigValidator .ToggleSetting .JOB_SITE )) {
6673 messageList .add (villagerJobSite (villager ));
6774 }
6875 //last-worked
69- if (toggleSettings .get (ConfigValidator .ToggleSetting .LAST_WORKED )) {
76+ // Only show last worked info if the villager has a profession and a work site
77+ if (isUseful && hasWorkSite && toggleSettings .get (ConfigValidator .ToggleSetting .LAST_WORKED )) {
7078 messageList .add (villagerLastWorked (villager ));
7179 }
7280 //bed-location
7381 if (toggleSettings .get (ConfigValidator .ToggleSetting .BED_LOCATION )) {
7482 messageList .add (villagerBed (villager ));
7583 }
7684 //last-slept
77- if (toggleSettings .get (ConfigValidator .ToggleSetting .LAST_WORKED )) {
85+ // Only show last sleep info if the villager has a bed
86+ if (hasBed && toggleSettings .get (ConfigValidator .ToggleSetting .LAST_SLEPT )) {
7887 messageList .add (villagerLastSlept (villager ));
7988 }
8089 //inventory
8190 if (toggleSettings .get (ConfigValidator .ToggleSetting .INVENTORY )) {
8291 messageList .add (villagerInventory (villager ));
8392 }
8493 //restocks
85- if (toggleSettings .get (ConfigValidator .ToggleSetting .RESTOCKS )) {
94+ // Only show restocks info if the villager has a profession and a work site
95+ if (isUseful && hasWorkSite && toggleSettings .get (ConfigValidator .ToggleSetting .RESTOCKS )) {
8696 messageList .add (villagerRestocks (villager ));
8797 }
8898 //reputation
0 commit comments