Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
5af8d747b3
@ -1,5 +1,6 @@
|
|||||||
package mineplex.bungee.playerTracker;
|
package mineplex.bungee.playerTracker;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
import mineplex.serverdata.commands.CommandCallback;
|
import mineplex.serverdata.commands.CommandCallback;
|
||||||
import mineplex.serverdata.commands.PlayerJoinCommand;
|
import mineplex.serverdata.commands.PlayerJoinCommand;
|
||||||
import mineplex.serverdata.commands.ServerCommand;
|
import mineplex.serverdata.commands.ServerCommand;
|
||||||
@ -21,7 +22,7 @@ public class PlayerJoinHandler implements CommandCallback
|
|||||||
{
|
{
|
||||||
PlayerJoinCommand joinCommand = (PlayerJoinCommand)command;
|
PlayerJoinCommand joinCommand = (PlayerJoinCommand)command;
|
||||||
|
|
||||||
_playerTracker.kickPlayerIfOnline(joinCommand.getUuid());
|
_playerTracker.kickPlayerIfOnline(UUID.fromString(joinCommand.getUuid()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package mineplex.bungee.playerTracker;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@ -27,7 +28,7 @@ public class PlayerTracker implements Listener, Runnable
|
|||||||
// Repository storing player status' across network.
|
// Repository storing player status' across network.
|
||||||
private DataRepository<PlayerStatus> _repository;
|
private DataRepository<PlayerStatus> _repository;
|
||||||
|
|
||||||
private HashSet<String> _onlineUUIDs = new HashSet<String>();
|
private Set<UUID> _onlineUUIDs = new HashSet<>();
|
||||||
|
|
||||||
private Plugin _plugin;
|
private Plugin _plugin;
|
||||||
|
|
||||||
@ -76,32 +77,32 @@ public class PlayerTracker implements Listener, Runnable
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void playerConnect(final PostLoginEvent event)
|
public void playerConnect(final PostLoginEvent event)
|
||||||
{
|
{
|
||||||
_onlineUUIDs.add(event.getPlayer().getUniqueId().toString());
|
_onlineUUIDs.add(event.getPlayer().getUniqueId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
HashSet<String> onlineUUIDs = new HashSet<String>();
|
Set<UUID> onlineUUIDs = new HashSet<>();
|
||||||
|
|
||||||
for (ProxiedPlayer player : _plugin.getProxy().getPlayers())
|
for (ProxiedPlayer player : _plugin.getProxy().getPlayers())
|
||||||
{
|
{
|
||||||
onlineUUIDs.add(player.getUniqueId().toString());
|
onlineUUIDs.add(player.getUniqueId());
|
||||||
}
|
}
|
||||||
|
|
||||||
_onlineUUIDs = onlineUUIDs;
|
_onlineUUIDs = onlineUUIDs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPlayerOnline(String uuid)
|
public boolean isPlayerOnline(UUID uuid)
|
||||||
{
|
{
|
||||||
return _onlineUUIDs.contains(uuid);
|
return _onlineUUIDs.contains(uuid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void kickPlayerIfOnline(String uuid)
|
public void kickPlayerIfOnline(UUID uuid)
|
||||||
{
|
{
|
||||||
if (_onlineUUIDs.contains(uuid))
|
if (_onlineUUIDs.contains(uuid))
|
||||||
{
|
{
|
||||||
ProxiedPlayer player = _plugin.getProxy().getPlayer(UUID.fromString(uuid));
|
ProxiedPlayer player = _plugin.getProxy().getPlayer(uuid);
|
||||||
|
|
||||||
if (player != null)
|
if (player != null)
|
||||||
player.disconnect("You have logged in from another location.");
|
player.disconnect("You have logged in from another location.");
|
||||||
|
@ -80,7 +80,7 @@ public class CustomTagFix extends MiniPlugin implements IPacketHandler, NCPHook
|
|||||||
_entityMap.remove(event.getPlayer().getName());
|
_entityMap.remove(event.getPlayer().getName());
|
||||||
_entityNameMap.remove(event.getPlayer().getName());
|
_entityNameMap.remove(event.getPlayer().getName());
|
||||||
_entityRiding.remove(event.getPlayer().getName());
|
_entityRiding.remove(event.getPlayer().getName());
|
||||||
_loggedIn.remove(event.getPlayer());
|
_loggedIn.remove(event.getPlayer().getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.LOW)
|
@EventHandler(priority = EventPriority.LOW)
|
||||||
|
@ -136,7 +136,7 @@ public class ObserverManager extends MiniPlugin
|
|||||||
if (_observerMap.containsKey(event.getPlayer()))
|
if (_observerMap.containsKey(event.getPlayer()))
|
||||||
{
|
{
|
||||||
restore(event.getPlayer(), _observerMap.get(event.getPlayer()));
|
restore(event.getPlayer(), _observerMap.get(event.getPlayer()));
|
||||||
_observerMap.remove(_plugin);
|
_observerMap.remove(event.getPlayer());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,16 +296,6 @@ public class ServerManager extends MiniPlugin
|
|||||||
return timeLeft;
|
return timeLeft;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeServer(String serverName)
|
|
||||||
{
|
|
||||||
for (String key : _serverKeyInfoMap.keySet())
|
|
||||||
{
|
|
||||||
_serverKeyInfoMap.get(key).remove(serverName);
|
|
||||||
}
|
|
||||||
|
|
||||||
_serverInfoMap.remove(serverName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addServerGroup(ServerGroup serverGroup)
|
public void addServerGroup(ServerGroup serverGroup)
|
||||||
{
|
{
|
||||||
_serverKeyInfoMap.put(serverGroup.getPrefix(), new HashSet<ServerInfo>());
|
_serverKeyInfoMap.put(serverGroup.getPrefix(), new HashSet<ServerInfo>());
|
||||||
|
@ -356,12 +356,10 @@ public class CustomExplosion extends Explosion
|
|||||||
|
|
||||||
if (_fallingBlockExplosion)
|
if (_fallingBlockExplosion)
|
||||||
{
|
{
|
||||||
Collection<org.bukkit.block.Block> blocks = event.GetBlocks();
|
List<org.bukkit.block.Block> blocks = new ArrayList<>(event.GetBlocks());
|
||||||
|
|
||||||
if (blocks.size() > _maxFallingBlocks)
|
if (blocks.size() > _maxFallingBlocks)
|
||||||
{
|
{
|
||||||
blocks = new ArrayList<org.bukkit.block.Block>(blocks);
|
|
||||||
|
|
||||||
Collections.shuffle((ArrayList) blocks);
|
Collections.shuffle((ArrayList) blocks);
|
||||||
|
|
||||||
int toRemove = blocks.size() - _maxFallingBlocks;
|
int toRemove = blocks.size() - _maxFallingBlocks;
|
||||||
|
@ -206,7 +206,7 @@ public class ServerMonitor
|
|||||||
if (groupStatus.getServerType().equalsIgnoreCase("Player"))
|
if (groupStatus.getServerType().equalsIgnoreCase("Player"))
|
||||||
{
|
{
|
||||||
_repository.removeServerGroup(groupStatus);
|
_repository.removeServerGroup(groupStatus);
|
||||||
_serverGroupMap.remove(groupStatus);
|
_serverGroupMap.remove(groupStatus.getName());
|
||||||
groupStatusIterator.remove();
|
groupStatusIterator.remove();
|
||||||
|
|
||||||
System.out.println("Removed MPS : " + groupStatus.getName());
|
System.out.println("Removed MPS : " + groupStatus.getName());
|
||||||
@ -449,7 +449,7 @@ public class ServerMonitor
|
|||||||
if (serverGroup != null && serverGroup.getHost() != null && !serverGroup.getHost().isEmpty() && serverGroup.getServerCount() <= 1)
|
if (serverGroup != null && serverGroup.getHost() != null && !serverGroup.getHost().isEmpty() && serverGroup.getServerCount() <= 1)
|
||||||
{
|
{
|
||||||
_repository.removeServerGroup(serverGroup);
|
_repository.removeServerGroup(serverGroup);
|
||||||
_serverGroupMap.remove(serverGroup);
|
_serverGroupMap.remove(serverGroup.getName());
|
||||||
_serverGroups.remove(serverGroup);
|
_serverGroups.remove(serverGroup);
|
||||||
System.out.println("Removed ServerGroup : " + serverGroup.getName());
|
System.out.println("Removed ServerGroup : " + serverGroup.getName());
|
||||||
}
|
}
|
||||||
|
@ -2,41 +2,10 @@ package nautilus.game.arcade.game.games.build;
|
|||||||
|
|
||||||
import java.util.AbstractMap;
|
import java.util.AbstractMap;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.UUID;
|
||||||
import mineplex.core.common.util.C;
|
|
||||||
import mineplex.core.common.util.F;
|
|
||||||
import mineplex.core.common.util.NautHashMap;
|
|
||||||
import mineplex.core.common.util.UtilAction;
|
|
||||||
import mineplex.core.common.util.UtilAlg;
|
|
||||||
import mineplex.core.common.util.UtilEvent;
|
|
||||||
import mineplex.core.common.util.UtilEvent.ActionType;
|
|
||||||
import mineplex.core.common.util.UtilGear;
|
|
||||||
import mineplex.core.common.util.UtilInv;
|
|
||||||
import mineplex.core.common.util.UtilMath;
|
|
||||||
import mineplex.core.common.util.UtilParticle;
|
|
||||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
|
||||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
|
||||||
import mineplex.core.common.util.UtilServer;
|
|
||||||
import mineplex.core.common.util.UtilTextBottom;
|
|
||||||
import mineplex.core.common.util.UtilTextMiddle;
|
|
||||||
import mineplex.core.common.util.UtilTime;
|
|
||||||
import mineplex.core.explosion.ExplosionEvent;
|
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
|
||||||
import mineplex.core.recharge.Recharge;
|
|
||||||
import mineplex.core.updater.UpdateType;
|
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
|
||||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
|
||||||
import nautilus.game.arcade.ArcadeManager;
|
|
||||||
import nautilus.game.arcade.GameType;
|
|
||||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
|
||||||
import nautilus.game.arcade.events.PlayerPrepareTeleportEvent;
|
|
||||||
import nautilus.game.arcade.game.SoloGame;
|
|
||||||
import nautilus.game.arcade.game.games.build.gui.MobShop;
|
|
||||||
import nautilus.game.arcade.game.games.build.gui.OptionsShop;
|
|
||||||
import nautilus.game.arcade.game.games.build.kits.KitBuilder;
|
|
||||||
import nautilus.game.arcade.kit.Kit;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Effect;
|
import org.bukkit.Effect;
|
||||||
@ -100,6 +69,40 @@ import org.bukkit.event.vehicle.VehicleCreateEvent;
|
|||||||
import org.bukkit.event.vehicle.VehicleDamageEvent;
|
import org.bukkit.event.vehicle.VehicleDamageEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.common.util.F;
|
||||||
|
import mineplex.core.common.util.NautHashMap;
|
||||||
|
import mineplex.core.common.util.UtilAction;
|
||||||
|
import mineplex.core.common.util.UtilAlg;
|
||||||
|
import mineplex.core.common.util.UtilEvent;
|
||||||
|
import mineplex.core.common.util.UtilEvent.ActionType;
|
||||||
|
import mineplex.core.common.util.UtilGear;
|
||||||
|
import mineplex.core.common.util.UtilInv;
|
||||||
|
import mineplex.core.common.util.UtilMath;
|
||||||
|
import mineplex.core.common.util.UtilParticle;
|
||||||
|
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||||
|
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||||
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.common.util.UtilTextBottom;
|
||||||
|
import mineplex.core.common.util.UtilTextMiddle;
|
||||||
|
import mineplex.core.common.util.UtilTime;
|
||||||
|
import mineplex.core.explosion.ExplosionEvent;
|
||||||
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
|
import mineplex.core.recharge.Recharge;
|
||||||
|
import mineplex.core.updater.UpdateType;
|
||||||
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
|
import nautilus.game.arcade.ArcadeManager;
|
||||||
|
import nautilus.game.arcade.GameType;
|
||||||
|
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||||
|
import nautilus.game.arcade.events.PlayerPrepareTeleportEvent;
|
||||||
|
import nautilus.game.arcade.game.SoloGame;
|
||||||
|
import nautilus.game.arcade.game.games.build.gui.MobShop;
|
||||||
|
import nautilus.game.arcade.game.games.build.gui.OptionsShop;
|
||||||
|
import nautilus.game.arcade.game.games.build.kits.KitBuilder;
|
||||||
|
import nautilus.game.arcade.kit.Kit;
|
||||||
|
|
||||||
public class Build extends SoloGame
|
public class Build extends SoloGame
|
||||||
{
|
{
|
||||||
private NautHashMap<Player, BuildData> _data = new NautHashMap<Player, BuildData>();
|
private NautHashMap<Player, BuildData> _data = new NautHashMap<Player, BuildData>();
|
||||||
@ -142,6 +145,8 @@ public class Build extends SoloGame
|
|||||||
private ChatColor _hintColor = ChatColor.YELLOW;
|
private ChatColor _hintColor = ChatColor.YELLOW;
|
||||||
private ChatColor _firstHintColor = ChatColor.YELLOW;
|
private ChatColor _firstHintColor = ChatColor.YELLOW;
|
||||||
|
|
||||||
|
private UUID _winnerUUID = null;
|
||||||
|
|
||||||
public Build(ArcadeManager manager)
|
public Build(ArcadeManager manager)
|
||||||
{
|
{
|
||||||
super(manager, GameType.Build,
|
super(manager, GameType.Build,
|
||||||
@ -538,7 +543,10 @@ public class Build extends SoloGame
|
|||||||
|
|
||||||
//Gems
|
//Gems
|
||||||
if (places.size() >= 1)
|
if (places.size() >= 1)
|
||||||
|
{
|
||||||
|
_winnerUUID = places.get(0).getUniqueId();
|
||||||
AddGems(places.get(0), 20, "1st Place", false, false);
|
AddGems(places.get(0), 20, "1st Place", false, false);
|
||||||
|
}
|
||||||
|
|
||||||
if (places.size() >= 2)
|
if (places.size() >= 2)
|
||||||
AddGems(places.get(1), 15, "2nd Place", false, false);
|
AddGems(places.get(1), 15, "2nd Place", false, false);
|
||||||
@ -1542,4 +1550,14 @@ public class Build extends SoloGame
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Player> getWinners()
|
||||||
|
{
|
||||||
|
Player player = UtilPlayer.searchExact(_winnerUUID);
|
||||||
|
if (player == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
return Arrays.asList(player);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user