-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTeleportPhase.java
More file actions
46 lines (38 loc) · 1.42 KB
/
TeleportPhase.java
File metadata and controls
46 lines (38 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package net.theevilreaper.bounce.timer;
import net.minestom.server.MinecraftServer;
import net.minestom.server.entity.Player;
import net.theevilreaper.aves.util.functional.PlayerConsumer;
import net.theevilreaper.aves.util.functional.VoidConsumer;
import net.theevilreaper.bounce.attribute.AttributeHelper;
import net.theevilreaper.bounce.util.ItemUtil;
import net.theevilreaper.xerus.api.phase.TimedPhase;
import org.jetbrains.annotations.NotNull;
import java.time.temporal.ChronoUnit;
import java.util.Collection;
public class TeleportPhase extends TimedPhase {
private final PlayerConsumer teleport;
private final VoidConsumer startTrigger;
public TeleportPhase(@NotNull PlayerConsumer teleport, @NotNull VoidConsumer startTrigger) {
super("Teleport", ChronoUnit.SECONDS, 1);
this.setCurrentTicks(3);
this.teleport = teleport;
this.startTrigger = startTrigger;
}
@Override
public void onStart() {
super.onStart();
this.startTrigger.apply();
}
@Override
public void onUpdate() {
}
@Override
protected void onFinish() {
Collection<@NotNull Player> onlinePlayers = MinecraftServer.getConnectionManager().getOnlinePlayers();
for (Player onlinePlayer : onlinePlayers) {
ItemUtil.setItem(onlinePlayer);
teleport.accept(onlinePlayer);
AttributeHelper.disableJumpStrength(onlinePlayer);
}
}
}