обновление PlayerManager
This commit is contained in:
@@ -1,7 +1,3 @@
|
||||
/*
|
||||
* DmitriyMX <dimon550@gmail.com>
|
||||
* 2018-06-29
|
||||
*/
|
||||
package mc.core.embedded;
|
||||
|
||||
import mc.core.EntityLocation;
|
||||
@@ -65,13 +61,8 @@ public class FakePlayerManager implements PlayerManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Player> getPlayer(String name) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Player> getPlayerById(int id) {
|
||||
return Optional.empty();
|
||||
public Player getPlayer(String name) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -80,7 +71,7 @@ public class FakePlayerManager implements PlayerManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCountOnlinePlayers() {
|
||||
public int getCountPlayers() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -88,4 +79,9 @@ public class FakePlayerManager implements PlayerManager {
|
||||
public NetChannel getBroadcastChannel() {
|
||||
return FAKE_NET_CHANNEL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Player getOfflinePlayer(String name) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,17 +59,10 @@ public class InMemoryPlayerManager implements PlayerManager, Runnable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Player> getPlayer(final String name) {
|
||||
public Player getPlayer(final String name) {
|
||||
return players.stream()
|
||||
.filter(player -> player.getName().equalsIgnoreCase(name))
|
||||
.findFirst();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<Player> getPlayerById(final int id) {
|
||||
return players.stream()
|
||||
.filter(player -> player.getId() == id)
|
||||
.findFirst();
|
||||
.findFirst().get();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -78,7 +71,7 @@ public class InMemoryPlayerManager implements PlayerManager, Runnable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCountOnlinePlayers() {
|
||||
public int getCountPlayers() {
|
||||
return (int) players.stream().filter(Player::isOnline).count();
|
||||
}
|
||||
|
||||
@@ -87,6 +80,14 @@ public class InMemoryPlayerManager implements PlayerManager, Runnable {
|
||||
return new BroadcastNetChannel(players.stream().filter(Player::isOnline));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Player getOfflinePlayer(String name) {
|
||||
return players.stream()
|
||||
.filter(player -> player.getName().equals(name))
|
||||
.filter(player -> !player.isOnline())
|
||||
.findFirst().orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
while (!Thread.currentThread().isInterrupted()) {
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
/*
|
||||
* DmitriyMX <dimon550@gmail.com>
|
||||
* 2018-04-15
|
||||
*/
|
||||
package mc.core.player;
|
||||
|
||||
import mc.core.EntityLocation;
|
||||
@@ -9,15 +5,16 @@ import mc.core.network.NetChannel;
|
||||
import mc.core.world.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface PlayerManager {
|
||||
Player createPlayer(String name, EntityLocation location, World world);
|
||||
void joinServer(Player player);
|
||||
void leftServer(Player player);
|
||||
Optional<Player> getPlayer(String name);
|
||||
Optional<Player> getPlayerById(int id);
|
||||
|
||||
Player getPlayer(String name);
|
||||
List<Player> getPlayers();
|
||||
int getCountOnlinePlayers();
|
||||
int getCountPlayers();
|
||||
NetChannel getBroadcastChannel();
|
||||
|
||||
Player getOfflinePlayer(String name);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user