refactor
This commit is contained in:
@@ -10,15 +10,11 @@
|
||||
|
||||
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>gitea</id>
|
||||
<url>http://heimserver.local:36107/api/packages/minecraft/maven</url>
|
||||
</repository>
|
||||
|
||||
<snapshotRepository>
|
||||
<id>gitea</id>
|
||||
<url>http://heimserver.local:36107/api/packages/minecraft/maven</url>
|
||||
</snapshotRepository>
|
||||
<repository>
|
||||
<id>forgejo</id>
|
||||
<name>Forgejo Maven</name>
|
||||
<url>http://heimserver.local:36107/api/packages/minecraft/maven</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
|
||||
@@ -1,14 +1,5 @@
|
||||
package com.softwarerat.API.builder;
|
||||
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.FireworkEffectMeta;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -17,11 +8,20 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.FireworkEffectMeta;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
// Another Item Builder
|
||||
public class SpigotItem {
|
||||
private ItemStack itemStack;
|
||||
@@ -29,7 +29,7 @@ public class SpigotItem {
|
||||
|
||||
private String colorCode(@Nonnull String message) { return ChatColor.translateAlternateColorCodes('&', message); }
|
||||
|
||||
public SpigotItem(@Nonnull Material material, @Nonnull int amount) {
|
||||
public SpigotItem(@Nonnull Material material, int amount) {
|
||||
this.itemStack = new ItemStack(material, amount);
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
package com.softwarerat.API.commands;
|
||||
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import com.softwarerat.API.builder.SpigotInventory;
|
||||
import com.softwarerat.API.builder.SpigotItem;
|
||||
import com.softwarerat.API.builder.SpigotUI;
|
||||
import com.softwarerat.GameAPI;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
@@ -16,6 +9,12 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import com.softwarerat.API.builder.SpigotInventory;
|
||||
import com.softwarerat.API.builder.SpigotItem;
|
||||
import com.softwarerat.API.builder.SpigotUI;
|
||||
|
||||
//Default Navigator
|
||||
public class Navigator implements CommandExecutor {
|
||||
JavaPlugin javaPlugin;
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
package com.softwarerat.API.data;
|
||||
|
||||
import com.softwarerat.API.gameState.GameState;
|
||||
import com.softwarerat.API.gameType.GameType;
|
||||
import com.softwarerat.API.location.PlayerSpawnLocation;
|
||||
import com.softwarerat.GameAPI;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.bukkit.scoreboard.Team;
|
||||
|
||||
import java.util.List;
|
||||
import com.softwarerat.API.data.gameState.GameStateManager;
|
||||
import com.softwarerat.API.data.gameType.GameType;
|
||||
import com.softwarerat.API.data.location.PlayerSpawnLocation;
|
||||
import com.softwarerat.GameAPI;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
// Server related Data
|
||||
// made possible with Lombok
|
||||
@Getter
|
||||
@@ -22,7 +22,7 @@ public class GameData {
|
||||
List<PlayerSpawnLocation> spawnLocations;
|
||||
PlayerSpawnLocation defaultSpawnLocation;
|
||||
GameAPI gameapi;
|
||||
GameState currentGameState;
|
||||
GameStateManager gameStateManager;
|
||||
Location mapLocation;
|
||||
String primaryKit;
|
||||
String secondaryKit;
|
||||
@@ -33,6 +33,7 @@ public class GameData {
|
||||
Scoreboard scoreboard;
|
||||
public GameData(GameAPI gameapi) {
|
||||
this.gameapi = gameapi;
|
||||
this.gameStateManager = new GameStateManager();
|
||||
}
|
||||
|
||||
public String getGameHost(JavaPlugin javaPlugin){
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.softwarerat.API.data.gameState;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class GameStateManager {
|
||||
|
||||
|
||||
|
||||
private final IGameState[] gameStates;
|
||||
|
||||
private int currentStateId;
|
||||
|
||||
public GameStateManager(IGameState... gameStates) {
|
||||
this.gameStates = gameStates;
|
||||
}
|
||||
|
||||
public IGameState getCurrentState() {
|
||||
if (this.currentStateId < 0 || this.currentStateId >= this.gameStates.length)
|
||||
return null;
|
||||
return this.gameStates[this.currentStateId];
|
||||
}
|
||||
|
||||
public IGameState nextState() {
|
||||
if (this.currentStateId + 1 == this.gameStates.length)
|
||||
throw new IllegalStateException("No states remaining");
|
||||
|
||||
IGameState oldState = getCurrentState();
|
||||
this.currentStateId++;
|
||||
IGameState newState = getCurrentState();
|
||||
oldState.Stop();
|
||||
newState.Start(this);
|
||||
return newState;
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public final boolean isCurrentGameState(Class<? extends IGameState>... states) {
|
||||
return Arrays.<Class<? extends IGameState>>stream(states).anyMatch(state -> state.isInstance(getCurrentState()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.softwarerat.API.data.gameState;
|
||||
|
||||
public interface IGameState {
|
||||
|
||||
public void Start(GameStateManager manager);
|
||||
public void Stop();
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.softwarerat.API.gameType;
|
||||
package com.softwarerat.API.data.gameType;
|
||||
|
||||
public enum GameType {
|
||||
GAME_TYPE_MINIGAME,
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.softwarerat.API.location;
|
||||
package com.softwarerat.API.data.location;
|
||||
|
||||
import com.softwarerat.API.data.GameData;
|
||||
import lombok.AllArgsConstructor;
|
||||
+8
-6
@@ -1,12 +1,14 @@
|
||||
package com.softwarerat.API.location;
|
||||
|
||||
import com.softwarerat.API.gameType.GameType;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.bukkit.Location;
|
||||
package com.softwarerat.API.data.location;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Location;
|
||||
|
||||
import com.softwarerat.API.data.gameType.GameType;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
// Game related Player spawn Location
|
||||
|
||||
@Getter
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.softwarerat.API.data.player;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.softwarerat.API.data.store.CacheManager;
|
||||
import com.softwarerat.API.data.store.FlagManager;
|
||||
import com.softwarerat.API.event.PlayerFlagUpdateEvent;
|
||||
|
||||
|
||||
|
||||
public class GamePlayer extends CacheManager implements FlagManager<PlayerFlag> {
|
||||
private static final String FLAG_KEY = "__flag__";
|
||||
|
||||
private final org.bukkit.entity.Player bukkitPlayer;
|
||||
|
||||
private Location enterSpectateLocation;
|
||||
|
||||
private Location leaveSpectateLocation;
|
||||
|
||||
GamePlayer(org.bukkit.entity.Player bukkitPlayer, Location enterSpectateLocation, Location leaveSpectateLocation) {
|
||||
this.bukkitPlayer = bukkitPlayer;
|
||||
this.enterSpectateLocation = enterSpectateLocation;
|
||||
this.leaveSpectateLocation = leaveSpectateLocation;
|
||||
}
|
||||
|
||||
public void setFlag(PlayerFlag flag) {
|
||||
PlayerFlag currentFlag = getCurrentFlag();
|
||||
PlayerFlagUpdateEvent event = new PlayerFlagUpdateEvent(this, currentFlag, flag);
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
removeFromCache("__flag__");
|
||||
addToCache("__flag__", flag.getInt());
|
||||
}
|
||||
}
|
||||
|
||||
public void removeFlag(PlayerFlag flag) {
|
||||
setFlag(PlayerFlags.PLAYER);
|
||||
}
|
||||
|
||||
public boolean hasFlag(PlayerFlag... flag) {
|
||||
return ((Boolean)Arrays.<PlayerFlag>stream(flag)
|
||||
.map(playerFlag -> Boolean.valueOf(getValueFromCache("__flag__").equals(playerFlag.getInt())))
|
||||
.filter(aBoolean -> aBoolean.booleanValue())
|
||||
.findFirst()
|
||||
.orElse(Boolean.valueOf(false))).booleanValue();
|
||||
}
|
||||
|
||||
public boolean isSpectator() {
|
||||
return hasFlag(new PlayerFlag[] { PlayerFlags.SPECTATOR, PlayerFlags.SPECTATOR_TARGET });
|
||||
}
|
||||
|
||||
public org.bukkit.entity.Player getBukkitPlayer() {
|
||||
return this.bukkitPlayer;
|
||||
}
|
||||
|
||||
public void setEnterSpectateLocation(Location enterSpectateLocation) {
|
||||
this.enterSpectateLocation = enterSpectateLocation;
|
||||
}
|
||||
|
||||
public void setLeaveSpectateLocation(Location leaveSpectateLocation) {
|
||||
this.leaveSpectateLocation = leaveSpectateLocation;
|
||||
}
|
||||
|
||||
public Location getEnterSpectateLocation() {
|
||||
return this.enterSpectateLocation;
|
||||
}
|
||||
|
||||
public Location getLeaveSpectateLocation() {
|
||||
return this.leaveSpectateLocation;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private PlayerFlag getCurrentFlag() {
|
||||
return Arrays.<PlayerFlag>stream((PlayerFlag[])PlayerFlags.values())
|
||||
.filter(playerFlag -> !getValueFromCache("__flag__").equals(playerFlag.getInt()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
}
|
||||
}
|
||||
+4
-3
@@ -1,9 +1,10 @@
|
||||
package com.softwarerat.API.player;
|
||||
package com.softwarerat.API.data.player;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import com.softwarerat.API.data.GameData;
|
||||
import com.softwarerat.GameAPI;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
|
||||
// Game related PlayerAPI for checking if a player is the GameHost
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.softwarerat.API.data.player;
|
||||
|
||||
import com.softwarerat.API.data.store.Flag;
|
||||
|
||||
public interface PlayerFlag extends Flag {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.softwarerat.API.data.player;
|
||||
|
||||
public enum PlayerFlags implements PlayerFlag {
|
||||
PLAYER("default flag for players", Integer.valueOf(1)),
|
||||
SPECTATOR("if player is spectator", Integer.valueOf(2)),
|
||||
SPECTATOR_TARGET("if player is spectator and views player", Integer.valueOf(3));
|
||||
|
||||
private final String description;
|
||||
|
||||
private final Integer number;
|
||||
|
||||
PlayerFlags(String description, Integer number) {
|
||||
this.description = description;
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return this.description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getInt() {
|
||||
return this.number;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.softwarerat.API.data.player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class PlayerManager {
|
||||
|
||||
private final List<GamePlayer> playerList = new ArrayList<>();
|
||||
private final Location enterSpectateLocation;
|
||||
private final Location leaveSpectateLocation;
|
||||
|
||||
public PlayerManager(Location enterSpectateLocation, Location leaveSpectateLocation) {
|
||||
this.enterSpectateLocation = enterSpectateLocation;
|
||||
this.leaveSpectateLocation = leaveSpectateLocation;
|
||||
}
|
||||
|
||||
protected void addPlayer(Player bukkitPlayer) {
|
||||
if (getPlayer(bukkitPlayer) != null)
|
||||
return;
|
||||
|
||||
GamePlayer player = new GamePlayer(bukkitPlayer, enterSpectateLocation, leaveSpectateLocation);
|
||||
player.setFlag(PlayerFlags.PLAYER);
|
||||
playerList.add(player);
|
||||
}
|
||||
|
||||
protected void removePlayer(Player bukkitPlayer) {
|
||||
GamePlayer player = getPlayer(bukkitPlayer);
|
||||
if (player != null)
|
||||
playerList.remove(player);
|
||||
}
|
||||
|
||||
public GamePlayer getPlayer(Player bukkitPlayer) {
|
||||
return playerList.stream()
|
||||
.filter(player -> player.getBukkitPlayer().getUniqueId()
|
||||
.equals(bukkitPlayer.getUniqueId()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
}
|
||||
|
||||
public List<GamePlayer> players() {
|
||||
return Collections.unmodifiableList(playerList);
|
||||
}
|
||||
|
||||
public List<GamePlayer> playersWithFlag(PlayerFlag... flags) {
|
||||
return playerList.stream()
|
||||
.filter(player -> player.hasFlag(flags))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<Player> bukkitPlayersWithFlag(PlayerFlag... flags) {
|
||||
return playerList.stream()
|
||||
.filter(player -> player.hasFlag(flags))
|
||||
.map(GamePlayer::getBukkitPlayer)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<GamePlayer> playersWithNoFlag(PlayerFlag... flags) {
|
||||
return playerList.stream()
|
||||
.filter(player -> !player.hasFlag(flags))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<Player> bukkitPlayersWithNoFlag(PlayerFlag... flags) {
|
||||
return playerList.stream()
|
||||
.filter(player -> !player.hasFlag(flags))
|
||||
.map(GamePlayer::getBukkitPlayer)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
+1
-4
@@ -1,12 +1,9 @@
|
||||
package com.softwarerat.API.prefix;
|
||||
package com.softwarerat.API.data.prefix;
|
||||
|
||||
import com.softwarerat.API.data.GameData;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.bukkit.scoreboard.Team;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PrefixAPI {
|
||||
/* PrefixSystem of the whole Network
|
||||
* this will be the future way to add Tablist Prefixes, and will depend on GameData Settings like wich GameType and
|
||||
+5
-3
@@ -1,9 +1,11 @@
|
||||
package com.softwarerat.API.scoreboard;
|
||||
package com.softwarerat.API.data.scoreboard;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scoreboard.*;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.bukkit.scoreboard.ScoreboardManager;
|
||||
|
||||
public class ScoreAPI {
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.softwarerat.API.data.store;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
|
||||
public class CacheManager {
|
||||
private final LinkedHashMap<String, Object> cache = new LinkedHashMap<>();
|
||||
|
||||
public void addToCache(String key, Object value) {
|
||||
this.cache.put(key, value);
|
||||
}
|
||||
|
||||
public void removeFromCache(String key) {
|
||||
this.cache.remove(key);
|
||||
}
|
||||
|
||||
public void changeValueFromCache(String key, Object value) {
|
||||
this.cache.replace(key, value);
|
||||
}
|
||||
|
||||
public Object getValueFromCache(String key) {
|
||||
return this.cache.getOrDefault(key, (Object)null);
|
||||
}
|
||||
|
||||
public boolean containsCache(String key) {
|
||||
return this.cache.containsKey(key);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.softwarerat.API.data.store;
|
||||
|
||||
public interface Flag {
|
||||
String getDescription();
|
||||
Integer getInt();
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.softwarerat.API.data.store;
|
||||
|
||||
public interface FlagManager<T extends Flag> {
|
||||
void setFlag(T paramT);
|
||||
|
||||
void removeFlag(T paramT);
|
||||
|
||||
boolean hasFlag(T... paramVarArgs);
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.softwarerat.API.world;
|
||||
package com.softwarerat.API.data.world;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.softwarerat.API.event;
|
||||
|
||||
|
||||
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import com.softwarerat.API.data.player.GamePlayer;
|
||||
import com.softwarerat.API.data.player.PlayerFlag;
|
||||
|
||||
public final class PlayerFlagUpdateEvent extends Event implements Cancellable {
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
|
||||
private final GamePlayer player;
|
||||
|
||||
private final PlayerFlag previousFlag;
|
||||
|
||||
private final PlayerFlag newFlag;
|
||||
|
||||
private boolean cancelled;
|
||||
|
||||
public PlayerFlagUpdateEvent(GamePlayer player, PlayerFlag previousFlag, PlayerFlag newFlag) {
|
||||
this.player = player;
|
||||
this.previousFlag = previousFlag;
|
||||
this.newFlag = newFlag;
|
||||
}
|
||||
|
||||
public boolean isCancelled() {
|
||||
return this.cancelled;
|
||||
}
|
||||
|
||||
public void setCancelled(boolean cancel) {
|
||||
this.cancelled = cancel;
|
||||
}
|
||||
|
||||
public GamePlayer getPlayer() {
|
||||
return this.player;
|
||||
}
|
||||
|
||||
public PlayerFlag getNewFlag() {
|
||||
return this.newFlag;
|
||||
}
|
||||
|
||||
public PlayerFlag getPreviousFlag() {
|
||||
return this.previousFlag;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.softwarerat.API.listener;
|
||||
package com.softwarerat.API.event.listener;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.softwarerat.API.listener;
|
||||
package com.softwarerat.API.event.listener;
|
||||
|
||||
// Chat Listener
|
||||
public class ChatListener {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.softwarerat.API.listener;
|
||||
package com.softwarerat.API.event.listener;
|
||||
// Join Listener
|
||||
public class JoinListener {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.softwarerat.API.listener;
|
||||
package com.softwarerat.API.event.listener;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
+8
-7
@@ -1,16 +1,17 @@
|
||||
package com.softwarerat.API.listener;
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import com.softwarerat.API.builder.SpigotInventory;
|
||||
import com.softwarerat.API.builder.SpigotItem;
|
||||
import com.softwarerat.API.builder.SpigotUI;
|
||||
package com.softwarerat.API.event.listener;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
import com.google.common.io.ByteArrayDataOutput;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import com.softwarerat.API.builder.SpigotInventory;
|
||||
import com.softwarerat.API.builder.SpigotItem;
|
||||
import com.softwarerat.API.builder.SpigotUI;
|
||||
|
||||
// Lobby join magic including the navigator
|
||||
public class LobbyJoinListener implements Listener{
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.softwarerat.API.event.listener;
|
||||
|
||||
public class QuitListener {
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package com.softwarerat.API.event.listener.spectator;
|
||||
|
||||
import org.bukkit.entity.HumanEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
|
||||
import com.softwarerat.API.data.player.PlayerManager;
|
||||
|
||||
|
||||
|
||||
public class SpectatorFoodLevelChangeListener {
|
||||
|
||||
|
||||
private final PlayerManager playerManager;
|
||||
|
||||
|
||||
public SpectatorFoodLevelChangeListener(PlayerManager playerManager) {
|
||||
this.playerManager = playerManager;
|
||||
}
|
||||
|
||||
|
||||
public PlayerManager playerManager() {
|
||||
return this.playerManager;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onSpectatorFoodLevelChange(FoodLevelChangeEvent event) {
|
||||
Player player;
|
||||
HumanEntity humanEntity = event.getEntity();
|
||||
if (humanEntity instanceof Player) {
|
||||
player = (Player)humanEntity;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
if (!this.playerManager.getPlayer(player).isSpectator())
|
||||
return;
|
||||
event.setFoodLevel(20);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.softwarerat.API.gameState;
|
||||
|
||||
|
||||
public enum GameState {
|
||||
GAME_STATE_LOBBY,
|
||||
GAME_STATE_INGAME;
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
package com.softwarerat.API.gameState;
|
||||
|
||||
public interface IGameState {
|
||||
|
||||
public void Start();
|
||||
public void Stop();
|
||||
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package com.softwarerat.API.listener;
|
||||
|
||||
public class QuitListener {
|
||||
}
|
||||
@@ -1,16 +1,17 @@
|
||||
package com.softwarerat;
|
||||
|
||||
|
||||
import com.softwarerat.API.commands.Navigator;
|
||||
import com.softwarerat.API.data.GameData;
|
||||
import com.softwarerat.API.location.LocationAPI;
|
||||
import com.softwarerat.API.prefix.PrefixAPI;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import com.softwarerat.API.world.WorldAPI;
|
||||
|
||||
import com.softwarerat.API.data.GameData;
|
||||
import com.softwarerat.API.data.location.LocationAPI;
|
||||
import com.softwarerat.API.data.prefix.PrefixAPI;
|
||||
import com.softwarerat.API.data.world.WorldAPI;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
|
||||
Reference in New Issue
Block a user