Skip to content

Commit 261b148

Browse files
committed
fix nether portal
1 parent faa8dd0 commit 261b148

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/event/PlayerEvents.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package us.talabrek.ultimateskyblock.event;
22

33
import com.destroystokyo.paper.event.player.PlayerTeleportEndGatewayEvent;
4+
import com.google.common.util.concurrent.RateLimiter;
45
import com.google.inject.Inject;
56
import com.google.inject.Singleton;
67
import dk.lockfuglsang.minecraft.util.ItemStackUtil;
@@ -318,15 +319,20 @@ public void onTeleport(PlayerTeleportEvent event) {
318319
}
319320
}
320321

322+
private RateLimiter rateLimiter = RateLimiter.create(1);
323+
321324
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
322325
public void onPlayerPortal(EntityPortalEnterEvent event) {
323326
if (event.getEntityType() == EntityType.PLAYER) {
324327
Player player = (Player) event.getEntity();
325328
PlayerInfo playerInfo = plugin.getPlayerInfo(player);
326329
boolean isFirstCompletion = playerInfo.checkChallenge("page1finished") == 0;
327-
if (isFirstCompletion || player.isOp()){
330+
if (player.isOp()) return;
331+
if (isFirstCompletion){
328332
event.setCancelled(true);
329-
player.sendMessage("地狱门已被禁用");
333+
if (rateLimiter.tryAcquire()) {
334+
player.sendMessage("\u00a7c地狱门已被禁用");
335+
}
330336
}
331337
}
332338
else {

uSkyBlock-Core/src/main/java/us/talabrek/ultimateskyblock/util/ProgressTracker.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public ProgressTracker(CommandSender sender, String format, double progressEvery
2929
public void progressUpdate(long progress, long total, Object... args) {
3030
Instant now = Instant.now();
3131
float pct = 100f * progress / (total > 0 ? total : 1f);
32+
if (lastProgressTime == null) { lastProgressTime = now; }
3233
if (now.isAfter(lastProgressTime.plus(progressEvery)) || pct > (lastProgressPct + progressEveryPct)) {
3334
lastProgressPct = pct;
3435
lastProgressTime = now;

0 commit comments

Comments
 (0)