diff --git a/README.md b/README.md index 91e032f..4484cc5 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Made by [The Asgard](https://asgrad.fun/) with love 💙 [discord]: https://img.shields.io/badge/Our-discord-blue?style=for-the-badge&logo=discord -[version]: https://img.shields.io/badge/Version-v1.2.0-success?style=for-the-badge&logo=wiki +[version]: https://img.shields.io/badge/Version-v1.3.0-success?style=for-the-badge&logo=wiki [download]: #how-to-use [wiki]: https://img.shields.io/badge/-Our%20wiki-yellow?style=for-the-badge&logo=wiki @@ -18,7 +18,7 @@ Made by [The Asgard](https://asgrad.fun/) with love 💙 [docs]: https://img.shields.io/badge/Our%20documentation-v1.2.0-important?style=for-the-badge&logo=wiki [docs-url]: https://github.com/TheAsgard/TAGA/wiki/Documentation -[minecraft]: https://img.shields.io/badge/Minecraft-1.16.5-red?style=for-the-badge&logo=mojang-studios +[minecraft]: https://img.shields.io/badge/Minecraft-1.17-red?style=for-the-badge&logo=mojang-studios [minecraft-url]: https://www.minecraft.net/ [![version][]][download] @@ -34,7 +34,7 @@ Made by [The Asgard](https://asgrad.fun/) with love 💙 ## How to use -Requires [**Minecraft 1.16.5**][minecraft-url] or **higher**. +Requires [**Minecraft 1.17**][minecraft-url] Works with [PaperMC][papermc-url], [SpigotMC][spigotmc-url], [MohistMC][mohist-url], [CraftBukkit][bukkit-url] etc. > #### For Maven @@ -43,7 +43,7 @@ Works with [PaperMC][papermc-url], [SpigotMC][spigotmc-url], [MohistMC][mohist-u fun.asgard TAGA - v1.2.0 + v1.3.0 ``` @@ -58,7 +58,7 @@ repositories { ``` ```gradle dependencies { - implementation 'fun.asgard:TAGA:v1.2.0' + implementation 'fun.asgard:TAGA:v1.3.0' } ``` diff --git a/pom.xml b/pom.xml index 97821f4..7673a3b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,82 +1,88 @@ - - - 4.0.0 - - fun.asgard - TAGA - v1.2.0 - jar - - TAGA - - - 11 - UTF-8 - - - - - github - GitHub TheAsgard Apache Maven Packages - https://maven.pkg.github.com/TheAsgard/TAGA - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - ${java.version} - ${java.version} - - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - - - package - - shade - - - false - - - - - - - - src/main/resources - true - - - - - - - papermc-repo - https://papermc.io/repo/repository/maven-public/ - - - sonatype - https://oss.sonatype.org/content/groups/public/ - - - - - - com.destroystokyo.paper - paper-api - 1.16.5-R0.1-SNAPSHOT - provided - - - + + + 4.0.0 + + fun.asgard + TAGA + v1.2.0 + jar + + TAGA + + + 16 + UTF-8 + + + + + + maven-assembly-plugin + + + + fun.asgard.TAGA + + + + jar-with-dependencies + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + + package + + shade + + + true + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 15 + 15 + + + + + + src/main/resources + true + + + + + + + papermc-repo + https://papermc.io/repo/repository/maven-public/ + + + sonatype + https://oss.sonatype.org/content/groups/public/ + + + + + + com.destroystokyo.paper + paper-api + 1.16.5-R0.1-SNAPSHOT + provided + + + + diff --git a/src/main/java/fun/asgard/Handler.java b/src/main/java/fun/asgard/Handler.java deleted file mode 100644 index 8ea6b05..0000000 --- a/src/main/java/fun/asgard/Handler.java +++ /dev/null @@ -1,44 +0,0 @@ -package fun.asgard; - -import fun.asgard.api.events.GamePlayerDeathEvent; -import fun.asgard.api.objects.GamePlayer; - -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.PlayerKickEvent; -import org.bukkit.plugin.Plugin; - -public class Handler implements Listener { - - private final TAGA pl; - private final Plugin client; - - protected Handler(TAGA taga, Plugin client) { - this.pl = taga; - this.client = client; - } - - @EventHandler - public void onPlayerKick(PlayerKickEvent event) { - this.pl.getGameManager().getGames().forEach((name, game) -> { - if (game.isLeaveOnKick() - && game.getPlayers().containsKey(event.getPlayer())) { - game.disconnectPlayer(game.getPlayers().get(event.getPlayer())); - } - }); - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent event) { - this.pl.getGameManager().getGames().forEach((name, game) -> { - if (game.getPlayers().containsKey(event.getEntity())) { - GamePlayer gp = game.getPlayers().get(event.getEntity()); - gp.setDied(true); - this.client.getServer().getPluginManager() - .callEvent(new GamePlayerDeathEvent(game, gp)); - } - }); - } - -} diff --git a/src/main/java/fun/asgard/TAGA.java b/src/main/java/fun/asgard/TAGA.java deleted file mode 100644 index 2f1e7c7..0000000 --- a/src/main/java/fun/asgard/TAGA.java +++ /dev/null @@ -1,39 +0,0 @@ -package fun.asgard; - -import fun.asgard.internal.managers.GameManager; -import fun.asgard.internal.managers.TaskManager; - -import org.bukkit.event.Listener; -import org.bukkit.plugin.Plugin; - -public final class TAGA implements Listener { - - private final GameManager gm; - private final TaskManager tm; - - private static final String VERSION = "v1.2.0"; - - public TAGA (Plugin client) { - if (client == null) - throw new IllegalArgumentException("Plugin must be valid"); - - client.getServer().getLogger().info("[TAGA] Starting TAGA-" + getVersion() + " on " + client.getServer().getVersion()); - - this.gm = new GameManager(this, client); - this.tm = new TaskManager(this, client); - client.getServer().getPluginManager().registerEvents(new Handler(this, client), client); - } - - public GameManager getGameManager() { - return gm; - } - - public TaskManager getTaskManager() { - return tm; - } - - public static String getVersion() { - return VERSION; - } - -} diff --git a/src/main/java/fun/asgard/api/events/GamePlayerDeathEvent.java b/src/main/java/fun/asgard/api/events/GamePlayerDeathEvent.java deleted file mode 100644 index 95e2a35..0000000 --- a/src/main/java/fun/asgard/api/events/GamePlayerDeathEvent.java +++ /dev/null @@ -1,44 +0,0 @@ -package fun.asgard.api.events; - -import fun.asgard.api.objects.Game; - -import fun.asgard.api.objects.GamePlayer; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -import org.jetbrains.annotations.NotNull; - -public class GamePlayerDeathEvent extends Event { - - private static final HandlerList handlers = new HandlerList(); - - private final GamePlayer player; - private final Game game; - - /** - * - * @param game Game - * @param player Game player - */ - public GamePlayerDeathEvent(Game game, GamePlayer player) { - this.player = player; - this.game = game; - } - - public GamePlayer getPlayer() { - return player; - } - - public Game getGame() { - return game; - } - - public @NotNull HandlerList getHandlers() { - return handlers; - } - - public static HandlerList getHandlerList() { - return handlers; - } - -} diff --git a/src/main/java/fun/asgard/api/events/GameStartEvent.java b/src/main/java/fun/asgard/api/events/GameStartEvent.java deleted file mode 100644 index 8d740b7..0000000 --- a/src/main/java/fun/asgard/api/events/GameStartEvent.java +++ /dev/null @@ -1,57 +0,0 @@ -package fun.asgard.api.events; - -import fun.asgard.api.objects.Game; - -import fun.asgard.api.objects.GamePlayer; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -import org.jetbrains.annotations.NotNull; - -import java.util.Arrays; -import java.util.HashSet; - -public class GameStartEvent extends Event { - - private static final HandlerList handlers = new HandlerList(); - - private final HashSet players = new HashSet<>(); - private final Game game; - - /** - * - * @param game Game - * @param players Game players - */ - public GameStartEvent(Game game, GamePlayer[] players) { - this.players.addAll(Arrays.asList(players)); - this.game = game; - } - - /** - * - * @param game Game - * @param players Game players - */ - public GameStartEvent(Game game, HashSet players) { - this.players.addAll(players); - this.game = game; - } - - public HashSet getPlayers() { - return players; - } - - public Game getGame() { - return game; - } - - public @NotNull HandlerList getHandlers() { - return handlers; - } - - public static HandlerList getHandlerList() { - return handlers; - } - -} diff --git a/src/main/java/fun/asgard/api/events/GameStopEvent.java b/src/main/java/fun/asgard/api/events/GameStopEvent.java deleted file mode 100644 index 141dcd3..0000000 --- a/src/main/java/fun/asgard/api/events/GameStopEvent.java +++ /dev/null @@ -1,101 +0,0 @@ -package fun.asgard.api.events; - -import fun.asgard.api.objects.Game; - -import fun.asgard.api.objects.GamePlayer; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -import org.jetbrains.annotations.NotNull; - -import java.util.Arrays; -import java.util.HashSet; - -public class GameStopEvent extends Event { - - private static final HandlerList handlers = new HandlerList(); - - private final Game game; - private final HashSet winners = new HashSet<>(); - private final HashSet losers = new HashSet<>(); - private final HashSet players = new HashSet<>(); - - /** - * - * @param game Game - * @param players Game players - */ - public GameStopEvent(Game game, GamePlayer[] players) { - this.players.addAll(Arrays.asList(players)); - this.game = game; - } - - /** - * - * @param game Game - * @param players Game players - * @param winner Winner of the game - * @param loser Loser of the game - */ - public GameStopEvent(Game game, GamePlayer[] players, GamePlayer winner, GamePlayer loser) { - this.players.addAll(Arrays.asList(players)); - this.game = game; - this.winners.add(winner); - this.losers.add(loser); - } - - /** - * - * @param game Game - * @param players Game players - * @param winners Winners of the game - * @param losers Losers of the game - */ - public GameStopEvent(Game game, GamePlayer[] players, GamePlayer[] winners, GamePlayer[] losers) { - this.players.addAll(Arrays.asList(players)); - this.game = game; - - this.winners.addAll(Arrays.asList(winners)); - this.losers.addAll(Arrays.asList(losers)); - } - - /** - * - * @param game Game - * @param players Game players - * @param winners Winners of the game - * @param losers Losers of the game - */ - public GameStopEvent(Game game, HashSet players, HashSet winners, HashSet losers) { - this.players.addAll(players); - this.game = game; - - this.winners.addAll(winners); - this.losers.addAll(losers); - } - - public HashSet getLosers() { - return losers; - } - - public HashSet getWinners() { - return winners; - } - - public HashSet getPlayers() { - return players; - } - - public Game getGame() { - return game; - } - - public @NotNull HandlerList getHandlers() { - return handlers; - } - - public static HandlerList getHandlerList() { - return handlers; - } - -} diff --git a/src/main/java/fun/asgard/api/events/PlayerConnectEvent.java b/src/main/java/fun/asgard/api/events/PlayerConnectEvent.java deleted file mode 100644 index 9702030..0000000 --- a/src/main/java/fun/asgard/api/events/PlayerConnectEvent.java +++ /dev/null @@ -1,44 +0,0 @@ -package fun.asgard.api.events; - -import fun.asgard.api.objects.Game; - -import org.bukkit.entity.Player; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -import org.jetbrains.annotations.NotNull; - -public class PlayerConnectEvent extends Event { - - private static final HandlerList handlers = new HandlerList(); - - private final Player player; - private final Game game; - - /** - * - * @param game Game - * @param player Game player - */ - public PlayerConnectEvent(Game game, Player player) { - this.player = player; - this.game = game; - } - - public Player getPlayer() { - return player; - } - - public Game getGame() { - return game; - } - - public @NotNull HandlerList getHandlers() { - return handlers; - } - - public static HandlerList getHandlerList() { - return handlers; - } - -} diff --git a/src/main/java/fun/asgard/api/events/PlayerDisconnectEvent.java b/src/main/java/fun/asgard/api/events/PlayerDisconnectEvent.java deleted file mode 100644 index de4ce21..0000000 --- a/src/main/java/fun/asgard/api/events/PlayerDisconnectEvent.java +++ /dev/null @@ -1,44 +0,0 @@ -package fun.asgard.api.events; - -import fun.asgard.api.objects.Game; - -import org.bukkit.entity.Player; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - -import org.jetbrains.annotations.NotNull; - -public class PlayerDisconnectEvent extends Event { - - private static final HandlerList handlers = new HandlerList(); - - private final Player player; - private final Game game; - - /** - * - * @param game Game - * @param player Game player - */ - public PlayerDisconnectEvent(Game game, Player player) { - this.player = player; - this.game = game; - } - - public Player getPlayer() { - return player; - } - - public Game getGame() { - return game; - } - - public @NotNull HandlerList getHandlers() { - return handlers; - } - - public static HandlerList getHandlerList() { - return handlers; - } - -} diff --git a/src/main/java/fun/asgard/api/objects/Game.java b/src/main/java/fun/asgard/api/objects/Game.java deleted file mode 100644 index 7267cf4..0000000 --- a/src/main/java/fun/asgard/api/objects/Game.java +++ /dev/null @@ -1,74 +0,0 @@ -package fun.asgard.api.objects; - -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.entity.Player; - -import java.util.HashMap; -import java.util.HashSet; - -public interface Game { - - /** - * After calling the method, GameStartEvent will be triggered - */ - void start(); - - /** - * After calling the method, GameEndEvent will be triggered - */ - void stop(boolean saveWorld); - - /** - * After calling the method, GameEndEvent will be triggered - */ - void stop(GamePlayer winner, GamePlayer loser, boolean saveWorld); - - /** - * After calling the method, GameEndEvent will be triggered - */ - void stop(GamePlayer[] winners, GamePlayer[] losers, boolean saveWorld); - - /** - * After calling the method, GameEndEvent will be triggered - */ - void stop(HashSet winners, HashSet losers, boolean saveWorld); - - /** - * After calling the method, no event will be triggered - */ - void shutdown(boolean saveWorld); - - void connectPlayer(Player player); - - void connectPlayer(Player player, Location location); - - void connectPlayer(Player player, double x, double y, double z); - - void disconnectPlayer(GamePlayer player); - - void disconnectPlayer(GamePlayer player, Location location); - - void disconnectPlayer(GamePlayer player, double x, double y, double z); - - HashSet getTasks(); - - long getWhenStarted(); - - HashMap getPlayers(); - - long getTime(); - - String getGameName(); - - World getWorld(); - - GameTask getTask(); - - void setTime(long time); - - void setKickOnLeave(boolean kickOnLeave); - - boolean isLeaveOnKick(); - -} diff --git a/src/main/java/fun/asgard/api/objects/GamePlayer.java b/src/main/java/fun/asgard/api/objects/GamePlayer.java deleted file mode 100644 index f4d1c7a..0000000 --- a/src/main/java/fun/asgard/api/objects/GamePlayer.java +++ /dev/null @@ -1,19 +0,0 @@ -package fun.asgard.api.objects; - -import org.bukkit.entity.Player; - -public interface GamePlayer { - - Player getPlayer(); - - Game getGame(); - - int getScore(); - - boolean isDied(); - - void setScore(int score); - - void setDied(boolean isDied); - -} diff --git a/src/main/java/fun/asgard/api/objects/GameTask.java b/src/main/java/fun/asgard/api/objects/GameTask.java deleted file mode 100644 index 6998231..0000000 --- a/src/main/java/fun/asgard/api/objects/GameTask.java +++ /dev/null @@ -1,9 +0,0 @@ -package fun.asgard.api.objects; - -public interface GameTask { - - void cancel(); - - Game getGame(); - -} diff --git a/src/main/java/fun/asgard/internal/Utils.java b/src/main/java/fun/asgard/internal/Utils.java deleted file mode 100644 index 6f7b0f4..0000000 --- a/src/main/java/fun/asgard/internal/Utils.java +++ /dev/null @@ -1,18 +0,0 @@ -package fun.asgard.internal; - -import fun.asgard.api.objects.GamePlayer; - -import org.bukkit.entity.Player; - -import java.util.HashMap; -import java.util.HashSet; - -public class Utils { - - public static HashSet getValuesFromHashMap(HashMap map) { - HashSet res = new HashSet<>(); - map.forEach((k, a) -> res.add(a)); - return res; - } - -} diff --git a/src/main/java/fun/asgard/internal/managers/GameManager.java b/src/main/java/fun/asgard/internal/managers/GameManager.java deleted file mode 100644 index b255177..0000000 --- a/src/main/java/fun/asgard/internal/managers/GameManager.java +++ /dev/null @@ -1,41 +0,0 @@ -package fun.asgard.internal.managers; - -import fun.asgard.TAGA; -import fun.asgard.api.objects.Game; -import fun.asgard.internal.objects.Game.EGame; - -import org.bukkit.World; -import org.bukkit.plugin.Plugin; - -import java.util.HashMap; - -public class GameManager { - - private final HashMap games = new HashMap<>(); - private final TAGA taga; - private final Plugin client; - - public GameManager(TAGA taga, Plugin client) { - this.taga = taga; - this.client = client; - } - - public Game createGame(World world, String gameName, long timer) { - EGame game = new EGame(this.taga, this.client, world, gameName, timer); - this.games.put(gameName, game); - return game; - } - - public Game createGame(World world, String gameName) { - return this.createGame(world, gameName, -1); - } - - public Game getGame(String gameName) { - return this.getGames().get(gameName); - } - - public HashMap getGames() { - return this.games; - } - -} diff --git a/src/main/java/fun/asgard/internal/managers/TaskManager.java b/src/main/java/fun/asgard/internal/managers/TaskManager.java deleted file mode 100644 index 74c985d..0000000 --- a/src/main/java/fun/asgard/internal/managers/TaskManager.java +++ /dev/null @@ -1,52 +0,0 @@ -package fun.asgard.internal.managers; - -import fun.asgard.TAGA; -import fun.asgard.api.objects.Game; -import fun.asgard.api.objects.GameTask; -import fun.asgard.internal.objects.GameTask.EGameTask; - -import org.bukkit.plugin.Plugin; - -import org.jetbrains.annotations.NotNull; - -import java.util.HashMap; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -public class TaskManager { - - private final TAGA taga; - private final Plugin client; - private final HashMap tasks = new HashMap<>(); - - public TaskManager(TAGA taga, Plugin client) { - this.taga = taga; - this.client = client; - } - - public GameTask createGameTask(@NotNull Runnable task, Game game, long delay, long period){ - if (this.tasks.containsKey(game)) - throw new IllegalArgumentException("GameTask has already been created for this game"); - if (delay < 0) - throw new IllegalArgumentException("Negative delay."); - if (period <= 0) - throw new IllegalArgumentException("Non-positive period."); - - ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); - service.scheduleWithFixedDelay(task, delay, period, TimeUnit.MILLISECONDS); - - GameTask gt = new EGameTask(game, service); - this.getAllTasks().put(game, gt); - return gt; - } - - public GameTask getTask(Game game) { - return this.getAllTasks().get(game); - } - - public HashMap getAllTasks() { - return tasks; - } - -} diff --git a/src/main/java/fun/asgard/internal/objects/Game/AGame.java b/src/main/java/fun/asgard/internal/objects/Game/AGame.java deleted file mode 100644 index 2ce5a69..0000000 --- a/src/main/java/fun/asgard/internal/objects/Game/AGame.java +++ /dev/null @@ -1,196 +0,0 @@ -package fun.asgard.internal.objects.Game; - -import fun.asgard.TAGA; -import fun.asgard.api.events.GameStartEvent; -import fun.asgard.api.events.GameStopEvent; -import fun.asgard.api.events.PlayerConnectEvent; -import fun.asgard.api.events.PlayerDisconnectEvent; -import fun.asgard.api.objects.Game; -import fun.asgard.api.objects.GamePlayer; -import fun.asgard.api.objects.GameTask; -import fun.asgard.internal.Utils; -import fun.asgard.internal.objects.GamePlayer.EGamePlayer; - -import org.bukkit.Bukkit; -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; - -import java.util.HashMap; -import java.util.HashSet; - -public abstract class AGame implements Game { - - private final World world; - private final String gameName; - private final TAGA taga; - private final Plugin client; - - private final HashMap players = new HashMap<>(); - private final HashSet tasks = new HashSet<>(); - - private long started; - private long time; - private boolean leaveOnKick = false; - - /** - * @param client The one who uses the api - * @param world World of the game - * @param gameName Name of the game - * @param time Game time - */ - public AGame(TAGA taga, Plugin client, World world, String gameName, long time) { - this.taga = taga; - this.client = client; - this.gameName = gameName; - this.world = world; - this.time = time; - } - - @Override - public void start() { - if (this.world.getLoadedChunks().length <= 0 - || !this.client.getServer().getWorlds().contains(this.world)) { - this.client.getServer().getWorlds().add(this.world); - } - - this.started = System.currentTimeMillis(); - Bukkit.getPluginManager().callEvent(new GameStartEvent(this, Utils.getValuesFromHashMap(this.players))); - } - - @Override - public void stop(boolean saveWorld) { - this.client.getServer().getPluginManager().callEvent(new GameStopEvent(this, (GamePlayer[]) Utils.getValuesFromHashMap(this.players).toArray())); - this.shutdown(saveWorld); - } - - - @Override - public void stop(GamePlayer winner, GamePlayer loser, boolean saveWorld) { - this.client.getServer().getPluginManager().callEvent(new GameStopEvent(this, (GamePlayer[]) Utils.getValuesFromHashMap(this.players).toArray(), winner, loser)); - this.shutdown(saveWorld); - } - - @Override - public void stop(GamePlayer[] winners, GamePlayer[] losers, boolean saveWorld) { - this.client.getServer().getPluginManager().callEvent(new GameStopEvent(this, (GamePlayer[]) Utils.getValuesFromHashMap(this.players).toArray(), winners, losers)); - this.shutdown(saveWorld); - } - - - @Override - public void stop(HashSet winners, HashSet losers, boolean saveWorld) { - this.client.getServer().getPluginManager().callEvent(new GameStopEvent(this, Utils.getValuesFromHashMap(this.players), winners, losers)); - this.shutdown(saveWorld); - } - - @Override - public void shutdown(boolean saveWorld) { - this.time = 0; - this.getTasks().forEach(GameTask::cancel); - this.players.forEach((pl, gp) -> this.disconnectPlayer(gp)); - Bukkit.unloadWorld(this.world, saveWorld); - } - - @Override - public void connectPlayer(Player player) { - this.players.put(player, new EGamePlayer(this.taga, player, this)); - this.client.getServer().getPluginManager().callEvent(new PlayerConnectEvent(this, player)); - } - - @Override - public void connectPlayer(Player player, Location location) { - this.players.put(player, new EGamePlayer(this.taga, player, this)); - player.teleport(location); - this.client.getServer().getPluginManager().callEvent(new PlayerConnectEvent(this, player)); - } - - @Override - public void connectPlayer(Player player, double x, double y, double z) { - this.players.put(player, (new EGamePlayer(this.taga, player, this))); - player.teleport(new Location(this.world, x, y, z)); - this.client.getServer().getPluginManager().callEvent(new PlayerConnectEvent(this, player)); - } - - @Override - public void disconnectPlayer(GamePlayer player) { - this.players.remove(player); - this.client.getServer().getPluginManager().callEvent(new PlayerDisconnectEvent(this, player.getPlayer())); - } - - @Override - public void disconnectPlayer(GamePlayer player, Location location) { - this.players.remove(player); - player.getPlayer().teleport(location); - this.client.getServer().getPluginManager().callEvent(new PlayerDisconnectEvent(this, player.getPlayer())); - } - - @Override - public void disconnectPlayer(GamePlayer player, double x, double y, double z) { - this.players.remove(player); - player.getPlayer().teleport(new Location(this.world, x, y, z)); - this.client.getServer().getPluginManager().callEvent(new PlayerDisconnectEvent(this, player.getPlayer())); - } - - @Override - public HashSet getTasks() { - return tasks; - } - - @Override - public long getWhenStarted() { - return started; - } - - @Override - public HashMap getPlayers() { - return players; - } - - @Override - public long getTime() { - return time; - } - - @Override - public String getGameName() { - return gameName; - } - - @Override - public World getWorld() { - return world; - } - - @Override - public GameTask getTask() { - return this.taga.getTaskManager().getTask(this); - } - - @Override - public void setTime(long time) { - this.time = time; - } - - @Override - public void setKickOnLeave(boolean kickOnLeave) { - this.leaveOnKick = kickOnLeave; - } - - @Override - public boolean isLeaveOnKick() { - return leaveOnKick; - } - - @Override - public String toString() { - return "Game { " + - "world = " + world.getName() + - ", gameName = '" + gameName + '\'' + - ", time = " + time + - ", players = " + players + - '}'; - } - -} diff --git a/src/main/java/fun/asgard/internal/objects/Game/EGame.java b/src/main/java/fun/asgard/internal/objects/Game/EGame.java deleted file mode 100644 index a17ff9e..0000000 --- a/src/main/java/fun/asgard/internal/objects/Game/EGame.java +++ /dev/null @@ -1,19 +0,0 @@ -package fun.asgard.internal.objects.Game; - -import fun.asgard.TAGA; -import org.bukkit.World; -import org.bukkit.plugin.Plugin; - -public class EGame extends AGame { - - /** - * @param client The one who uses the api - * @param world World of the game - * @param gameName Name of the game - * @param time Game time - */ - public EGame(TAGA taga, Plugin client, World world, String gameName, long time) { - super(taga, client, world, gameName, time); - } - -} diff --git a/src/main/java/fun/asgard/internal/objects/GamePlayer/AGamePlayer.java b/src/main/java/fun/asgard/internal/objects/GamePlayer/AGamePlayer.java deleted file mode 100644 index 28f9dd1..0000000 --- a/src/main/java/fun/asgard/internal/objects/GamePlayer/AGamePlayer.java +++ /dev/null @@ -1,53 +0,0 @@ -package fun.asgard.internal.objects.GamePlayer; - -import fun.asgard.TAGA; -import fun.asgard.api.objects.Game; -import fun.asgard.api.objects.GamePlayer; - -import org.bukkit.entity.Player; - -public abstract class AGamePlayer implements GamePlayer { - - private final TAGA taga; - private final Player player; - private final Game game; - private int score = 0; - private boolean isDied = false; - - public AGamePlayer(TAGA taga, Player player, Game game) { - this.taga = taga; - this.player = player; - this.game = game; - } - - @Override - public Player getPlayer() { - return this.player; - } - - @Override - public Game getGame() { - return this.game; - } - - @Override - public int getScore() { - return this.score; - } - - @Override - public boolean isDied() { - return this.isDied; - } - - @Override - public void setScore(int score) { - this.score = score; - } - - @Override - public void setDied(boolean isDied) { - this.isDied = isDied; - } - -} diff --git a/src/main/java/fun/asgard/internal/objects/GamePlayer/EGamePlayer.java b/src/main/java/fun/asgard/internal/objects/GamePlayer/EGamePlayer.java deleted file mode 100644 index c606a03..0000000 --- a/src/main/java/fun/asgard/internal/objects/GamePlayer/EGamePlayer.java +++ /dev/null @@ -1,14 +0,0 @@ -package fun.asgard.internal.objects.GamePlayer; - -import fun.asgard.TAGA; -import fun.asgard.api.objects.Game; - -import org.bukkit.entity.Player; - -public class EGamePlayer extends AGamePlayer { - - public EGamePlayer(TAGA taga, Player player, Game game) { - super(taga, player, game); - } - -} diff --git a/src/main/java/fun/asgard/internal/objects/GameTask/AGameTask.java b/src/main/java/fun/asgard/internal/objects/GameTask/AGameTask.java deleted file mode 100644 index 9ad5043..0000000 --- a/src/main/java/fun/asgard/internal/objects/GameTask/AGameTask.java +++ /dev/null @@ -1,29 +0,0 @@ -package fun.asgard.internal.objects.GameTask; - -import fun.asgard.api.objects.Game; -import fun.asgard.api.objects.GameTask; - -import java.util.concurrent.ScheduledExecutorService; - -public abstract class AGameTask implements GameTask { - - private final ScheduledExecutorService service; - private final Game game; - - public AGameTask(Game game, ScheduledExecutorService service) { - this.game = game; - this.service = service; - } - - @Override - public void cancel() { - this.game.getTasks().remove(this); - this.service.shutdown(); - } - - @Override - public Game getGame() { - return this.game; - } - -} diff --git a/src/main/java/fun/asgard/internal/objects/GameTask/EGameTask.java b/src/main/java/fun/asgard/internal/objects/GameTask/EGameTask.java deleted file mode 100644 index 050ee44..0000000 --- a/src/main/java/fun/asgard/internal/objects/GameTask/EGameTask.java +++ /dev/null @@ -1,13 +0,0 @@ -package fun.asgard.internal.objects.GameTask; - -import fun.asgard.api.objects.Game; - -import java.util.concurrent.ScheduledExecutorService; - -public class EGameTask extends AGameTask { - - public EGameTask(Game game, ScheduledExecutorService service) { - super(game, service); - } - -} diff --git a/src/test/java/SamplePlugin.java b/src/test/java/SamplePlugin.java deleted file mode 100644 index 3940640..0000000 --- a/src/test/java/SamplePlugin.java +++ /dev/null @@ -1,56 +0,0 @@ -import fun.asgard.TAGA; -import fun.asgard.api.events.GameStartEvent; -import fun.asgard.api.events.GameStopEvent; -import fun.asgard.api.objects.Game; -import org.bukkit.Bukkit; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.plugin.java.JavaPlugin; - -public class SamplePlugin extends JavaPlugin implements Listener { - - public static TAGA taga; - - @Override - public void onEnable() { - taga = new TAGA(this); - - Game game1 = taga.getGameManager().createGame(Bukkit.getWorld("world"), "SampleGame", 5 * 1000); - Game game2 = taga.getGameManager().createGame(Bukkit.getWorld("world"), "SampleGame2", 5 * 1000); - game2.setKickOnLeave(true); - } - - @Override - public void onDisable() { - taga.getGameManager().getGames().forEach((name, game) -> game.shutdown(false)); - } - - @EventHandler - public void onPlayerJoined(PlayerJoinEvent event) { - Game game = taga.getGameManager().getGames().get("ABOBA"); - game.connectPlayer(event.getPlayer()); - if (game.getPlayers().size() >= 1) { - game.start(); - } - } - - @EventHandler - public void onGameStart(GameStartEvent event) { - event.getPlayers().forEach(player -> { - player.getPlayer().sendMessage("Game is started!"); - }); - taga.getTaskManager().createGameTask(() -> - event.getPlayers().forEach(player -> - player.getPlayer().sendMessage("5 minutes of the game has passed!")), - event.getGame(), 5 * 60 * 1000, 5 * 60 * 1000); - } - - @EventHandler - public void onGameStop(GameStopEvent event) { - event.getPlayers().forEach(player -> { - player.getPlayer().sendMessage("The game is stopped"); - }); - } - -} diff --git a/src/test/resources/plugin.yml b/src/test/resources/plugin.yml deleted file mode 100644 index 2713f17..0000000 --- a/src/test/resources/plugin.yml +++ /dev/null @@ -1,5 +0,0 @@ -name: SamplePlugin -version: ${project.version} -main: SamplePlugin -api-version: 1.16 -authors: [ Volan4ik ]