浏览代码

Refactoring: moving some methods in PlayerUtil.java

RedstoneFuture 1 年之前
父节点
当前提交
01583b3eb0

+ 5 - 9
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Game.java

@@ -48,6 +48,7 @@ import de.butzlabben.missilewars.listener.game.GameBoundListener;
 import de.butzlabben.missilewars.listener.game.GameListener;
 import de.butzlabben.missilewars.listener.game.GameListener;
 import de.butzlabben.missilewars.listener.game.LobbyListener;
 import de.butzlabben.missilewars.listener.game.LobbyListener;
 import de.butzlabben.missilewars.player.MWPlayer;
 import de.butzlabben.missilewars.player.MWPlayer;
+import de.butzlabben.missilewars.util.PlayerUtil;
 import de.butzlabben.missilewars.util.geometry.GameArea;
 import de.butzlabben.missilewars.util.geometry.GameArea;
 import de.butzlabben.missilewars.util.geometry.Geometry;
 import de.butzlabben.missilewars.util.geometry.Geometry;
 import de.butzlabben.missilewars.util.serialization.Serializer;
 import de.butzlabben.missilewars.util.serialization.Serializer;
@@ -757,26 +758,21 @@ public class Game {
     }
     }
 
 
     public void teleportToFallbackSpawn(Player player) {
     public void teleportToFallbackSpawn(Player player) {
-        teleportSafely(player, Config.getFallbackSpawn());
+        PlayerUtil.teleportSafely(player, Config.getFallbackSpawn());
     }
     }
 
 
     public void teleportToLobbySpawn(Player player) {
     public void teleportToLobbySpawn(Player player) {
-        teleportSafely(player, lobby.getSpawnPoint());
+        PlayerUtil.teleportSafely(player, lobby.getSpawnPoint());
     }
     }
 
 
     public void teleportToArenaSpectatorSpawn(Player player) {
     public void teleportToArenaSpectatorSpawn(Player player) {
-        teleportSafely(player, arena.getSpectatorSpawn());
+        PlayerUtil.teleportSafely(player, arena.getSpectatorSpawn());
     }
     }
 
 
     public void teleportToAfterGameSpawn(Player player) {
     public void teleportToAfterGameSpawn(Player player) {
-        teleportSafely(player, lobby.getAfterGameSpawn());
+        PlayerUtil.teleportSafely(player, lobby.getAfterGameSpawn());
     }
     }
     
     
-    public static void teleportSafely(Player player, Location targetLocation) {
-        player.setVelocity(new Vector(0, 0, 0));
-        player.teleport(targetLocation);
-    }
-
     /**
     /**
      * This method checks all previously saved portal positions to see whether the 
      * This method checks all previously saved portal positions to see whether the 
      * portals are still intact. If not, the game-end is initiated.
      * portals are still intact. If not, the game-end is initiated.

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Team.java

@@ -27,6 +27,7 @@ import de.butzlabben.missilewars.game.misc.TeamSpawnProtection;
 import de.butzlabben.missilewars.menus.MenuItem;
 import de.butzlabben.missilewars.menus.MenuItem;
 import de.butzlabben.missilewars.player.MWPlayer;
 import de.butzlabben.missilewars.player.MWPlayer;
 import de.butzlabben.missilewars.util.MoneyUtil;
 import de.butzlabben.missilewars.util.MoneyUtil;
+import de.butzlabben.missilewars.util.PlayerUtil;
 import de.butzlabben.missilewars.util.version.ColorConverter;
 import de.butzlabben.missilewars.util.version.ColorConverter;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
@@ -252,7 +253,7 @@ public class Team {
     
     
     public void teleportToTeamSpawn(Player player) {
     public void teleportToTeamSpawn(Player player) {
         TeamSpawnProtection.regenerateSpawn(this);
         TeamSpawnProtection.regenerateSpawn(this);
-        Game.teleportSafely(player, spawn);
+        PlayerUtil.teleportSafely(player, spawn);
     }
     }
     
     
 }
 }

+ 2 - 5
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/GameTimer.java

@@ -22,8 +22,7 @@ import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.enums.TeamType;
 import de.butzlabben.missilewars.game.enums.TeamType;
-import net.md_5.bungee.api.ChatMessageType;
-import net.md_5.bungee.api.chat.TextComponent;
+import de.butzlabben.missilewars.util.PlayerUtil;
 import org.bukkit.GameMode;
 import org.bukkit.GameMode;
 import org.bukkit.entity.Player;
 import org.bukkit.entity.Player;
 
 
@@ -100,9 +99,7 @@ public class GameTimer extends Timer {
                 Player player = mwPlayer.getPlayer();
                 Player player = mwPlayer.getPlayer();
                 
                 
                 if (mwPlayer.getTeam().getTeamType() == TeamType.PLAYER) return;
                 if (mwPlayer.getTeam().getTeamType() == TeamType.PLAYER) return;
-                
-                player.spigot().sendMessage(ChatMessageType.ACTION_BAR, 
-                        TextComponent.fromLegacyText(Config.getActionbarForSpecEntries()[actionbarMsgCounter]));
+                PlayerUtil.sendActionbarMsg(player, Config.getActionbarForSpecEntries()[actionbarMsgCounter]);
             });
             });
             
             
             // Array-Iteration:
             // Array-Iteration:

+ 34 - 0
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/PlayerUtil.java

@@ -0,0 +1,34 @@
+package de.butzlabben.missilewars.util;
+
+import net.md_5.bungee.api.ChatMessageType;
+import net.md_5.bungee.api.chat.TextComponent;
+import org.bukkit.Location;
+import org.bukkit.entity.Player;
+import org.bukkit.util.Vector;
+
+public class PlayerUtil {
+
+    /**
+     * This method sends the desired message above the player's action bar.
+     * 
+     * @param player (Player) the target player
+     * @param message (String) the actionbar message
+     */
+    public static void sendActionbarMsg(Player player, String message) {
+        player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(message));
+    }
+
+    /**
+     * This method teleports the player to the specified location. Before the teleport, however, 
+     * the velocity is set to zero so that the player does not take over any fall damage due to 
+     * the previous fall / fly. This is mainly relevant in the 'Survival-Mode'.
+     * 
+     * @param player (Player) the target player
+     * @param targetLocation (Location) the target teleport-location
+     */
+    public static void teleportSafely(Player player, Location targetLocation) {
+        player.setVelocity(new Vector(0, 0, 0));
+        player.teleport(targetLocation);
+    }
+    
+}