Skip to content

Commit cd02518

Browse files
committed
Fix bug: tutorial always using tutorialplotid 0
1 parent 6c5852e commit cd02518

2 files changed

Lines changed: 9 additions & 7 deletions

File tree

src/main/java/com/alpsbte/plotsystem/core/database/providers/TutorialPlotProvider.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,12 @@
88
import java.sql.ResultSet;
99
import java.sql.Timestamp;
1010
import java.time.LocalDateTime;
11-
import java.util.Deque;
1211
import java.util.HashMap;
13-
import java.util.LinkedList;
1412
import java.util.Map;
1513
import java.util.Optional;
1614

1715
public class TutorialPlotProvider {
1816
public static final Map<TutorialPlot, Integer> tutorialPlots = new HashMap<>();
19-
public static final Deque<Integer> freeTutorialPlotIds = new LinkedList<>();
2017

2118
public Optional<TutorialPlot> getById(int id) {
2219
return tutorialPlots.keySet().stream().filter(t -> tutorialPlots.get(t) == id).findFirst();
@@ -34,7 +31,7 @@ public Optional<TutorialPlot> getByTutorialId(int tutorialId, String playerUUID)
3431
ps.setString(2, playerUUID);
3532
ResultSet rs = ps.executeQuery();
3633
if (rs.next()) {
37-
int plotId = freeTutorialPlotIds.isEmpty() ? 0 : freeTutorialPlotIds.poll();
34+
int plotId = getNextTutorialPlotId();
3835
int stageId = rs.getInt(1);
3936
boolean isComplete = rs.getBoolean(2);
4037
Date lastStageCompleteDate = rs.getDate(3);
@@ -46,7 +43,6 @@ public Optional<TutorialPlot> getByTutorialId(int tutorialId, String playerUUID)
4643
}
4744
return Optional.empty();
4845
}));
49-
5046
}
5147

5248
public boolean add(int tutorialId, String playerUUID) {
@@ -81,4 +77,12 @@ public boolean setComplete(int tutorialId, String playerUUID) {
8177
return ps.executeUpdate() > 0;
8278
})));
8379
}
80+
81+
private int getNextTutorialPlotId() {
82+
int id = 0;
83+
while (tutorialPlots.containsValue(id)) {
84+
id++;
85+
}
86+
return id;
87+
}
8488
}

src/main/java/com/alpsbte/plotsystem/core/system/tutorial/AbstractPlotTutorial.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,7 @@ public void onTutorialStop(UUID playerUUID) {
176176
if (!getPlayerUUID().toString().equals(playerUUID.toString())) return;
177177
super.onTutorialStop(playerUUID);
178178
if (tutorialPlot != null) tutorialPlot.getWorld().deleteWorld();
179-
int index = TutorialPlotProvider.tutorialPlots.get(tutorialPlot);
180179
TutorialPlotProvider.tutorialPlots.remove(tutorialPlot);
181-
TutorialPlotProvider.freeTutorialPlotIds.add(index);
182180
}
183181

184182
@Override

0 commit comments

Comments
 (0)