aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/questing
diff options
context:
space:
mode:
authorMoulberry <james.jenour@student.scotch.wa.edu.au>2020-07-22 03:54:59 +1000
committerMoulberry <james.jenour@student.scotch.wa.edu.au>2020-07-22 03:54:59 +1000
commitd04771c7ef5cdab9554aa6aef506a39c8e2bd3d4 (patch)
tree919df0469bbd4bf6234b4ea07e0b59ee5e011f9a /src/main/java/io/github/moulberry/notenoughupdates/questing
parent8499a98beeb556c16987fc375dbd7d05d6c27ab4 (diff)
downloadnotenoughupdates-d04771c7ef5cdab9554aa6aef506a39c8e2bd3d4.tar.gz
notenoughupdates-d04771c7ef5cdab9554aa6aef506a39c8e2bd3d4.tar.bz2
notenoughupdates-d04771c7ef5cdab9554aa6aef506a39c8e2bd3d4.zip
less scuffed profile viewer :)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/questing')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/questing/NEUQuesting.java67
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/questing/SBScoreboardData.java76
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementApi.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementIslandType.java4
4 files changed, 78 insertions, 71 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/questing/NEUQuesting.java b/src/main/java/io/github/moulberry/notenoughupdates/questing/NEUQuesting.java
deleted file mode 100644
index 8be12c95..00000000
--- a/src/main/java/io/github/moulberry/notenoughupdates/questing/NEUQuesting.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package io.github.moulberry.notenoughupdates.questing;
-
-import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
-import io.github.moulberry.notenoughupdates.util.Utils;
-import net.minecraft.client.Minecraft;
-import net.minecraft.scoreboard.Score;
-import net.minecraft.scoreboard.ScoreObjective;
-import net.minecraft.scoreboard.ScorePlayerTeam;
-import net.minecraft.scoreboard.Scoreboard;
-import net.minecraft.util.EnumChatFormatting;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class NEUQuesting {
-
- private static final NEUQuesting INSTANCE = new NEUQuesting();
-
- private static final Pattern locationPattern = Pattern.compile("(\\u00a7)(?!.*\\u00a7).+");
- private static final Pattern timePattern = Pattern.compile(".+(am|pm)");
-
- public String location = "";
- public String date = "";
- public String time = "";
-
- public static NEUQuesting getInstance() {
- return INSTANCE;
- }
-
- public void tick() {
- Scoreboard scoreboard = Minecraft.getMinecraft().thePlayer.getWorldScoreboard();
-
- ScoreObjective sidebarObjective = scoreboard.getObjectiveInDisplaySlot(1); //§707/14/20
-
- List<Score> scores = new ArrayList<>();
- for(Score score : scoreboard.getSortedScores(sidebarObjective)) {
- scores.add(score);
- }
- List<String> lines = new ArrayList<>();
- for(int i=scores.size()-1; i>=0; i--) {
- Score score = scores.get(i);
- ScorePlayerTeam scoreplayerteam1 = scoreboard.getPlayersTeam(score.getPlayerName());
- String line = ScorePlayerTeam.formatPlayerName(scoreplayerteam1, score.getPlayerName());
- line = Utils.cleanDuplicateColourCodes(line);
- lines.add(line);
- }
- if(lines.size() >= 5) {
- date = Utils.cleanColour(lines.get(2)).trim();
- //§74:40am
- Matcher matcher = timePattern.matcher(lines.get(3));
- if(matcher.find()) {
- time = Utils.cleanColour(matcher.group()).trim();
- }
- matcher = locationPattern.matcher(lines.get(4));
- if(matcher.find()) {
- location = Utils.cleanColour(matcher.group()).trim();
- }
- }
- //System.out.println(date + ":" + time + ":" + location);
- }
-
-}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/questing/SBScoreboardData.java b/src/main/java/io/github/moulberry/notenoughupdates/questing/SBScoreboardData.java
new file mode 100644
index 00000000..89ec44cc
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/questing/SBScoreboardData.java
@@ -0,0 +1,76 @@
+package io.github.moulberry.notenoughupdates.questing;
+
+import io.github.moulberry.notenoughupdates.util.Utils;
+import net.minecraft.client.Minecraft;
+import net.minecraft.scoreboard.Score;
+import net.minecraft.scoreboard.ScoreObjective;
+import net.minecraft.scoreboard.ScorePlayerTeam;
+import net.minecraft.scoreboard.Scoreboard;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class SBScoreboardData {
+
+ private static final SBScoreboardData INSTANCE = new SBScoreboardData();
+
+ private static final Pattern locationPattern = Pattern.compile("(\\u00a7)(?!.*\\u00a7).+");
+ private static final Pattern timePattern = Pattern.compile(".+(am|pm)");
+
+ public String location = "";
+ public String date = "";
+ public String time = "";
+
+ public Date currentTimeDate = null;
+
+
+ public static SBScoreboardData getInstance() {
+ return INSTANCE;
+ }
+
+ public void tick() {
+ try {
+ Scoreboard scoreboard = Minecraft.getMinecraft().thePlayer.getWorldScoreboard();
+
+ ScoreObjective sidebarObjective = scoreboard.getObjectiveInDisplaySlot(1); //§707/14/20
+
+ List<Score> scores = new ArrayList<>();
+ for(Score score : scoreboard.getSortedScores(sidebarObjective)) {
+ scores.add(score);
+ }
+ List<String> lines = new ArrayList<>();
+ for(int i=scores.size()-1; i>=0; i--) {
+ Score score = scores.get(i);
+ ScorePlayerTeam scoreplayerteam1 = scoreboard.getPlayersTeam(score.getPlayerName());
+ String line = ScorePlayerTeam.formatPlayerName(scoreplayerteam1, score.getPlayerName());
+ line = Utils.cleanDuplicateColourCodes(line);
+ lines.add(line);
+ }
+ if(lines.size() >= 5) {
+ date = Utils.cleanColour(lines.get(2)).trim();
+ //§74:40am
+ Matcher matcher = timePattern.matcher(lines.get(3));
+ if(matcher.find()) {
+ time = Utils.cleanColour(matcher.group()).trim();
+
+ try {
+ String timeSpace = time.replace("am", " am").replace("pm", " pm");
+ SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a");
+ currentTimeDate = parseFormat.parse(timeSpace);
+ } catch (ParseException e) {}
+ }
+ matcher = locationPattern.matcher(lines.get(4));
+ if(matcher.find()) {
+ location = Utils.cleanColour(matcher.group()).trim();
+ }
+ }
+ } catch(Exception e) {}
+ //System.out.println(date + ":" + time + ":" + location);
+ }
+
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementApi.java b/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementApi.java
index 27f9f293..a53ed56b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementApi.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementApi.java
@@ -3,10 +3,8 @@ package io.github.moulberry.notenoughupdates.questing.requirements;
import com.google.common.base.Splitter;
import com.google.gson.*;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
-import io.github.moulberry.notenoughupdates.questing.NEUQuesting;
import java.util.List;
-import java.util.Map;
public class RequirementApi extends Requirement {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementIslandType.java b/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementIslandType.java
index 5ee005f5..319bc1b6 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementIslandType.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/RequirementIslandType.java
@@ -1,6 +1,6 @@
package io.github.moulberry.notenoughupdates.questing.requirements;
-import io.github.moulberry.notenoughupdates.questing.NEUQuesting;
+import io.github.moulberry.notenoughupdates.questing.SBScoreboardData;
public class RequirementIslandType extends Requirement {
@@ -14,6 +14,6 @@ public class RequirementIslandType extends Requirement {
@Override
public void updateRequirement() {
- completed = islandType.equalsIgnoreCase(NEUQuesting.getInstance().location);
+ completed = islandType.equalsIgnoreCase(SBScoreboardData.getInstance().location);
}
}