Cleanup code
This commit is contained in:
parent
fc4a033d8e
commit
ca3060321b
7 changed files with 221 additions and 109 deletions
|
|
@ -13,16 +13,11 @@ import me.firephoenix.ps3minigames.listener.DeathListener;
|
|||
import me.firephoenix.ps3minigames.listener.JoinQuitListener;
|
||||
import me.firephoenix.ps3minigames.listener.MoveListener;
|
||||
import me.firephoenix.ps3minigames.listener.WorldListener;
|
||||
import me.firephoenix.ps3minigames.states.GameState;
|
||||
import me.firephoenix.ps3minigames.states.LobbyState;
|
||||
import me.firephoenix.ps3minigames.util.GameUtil;
|
||||
import me.firephoenix.ps3minigames.util.Timer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
|
|||
|
|
@ -33,11 +33,13 @@ public class ForceStop implements CommandExecutor {
|
|||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.cant-find-game")));
|
||||
return true;
|
||||
} else {
|
||||
if (Objects.requireNonNull(PS3Minigames.INSTANCE.getGameUtil().getGameByID(gameID)).getGameState() != GameState.RUNNING) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.cant-stop-game")));
|
||||
GameState state = PS3Minigames.INSTANCE.getGameUtil().getGameByID(gameID).getGameState();
|
||||
if (state == GameState.INVINCIBILITY || state == GameState.RUNNING) {
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.force-stopping-game").replace("%map%", Objects.requireNonNull(PS3Minigames.INSTANCE.getGameUtil().getGameByID(gameID)).getMap().getName())));
|
||||
PS3Minigames.INSTANCE.getGameUtil().stopGame(Objects.requireNonNull(PS3Minigames.INSTANCE.getGameUtil().getGameByID(gameID)));
|
||||
return true;
|
||||
}
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.force-stopping-game").replace("%map%", Objects.requireNonNull(PS3Minigames.INSTANCE.getGameUtil().getGameByID(gameID)).getMap().getName())));
|
||||
PS3Minigames.INSTANCE.getGameUtil().stopGame(Objects.requireNonNull(PS3Minigames.INSTANCE.getGameUtil().getGameByID(gameID)));
|
||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.cant-stop-game")));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package me.firephoenix.ps3minigames.listener;
|
||||
|
||||
import me.firephoenix.ps3minigames.PS3Minigames;
|
||||
import me.firephoenix.ps3minigames.game.Game;
|
||||
import me.firephoenix.ps3minigames.states.GameState;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
|
||||
/**
|
||||
* @author NieGestorben
|
||||
* Copyright© (c) 2024, All Rights Reserved.
|
||||
*/
|
||||
public class DamageListener implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onDamage(EntityDamageByEntityEvent e) {
|
||||
if (!(e.getEntity() instanceof Player)) return;
|
||||
|
||||
Player player = (Player) e.getEntity();
|
||||
|
||||
Game game = PS3Minigames.INSTANCE.getGameUtil().getGameByWorld(player.getWorld());
|
||||
|
||||
if (game == null) return;
|
||||
|
||||
GameState state = game.getGameState();
|
||||
|
||||
if (state == GameState.INVINCIBILITY || state == GameState.STARTING) e.setCancelled(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -5,7 +5,9 @@ import me.firephoenix.ps3minigames.game.Game;
|
|||
import me.firephoenix.ps3minigames.states.LobbyState;
|
||||
import me.firephoenix.ps3minigames.util.GameUtil;
|
||||
import me.firephoenix.ps3minigames.util.Timer;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
|
@ -14,7 +16,6 @@ import org.bukkit.event.player.PlayerJoinEvent;
|
|||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
|
@ -34,46 +35,50 @@ public class JoinQuitListener implements Listener {
|
|||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent e) {
|
||||
Player player = e.getPlayer();
|
||||
player.teleport(new Location(plugin.getServer().getWorld(config.getString("spawn-lobby.world")), config.getDouble("spawn-lobby.x"), config.getDouble("spawn-lobby.y"), config.getDouble("spawn-lobby.z"), (float) config.getDouble("spawn-lobby.yaw"), (float) config.getDouble("spawn-lobby.pitch")));
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
player.getInventory().clear();
|
||||
player.getInventory().setBoots(null);
|
||||
player.getInventory().setLeggings(null);
|
||||
player.getInventory().setChestplate(null);
|
||||
player.getInventory().setHelmet(null);
|
||||
player.setGameMode(GameMode.SURVIVAL);
|
||||
|
||||
// Send all players which are in the lobby the join message
|
||||
player.teleport(new Location(
|
||||
plugin.getServer().getWorld(config.getString("spawn-lobby.world")),
|
||||
config.getDouble("spawn-lobby.x"),
|
||||
config.getDouble("spawn-lobby.y"),
|
||||
config.getDouble("spawn-lobby.z"),
|
||||
(float) config.getDouble("spawn-lobby.yaw"),
|
||||
(float) config.getDouble("spawn-lobby.pitch")
|
||||
));
|
||||
|
||||
GameUtil.resetInventory(player);
|
||||
|
||||
// Send all players in the lobby the join message
|
||||
String joinMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.join").replace("%player%", player.getDisplayName()));
|
||||
for (Player player1 : plugin.getLobby().getPlayers()) {
|
||||
player1.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.join").replace("%player%", player.getDisplayName())));
|
||||
player1.sendMessage(joinMessage);
|
||||
}
|
||||
// Send joined player the join message, because joinevent is 1 tick before the player gets added to the world player list
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.join").replace("%player%", player.getDisplayName())));
|
||||
if (plugin.getLobby().getPlayers().size() == 0) {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.needed-players")));
|
||||
player.sendMessage(joinMessage);
|
||||
|
||||
int lobbySize = plugin.getLobby().getPlayers().size();
|
||||
|
||||
if (lobbySize == 0) {
|
||||
String neededPlayersMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.needed-players"));
|
||||
player.sendMessage(neededPlayersMessage);
|
||||
for (Player player1 : plugin.getLobby().getPlayers()) {
|
||||
player1.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.needed-players")));
|
||||
player1.sendMessage(neededPlayersMessage);
|
||||
}
|
||||
} else {
|
||||
if (plugin.getLobby().getPlayers().size() >= 3) {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.game-start").replace("%seconds%", "10")));
|
||||
for (Player player1 : plugin.getLobby().getPlayers()) {
|
||||
player1.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.game-start").replace("%seconds%", "10")));
|
||||
}
|
||||
} else {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.game-start").replace("%seconds%", "25")));
|
||||
for (Player player1 : plugin.getLobby().getPlayers()) {
|
||||
player1.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.game-start").replace("%seconds%", "25")));
|
||||
}
|
||||
String gameStartMessage;
|
||||
int startSeconds = (lobbySize >= 3) ? 10 : 25;
|
||||
gameStartMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.game-start").replace("%seconds%", Integer.toString(startSeconds)));
|
||||
|
||||
player.sendMessage(gameStartMessage);
|
||||
for (Player player1 : plugin.getLobby().getPlayers()) {
|
||||
player1.sendMessage(gameStartMessage);
|
||||
}
|
||||
|
||||
if (plugin.getLobbyState() == LobbyState.IDLE) {
|
||||
plugin.setLobbyState(LobbyState.STARTING);
|
||||
lobbyPlayers.add(player.getUniqueId());
|
||||
plugin.getLobby().getPlayers().forEach(player1 -> lobbyPlayers.add(player1.getUniqueId()));
|
||||
|
||||
gameTimer.start();
|
||||
gameTimer = new Timer(plugin.getLobby().getPlayers().size() >= 3 ? 10 : 25, plugin);
|
||||
gameTimer = new Timer(startSeconds, plugin);
|
||||
gameTimer.whenComplete(() -> PS3Minigames.INSTANCE.getGameUtil().startNewGame(lobbyPlayers, plugin.getServer().getWorld("cavern")));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,5 +8,6 @@ public enum GameState {
|
|||
|
||||
STARTING,
|
||||
RUNNING,
|
||||
INVINCIBILITY,
|
||||
STOPPING
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
package me.firephoenix.ps3minigames.util;
|
||||
|
||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||
import com.onarandombox.MultiverseCore.api.MultiverseWorld;
|
||||
import me.firephoenix.ps3minigames.PS3Minigames;
|
||||
import me.firephoenix.ps3minigames.game.Game;
|
||||
import me.firephoenix.ps3minigames.states.GameState;
|
||||
|
|
@ -19,59 +22,55 @@ import java.util.*;
|
|||
*/
|
||||
public class GameUtil {
|
||||
|
||||
|
||||
public static int getRandomInRange(int min, int max) {
|
||||
Random random = new Random();
|
||||
return random.nextInt(max - min) + min;
|
||||
}
|
||||
|
||||
public static float getRandomInRange(float min, float max) {
|
||||
return (float) (min + Math.random() * (max - min));
|
||||
}
|
||||
|
||||
public void startNewGame(ArrayList<UUID> players, World map) {
|
||||
int ID = PS3Minigames.INSTANCE.getGames().size() + 1;
|
||||
String newName = map.getName() + "game" + ID;
|
||||
boolean copydone = PS3Minigames.INSTANCE.getMultiverseCore().getMVWorldManager().cloneWorld(map.getName(), newName);
|
||||
if (copydone) {
|
||||
boolean loadingdone = PS3Minigames.INSTANCE.getMultiverseCore().getMVWorldManager().loadWorld(newName);
|
||||
if (loadingdone) {
|
||||
PS3Minigames.INSTANCE.getMultiverseCore().getMVWorldManager().getMVWorld(newName).setAlias(newName);
|
||||
World gameWorld = Bukkit.getWorld(newName);
|
||||
Game newGame = new Game(ID, players, gameWorld, GameState.STARTING);
|
||||
PS3Minigames.INSTANCE.getGames().add(newGame);
|
||||
PS3Minigames.INSTANCE.getWorldToGameHashMap().put(gameWorld, newGame);
|
||||
int spawnnumber = 1;
|
||||
for (UUID uuid : players) {
|
||||
if (PS3Minigames.INSTANCE.getServer().getPlayer(uuid) == null) return;
|
||||
PS3Minigames.INSTANCE.getServer().getPlayer(uuid).sendMessage(ChatColor.translateAlternateColorCodes('&', PS3Minigames.INSTANCE.getConfig().getString("messages.teleporting")));
|
||||
String configpathtospawnloc = "maps." + map.getName() + ".spawn" + spawnnumber++;
|
||||
Location location = new Location(gameWorld, PS3Minigames.INSTANCE.getConfig().getDouble(configpathtospawnloc + ".x"), PS3Minigames.INSTANCE.getConfig().getDouble(configpathtospawnloc + ".y"), PS3Minigames.INSTANCE.getConfig().getDouble(configpathtospawnloc + ".z"), (float) PS3Minigames.INSTANCE.getConfig().getDouble(configpathtospawnloc + ".yaw"), (float) PS3Minigames.INSTANCE.getConfig().getDouble(configpathtospawnloc + ".pitch"));
|
||||
Bukkit.getServer().getPlayer(uuid).teleport(location);
|
||||
PS3Minigames.INSTANCE.getFrozenPlayer().add(uuid);
|
||||
}
|
||||
Timer timer = new Timer(10, PS3Minigames.INSTANCE);
|
||||
timer.start();
|
||||
fillChests(newGame);
|
||||
timer.eachSecond(() -> {
|
||||
for (UUID uuid : newGame.getPlayers()) {
|
||||
if (Bukkit.getServer().getPlayer(uuid) == null) return;
|
||||
Bukkit.getServer().getPlayer(uuid).sendTitle(ChatColor.translateAlternateColorCodes('&', "&6" + timer.getCounter()), "");
|
||||
}
|
||||
});
|
||||
timer.whenComplete(() -> {
|
||||
newGame.setGameState(GameState.RUNNING);
|
||||
gameWorld.getPlayers().forEach(player -> {
|
||||
PS3Minigames.INSTANCE.getFrozenPlayer().remove(player.getUniqueId());
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', PS3Minigames.INSTANCE.getConfig().getString("messages.game-start-no-countdown")));
|
||||
});
|
||||
});
|
||||
} else {
|
||||
System.out.println("error while trying to load the world!");
|
||||
}
|
||||
} else {
|
||||
System.out.println("error while trying to copy the world!");
|
||||
PS3Minigames plugin = PS3Minigames.INSTANCE;
|
||||
MultiverseCore mvCore = plugin.getMultiverseCore();
|
||||
MVWorldManager worldManager = mvCore.getMVWorldManager();
|
||||
|
||||
int gameId = plugin.getGames().size() + 1;
|
||||
String newWorldName = map.getName() + "game" + gameId;
|
||||
|
||||
if (!worldManager.cloneWorld(map.getName(), newWorldName)) {
|
||||
System.out.println("Error while trying to copy the world!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!worldManager.loadWorld(newWorldName)) {
|
||||
System.out.println("Error while trying to load the world!");
|
||||
return;
|
||||
}
|
||||
|
||||
MultiverseWorld mvWorld = worldManager.getMVWorld(newWorldName);
|
||||
mvWorld.setAlias(newWorldName);
|
||||
World gameWorld = Bukkit.getWorld(newWorldName);
|
||||
|
||||
Game newGame = new Game(gameId, players, gameWorld, GameState.STARTING);
|
||||
plugin.getGames().add(newGame);
|
||||
plugin.getWorldToGameHashMap().put(gameWorld, newGame);
|
||||
|
||||
int spawnNumber = 1;
|
||||
for (UUID uuid : players) {
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
if (player == null) return;
|
||||
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("messages.teleporting")));
|
||||
|
||||
String spawnPath = "maps." + map.getName() + ".spawn" + spawnNumber++;
|
||||
Location spawnLocation = new Location(
|
||||
gameWorld,
|
||||
plugin.getConfig().getDouble(spawnPath + ".x"),
|
||||
plugin.getConfig().getDouble(spawnPath + ".y"),
|
||||
plugin.getConfig().getDouble(spawnPath + ".z"),
|
||||
(float) plugin.getConfig().getDouble(spawnPath + ".yaw"),
|
||||
(float) plugin.getConfig().getDouble(spawnPath + ".pitch")
|
||||
);
|
||||
|
||||
player.teleport(spawnLocation);
|
||||
plugin.getFrozenPlayer().add(uuid);
|
||||
}
|
||||
|
||||
startCountdown(newGame, 10, "&6");
|
||||
startInvincibilityTimer(newGame, 25, "&6Invulnerability wears off in ");
|
||||
}
|
||||
|
||||
public void stopGame(Game game) {
|
||||
|
|
@ -79,27 +78,45 @@ public class GameUtil {
|
|||
System.out.println("Someone tried to stop a game which is currently stopping, not possible, ignoring.");
|
||||
return;
|
||||
}
|
||||
if (Bukkit.getServer().getPlayer(game.getPlayers().get(0)) != null) {
|
||||
Player winner = Bukkit.getPlayer(game.getPlayers().get(0));
|
||||
game.getPlayers().forEach(uuid -> Bukkit.getServer().getPlayer(uuid).sendMessage(ChatColor.translateAlternateColorCodes('&', PS3Minigames.INSTANCE.getConfig().getString("messages.game-won").replace("%winner%", winner.getDisplayName()))));
|
||||
|
||||
List<UUID> players = game.getPlayers();
|
||||
Player winner = Bukkit.getPlayer(players.get(0));
|
||||
|
||||
if (winner != null) {
|
||||
String gameWonMessage = ChatColor.translateAlternateColorCodes('&',
|
||||
PS3Minigames.INSTANCE.getConfig().getString("messages.game-won").replace("%winner%", winner.getDisplayName()));
|
||||
|
||||
for (UUID uuid : players) {
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null) {
|
||||
player.sendMessage(gameWonMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
game.setGameState(GameState.STOPPING);
|
||||
// Teleport all players + Clear inv + Reset Effects + Unfreeze
|
||||
game.getPlayers().forEach(uuid -> {
|
||||
Bukkit.getServer().getPlayer(uuid).teleport(new Location(PS3Minigames.INSTANCE.getServer().getWorld(PS3Minigames.INSTANCE.getConfig().getString("spawn-lobby.world")), PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.x"), PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.y"), PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.z"), (float) PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.yaw"), (float) PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.pitch")));
|
||||
Bukkit.getServer().getPlayer(uuid).getInventory().clear();
|
||||
Bukkit.getServer().getPlayer(uuid).getActivePotionEffects().clear();
|
||||
Bukkit.getServer().getPlayer(uuid).setHealth(20);
|
||||
Bukkit.getServer().getPlayer(uuid).setFoodLevel(20);
|
||||
Bukkit.getServer().getPlayer(uuid).getInventory().setBoots(null);
|
||||
Bukkit.getServer().getPlayer(uuid).getInventory().setLeggings(null);
|
||||
Bukkit.getServer().getPlayer(uuid).getInventory().setChestplate(null);
|
||||
Bukkit.getServer().getPlayer(uuid).getInventory().setHelmet(null);
|
||||
PS3Minigames.INSTANCE.getFrozenPlayer().remove(uuid);
|
||||
});
|
||||
if (game.getMap().getPlayers().size() == 0) {
|
||||
|
||||
Location spawnLocation = new Location(
|
||||
PS3Minigames.INSTANCE.getServer().getWorld(PS3Minigames.INSTANCE.getConfig().getString("spawn-lobby.world")),
|
||||
PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.x"),
|
||||
PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.y"),
|
||||
PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.z"),
|
||||
(float) PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.yaw"),
|
||||
(float) PS3Minigames.INSTANCE.getConfig().getDouble("spawn-lobby.pitch")
|
||||
);
|
||||
|
||||
for (UUID uuid : players) {
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
if (player != null) {
|
||||
player.teleport(spawnLocation);
|
||||
resetInventory(player);
|
||||
}
|
||||
}
|
||||
|
||||
if (game.getMap().getPlayers().isEmpty()) {
|
||||
PS3Minigames.INSTANCE.getMultiverseCore().getMVWorldManager().deleteWorld(game.getMap().getName());
|
||||
}
|
||||
|
||||
PS3Minigames.INSTANCE.getGames().remove(game);
|
||||
}
|
||||
|
||||
|
|
@ -191,4 +208,65 @@ public class GameUtil {
|
|||
return bd.doubleValue();
|
||||
}
|
||||
|
||||
private void startCountdown(Game game, int seconds, String titleColor) {
|
||||
Timer timer = new Timer(seconds, PS3Minigames.INSTANCE);
|
||||
timer.start();
|
||||
|
||||
timer.eachSecond(() -> {
|
||||
for (UUID uuid : game.getPlayers()) {
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
if (player == null) return;
|
||||
player.sendTitle(ChatColor.translateAlternateColorCodes('&', titleColor + timer.getCounter()), "");
|
||||
}
|
||||
});
|
||||
|
||||
timer.whenComplete(() -> {
|
||||
game.setGameState(GameState.INVINCIBILITY);
|
||||
game.getMap().getPlayers().forEach(player -> {
|
||||
PS3Minigames.INSTANCE.getFrozenPlayer().remove(player.getUniqueId());
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', PS3Minigames.INSTANCE.getConfig().getString("messages.game-start-no-countdown")));
|
||||
});
|
||||
});
|
||||
|
||||
fillChests(game);
|
||||
}
|
||||
|
||||
private void startInvincibilityTimer(Game game, int seconds, String messagePrefix) {
|
||||
Timer invincibilityTimer = new Timer(seconds, PS3Minigames.INSTANCE);
|
||||
invincibilityTimer.start();
|
||||
|
||||
invincibilityTimer.eachSecond(() -> {
|
||||
for (UUID uuid : game.getPlayers()) {
|
||||
Player player = Bukkit.getPlayer(uuid);
|
||||
if (player == null) return;
|
||||
player.sendTitle("", ChatColor.translateAlternateColorCodes('&', messagePrefix + invincibilityTimer.getCounter()));
|
||||
}
|
||||
});
|
||||
|
||||
invincibilityTimer.whenComplete(() -> {
|
||||
game.setGameState(GameState.RUNNING);
|
||||
});
|
||||
}
|
||||
|
||||
public static int getRandomInRange(int min, int max) {
|
||||
Random random = new Random();
|
||||
return random.nextInt(max - min) + min;
|
||||
}
|
||||
|
||||
public static float getRandomInRange(float min, float max) {
|
||||
return (float) (min + Math.random() * (max - min));
|
||||
}
|
||||
|
||||
public static void resetInventory(Player player) {
|
||||
player.getActivePotionEffects().forEach(effect -> player.removePotionEffect(effect.getType()));
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
player.getInventory().clear();
|
||||
player.getInventory().setBoots(null);
|
||||
player.getInventory().setLeggings(null);
|
||||
player.getInventory().setChestplate(null);
|
||||
player.getInventory().setHelmet(null);
|
||||
player.setGameMode(GameMode.SURVIVAL);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package me.firephoenix.ps3minigames.util;
|
||||
|
||||
import lombok.Getter;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
|
@ -12,6 +13,7 @@ import org.bukkit.scheduler.BukkitTask;
|
|||
public class Timer {
|
||||
private final int duration;
|
||||
private final Plugin plugin;
|
||||
@Getter
|
||||
int counter;
|
||||
BukkitTask bukkitTask;
|
||||
private boolean running = false;
|
||||
|
|
@ -63,7 +65,4 @@ public class Timer {
|
|||
return running;
|
||||
}
|
||||
|
||||
public int getCounter() {
|
||||
return counter;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue