@@ -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