Merge remote-tracking branch 'refs/remotes/origin/develop' into bugfix/aliens
This commit is contained in:
commit
7705bd34a3
|
@ -1,57 +0,0 @@
|
||||||
package mineplex.core.common.api.mothership;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
|
|
||||||
import mineplex.core.common.api.ApiHost;
|
|
||||||
import mineplex.core.common.api.ApiWebCall;
|
|
||||||
import mineplex.core.common.util.UtilServer;
|
|
||||||
|
|
||||||
public class Mothership
|
|
||||||
{
|
|
||||||
private static final ApiWebCall API_BASE = new ApiWebCall("http://" + ApiHost.getAPIHost("MOTHERSHIP").getHost() + ":" + ApiHost.getAPIHost("MOTHERSHIP").getPort() + "/");
|
|
||||||
|
|
||||||
public static void addPlayer(UUID uuid, Runnable afterward)
|
|
||||||
{
|
|
||||||
UtilServer.runAsync(() ->
|
|
||||||
{
|
|
||||||
Boolean response = API_BASE.get("addPlayer/" + uuid.toString(), Boolean.class);
|
|
||||||
if (response == null)
|
|
||||||
{
|
|
||||||
System.out.println("!!! Issue adding player to Mothership server !!!");
|
|
||||||
}
|
|
||||||
UtilServer.runSync(afterward);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isWhitelisted(UUID uuid)
|
|
||||||
{
|
|
||||||
if (Bukkit.isPrimaryThread())
|
|
||||||
{
|
|
||||||
throw new IllegalStateException("This method MUST NOT be called from the main thread!");
|
|
||||||
}
|
|
||||||
|
|
||||||
Boolean response = API_BASE.get("getPlayer/" + uuid.toString(), Boolean.class);
|
|
||||||
if (response == null)
|
|
||||||
{
|
|
||||||
System.out.println("!!! Issue retrieving player whitelist status. Allowing them in anyway! !!!");
|
|
||||||
}
|
|
||||||
return response == null || response;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean shouldStartEvent()
|
|
||||||
{
|
|
||||||
if (Bukkit.isPrimaryThread())
|
|
||||||
{
|
|
||||||
throw new IllegalStateException("This method MUST NOT be called from the main thread");
|
|
||||||
}
|
|
||||||
|
|
||||||
Boolean response = API_BASE.get("startEvent/" + UtilServer.getRegion().toString() + "/" + UtilServer.getServerName(), Boolean.class);
|
|
||||||
if (response == null)
|
|
||||||
{
|
|
||||||
System.out.println("!!! Issue checking whether server should start event. Keeping event disabled! !!!");
|
|
||||||
}
|
|
||||||
return response != null && response;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -33,8 +33,6 @@ import mineplex.core.blockrestore.BlockRestore;
|
||||||
import mineplex.core.command.CommandBase;
|
import mineplex.core.command.CommandBase;
|
||||||
import mineplex.core.common.Pair;
|
import mineplex.core.common.Pair;
|
||||||
import mineplex.core.common.Rank;
|
import mineplex.core.common.Rank;
|
||||||
import mineplex.core.common.api.mothership.Mothership;
|
|
||||||
import mineplex.core.common.api.mothership.MothershipCommand;
|
|
||||||
import mineplex.core.common.block.schematic.Schematic;
|
import mineplex.core.common.block.schematic.Schematic;
|
||||||
import mineplex.core.common.block.schematic.SchematicData;
|
import mineplex.core.common.block.schematic.SchematicData;
|
||||||
import mineplex.core.common.block.schematic.UtilSchematic;
|
import mineplex.core.common.block.schematic.UtilSchematic;
|
||||||
|
@ -53,7 +51,6 @@ import mineplex.core.updater.UpdateType;
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
import mineplex.core.utils.UtilVariant;
|
import mineplex.core.utils.UtilVariant;
|
||||||
import mineplex.hub.server.ServerManager;
|
import mineplex.hub.server.ServerManager;
|
||||||
import mineplex.serverdata.commands.ServerCommandManager;
|
|
||||||
|
|
||||||
@ReflectivelyCreateMiniPlugin
|
@ReflectivelyCreateMiniPlugin
|
||||||
public class AlienInvasion extends MiniPlugin
|
public class AlienInvasion extends MiniPlugin
|
||||||
|
@ -155,33 +152,8 @@ public class AlienInvasion extends MiniPlugin
|
||||||
stopAnimation();
|
stopAnimation();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
ServerCommandManager.getInstance().registerCommandType("mothership", MothershipCommand.class, command ->
|
|
||||||
{
|
|
||||||
switch (command.getAction())
|
|
||||||
{
|
|
||||||
case START:
|
|
||||||
runAsync(() ->
|
|
||||||
{
|
|
||||||
if (Mothership.shouldStartEvent())
|
|
||||||
{
|
|
||||||
runSync(this::startAnimation);
|
|
||||||
}
|
|
||||||
}, 20L);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CLEANUP:
|
startAnimation();
|
||||||
runSync(this::stopAnimation);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
runAsync(() ->
|
|
||||||
{
|
|
||||||
if (Mothership.shouldStartEvent())
|
|
||||||
{
|
|
||||||
runSync(this::startAnimation);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startAnimation()
|
public void startAnimation()
|
||||||
|
@ -216,7 +188,7 @@ public class AlienInvasion extends MiniPlugin
|
||||||
|
|
||||||
public void sendPlayerToInstance(Player player)
|
public void sendPlayerToInstance(Player player)
|
||||||
{
|
{
|
||||||
Mothership.addPlayer(player.getUniqueId(), () -> _serverManager.selectServer(player, "UFO"));
|
_serverManager.selectServer(player, "UFO");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void stopAnimation()
|
public void stopAnimation()
|
||||||
|
|
|
@ -256,7 +256,7 @@ public abstract class Game extends ListenerComponent implements Lifetimed
|
||||||
public long PrepareTime = 9000;
|
public long PrepareTime = 9000;
|
||||||
public boolean PlaySoundGameStart = true;
|
public boolean PlaySoundGameStart = true;
|
||||||
|
|
||||||
public double XpMult = 1;
|
public double XpMult = 2;
|
||||||
|
|
||||||
public boolean SpeedMeasurement = false;
|
public boolean SpeedMeasurement = false;
|
||||||
|
|
||||||
|
@ -278,7 +278,7 @@ public abstract class Game extends ListenerComponent implements Lifetimed
|
||||||
// Gems
|
// Gems
|
||||||
public boolean CrownsEnabled = false;
|
public boolean CrownsEnabled = false;
|
||||||
|
|
||||||
public double GemMultiplier = 1;
|
public double GemMultiplier = 2;
|
||||||
public boolean GemHunterEnabled = true;
|
public boolean GemHunterEnabled = true;
|
||||||
public boolean GemBoosterEnabled = true;
|
public boolean GemBoosterEnabled = true;
|
||||||
public boolean GemDoubleEnabled = true;
|
public boolean GemDoubleEnabled = true;
|
||||||
|
|
|
@ -19,7 +19,6 @@ import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
import org.bukkit.event.entity.EntitySpawnEvent;
|
import org.bukkit.event.entity.EntitySpawnEvent;
|
||||||
import org.bukkit.event.entity.ItemSpawnEvent;
|
import org.bukkit.event.entity.ItemSpawnEvent;
|
||||||
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
@ -27,7 +26,6 @@ import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import org.bukkit.scoreboard.Team;
|
import org.bukkit.scoreboard.Team;
|
||||||
|
|
||||||
import mineplex.core.common.Pair;
|
import mineplex.core.common.Pair;
|
||||||
import mineplex.core.common.api.mothership.Mothership;
|
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
import mineplex.core.common.util.UtilAlg;
|
import mineplex.core.common.util.UtilAlg;
|
||||||
|
@ -100,15 +98,6 @@ public class AlienInvasion extends SoloGame
|
||||||
.register(this);
|
.register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void onJoin(AsyncPlayerPreLoginEvent event)
|
|
||||||
{
|
|
||||||
if (!Mothership.isWhitelisted(event.getUniqueId()))
|
|
||||||
{
|
|
||||||
event.disallow(AsyncPlayerPreLoginEvent.Result.KICK_WHITELIST, "You must join by finding a UFO!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void ScoreboardUpdate(UpdateEvent event)
|
public void ScoreboardUpdate(UpdateEvent event)
|
||||||
|
|
Loading…
Reference in New Issue