Skip to content

Commit 5f289b4

Browse files
committed
Adds option to see how long until a baby villager will grow up
1 parent 66982e6 commit 5f289b4

File tree

6 files changed

+24
-8
lines changed

6 files changed

+24
-8
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>ADHDMC</groupId>
88
<artifactId>VillagerInfo</artifactId>
9-
<version>2.1</version>
9+
<version>2.2</version>
1010
<packaging>jar</packaging>
1111

1212
<name>VillagerInfo</name>

src/main/java/adhdmc/villagerinfo/Config/Defaults.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public static void localeDefaults() {
4040

4141
public static void configDefaults() {
4242
FileConfiguration config = VillagerInfo.getInstance().getConfig();
43+
config.addDefault("baby-age", true);
4344
config.addDefault("profession", true);
4445
config.addDefault("job-site", true);
4546
config.addDefault("last-worked", true);

src/main/java/adhdmc/villagerinfo/Config/Message.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public enum Message {
1717
NOT_A_PLAYER("<red>Sorry, you must be a player to use this command"),
1818

1919
// Villager Info
20+
VILLAGER_AGE("<green>TIME UNTIL ADULT: \n<aqua> • <age>"),
2021
VILLAGER_PROFESSION("<green>PROFESSION:\n<aqua> • <profession>"),
2122
VILLAGER_JOBSITE("<green>JOB SITE:\n<aqua> • <jobsitelocation>"),
2223
VILLAGER_LAST_WORKED("<green>LAST WORKED AT WORKSTATION:\n<aqua> • <worktime>"),
@@ -59,6 +60,7 @@ public static void reloadLocale() {
5960
HELP_RELOAD.setMessage(locale.getString("help-reload", "<#4dd5ff> • /vill reload\n<grey>Reloads the plugin, applies config values"));
6061
NOT_A_PLAYER.setMessage(locale.getString("not-a-player", "<red>Sorry, you must be a player to use this command"));
6162
// Villager Info
63+
VILLAGER_AGE.setMessage(locale.getString("villager-age", "<green>TIME UNTIL ADULT: \n<aqua> • <age>"));
6264
VILLAGER_PROFESSION.setMessage(locale.getString("villager-profession", "<green>PROFESSION:\n<aqua> • <profession>"));
6365
VILLAGER_JOBSITE.setMessage(locale.getString("villager-jobsite-msg", "<green>JOB SITE:\n<aqua> • <jobsitelocation>"));
6466
VILLAGER_LAST_WORKED.setMessage(locale.getString("villager-last-worked-msg", "<green>LAST WORKED AT WORKSTATION:\n<aqua> • <worktime>"));

src/main/java/adhdmc/villagerinfo/Config/ToggleSetting.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.bukkit.configuration.file.FileConfiguration;
55

66
public enum ToggleSetting {
7+
BABY_AGE(true),
78
PROFESSION(true),
89
JOB_SITE(true),
910
LAST_WORKED(true),
@@ -23,6 +24,7 @@ public enum ToggleSetting {
2324

2425
public static void reloadToggles() {
2526
FileConfiguration config = VillagerInfo.getInstance().getConfig();
27+
BABY_AGE.setEnabled(config.getBoolean("baby-age", true));
2628
PROFESSION.setEnabled(config.getBoolean("profession", true));
2729
JOB_SITE.setEnabled(config.getBoolean("job-site", true));
2830
LAST_WORKED.setEnabled(config.getBoolean("last-worked", true));

src/main/java/adhdmc/villagerinfo/VillagerHandling/VillagerHandler.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package adhdmc.villagerinfo.VillagerHandling;
22

3-
import adhdmc.villagerinfo.Config.ConfigValidator;
43
import adhdmc.villagerinfo.Config.Message;
54
import adhdmc.villagerinfo.Config.Perms;
65
import adhdmc.villagerinfo.Config.ToggleSetting;
@@ -25,7 +24,6 @@
2524

2625
import java.util.ArrayList;
2726
import java.util.Arrays;
28-
import java.util.Map;
2927
import java.util.UUID;
3028

3129
public class VillagerHandler implements Listener {
@@ -65,6 +63,10 @@ public void onVillagerClick(PlayerInteractEntityEvent event) {
6563
boolean hasWorkSite = villager.getMemory(MemoryKey.JOB_SITE) != null;
6664
boolean hasBed = villager.getMemory(MemoryKey.HOME) != null;
6765
boolean isAdult = villager.isAdult();
66+
//time until adult
67+
if (ToggleSetting.BABY_AGE.isEnabled() && !isAdult) {
68+
messageList.add(villagerTimeTillAdult(villager));
69+
}
6870
//profession
6971
if (ToggleSetting.PROFESSION.isEnabled() && isAdult) {
7072
messageList.add(villagerProfession(villager));
@@ -111,6 +113,16 @@ public void onVillagerClick(PlayerInteractEntityEvent event) {
111113
}
112114
}
113115

116+
private Component villagerTimeTillAdult(Villager villager) {
117+
Component timeTillAdultFinal;
118+
long villAge = villager.getAge();
119+
villAge = villAge * -1;
120+
VillagerInfo.getInstance().getLogger().info("" + villAge);
121+
String timeCalc = timeMath(villAge);
122+
timeTillAdultFinal = miniMessage.deserialize(Message.VILLAGER_AGE.getMessage(), Placeholder.unparsed("age", timeCalc));
123+
return timeTillAdultFinal;
124+
}
125+
114126
private Component villagerProfession(Villager villager) {
115127
Component professionFinal;
116128
String villagerProfessionString = villager.getProfession().toString();
@@ -149,7 +161,7 @@ private Component villagerLastWorked(Villager villager) {
149161
Placeholder.parsed("worktime", Message.NEVER.getMessage()));
150162
} else {
151163
Long timeSinceWorked = villager.getWorld().getGameTime() - lastWorked;
152-
String formattedTime = timeMath(timeSinceWorked);
164+
String formattedTime = timeMath(timeSinceWorked) + Message.AGO.getMessage();
153165
villagerLastWorkedFinal = miniMessage.deserialize(Message.VILLAGER_LAST_WORKED.getMessage(),
154166
Placeholder.unparsed("worktime", formattedTime));
155167
}
@@ -183,7 +195,7 @@ private Component villagerLastSlept(Villager villager) {
183195
Placeholder.parsed("sleeptime", Message.NEVER.getMessage()));
184196
} else {
185197
Long timeSinceSlept = villager.getWorld().getGameTime() - lastSlept;
186-
String formattedTime = timeMath(timeSinceSlept);
198+
String formattedTime = timeMath(timeSinceSlept) + Message.AGO.getMessage() ;
187199
villagerLastSleptFinal = miniMessage.deserialize(Message.VILLAGER_SLEPT.getMessage(),
188200
Placeholder.unparsed("sleeptime", formattedTime));
189201
}
@@ -252,10 +264,8 @@ private String timeMath(Long mathTime) {
252264
if (mathTimeC > 0) mathResult += mathTimeC + Message.MINUTE.getMessage();
253265
if (mathTimeD > 0) mathResult += mathTimeD + Message.SECOND.getMessage();
254266
if (mathResult.isEmpty()) {
255-
mathResult += "0" + Message.SECOND.getMessage() + Message.AGO.getMessage();
256-
return mathResult;
267+
mathResult += "0" + Message.SECOND.getMessage();
257268
}
258-
mathResult += Message.AGO.getMessage();
259269
return mathResult;
260270
}
261271
}

src/main/resources/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
#Information Toggles
44
#True to enable the information to display when requested, false for it not to display
5+
baby-age: true
56
profession: true
67
job-site: true
78
last-worked: true

0 commit comments

Comments
 (0)