Skip to content

Commit 4766641

Browse files
committed
fix:エンティティの近くにいなくてもボーダーが始まるように
1 parent 793761a commit 4766641

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

src/main/java/com/github/elic0de/hungergames/dragon/DragonTrait.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public void run() {
3737
@Override
3838
public void run() {
3939
if (locations.get(index.get()) == null) {
40-
HungerGames.getInstance().getGame().startBorder();
4140
npc.destroy();
4241
cancel();
4342
return;

src/main/java/com/github/elic0de/hungergames/game/HungerGame.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,15 @@ public void spawnEnderDragon(Player player) {
9898
final Location start = border.getCenter().clone().add(border.getSize() / 2, 130, border.getSize() / 2);
9999
final Location end = border.getCenter().clone().subtract(border.getSize() / 2, -130, border.getSize() / 2);
100100

101+
Bukkit.getScheduler().runTaskLater(HungerGames.getInstance(), this::startBorder, (long) ((start.distance(end) / 10) * 20));
102+
101103
dragonTrait = new DragonTrait(border);
102104
Bukkit.getScheduler().runTaskTimer(HungerGames.getInstance(), task -> {
103105
CitizensNPC dragon = new CitizensNPC(UUID.randomUUID(), 1, "", EntityControllers.createForType(EntityType.ENDER_DRAGON), CitizensAPI.getNPCRegistry());
104106
dragon.spawn(player.getLocation());
105107
dragon.addTrait(dragonTrait);
106108

107109
if (dragon.isSpawned()) {
108-
dragon.teleport(start, PlayerTeleportEvent.TeleportCause.PLUGIN);
109110
getPlayers().stream().filter(onlineUser -> !deadPlayers.contains(onlineUser.getUsername())).forEach(onlineUser -> dragon.getEntity().addPassenger(onlineUser.getPlayer()));
110111
task.cancel();
111112
}
@@ -130,8 +131,8 @@ public void onDeath(GameUser user) {
130131
if (checkTeamDead(user)) aliveTeams.remove(team);
131132
});
132133

133-
// 生存チームが1チームになったら勝利
134-
if (aliveTeams.size() == 1) {
134+
// 生存チーム数が2チーム以下になったら勝利
135+
if (aliveTeams.size() < 2) {
135136
wonGame();
136137
}
137138

@@ -150,7 +151,6 @@ public void wonGame() {
150151
aliveTeams.stream().findAny().ifPresent(team -> {
151152
broadcast(new MineDown(String.format("%sのチームが勝利しました", team.getName())));
152153
title(String.format("%s 勝利しました", team.getName()), "");
153-
sound(Sound.UI_TOAST_CHALLENGE_COMPLETE);
154154
});
155155
endGame();
156156
}

0 commit comments

Comments
 (0)