Merge branch 'master' of ssh://184.154.0.242:7999/min/mineplex
This commit is contained in:
commit
6ccc897841
@ -39,7 +39,7 @@ public class MotdManager implements Listener, Runnable
|
||||
if (new File("updateMOTD.dat").exists())
|
||||
{
|
||||
List<String> lines = new ArrayList<String>();
|
||||
lines.add(" §b§l◄§f§lNEW§b§l► §f§l◄§b§lSKYWARS§f§l► §b§l◄§f§lNEW§b§l►");
|
||||
lines.add(" §f§l◄ §6§lNEW ARCADE GAME §f§l▬ §c§lBOMB LOBBERS §f§l►");
|
||||
//lines.add(" §d§lRank Sale §a§l40% Off");
|
||||
//lines.add(" §f§l◄§c§lMAINTENANCE§f§l►");
|
||||
|
||||
|
@ -1,14 +1,23 @@
|
||||
package mineplex.core.common.util;
|
||||
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class UtilAction
|
||||
{
|
||||
private static VelocityReceiver _velocityFix;
|
||||
|
||||
public static void velocity(Entity ent, Vector vec)
|
||||
{
|
||||
velocity(ent, vec, 1, false, 0, 0, vec.length(), false);
|
||||
}
|
||||
|
||||
public static void registerVelocityFix(VelocityReceiver velocityFix)
|
||||
{
|
||||
_velocityFix = velocityFix;
|
||||
}
|
||||
|
||||
public static void velocity(Entity ent, double str, double yAdd, double yMax, boolean groundBoost)
|
||||
{
|
||||
velocity(ent, ent.getLocation().getDirection(), str, false, 0, yAdd, yMax, groundBoost);
|
||||
@ -17,7 +26,10 @@ public class UtilAction
|
||||
public static void velocity(Entity ent, Vector vec, double str, boolean ySet, double yBase, double yAdd, double yMax, boolean groundBoost)
|
||||
{
|
||||
if (Double.isNaN(vec.getX()) || Double.isNaN(vec.getY()) || Double.isNaN(vec.getZ()) || vec.length() == 0)
|
||||
{
|
||||
zeroVelocity(ent);
|
||||
return;
|
||||
}
|
||||
|
||||
//YSet
|
||||
if (ySet)
|
||||
@ -41,13 +53,28 @@ public class UtilAction
|
||||
//Velocity
|
||||
ent.setFallDistance(0);
|
||||
|
||||
|
||||
//Debug
|
||||
if (ent instanceof Player && UtilGear.isMat(((Player)ent).getItemInHand(), Material.SUGAR))
|
||||
//Store It!
|
||||
if (ent instanceof Player && _velocityFix != null)
|
||||
{
|
||||
Bukkit.broadcastMessage(F.main("Debug", "Velocity Sent: " + vec.length()));
|
||||
_velocityFix.setPlayerVelocity(((Player)ent), vec);
|
||||
}
|
||||
|
||||
ent.setVelocity(vec);
|
||||
}
|
||||
|
||||
public static void zeroVelocity(Entity ent)
|
||||
{
|
||||
Vector vec = new Vector(0,0,0);
|
||||
ent.setFallDistance(0);
|
||||
|
||||
//Store It!
|
||||
if (ent instanceof Player && _velocityFix != null)
|
||||
{
|
||||
_velocityFix.setPlayerVelocity(((Player)ent), vec);
|
||||
}
|
||||
|
||||
ent.setVelocity(vec);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,9 @@
|
||||
package mineplex.core.common.util;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public interface VelocityReceiver
|
||||
{
|
||||
public void setPlayerVelocity(Player player, Vector velocity);
|
||||
}
|
@ -227,7 +227,7 @@ public class CoreClientManager extends MiniPlugin
|
||||
Bukkit.getServer().getPluginManager().callEvent(new ClientWebResponseEvent(response, uuid));
|
||||
|
||||
if (client.getAccountId() > 0)
|
||||
_accountCacheRepository.addElement(new AccountCache(uuid, client.getAccountId()));
|
||||
_accountCacheRepository.addElement(new AccountCache(uuid, client.getAccountId()), 60 * 60 * 6);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
@ -301,7 +301,16 @@ public class CoreClientManager extends MiniPlugin
|
||||
System.out.println(client.GetPlayerName() + "'s account id = " + client.getAccountId());
|
||||
|
||||
if (client.getAccountId() > 0)
|
||||
_accountCacheRepository.addElement(new AccountCache(uuid, client.getAccountId()));
|
||||
{
|
||||
try
|
||||
{
|
||||
_accountCacheRepository.addElement(new AccountCache(uuid, client.getAccountId()), 60 * 60 * 6);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return !_clientLoginLock.containsKey(client.GetPlayerName());
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ public enum Achievement
|
||||
SKYWARS_WINS("Sky King",2000,
|
||||
new String[]{"Skywars.Wins"},
|
||||
new String[]{"Win 20 Games of Skywars"},
|
||||
new int[]{30},
|
||||
new int[]{20},
|
||||
AchievementCategory.SKYWARS),
|
||||
|
||||
SKYWARS_BOMBER("Master Bomber",500,
|
||||
|
@ -170,7 +170,7 @@ public class MorphWither extends MorphGadget
|
||||
player.setFlying(true);
|
||||
|
||||
if (UtilEnt.isGrounded(player))
|
||||
player.setVelocity(new Vector(0,1,0));
|
||||
UtilAction.velocity(player, new Vector(0,1,0), 1, false, 0, 0, 1, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,7 +157,7 @@ public class PersonalServerManager extends MiniPlugin
|
||||
}
|
||||
|
||||
final ServerGroup serverGroup = new ServerGroup(serverName, serverName, host.getName(), ram, cpu, 1, 0, UtilMath.random.nextInt(250) + 19999, true, "arcade.zip", "Arcade.jar", "plugins/Arcade/", minPlayers, maxPlayers,
|
||||
true, false, false, games, "Player", true, event, false, true, false, true, true, false, false, false, false, true, true, true, false, false, "", _us ? Region.US : Region.EU);
|
||||
true, false, false, games, "Player", true, event, false, true, false, true, true, false, false, false, false, true, true, true, false, false, "", _us ? Region.US : Region.EU, "", "", "", "");
|
||||
|
||||
getPlugin().getServer().getScheduler().runTaskAsynchronously(getPlugin(), new Runnable()
|
||||
{
|
||||
|
@ -87,23 +87,10 @@ public abstract class ShopBase<PluginType extends MiniPlugin> implements Listene
|
||||
|
||||
private boolean attemptShopOpen(Player player, LivingEntity entity)
|
||||
{
|
||||
if (!_openedShop.contains(player.getName()) && entity.isCustomNameVisible() && entity.getCustomName() != null && ChatColor.stripColor(entity.getCustomName()).equalsIgnoreCase(ChatColor.stripColor(_name)))
|
||||
{
|
||||
if (!canOpenShop(player))
|
||||
return false;
|
||||
|
||||
_openedShop.add(player.getName());
|
||||
|
||||
openShopForPlayer(player);
|
||||
if (!_playerPageMap.containsKey(player.getName()))
|
||||
{
|
||||
_playerPageMap.put(player.getName(), buildPagesFor(player));
|
||||
}
|
||||
|
||||
openPageForPlayer(player, getOpeningPageForPlayer(player));
|
||||
|
||||
return true;
|
||||
}
|
||||
if (entity.isCustomNameVisible() && entity.getCustomName() != null && ChatColor.stripColor(entity.getCustomName()).equalsIgnoreCase(ChatColor.stripColor(_name)))
|
||||
{
|
||||
return attemptShopOpen(player);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ import org.jooq.impl.DSL;
|
||||
import mineplex.core.account.ILoginProcessor;
|
||||
import mineplex.core.database.DBPool;
|
||||
import mineplex.database.Tables;
|
||||
import org.jooq.types.ULong;
|
||||
|
||||
public class SecondaryStatHandler implements ILoginProcessor
|
||||
{
|
||||
@ -58,7 +59,7 @@ public class SecondaryStatHandler implements ILoginProcessor
|
||||
.insertInto(Tables.accountStat)
|
||||
.set(Tables.accountStat.accountId, accountId)
|
||||
.set(Tables.accountStat.statId, statId)
|
||||
.set(Tables.accountStat.value, Math.max(oldPlayerStats.getStat(statName), 0L));
|
||||
.set(Tables.accountStat.value, ULong.valueOf(Math.max(oldPlayerStats.getStat(statName), 0L)));
|
||||
|
||||
inserts.add(insert);
|
||||
}
|
||||
@ -99,13 +100,13 @@ public class SecondaryStatHandler implements ILoginProcessor
|
||||
.insertInto(Tables.accountStat)
|
||||
.set(Tables.accountStat.accountId, accountId)
|
||||
.set(Tables.accountStat.statId, statId)
|
||||
.set(Tables.accountStat.value, Math.max(oldPlayerStats.getStat(statName), 0L));
|
||||
.set(Tables.accountStat.value, ULong.valueOf(Math.max(oldPlayerStats.getStat(statName), 0L)));
|
||||
|
||||
inserts.add(insert);
|
||||
|
||||
Update update = context
|
||||
.update(Tables.accountStat)
|
||||
.set(Tables.accountStat.value, Math.max(oldPlayerStats.getStat(statName), 0L))
|
||||
.set(Tables.accountStat.value, ULong.valueOf(Math.max(oldPlayerStats.getStat(statName), 0L)))
|
||||
.where(Tables.accountStat.accountId.eq(accountId))
|
||||
.and(Tables.accountStat.statId.eq(statId));
|
||||
|
||||
|
@ -22,6 +22,7 @@ import org.jooq.Result;
|
||||
import org.jooq.SQLDialect;
|
||||
import org.jooq.Update;
|
||||
import org.jooq.impl.DSL;
|
||||
import org.jooq.types.ULong;
|
||||
|
||||
public class StatsRepository extends RepositoryBase
|
||||
{
|
||||
@ -102,7 +103,7 @@ public class StatsRepository extends RepositoryBase
|
||||
.insertInto(Tables.accountStat)
|
||||
.set(Tables.accountStat.accountId, accountId)
|
||||
.set(Tables.accountStat.statId, statId)
|
||||
.set(Tables.accountStat.value, uploadQueue.get(accountId).get(statId));
|
||||
.set(Tables.accountStat.value, ULong.valueOf(uploadQueue.get(accountId).get(statId)));
|
||||
|
||||
inserts.add(insert);
|
||||
}
|
||||
@ -137,7 +138,7 @@ public class StatsRepository extends RepositoryBase
|
||||
context = DSL.using(getConnectionPool(), SQLDialect.MYSQL);
|
||||
}
|
||||
|
||||
Result<Record2<String, Long>> result = context.select(Tables.stats.name, Tables.accountStat.value).from(Tables.accountStat)
|
||||
Result<Record2<String, ULong>> result = context.select(Tables.stats.name, Tables.accountStat.value).from(Tables.accountStat)
|
||||
.join(Tables.stats)
|
||||
.on(Tables.stats.id.eq(Tables.accountStat.statId))
|
||||
.where(Tables.accountStat.accountId.eq(DSL.select(Tables.accounts.id)
|
||||
@ -149,9 +150,9 @@ public class StatsRepository extends RepositoryBase
|
||||
if (result.isNotEmpty())
|
||||
{
|
||||
playerStats = new PlayerStats();
|
||||
for (Record2<String, Long> record : result)
|
||||
for (Record2<String, ULong> record : result)
|
||||
{
|
||||
playerStats.addStat(record.value1(), record.value2());
|
||||
playerStats.addStat(record.value1(), record.value2().longValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116,10 +116,8 @@ public class ServerStatusManager extends MiniPlugin
|
||||
if (event.getType() != UpdateType.FASTER)
|
||||
return;
|
||||
|
||||
if (!_enabled)
|
||||
return;
|
||||
|
||||
saveServerStatus();
|
||||
if (_enabled)
|
||||
saveServerStatus();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -139,19 +137,6 @@ public class ServerStatusManager extends MiniPlugin
|
||||
if (server != null && !server.getPublicAddress().equalsIgnoreCase(serverSnapshot.getPublicAddress()))
|
||||
{
|
||||
timeout = -DEFAULT_SERVER_TIMEOUT;
|
||||
/*
|
||||
ProcessRunner pr = new ProcessRunner(new String[] {"/bin/sh", "/home/mineplex/config/killServer.sh", serverSnapshot.getName()});
|
||||
pr.start(new GenericRunnable<Boolean>()
|
||||
{
|
||||
public void run(Boolean error)
|
||||
{
|
||||
if (error)
|
||||
log("Error Killing myself.");
|
||||
else
|
||||
log("It worked.");
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
|
||||
_repository.updataServerStatus(serverSnapshot, timeout);
|
||||
|
@ -20,6 +20,7 @@ import mineplex.core.common.jsonchat.JsonMessage;
|
||||
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.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.common.util.UtilWorld;
|
||||
@ -285,7 +286,7 @@ public class Teleport extends MiniPlugin
|
||||
}
|
||||
|
||||
player.setFallDistance(0);
|
||||
player.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.velocity(player, new Vector(0,1,0), 0, false, 0, 0, 0, false);
|
||||
|
||||
player.teleport(loc);
|
||||
}
|
||||
|
@ -0,0 +1,78 @@
|
||||
package mineplex.core.velocity;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.common.util.NautHashMap;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.VelocityReceiver;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.event.player.PlayerVelocityEvent;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class VelocityFix extends MiniPlugin implements VelocityReceiver
|
||||
{
|
||||
/*
|
||||
* The purpose of this class is to fix a bug inherent in Minecraft,
|
||||
* where player join order will somehow modify the velocity sent to players.
|
||||
*
|
||||
* To fix it, we simply save the velocity that the player should have received,
|
||||
* then we re-set those values in CB the moment its about to actually apply the velocity to a player.
|
||||
*
|
||||
* The problem was caused by the fact that CB does not run a PlayerVelocityEvent the moment we
|
||||
* set a players velocity, instead it waits until the next tick, and the velocity may have been changed.
|
||||
*
|
||||
*/
|
||||
|
||||
private NautHashMap<Player, Vector> _velocityData = new NautHashMap<Player,Vector>();
|
||||
|
||||
public VelocityFix(JavaPlugin plugin)
|
||||
{
|
||||
super("Velocity Fix", plugin);
|
||||
|
||||
UtilAction.registerVelocityFix(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerVelocity(Player player, Vector velocity)
|
||||
{
|
||||
_velocityData.put(player, velocity);
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void fixVelocity(PlayerVelocityEvent event)
|
||||
{
|
||||
if (_velocityData.containsKey(event.getPlayer()))
|
||||
event.getPlayer().setVelocity(_velocityData.remove(event.getPlayer()));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void cleanVelocity(PlayerQuitEvent event)
|
||||
{
|
||||
_velocityData.remove(event.getPlayer());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void cleanVelocity(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.SLOW)
|
||||
return;
|
||||
|
||||
Iterator<Player> keyIter = _velocityData.keySet().iterator();
|
||||
|
||||
while (keyIter.hasNext())
|
||||
{
|
||||
Player player = keyIter.next();
|
||||
|
||||
if (player.isOnline())
|
||||
keyIter.remove();
|
||||
}
|
||||
}
|
||||
}
|
@ -16,7 +16,7 @@ package mineplex.database;
|
||||
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Account extends org.jooq.impl.SchemaImpl implements java.io.Serializable, java.lang.Cloneable {
|
||||
|
||||
private static final long serialVersionUID = 625106486;
|
||||
private static final long serialVersionUID = 2034846771;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>Account</code>
|
||||
@ -54,6 +54,7 @@ public class Account extends org.jooq.impl.SchemaImpl implements java.io.Seriali
|
||||
mineplex.database.tables.AccountTransactions.accountTransactions,
|
||||
mineplex.database.tables.ActiveTournaments.activeTournaments,
|
||||
mineplex.database.tables.Bonus.bonus,
|
||||
mineplex.database.tables.Chatsnap.chatsnap,
|
||||
mineplex.database.tables.ClanAlliances.clanAlliances,
|
||||
mineplex.database.tables.ClanEnemies.clanEnemies,
|
||||
mineplex.database.tables.ClanMember.clanMember,
|
||||
|
@ -34,6 +34,7 @@ public class Keys {
|
||||
public static final org.jooq.Identity<mineplex.database.tables.records.AccountTasksRecord, java.lang.Integer> IDENTITY_accountTasks = Identities0.IDENTITY_accountTasks;
|
||||
public static final org.jooq.Identity<mineplex.database.tables.records.AccountTransactionsRecord, java.lang.Integer> IDENTITY_accountTransactions = Identities0.IDENTITY_accountTransactions;
|
||||
public static final org.jooq.Identity<mineplex.database.tables.records.BonusRecord, java.lang.Integer> IDENTITY_bonus = Identities0.IDENTITY_bonus;
|
||||
public static final org.jooq.Identity<mineplex.database.tables.records.ChatsnapRecord, java.lang.Integer> IDENTITY_chatsnap = Identities0.IDENTITY_chatsnap;
|
||||
public static final org.jooq.Identity<mineplex.database.tables.records.ClanAlliancesRecord, java.lang.Integer> IDENTITY_clanAlliances = Identities0.IDENTITY_clanAlliances;
|
||||
public static final org.jooq.Identity<mineplex.database.tables.records.ClanEnemiesRecord, java.lang.Integer> IDENTITY_clanEnemies = Identities0.IDENTITY_clanEnemies;
|
||||
public static final org.jooq.Identity<mineplex.database.tables.records.ClansRecord, java.lang.Integer> IDENTITY_clans = Identities0.IDENTITY_clans;
|
||||
@ -83,6 +84,7 @@ public class Keys {
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.AccountTransactionsRecord> KEY_accountTransactions_PRIMARY = UniqueKeys0.KEY_accountTransactions_PRIMARY;
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ActiveTournamentsRecord> KEY_activeTournaments_PRIMARY = UniqueKeys0.KEY_activeTournaments_PRIMARY;
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.BonusRecord> KEY_bonus_PRIMARY = UniqueKeys0.KEY_bonus_PRIMARY;
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ChatsnapRecord> KEY_chatsnap_PRIMARY = UniqueKeys0.KEY_chatsnap_PRIMARY;
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ClanAlliancesRecord> KEY_clanAlliances_PRIMARY = UniqueKeys0.KEY_clanAlliances_PRIMARY;
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ClanEnemiesRecord> KEY_clanEnemies_PRIMARY = UniqueKeys0.KEY_clanEnemies_PRIMARY;
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ClanEnemiesRecord> KEY_clanEnemies_unique_clanId = UniqueKeys0.KEY_clanEnemies_unique_clanId;
|
||||
@ -175,6 +177,7 @@ public class Keys {
|
||||
public static org.jooq.Identity<mineplex.database.tables.records.AccountTasksRecord, java.lang.Integer> IDENTITY_accountTasks = createIdentity(mineplex.database.tables.AccountTasks.accountTasks, mineplex.database.tables.AccountTasks.accountTasks.id);
|
||||
public static org.jooq.Identity<mineplex.database.tables.records.AccountTransactionsRecord, java.lang.Integer> IDENTITY_accountTransactions = createIdentity(mineplex.database.tables.AccountTransactions.accountTransactions, mineplex.database.tables.AccountTransactions.accountTransactions.id);
|
||||
public static org.jooq.Identity<mineplex.database.tables.records.BonusRecord, java.lang.Integer> IDENTITY_bonus = createIdentity(mineplex.database.tables.Bonus.bonus, mineplex.database.tables.Bonus.bonus.accountId);
|
||||
public static org.jooq.Identity<mineplex.database.tables.records.ChatsnapRecord, java.lang.Integer> IDENTITY_chatsnap = createIdentity(mineplex.database.tables.Chatsnap.chatsnap, mineplex.database.tables.Chatsnap.chatsnap.id);
|
||||
public static org.jooq.Identity<mineplex.database.tables.records.ClanAlliancesRecord, java.lang.Integer> IDENTITY_clanAlliances = createIdentity(mineplex.database.tables.ClanAlliances.clanAlliances, mineplex.database.tables.ClanAlliances.clanAlliances.id);
|
||||
public static org.jooq.Identity<mineplex.database.tables.records.ClanEnemiesRecord, java.lang.Integer> IDENTITY_clanEnemies = createIdentity(mineplex.database.tables.ClanEnemies.clanEnemies, mineplex.database.tables.ClanEnemies.clanEnemies.id);
|
||||
public static org.jooq.Identity<mineplex.database.tables.records.ClansRecord, java.lang.Integer> IDENTITY_clans = createIdentity(mineplex.database.tables.Clans.clans, mineplex.database.tables.Clans.clans.id);
|
||||
@ -222,6 +225,7 @@ public class Keys {
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.AccountTransactionsRecord> KEY_accountTransactions_PRIMARY = createUniqueKey(mineplex.database.tables.AccountTransactions.accountTransactions, mineplex.database.tables.AccountTransactions.accountTransactions.id);
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ActiveTournamentsRecord> KEY_activeTournaments_PRIMARY = createUniqueKey(mineplex.database.tables.ActiveTournaments.activeTournaments, mineplex.database.tables.ActiveTournaments.activeTournaments.name);
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.BonusRecord> KEY_bonus_PRIMARY = createUniqueKey(mineplex.database.tables.Bonus.bonus, mineplex.database.tables.Bonus.bonus.accountId);
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ChatsnapRecord> KEY_chatsnap_PRIMARY = createUniqueKey(mineplex.database.tables.Chatsnap.chatsnap, mineplex.database.tables.Chatsnap.chatsnap.id);
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ClanAlliancesRecord> KEY_clanAlliances_PRIMARY = createUniqueKey(mineplex.database.tables.ClanAlliances.clanAlliances, mineplex.database.tables.ClanAlliances.clanAlliances.id);
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ClanEnemiesRecord> KEY_clanEnemies_PRIMARY = createUniqueKey(mineplex.database.tables.ClanEnemies.clanEnemies, mineplex.database.tables.ClanEnemies.clanEnemies.id);
|
||||
public static final org.jooq.UniqueKey<mineplex.database.tables.records.ClanEnemiesRecord> KEY_clanEnemies_unique_clanId = createUniqueKey(mineplex.database.tables.ClanEnemies.clanEnemies, mineplex.database.tables.ClanEnemies.clanEnemies.clanId);
|
||||
|
@ -54,6 +54,19 @@ public class Routines {
|
||||
return p;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call <code>Account.check_vote</code>
|
||||
*/
|
||||
public static mineplex.database.routines.Check_vote callCheckVote(org.jooq.Configuration configuration, java.lang.Integer accountId_in, java.lang.Integer coinsChange, java.lang.Integer gemsChange) {
|
||||
mineplex.database.routines.Check_vote p = new mineplex.database.routines.Check_vote();
|
||||
p.setAccountId_in(accountId_in);
|
||||
p.setCoinsChange(coinsChange);
|
||||
p.setGemsChange(gemsChange);
|
||||
|
||||
p.execute(configuration);
|
||||
return p;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call <code>Account.createLeaderboard</code>
|
||||
*/
|
||||
|
@ -91,6 +91,11 @@ public class Tables {
|
||||
*/
|
||||
public static final mineplex.database.tables.Bonus bonus = mineplex.database.tables.Bonus.bonus;
|
||||
|
||||
/**
|
||||
* The table Account.chatsnap
|
||||
*/
|
||||
public static final mineplex.database.tables.Chatsnap chatsnap = mineplex.database.tables.Chatsnap.chatsnap;
|
||||
|
||||
/**
|
||||
* The table Account.clanAlliances
|
||||
*/
|
||||
|
@ -0,0 +1,93 @@
|
||||
/**
|
||||
* This class is generated by jOOQ
|
||||
*/
|
||||
package mineplex.database.routines;
|
||||
|
||||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@javax.annotation.Generated(
|
||||
value = {
|
||||
"http://www.jooq.org",
|
||||
"jOOQ version:3.5.2"
|
||||
},
|
||||
comments = "This class is generated by jOOQ"
|
||||
)
|
||||
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Check_vote extends org.jooq.impl.AbstractRoutine<java.lang.Void> implements java.io.Serializable, java.lang.Cloneable {
|
||||
|
||||
private static final long serialVersionUID = 2035299030;
|
||||
|
||||
/**
|
||||
* The parameter <code>Account.check_vote.accountId_in</code>.
|
||||
*/
|
||||
public static final org.jooq.Parameter<java.lang.Integer> accountId_in = createParameter("accountId_in", org.jooq.impl.SQLDataType.INTEGER, false);
|
||||
|
||||
/**
|
||||
* The parameter <code>Account.check_vote.coinsChange</code>.
|
||||
*/
|
||||
public static final org.jooq.Parameter<java.lang.Integer> coinsChange = createParameter("coinsChange", org.jooq.impl.SQLDataType.INTEGER, false);
|
||||
|
||||
/**
|
||||
* The parameter <code>Account.check_vote.gemsChange</code>.
|
||||
*/
|
||||
public static final org.jooq.Parameter<java.lang.Integer> gemsChange = createParameter("gemsChange", org.jooq.impl.SQLDataType.INTEGER, false);
|
||||
|
||||
/**
|
||||
* The parameter <code>Account.check_vote.pass</code>.
|
||||
*/
|
||||
public static final org.jooq.Parameter<java.lang.Byte> pass = createParameter("pass", org.jooq.impl.SQLDataType.TINYINT, false);
|
||||
|
||||
/**
|
||||
* The parameter <code>Account.check_vote.outTime</code>.
|
||||
*/
|
||||
public static final org.jooq.Parameter<java.sql.Date> outTime = createParameter("outTime", org.jooq.impl.SQLDataType.DATE, false);
|
||||
|
||||
/**
|
||||
* Create a new routine call instance
|
||||
*/
|
||||
public Check_vote() {
|
||||
super("check_vote", mineplex.database.Account.Account);
|
||||
|
||||
addInParameter(accountId_in);
|
||||
addInParameter(coinsChange);
|
||||
addInParameter(gemsChange);
|
||||
addOutParameter(pass);
|
||||
addOutParameter(outTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the <code>accountId_in</code> parameter IN value to the routine
|
||||
*/
|
||||
public void setAccountId_in(java.lang.Integer value) {
|
||||
setValue(mineplex.database.routines.Check_vote.accountId_in, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the <code>coinsChange</code> parameter IN value to the routine
|
||||
*/
|
||||
public void setCoinsChange(java.lang.Integer value) {
|
||||
setValue(mineplex.database.routines.Check_vote.coinsChange, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the <code>gemsChange</code> parameter IN value to the routine
|
||||
*/
|
||||
public void setGemsChange(java.lang.Integer value) {
|
||||
setValue(mineplex.database.routines.Check_vote.gemsChange, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the <code>pass</code> parameter OUT value from the routine
|
||||
*/
|
||||
public java.lang.Byte getPass() {
|
||||
return getValue(pass);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the <code>outTime</code> parameter OUT value from the routine
|
||||
*/
|
||||
public java.sql.Date getOutTime() {
|
||||
return getValue(outTime);
|
||||
}
|
||||
}
|
@ -16,7 +16,7 @@ package mineplex.database.tables;
|
||||
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class AccountStat extends org.jooq.impl.TableImpl<mineplex.database.tables.records.AccountStatRecord> implements java.io.Serializable, java.lang.Cloneable {
|
||||
|
||||
private static final long serialVersionUID = 956897097;
|
||||
private static final long serialVersionUID = 34581219;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>Account.accountStat</code>
|
||||
@ -44,7 +44,7 @@ public class AccountStat extends org.jooq.impl.TableImpl<mineplex.database.table
|
||||
/**
|
||||
* The column <code>Account.accountStat.value</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.AccountStatRecord, java.lang.Long> value = createField("value", org.jooq.impl.SQLDataType.BIGINT.defaulted(true), this, "");
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.AccountStatRecord, org.jooq.types.ULong> value = createField("value", org.jooq.impl.SQLDataType.BIGINTUNSIGNED.defaulted(true), this, "");
|
||||
|
||||
/**
|
||||
* Create a <code>Account.accountStat</code> table reference
|
||||
|
@ -16,7 +16,7 @@ package mineplex.database.tables;
|
||||
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Bonus extends org.jooq.impl.TableImpl<mineplex.database.tables.records.BonusRecord> implements java.io.Serializable, java.lang.Cloneable {
|
||||
|
||||
private static final long serialVersionUID = -70389593;
|
||||
private static final long serialVersionUID = -524321170;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>Account.bonus</code>
|
||||
@ -46,6 +46,36 @@ public class Bonus extends org.jooq.impl.TableImpl<mineplex.database.tables.reco
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.BonusRecord, java.sql.Date> ranktime = createField("ranktime", org.jooq.impl.SQLDataType.DATE, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.bonus.votetime</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.BonusRecord, java.sql.Date> votetime = createField("votetime", org.jooq.impl.SQLDataType.DATE, this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.bonus.dailyStreak</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.BonusRecord, java.lang.Integer> dailyStreak = createField("dailyStreak", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.bonus.maxDailyStreak</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.BonusRecord, java.lang.Integer> maxDailyStreak = createField("maxDailyStreak", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.bonus.voteStreak</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.BonusRecord, java.lang.Integer> voteStreak = createField("voteStreak", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.bonus.maxVoteStreak</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.BonusRecord, java.lang.Integer> maxVoteStreak = createField("maxVoteStreak", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.bonus.tickets</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.BonusRecord, java.lang.Integer> tickets = createField("tickets", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* Create a <code>Account.bonus</code> table reference
|
||||
*/
|
||||
|
@ -0,0 +1,129 @@
|
||||
/**
|
||||
* This class is generated by jOOQ
|
||||
*/
|
||||
package mineplex.database.tables;
|
||||
|
||||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@javax.annotation.Generated(
|
||||
value = {
|
||||
"http://www.jooq.org",
|
||||
"jOOQ version:3.5.2"
|
||||
},
|
||||
comments = "This class is generated by jOOQ"
|
||||
)
|
||||
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class Chatsnap extends org.jooq.impl.TableImpl<mineplex.database.tables.records.ChatsnapRecord> implements java.io.Serializable, java.lang.Cloneable {
|
||||
|
||||
private static final long serialVersionUID = -176946707;
|
||||
|
||||
/**
|
||||
* The reference instance of <code>Account.chatsnap</code>
|
||||
*/
|
||||
public static final mineplex.database.tables.Chatsnap chatsnap = new mineplex.database.tables.Chatsnap();
|
||||
|
||||
/**
|
||||
* The class holding records for this type
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Class<mineplex.database.tables.records.ChatsnapRecord> getRecordType() {
|
||||
return mineplex.database.tables.records.ChatsnapRecord.class;
|
||||
}
|
||||
|
||||
/**
|
||||
* The column <code>Account.chatsnap.id</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.ChatsnapRecord, java.lang.Integer> id = createField("id", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.chatsnap.reporterId</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.ChatsnapRecord, java.lang.Integer> reporterId = createField("reporterId", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.chatsnap.reporteeId</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.ChatsnapRecord, java.lang.Integer> reporteeId = createField("reporteeId", org.jooq.impl.SQLDataType.INTEGER.nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.chatsnap.time</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.ChatsnapRecord, java.sql.Timestamp> time = createField("time", org.jooq.impl.SQLDataType.TIMESTAMP.nullable(false).defaulted(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.chatsnap.status</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.ChatsnapRecord, java.lang.String> status = createField("status", org.jooq.impl.SQLDataType.VARCHAR.length(10).nullable(false).defaulted(true), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.chatsnap.reason</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.ChatsnapRecord, java.lang.String> reason = createField("reason", org.jooq.impl.SQLDataType.CLOB.length(65535).nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* The column <code>Account.chatsnap.data</code>.
|
||||
*/
|
||||
public final org.jooq.TableField<mineplex.database.tables.records.ChatsnapRecord, java.lang.String> data = createField("data", org.jooq.impl.SQLDataType.CLOB.length(16777215).nullable(false), this, "");
|
||||
|
||||
/**
|
||||
* Create a <code>Account.chatsnap</code> table reference
|
||||
*/
|
||||
public Chatsnap() {
|
||||
this("chatsnap", null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an aliased <code>Account.chatsnap</code> table reference
|
||||
*/
|
||||
public Chatsnap(java.lang.String alias) {
|
||||
this(alias, mineplex.database.tables.Chatsnap.chatsnap);
|
||||
}
|
||||
|
||||
private Chatsnap(java.lang.String alias, org.jooq.Table<mineplex.database.tables.records.ChatsnapRecord> aliased) {
|
||||
this(alias, aliased, null);
|
||||
}
|
||||
|
||||
private Chatsnap(java.lang.String alias, org.jooq.Table<mineplex.database.tables.records.ChatsnapRecord> aliased, org.jooq.Field<?>[] parameters) {
|
||||
super(alias, mineplex.database.Account.Account, aliased, parameters, "");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Identity<mineplex.database.tables.records.ChatsnapRecord, java.lang.Integer> getIdentity() {
|
||||
return mineplex.database.Keys.IDENTITY_chatsnap;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.UniqueKey<mineplex.database.tables.records.ChatsnapRecord> getPrimaryKey() {
|
||||
return mineplex.database.Keys.KEY_chatsnap_PRIMARY;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.util.List<org.jooq.UniqueKey<mineplex.database.tables.records.ChatsnapRecord>> getKeys() {
|
||||
return java.util.Arrays.<org.jooq.UniqueKey<mineplex.database.tables.records.ChatsnapRecord>>asList(mineplex.database.Keys.KEY_chatsnap_PRIMARY);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public mineplex.database.tables.Chatsnap as(java.lang.String alias) {
|
||||
return new mineplex.database.tables.Chatsnap(alias, this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename this table
|
||||
*/
|
||||
public mineplex.database.tables.Chatsnap rename(java.lang.String name) {
|
||||
return new mineplex.database.tables.Chatsnap(name, null);
|
||||
}
|
||||
}
|
@ -14,9 +14,9 @@ package mineplex.database.tables.records;
|
||||
comments = "This class is generated by jOOQ"
|
||||
)
|
||||
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.database.tables.records.AccountStatRecord> implements java.io.Serializable, java.lang.Cloneable, org.jooq.Record3<java.lang.Integer, java.lang.Integer, java.lang.Long> {
|
||||
public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.database.tables.records.AccountStatRecord> implements java.io.Serializable, java.lang.Cloneable, org.jooq.Record3<java.lang.Integer, java.lang.Integer, org.jooq.types.ULong> {
|
||||
|
||||
private static final long serialVersionUID = 1109290129;
|
||||
private static final long serialVersionUID = -516667486;
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.accountStat.accountId</code>.
|
||||
@ -49,15 +49,15 @@ public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineple
|
||||
/**
|
||||
* Setter for <code>Account.accountStat.value</code>.
|
||||
*/
|
||||
public void setValue(java.lang.Long value) {
|
||||
public void setValue(org.jooq.types.ULong value) {
|
||||
setValue(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.accountStat.value</code>.
|
||||
*/
|
||||
public java.lang.Long getValue() {
|
||||
return (java.lang.Long) getValue(2);
|
||||
public org.jooq.types.ULong getValue() {
|
||||
return (org.jooq.types.ULong) getValue(2);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
@ -80,7 +80,7 @@ public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineple
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Row3<java.lang.Integer, java.lang.Integer, java.lang.Long> fieldsRow() {
|
||||
public org.jooq.Row3<java.lang.Integer, java.lang.Integer, org.jooq.types.ULong> fieldsRow() {
|
||||
return (org.jooq.Row3) super.fieldsRow();
|
||||
}
|
||||
|
||||
@ -88,7 +88,7 @@ public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineple
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Row3<java.lang.Integer, java.lang.Integer, java.lang.Long> valuesRow() {
|
||||
public org.jooq.Row3<java.lang.Integer, java.lang.Integer, org.jooq.types.ULong> valuesRow() {
|
||||
return (org.jooq.Row3) super.valuesRow();
|
||||
}
|
||||
|
||||
@ -112,7 +112,7 @@ public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineple
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Long> field3() {
|
||||
public org.jooq.Field<org.jooq.types.ULong> field3() {
|
||||
return mineplex.database.tables.AccountStat.accountStat.value;
|
||||
}
|
||||
|
||||
@ -136,7 +136,7 @@ public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineple
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Long value3() {
|
||||
public org.jooq.types.ULong value3() {
|
||||
return getValue();
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineple
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public AccountStatRecord value3(java.lang.Long value) {
|
||||
public AccountStatRecord value3(org.jooq.types.ULong value) {
|
||||
setValue(value);
|
||||
return this;
|
||||
}
|
||||
@ -171,7 +171,7 @@ public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineple
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public AccountStatRecord values(java.lang.Integer value1, java.lang.Integer value2, java.lang.Long value3) {
|
||||
public AccountStatRecord values(java.lang.Integer value1, java.lang.Integer value2, org.jooq.types.ULong value3) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -189,7 +189,7 @@ public class AccountStatRecord extends org.jooq.impl.UpdatableRecordImpl<mineple
|
||||
/**
|
||||
* Create a detached, initialised AccountStatRecord
|
||||
*/
|
||||
public AccountStatRecord(java.lang.Integer accountId, java.lang.Integer statId, java.lang.Long value) {
|
||||
public AccountStatRecord(java.lang.Integer accountId, java.lang.Integer statId, org.jooq.types.ULong value) {
|
||||
super(mineplex.database.tables.AccountStat.accountStat);
|
||||
|
||||
setValue(0, accountId);
|
||||
|
@ -14,9 +14,9 @@ package mineplex.database.tables.records;
|
||||
comments = "This class is generated by jOOQ"
|
||||
)
|
||||
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class BonusRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.database.tables.records.BonusRecord> implements java.io.Serializable, java.lang.Cloneable, org.jooq.Record3<java.lang.Integer, java.sql.Timestamp, java.sql.Date> {
|
||||
public class BonusRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.database.tables.records.BonusRecord> implements java.io.Serializable, java.lang.Cloneable, org.jooq.Record9<java.lang.Integer, java.sql.Timestamp, java.sql.Date, java.sql.Date, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer> {
|
||||
|
||||
private static final long serialVersionUID = -64019858;
|
||||
private static final long serialVersionUID = -785434679;
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.bonus.accountId</code>.
|
||||
@ -60,6 +60,90 @@ public class BonusRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.data
|
||||
return (java.sql.Date) getValue(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.bonus.votetime</code>.
|
||||
*/
|
||||
public void setVotetime(java.sql.Date value) {
|
||||
setValue(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.bonus.votetime</code>.
|
||||
*/
|
||||
public java.sql.Date getVotetime() {
|
||||
return (java.sql.Date) getValue(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.bonus.dailyStreak</code>.
|
||||
*/
|
||||
public void setDailyStreak(java.lang.Integer value) {
|
||||
setValue(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.bonus.dailyStreak</code>.
|
||||
*/
|
||||
public java.lang.Integer getDailyStreak() {
|
||||
return (java.lang.Integer) getValue(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.bonus.maxDailyStreak</code>.
|
||||
*/
|
||||
public void setMaxDailyStreak(java.lang.Integer value) {
|
||||
setValue(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.bonus.maxDailyStreak</code>.
|
||||
*/
|
||||
public java.lang.Integer getMaxDailyStreak() {
|
||||
return (java.lang.Integer) getValue(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.bonus.voteStreak</code>.
|
||||
*/
|
||||
public void setVoteStreak(java.lang.Integer value) {
|
||||
setValue(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.bonus.voteStreak</code>.
|
||||
*/
|
||||
public java.lang.Integer getVoteStreak() {
|
||||
return (java.lang.Integer) getValue(6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.bonus.maxVoteStreak</code>.
|
||||
*/
|
||||
public void setMaxVoteStreak(java.lang.Integer value) {
|
||||
setValue(7, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.bonus.maxVoteStreak</code>.
|
||||
*/
|
||||
public java.lang.Integer getMaxVoteStreak() {
|
||||
return (java.lang.Integer) getValue(7);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.bonus.tickets</code>.
|
||||
*/
|
||||
public void setTickets(java.lang.Integer value) {
|
||||
setValue(8, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.bonus.tickets</code>.
|
||||
*/
|
||||
public java.lang.Integer getTickets() {
|
||||
return (java.lang.Integer) getValue(8);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
@ -73,23 +157,23 @@ public class BonusRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.data
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Record3 type implementation
|
||||
// Record9 type implementation
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Row3<java.lang.Integer, java.sql.Timestamp, java.sql.Date> fieldsRow() {
|
||||
return (org.jooq.Row3) super.fieldsRow();
|
||||
public org.jooq.Row9<java.lang.Integer, java.sql.Timestamp, java.sql.Date, java.sql.Date, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer> fieldsRow() {
|
||||
return (org.jooq.Row9) super.fieldsRow();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Row3<java.lang.Integer, java.sql.Timestamp, java.sql.Date> valuesRow() {
|
||||
return (org.jooq.Row3) super.valuesRow();
|
||||
public org.jooq.Row9<java.lang.Integer, java.sql.Timestamp, java.sql.Date, java.sql.Date, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer> valuesRow() {
|
||||
return (org.jooq.Row9) super.valuesRow();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -116,6 +200,54 @@ public class BonusRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.data
|
||||
return mineplex.database.tables.Bonus.bonus.ranktime;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.sql.Date> field4() {
|
||||
return mineplex.database.tables.Bonus.bonus.votetime;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Integer> field5() {
|
||||
return mineplex.database.tables.Bonus.bonus.dailyStreak;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Integer> field6() {
|
||||
return mineplex.database.tables.Bonus.bonus.maxDailyStreak;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Integer> field7() {
|
||||
return mineplex.database.tables.Bonus.bonus.voteStreak;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Integer> field8() {
|
||||
return mineplex.database.tables.Bonus.bonus.maxVoteStreak;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Integer> field9() {
|
||||
return mineplex.database.tables.Bonus.bonus.tickets;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@ -140,6 +272,54 @@ public class BonusRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.data
|
||||
return getRanktime();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.sql.Date value4() {
|
||||
return getVotetime();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Integer value5() {
|
||||
return getDailyStreak();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Integer value6() {
|
||||
return getMaxDailyStreak();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Integer value7() {
|
||||
return getVoteStreak();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Integer value8() {
|
||||
return getMaxVoteStreak();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Integer value9() {
|
||||
return getTickets();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@ -171,7 +351,61 @@ public class BonusRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.data
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public BonusRecord values(java.lang.Integer value1, java.sql.Timestamp value2, java.sql.Date value3) {
|
||||
public BonusRecord value4(java.sql.Date value) {
|
||||
setVotetime(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public BonusRecord value5(java.lang.Integer value) {
|
||||
setDailyStreak(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public BonusRecord value6(java.lang.Integer value) {
|
||||
setMaxDailyStreak(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public BonusRecord value7(java.lang.Integer value) {
|
||||
setVoteStreak(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public BonusRecord value8(java.lang.Integer value) {
|
||||
setMaxVoteStreak(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public BonusRecord value9(java.lang.Integer value) {
|
||||
setTickets(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public BonusRecord values(java.lang.Integer value1, java.sql.Timestamp value2, java.sql.Date value3, java.sql.Date value4, java.lang.Integer value5, java.lang.Integer value6, java.lang.Integer value7, java.lang.Integer value8, java.lang.Integer value9) {
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -189,11 +423,17 @@ public class BonusRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.data
|
||||
/**
|
||||
* Create a detached, initialised BonusRecord
|
||||
*/
|
||||
public BonusRecord(java.lang.Integer accountId, java.sql.Timestamp dailytime, java.sql.Date ranktime) {
|
||||
public BonusRecord(java.lang.Integer accountId, java.sql.Timestamp dailytime, java.sql.Date ranktime, java.sql.Date votetime, java.lang.Integer dailyStreak, java.lang.Integer maxDailyStreak, java.lang.Integer voteStreak, java.lang.Integer maxVoteStreak, java.lang.Integer tickets) {
|
||||
super(mineplex.database.tables.Bonus.bonus);
|
||||
|
||||
setValue(0, accountId);
|
||||
setValue(1, dailytime);
|
||||
setValue(2, ranktime);
|
||||
setValue(3, votetime);
|
||||
setValue(4, dailyStreak);
|
||||
setValue(5, maxDailyStreak);
|
||||
setValue(6, voteStreak);
|
||||
setValue(7, maxVoteStreak);
|
||||
setValue(8, tickets);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,359 @@
|
||||
/**
|
||||
* This class is generated by jOOQ
|
||||
*/
|
||||
package mineplex.database.tables.records;
|
||||
|
||||
/**
|
||||
* This class is generated by jOOQ.
|
||||
*/
|
||||
@javax.annotation.Generated(
|
||||
value = {
|
||||
"http://www.jooq.org",
|
||||
"jOOQ version:3.5.2"
|
||||
},
|
||||
comments = "This class is generated by jOOQ"
|
||||
)
|
||||
@java.lang.SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||
public class ChatsnapRecord extends org.jooq.impl.UpdatableRecordImpl<mineplex.database.tables.records.ChatsnapRecord> implements java.io.Serializable, java.lang.Cloneable, org.jooq.Record7<java.lang.Integer, java.lang.Integer, java.lang.Integer, java.sql.Timestamp, java.lang.String, java.lang.String, java.lang.String> {
|
||||
|
||||
private static final long serialVersionUID = 2087133341;
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.chatsnap.id</code>.
|
||||
*/
|
||||
public void setId(java.lang.Integer value) {
|
||||
setValue(0, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.chatsnap.id</code>.
|
||||
*/
|
||||
public java.lang.Integer getId() {
|
||||
return (java.lang.Integer) getValue(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.chatsnap.reporterId</code>.
|
||||
*/
|
||||
public void setReporterId(java.lang.Integer value) {
|
||||
setValue(1, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.chatsnap.reporterId</code>.
|
||||
*/
|
||||
public java.lang.Integer getReporterId() {
|
||||
return (java.lang.Integer) getValue(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.chatsnap.reporteeId</code>.
|
||||
*/
|
||||
public void setReporteeId(java.lang.Integer value) {
|
||||
setValue(2, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.chatsnap.reporteeId</code>.
|
||||
*/
|
||||
public java.lang.Integer getReporteeId() {
|
||||
return (java.lang.Integer) getValue(2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.chatsnap.time</code>.
|
||||
*/
|
||||
public void setTime(java.sql.Timestamp value) {
|
||||
setValue(3, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.chatsnap.time</code>.
|
||||
*/
|
||||
public java.sql.Timestamp getTime() {
|
||||
return (java.sql.Timestamp) getValue(3);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.chatsnap.status</code>.
|
||||
*/
|
||||
public void setStatus(java.lang.String value) {
|
||||
setValue(4, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.chatsnap.status</code>.
|
||||
*/
|
||||
public java.lang.String getStatus() {
|
||||
return (java.lang.String) getValue(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.chatsnap.reason</code>.
|
||||
*/
|
||||
public void setReason(java.lang.String value) {
|
||||
setValue(5, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.chatsnap.reason</code>.
|
||||
*/
|
||||
public java.lang.String getReason() {
|
||||
return (java.lang.String) getValue(5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter for <code>Account.chatsnap.data</code>.
|
||||
*/
|
||||
public void setData(java.lang.String value) {
|
||||
setValue(6, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for <code>Account.chatsnap.data</code>.
|
||||
*/
|
||||
public java.lang.String getData() {
|
||||
return (java.lang.String) getValue(6);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Primary key information
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Record1<java.lang.Integer> key() {
|
||||
return (org.jooq.Record1) super.key();
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Record7 type implementation
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Row7<java.lang.Integer, java.lang.Integer, java.lang.Integer, java.sql.Timestamp, java.lang.String, java.lang.String, java.lang.String> fieldsRow() {
|
||||
return (org.jooq.Row7) super.fieldsRow();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Row7<java.lang.Integer, java.lang.Integer, java.lang.Integer, java.sql.Timestamp, java.lang.String, java.lang.String, java.lang.String> valuesRow() {
|
||||
return (org.jooq.Row7) super.valuesRow();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Integer> field1() {
|
||||
return mineplex.database.tables.Chatsnap.chatsnap.id;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Integer> field2() {
|
||||
return mineplex.database.tables.Chatsnap.chatsnap.reporterId;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.Integer> field3() {
|
||||
return mineplex.database.tables.Chatsnap.chatsnap.reporteeId;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.sql.Timestamp> field4() {
|
||||
return mineplex.database.tables.Chatsnap.chatsnap.time;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.String> field5() {
|
||||
return mineplex.database.tables.Chatsnap.chatsnap.status;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.String> field6() {
|
||||
return mineplex.database.tables.Chatsnap.chatsnap.reason;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public org.jooq.Field<java.lang.String> field7() {
|
||||
return mineplex.database.tables.Chatsnap.chatsnap.data;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Integer value1() {
|
||||
return getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Integer value2() {
|
||||
return getReporterId();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.Integer value3() {
|
||||
return getReporteeId();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.sql.Timestamp value4() {
|
||||
return getTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.String value5() {
|
||||
return getStatus();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.String value6() {
|
||||
return getReason();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public java.lang.String value7() {
|
||||
return getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public ChatsnapRecord value1(java.lang.Integer value) {
|
||||
setId(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public ChatsnapRecord value2(java.lang.Integer value) {
|
||||
setReporterId(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public ChatsnapRecord value3(java.lang.Integer value) {
|
||||
setReporteeId(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public ChatsnapRecord value4(java.sql.Timestamp value) {
|
||||
setTime(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public ChatsnapRecord value5(java.lang.String value) {
|
||||
setStatus(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public ChatsnapRecord value6(java.lang.String value) {
|
||||
setReason(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public ChatsnapRecord value7(java.lang.String value) {
|
||||
setData(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public ChatsnapRecord values(java.lang.Integer value1, java.lang.Integer value2, java.lang.Integer value3, java.sql.Timestamp value4, java.lang.String value5, java.lang.String value6, java.lang.String value7) {
|
||||
return this;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Constructors
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Create a detached ChatsnapRecord
|
||||
*/
|
||||
public ChatsnapRecord() {
|
||||
super(mineplex.database.tables.Chatsnap.chatsnap);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a detached, initialised ChatsnapRecord
|
||||
*/
|
||||
public ChatsnapRecord(java.lang.Integer id, java.lang.Integer reporterId, java.lang.Integer reporteeId, java.sql.Timestamp time, java.lang.String status, java.lang.String reason, java.lang.String data) {
|
||||
super(mineplex.database.tables.Chatsnap.chatsnap);
|
||||
|
||||
setValue(0, id);
|
||||
setValue(1, reporterId);
|
||||
setValue(2, reporteeId);
|
||||
setValue(3, time);
|
||||
setValue(4, status);
|
||||
setValue(5, reason);
|
||||
setValue(6, data);
|
||||
}
|
||||
}
|
@ -46,6 +46,7 @@ import mineplex.core.task.TaskManager;
|
||||
import mineplex.core.teleport.Teleport;
|
||||
import mineplex.core.updater.FileUpdater;
|
||||
import mineplex.core.updater.Updater;
|
||||
import mineplex.core.velocity.VelocityFix;
|
||||
import mineplex.core.visibility.VisibilityManager;
|
||||
import mineplex.hub.modules.StackerManager;
|
||||
import mineplex.hub.poll.PollManager;
|
||||
@ -78,6 +79,9 @@ public class Hub extends JavaPlugin implements IRelation
|
||||
|
||||
//Logger.initialize(this);
|
||||
|
||||
//Velocity Fix
|
||||
new VelocityFix(this);
|
||||
|
||||
//Static Modules
|
||||
CommandCenter.Initialize(this);
|
||||
CoreClientManager clientManager = new CoreClientManager(this, webServerAddress);
|
||||
|
@ -78,14 +78,7 @@ public class NewsManager extends MiniPlugin
|
||||
{
|
||||
int newsPos = Integer.parseInt(iterator.next());
|
||||
|
||||
ChatColor col = ChatColor.RED;
|
||||
if (newsPos == 1) col = ChatColor.GOLD;
|
||||
else if (newsPos == 2) col = ChatColor.YELLOW;
|
||||
else if (newsPos == 3) col = ChatColor.GREEN;
|
||||
else if (newsPos == 4) col = ChatColor.AQUA;
|
||||
else if (newsPos == 5) col = ChatColor.LIGHT_PURPLE;
|
||||
|
||||
newsStrings[newsPos - 1] = col + C.Bold + "MINEPLEX" + ChatColor.RESET + " - " + newsEntries.get(newsPos + "");
|
||||
newsStrings[newsPos - 1] = newsEntries.get(newsPos + "");
|
||||
|
||||
if (newsStrings[newsPos - 1].length() > 64)
|
||||
newsStrings[newsPos - 1] = newsStrings[newsPos - 1].substring(0, 64);
|
||||
|
@ -255,7 +255,8 @@ public class StackerManager extends MiniPlugin implements IThrown
|
||||
Manager.SetPortalDelay(rider);
|
||||
|
||||
rider.leaveVehicle();
|
||||
rider.setVelocity(new Vector(0.25 - Math.random()/2, Math.random()/2, 0.25 - Math.random()/2));
|
||||
UtilAction.velocity(rider, new Vector(0.25 - Math.random()/2, Math.random()/2, 0.25 - Math.random()/2),
|
||||
1, false, 0, 0, 0, false);
|
||||
rider = rider.getPassenger();
|
||||
}
|
||||
|
||||
|
@ -10,4 +10,9 @@ public class ServerInfo
|
||||
public String ServerType;
|
||||
public String Game;
|
||||
public boolean HostedByStaff;
|
||||
|
||||
public int getAvailableSlots()
|
||||
{
|
||||
return MaxPlayers - CurrentPlayers;
|
||||
}
|
||||
}
|
@ -10,8 +10,11 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
@ -56,7 +59,9 @@ import mineplex.hub.queue.QueueManager;
|
||||
import mineplex.hub.queue.ui.QueueShop;
|
||||
import mineplex.hub.server.ui.LobbyShop;
|
||||
import mineplex.hub.server.ui.QuickShop;
|
||||
import mineplex.hub.server.ui.ServerCountSorter;
|
||||
import mineplex.hub.server.ui.ServerNpcShop;
|
||||
import mineplex.serverdata.Region;
|
||||
import mineplex.serverdata.data.MinecraftServer;
|
||||
import mineplex.serverdata.data.ServerGroup;
|
||||
|
||||
@ -64,7 +69,12 @@ public class ServerManager extends MiniPlugin
|
||||
{
|
||||
private static final Long FREE_PORTAL_TIMER = 20000L;
|
||||
private static final Long BETA_PORTAL_TIMER = 120000L;
|
||||
private static final Random random = new Random();
|
||||
|
||||
public final int TOP_SERVERS = 3; // The number of top contending servers for auto-joining games
|
||||
public final int MIN_SLOTS_REQUIRED = 12; // The number of slots the max server must have for auto-join
|
||||
|
||||
public final long QUEUE_COOLDOWN = 2000; // Cooldown (in milliseconds) between queueing again for players
|
||||
private CoreClientManager _clientManager;
|
||||
private DonationManager _donationManager;
|
||||
private Portal _portal;
|
||||
@ -74,6 +84,7 @@ public class ServerManager extends MiniPlugin
|
||||
private StackerManager _stackerManager;
|
||||
private QueueManager _queueManager;
|
||||
|
||||
private NautHashMap<String, Long> _queueCooldowns = new NautHashMap<String, Long>();
|
||||
private NautHashMap<String, HashSet<ServerInfo>> _serverKeyInfoMap = new NautHashMap<String, HashSet<ServerInfo>>();
|
||||
private NautHashMap<String, String> _serverKeyTagMap = new NautHashMap<String, String>();
|
||||
private NautHashMap<String, Integer> _serverPlayerCounts = new NautHashMap<String, Integer>();
|
||||
@ -108,7 +119,7 @@ public class ServerManager extends MiniPlugin
|
||||
|
||||
plugin.getServer().getMessenger().registerOutgoingPluginChannel(plugin, "BungeeCord");
|
||||
|
||||
LoadServers();
|
||||
loadServers();
|
||||
|
||||
_quickShop = new QuickShop(this, clientManager, donationManager, "Quick Menu");
|
||||
_lobbyShop = new LobbyShop(this, clientManager, donationManager, "Lobby Menu");
|
||||
@ -278,18 +289,6 @@ public class ServerManager extends MiniPlugin
|
||||
timeLeft = 0;
|
||||
}
|
||||
|
||||
// if (party != null)
|
||||
// {
|
||||
// if (player.getName().equals(party.GetLeader()))
|
||||
// {
|
||||
// for (Player partyPlayer : party.GetPlayersOnline())
|
||||
// {
|
||||
// if (!partyPlayer.equals(player))
|
||||
// timeLeft = Math.max(timeLeft, getMillisecondsUntilPortal(partyPlayer));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
return timeLeft;
|
||||
}
|
||||
|
||||
@ -303,18 +302,18 @@ public class ServerManager extends MiniPlugin
|
||||
_serverInfoMap.remove(serverName);
|
||||
}
|
||||
|
||||
public void addServerGroup(String serverKey, String...serverTag)
|
||||
public void addServerGroup(ServerGroup serverGroup)
|
||||
{
|
||||
_serverKeyInfoMap.put(serverKey, new HashSet<ServerInfo>());
|
||||
_serverKeyInfoMap.put(serverGroup.getName(), new HashSet<ServerInfo>());
|
||||
_serverKeyTagMap.put(serverGroup.getPrefix(), serverGroup.getName());
|
||||
|
||||
for (String tag : serverTag)
|
||||
_serverKeyTagMap.put(tag, serverKey);
|
||||
if (!serverGroup.getServerNpcName().isEmpty())
|
||||
_serverKeyTagMap.put(serverGroup.getServerNpcName(), serverGroup.getName());
|
||||
}
|
||||
|
||||
public void AddServerNpc(String serverNpcName, String...serverTag)
|
||||
public void AddServerNpc(ServerGroup serverGroup)
|
||||
{
|
||||
addServerGroup(serverNpcName, serverTag);
|
||||
_serverNpcShopMap.put(serverNpcName, new ServerNpcShop(this, _clientManager, _donationManager, serverNpcName));
|
||||
_serverNpcShopMap.put(serverGroup.getServerNpcName(), new ServerNpcShop(this, _clientManager, _donationManager, serverGroup));
|
||||
}
|
||||
|
||||
public void RemoveServerNpc(String serverNpcName)
|
||||
@ -396,7 +395,6 @@ public class ServerManager extends MiniPlugin
|
||||
|
||||
_retrieving = true;
|
||||
|
||||
|
||||
_statusManager.retrieveServerGroups(new Callback<Collection<ServerGroup>>()
|
||||
{
|
||||
public void run(final Collection<ServerGroup> serverGroups)
|
||||
@ -482,6 +480,8 @@ public class ServerManager extends MiniPlugin
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
updateCooldowns();
|
||||
}
|
||||
|
||||
public void Help(Player caller, String message)
|
||||
@ -522,6 +522,113 @@ public class ServerManager extends MiniPlugin
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Select a {@code serverType} for a {@code player} that wishes to automatically join the best server
|
||||
* available for that server type.
|
||||
* @param player - the player hoping to select a server
|
||||
* @param serverType - the name of the type of server to be joined
|
||||
*/
|
||||
public void selectServer(Player player, String serverType)
|
||||
{
|
||||
if (isOnCooldown(player))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ServerInfo bestServer = getBestServer(player, serverType);
|
||||
|
||||
if (bestServer != null)
|
||||
{
|
||||
SelectServer(player, bestServer);
|
||||
addCooldown(player);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isOnCooldown(Player player)
|
||||
{
|
||||
if (_queueCooldowns.containsKey(player.getName()))
|
||||
{
|
||||
long elapsed = System.currentTimeMillis() - _queueCooldowns.get(player.getName());
|
||||
|
||||
return elapsed < QUEUE_COOLDOWN;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void addCooldown(Player player)
|
||||
{
|
||||
_queueCooldowns.put(player.getName(), System.currentTimeMillis());
|
||||
}
|
||||
|
||||
private void updateCooldowns()
|
||||
{
|
||||
for (String playerName : _queueCooldowns.keySet())
|
||||
{
|
||||
Player player = Bukkit.getPlayer(playerName);
|
||||
|
||||
if (player == null || !isOnCooldown(player))
|
||||
{
|
||||
_queueCooldowns.remove(playerName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param serverType - the type of server that should be fetched
|
||||
* @return the best server that a new player should join according to a {@code serverType} constraint.
|
||||
*/
|
||||
public ServerInfo getBestServer(Player player, String serverKey)
|
||||
{
|
||||
if (_serverKeyTagMap.containsKey(serverKey)) // Update key to full-name if a tag pair exists
|
||||
{
|
||||
serverKey = _serverKeyTagMap.get(serverKey);
|
||||
}
|
||||
|
||||
Collection<ServerInfo> serverList = GetServerList(serverKey);
|
||||
if (serverList == null) return null;
|
||||
|
||||
List<ServerInfo> servers = new ArrayList<ServerInfo>(serverList);
|
||||
Collections.sort(servers, new ServerCountSorter());
|
||||
servers = fetchOpenServers(player, servers, servers.size()); // Removes all full servers from list
|
||||
|
||||
int count = Math.min(servers.size(), TOP_SERVERS);
|
||||
|
||||
if (count > 0)
|
||||
{
|
||||
ServerInfo largestServer = servers.get(0);
|
||||
|
||||
if (largestServer.getAvailableSlots() >= MIN_SLOTS_REQUIRED)
|
||||
{
|
||||
return largestServer;
|
||||
}
|
||||
else
|
||||
{
|
||||
return servers.get(random.nextInt(count));
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<ServerInfo> fetchOpenServers(Player player, List<ServerInfo> servers, int count)
|
||||
{
|
||||
List<ServerInfo> results = new ArrayList<ServerInfo>();
|
||||
int requiredSlots = (servers.size() > 0) ? GetRequiredSlots(player, servers.get(0).ServerType) : 0;
|
||||
|
||||
for (ServerInfo server : servers)
|
||||
{
|
||||
if (results.size() >= count) break;
|
||||
|
||||
if (server.getAvailableSlots() > requiredSlots)
|
||||
{
|
||||
results.add(server);
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
public void ListServerNpcs(Player caller)
|
||||
{
|
||||
UtilPlayer.message(caller, F.main(getName(), "Listing Server Npcs:"));
|
||||
@ -555,7 +662,7 @@ public class ServerManager extends MiniPlugin
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadServers()
|
||||
public void loadServers()
|
||||
{
|
||||
_serverInfoMap.clear();
|
||||
_serverUpdate.clear();
|
||||
@ -567,83 +674,59 @@ public class ServerManager extends MiniPlugin
|
||||
|
||||
_serverKeyTagMap.clear();
|
||||
|
||||
FileInputStream fstream = null;
|
||||
BufferedReader br = null;
|
||||
|
||||
HashSet<String> npcNames = new HashSet<String>();
|
||||
Region region = getPlugin().getConfig().getBoolean("serverstatus.us") ? Region.US : Region.EU;
|
||||
|
||||
try
|
||||
{
|
||||
File npcFile = new File("ServerManager.dat");
|
||||
|
||||
if (npcFile.exists())
|
||||
for (ServerGroup serverGroup : mineplex.serverdata.servers.ServerManager.getServerRepository(region).getServerGroups(null))
|
||||
{
|
||||
fstream = new FileInputStream(npcFile);
|
||||
br = new BufferedReader(new InputStreamReader(fstream));
|
||||
|
||||
String line = br.readLine();
|
||||
|
||||
while (line != null)
|
||||
if (!serverGroup.getServerNpcName().isEmpty())
|
||||
{
|
||||
String serverNpcName = line.substring(0, line.indexOf('|')).trim();
|
||||
String[] serverTags = line.substring(line.indexOf('|') + 1, line.indexOf('|', line.indexOf('|') + 1)).trim().split(",");
|
||||
String[] locations = line.substring(line.indexOf('|', line.indexOf('|') + 1) + 1).trim().split(",");
|
||||
|
||||
for (String location : locations)
|
||||
if (!HasServerNpc(serverGroup.getServerNpcName()))
|
||||
{
|
||||
_serverPortalLocations.put(ParseVector(location), serverNpcName);
|
||||
AddServerNpc(serverGroup);
|
||||
addServerGroup(serverGroup);
|
||||
}
|
||||
}
|
||||
|
||||
if (!serverGroup.getPortalBottomCornerLocation().isEmpty() && !serverGroup.getPortalTopCornerLocation().isEmpty())
|
||||
{
|
||||
Vector bottomVector = ParseVector(serverGroup.getPortalBottomCornerLocation());
|
||||
Vector topVector = ParseVector(serverGroup.getPortalTopCornerLocation());
|
||||
int blocks = 0;
|
||||
|
||||
while (blocks < 10 && (bottomVector.getBlockX() != topVector.getBlockX() || bottomVector.getBlockZ() != topVector.getBlockZ()))
|
||||
{
|
||||
_serverPortalLocations.put(new Vector(bottomVector.getBlockX(), bottomVector.getBlockY(), bottomVector.getBlockZ()), serverGroup.getServerNpcName());
|
||||
|
||||
if (bottomVector.getBlockX() != topVector.getBlockX())
|
||||
{
|
||||
bottomVector.add(new Vector(-(bottomVector.getBlockX() - topVector.getBlockX()) / Math.abs(bottomVector.getBlockX() - topVector.getBlockX()), 0, 0));
|
||||
}
|
||||
else if (bottomVector.getBlockZ() != topVector.getBlockZ())
|
||||
{
|
||||
bottomVector.add(new Vector(0, 0, -(bottomVector.getBlockZ() - topVector.getBlockZ()) / Math.abs(bottomVector.getBlockZ() - topVector.getBlockZ())));
|
||||
}
|
||||
|
||||
blocks++;
|
||||
}
|
||||
|
||||
if (!HasServerNpc(serverNpcName))
|
||||
{
|
||||
AddServerNpc(serverNpcName, serverTags);
|
||||
}
|
||||
|
||||
npcNames.add(serverNpcName);
|
||||
|
||||
line = br.readLine();
|
||||
_serverPortalLocations.put(bottomVector, serverGroup.getServerNpcName());
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.out.println("ServerManager - Error parsing servers file : " + e.getMessage());
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (br != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
br.close();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
if (fstream != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
fstream.close();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
System.out.println("ServerManager - Error parsing servergroups : " + e.getMessage());
|
||||
}
|
||||
|
||||
for (String npcName : npcNames)
|
||||
{
|
||||
if (!_serverNpcShopMap.containsKey(npcName))
|
||||
_serverNpcShopMap.remove(npcName);
|
||||
ServerGroup eventGroup = new ServerGroup("Event", "Event Servers", "EVENT");
|
||||
ServerGroup mpsGroup = new ServerGroup("MPS", "Mineplex Player Servers", "MPS");
|
||||
|
||||
if (!_serverKeyInfoMap.containsKey(npcName))
|
||||
_serverKeyInfoMap.remove(npcName);
|
||||
}
|
||||
AddServerNpc(eventGroup);
|
||||
addServerGroup(eventGroup);
|
||||
AddServerNpc(mpsGroup);
|
||||
addServerGroup(mpsGroup);
|
||||
}
|
||||
|
||||
public int GetRequiredSlots(Player player, String serverType)
|
||||
|
@ -14,7 +14,8 @@ public class LobbyShop extends ShopBase<ServerManager>
|
||||
{
|
||||
super(plugin, clientManager, donationManager, name);
|
||||
|
||||
plugin.addServerGroup("Lobby", "Lobby");
|
||||
// TODO: Why is this needed? Re-add?
|
||||
//plugin.addServerGroup("Lobby", "Lobby");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -0,0 +1,13 @@
|
||||
package mineplex.hub.server.ui;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
import mineplex.hub.server.ServerInfo;
|
||||
|
||||
public class ServerCountSorter implements Comparator<ServerInfo>
|
||||
{
|
||||
public int compare(ServerInfo a, ServerInfo b)
|
||||
{
|
||||
return a.CurrentPlayers - b.CurrentPlayers;
|
||||
}
|
||||
}
|
@ -17,6 +17,7 @@ import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.UtilTime;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
import mineplex.core.game.GameDisplay;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.shop.item.IButton;
|
||||
import mineplex.core.shop.item.ShopItem;
|
||||
import mineplex.core.shop.page.ShopPageBase;
|
||||
@ -41,7 +42,7 @@ public class ServerNpcPage extends ShopPageBase<ServerManager, ServerNpcShop> im
|
||||
|
||||
public ServerNpcPage(ServerManager plugin, ServerNpcShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player, String serverNpcKey)
|
||||
{
|
||||
super(plugin, shop, clientManager, donationManager, name, player, 54);
|
||||
super(plugin, shop, clientManager, donationManager, name, player, 27);
|
||||
|
||||
_serverNpcKey = serverNpcKey;
|
||||
|
||||
@ -51,7 +52,25 @@ public class ServerNpcPage extends ShopPageBase<ServerManager, ServerNpcShop> im
|
||||
@Override
|
||||
protected void buildPage()
|
||||
{
|
||||
/*
|
||||
setItem(12, ItemStackFactory.Instance.CreateStack(Material.SKULL.getId(), (byte)0, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Play Solo " + C.cGray + getName(), new String[]
|
||||
{
|
||||
ChatColor.RESET + "Solo Mode",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Click to play!",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Teaming in Solo Mode is bannable!",
|
||||
}));
|
||||
|
||||
setItem(14, ItemStackFactory.Instance.CreateStack(Material.SKULL.getId(), (byte)0, 2, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Play Team " + C.cGray + getName(), new String[]
|
||||
{
|
||||
ChatColor.RESET + "Team Mode",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Click to play!"
|
||||
}));
|
||||
*/
|
||||
List<ServerInfo> serverList = new ArrayList<ServerInfo>(getPlugin().GetServerList(_serverNpcKey));
|
||||
|
||||
int slotsNeeded = 1;
|
||||
|
||||
if (serverList.size() > 0)
|
||||
@ -401,7 +420,7 @@ public class ServerNpcPage extends ShopPageBase<ServerManager, ServerNpcShop> im
|
||||
{
|
||||
int slots = getPlugin().GetRequiredSlots(player, serverInfo.ServerType);
|
||||
|
||||
if (serverInfo.MaxPlayers - serverInfo.CurrentPlayers < slots && !(getDonationManager().Get(getPlayer().getName()).OwnsUnknownPackage(serverInfo.ServerType + " ULTRA") || getClient().GetRank().Has(Rank.ULTRA)))
|
||||
if (serverInfo.getAvailableSlots() < slots && !(getDonationManager().Get(getPlayer().getName()).OwnsUnknownPackage(serverInfo.ServerType + " ULTRA") || getClient().GetRank().Has(Rank.ULTRA)))
|
||||
{
|
||||
playDenySound(player);
|
||||
return;
|
||||
|
@ -11,18 +11,31 @@ import mineplex.core.party.Party;
|
||||
import mineplex.core.shop.ShopBase;
|
||||
import mineplex.core.shop.page.ShopPageBase;
|
||||
import mineplex.hub.server.ServerManager;
|
||||
import mineplex.serverdata.data.ServerGroup;
|
||||
|
||||
public class ServerNpcShop extends ShopBase<ServerManager>
|
||||
{
|
||||
public ServerNpcShop(ServerManager plugin, CoreClientManager clientManager, DonationManager donationManager, String name)
|
||||
private ServerGroup _serverGroup;
|
||||
|
||||
public ServerNpcShop(ServerManager plugin, CoreClientManager clientManager, DonationManager donationManager, ServerGroup serverGroup)
|
||||
{
|
||||
super(plugin, clientManager, donationManager, name);
|
||||
super(plugin, clientManager, donationManager, serverGroup.getServerNpcName());
|
||||
|
||||
_serverGroup = serverGroup;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ShopPageBase<ServerManager, ? extends ShopBase<ServerManager>> buildPagesFor(Player player)
|
||||
{
|
||||
return new ServerNpcPage(getPlugin(), this, getClientManager(), getDonationManager(), getName(), player, getName());
|
||||
if (_serverGroup.getPrefix().equalsIgnoreCase("MPS") || _serverGroup.getPrefix().equalsIgnoreCase("EVENT"))
|
||||
{
|
||||
return new ServerNpcPage(getPlugin(), this, getClientManager(), getDonationManager(), _serverGroup.getServerNpcName(), player, _serverGroup.getPrefix());
|
||||
}
|
||||
else
|
||||
{
|
||||
return new ServerTypePage(getPlugin(), this, getClientManager(), getDonationManager(), player, _serverGroup);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -65,4 +78,16 @@ public class ServerNpcShop extends ShopBase<ServerManager>
|
||||
{
|
||||
getPlugin().getHubManager().GetVisibility().removeHiddenPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean attemptShopOpen(Player player)
|
||||
{
|
||||
if (_serverGroup.getTeamServerKey().isEmpty() && !_serverGroup.getPrefix().equalsIgnoreCase("EVENT") && !_serverGroup.getPrefix().equalsIgnoreCase("MPS")) // Has no team server key, so auto-join
|
||||
{
|
||||
getPlugin().selectServer(player, getName());
|
||||
return false;
|
||||
}
|
||||
|
||||
return super.attemptShopOpen(player);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,90 @@
|
||||
|
||||
package mineplex.hub.server.ui;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
|
||||
import mineplex.core.account.CoreClientManager;
|
||||
import mineplex.core.achievement.AchievementCategory;
|
||||
import mineplex.core.common.Rank;
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.UtilTime;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
import mineplex.core.game.GameDisplay;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.shop.item.IButton;
|
||||
import mineplex.core.shop.item.ShopItem;
|
||||
import mineplex.core.shop.page.ShopPageBase;
|
||||
import mineplex.hub.server.ServerInfo;
|
||||
import mineplex.hub.server.ServerManager;
|
||||
import mineplex.hub.server.ServerSorter;
|
||||
import mineplex.hub.server.ui.button.JoinServerButton;
|
||||
import mineplex.hub.server.ui.button.SelectBRButton;
|
||||
import mineplex.hub.server.ui.button.SelectTypeButton;
|
||||
import mineplex.serverdata.data.ServerGroup;
|
||||
|
||||
public class ServerTypePage extends ShopPageBase<ServerManager, ServerNpcShop>
|
||||
{
|
||||
|
||||
private ServerGroup _serverGroup;
|
||||
|
||||
public ServerTypePage(ServerManager plugin, ServerNpcShop shop, CoreClientManager clientManager, DonationManager donationManager,
|
||||
Player player, ServerGroup serverGroup)
|
||||
{
|
||||
super(plugin, shop, clientManager, donationManager, serverGroup.getServerNpcName(), player, 27);
|
||||
|
||||
_serverGroup = serverGroup;
|
||||
|
||||
buildPage();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildPage()
|
||||
{
|
||||
String name = _serverGroup.getName();
|
||||
|
||||
setItem(12, ItemStackFactory.Instance.CreateStack(Material.SKULL_ITEM.getId(), (byte)3, 1, ChatColor.RESET + C.cYellow + "Solo " + C.cGray + name, new String[]
|
||||
{
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + C.cRed + C.Bold + "WARNING:" + ChatColor.RESET + "Teaming in Solo Mode is bannable!",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + C.cGreen + "Click to Play",
|
||||
}));
|
||||
|
||||
setItem(14, ItemStackFactory.Instance.CreateStack(Material.SKULL_ITEM.getId(), (byte)3, 2, ChatColor.RESET + C.cYellow + "Team " + name, new String[]
|
||||
{
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + C.cGray + "2 Player Teams",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + C.cGreen + "Click to Play"
|
||||
}));
|
||||
|
||||
getButtonMap().put(12, new SelectTypeButton(this, false));
|
||||
getButtonMap().put(14, new SelectTypeButton(this, true));
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
getButtonMap().clear();
|
||||
buildPage();
|
||||
}
|
||||
|
||||
public void selectServer(Player player, boolean team)
|
||||
{
|
||||
if (team)
|
||||
{
|
||||
getPlugin().selectServer(player, _serverGroup.getTeamServerKey()); // TODO: Grab the team-key instead of regular game key
|
||||
}
|
||||
else
|
||||
{
|
||||
getPlugin().selectServer(player, _serverGroup.getPrefix());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package mineplex.hub.server.ui.button;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
|
||||
import mineplex.core.shop.item.IButton;
|
||||
import mineplex.hub.server.ServerInfo;
|
||||
import mineplex.hub.server.ServerManager;
|
||||
import mineplex.hub.server.ui.IServerPage;
|
||||
import mineplex.hub.server.ui.ServerTypePage;
|
||||
|
||||
public class SelectTypeButton implements IButton
|
||||
{
|
||||
private ServerTypePage _page;
|
||||
private boolean _teamBased;
|
||||
|
||||
public SelectTypeButton(ServerTypePage page, boolean teamBased)
|
||||
{
|
||||
_page = page;
|
||||
_teamBased = teamBased;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
_page.selectServer(player, _teamBased);
|
||||
}
|
||||
}
|
@ -26,6 +26,7 @@ import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
@ -209,7 +210,8 @@ public class Blizzard extends SkillActive
|
||||
if (damagee == null) return;
|
||||
|
||||
event.SetCancelled(GetName());
|
||||
damagee.setVelocity(proj.getVelocity().multiply(0.1).add(new Vector(0, 0.15, 0)));
|
||||
UtilAction.velocity(damagee, proj.getVelocity().multiply(0.1).add(new Vector(0, 0.15, 0)),
|
||||
1, false, 0, 0, 0, false);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -395,7 +395,7 @@ public class DamageManager extends MiniPlugin
|
||||
if (event.GetDamageeEntity() instanceof Player && UtilGear.isMat(((Player)event.GetDamageeEntity()).getItemInHand(), Material.SUGAR))
|
||||
{
|
||||
Bukkit.broadcastMessage("--------- " +
|
||||
UtilEnt.getName(event.GetDamageeEntity()) + " hurt by " + UtilEnt.getName(event.GetDamagerEntity(true)) + "-----------" );
|
||||
UtilEnt.getName(event.GetDamageeEntity()) + " hit by " + UtilEnt.getName(event.GetDamagerEntity(true)) + "-----------" );
|
||||
|
||||
Bukkit.broadcastMessage(F.main("Debug", "Damage: " + event.GetDamage()));
|
||||
}
|
||||
@ -422,15 +422,6 @@ public class DamageManager extends MiniPlugin
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void debugVel2(PlayerVelocityEvent event)
|
||||
{
|
||||
if (UtilGear.isMat(((Player)event.getPlayer()).getItemInHand(), Material.SUGAR))
|
||||
{
|
||||
Bukkit.broadcastMessage(F.main("Debug", "Event: " + event.getVelocity().length()));
|
||||
}
|
||||
}
|
||||
|
||||
private void DisplayDamage(CustomDamageEvent event)
|
||||
{
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
|
@ -6,6 +6,7 @@ import java.util.HashSet;
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilTime;
|
||||
|
||||
import org.bukkit.Material;
|
||||
@ -54,8 +55,7 @@ public class PistonJump extends MiniPlugin
|
||||
//Vector
|
||||
Vector vec = new Vector(0,1.2,0);
|
||||
|
||||
player.setVelocity(vec);
|
||||
player.setFallDistance(0);
|
||||
UtilAction.velocity(player, vec);
|
||||
}
|
||||
|
||||
final Block block = below;
|
||||
|
@ -57,6 +57,12 @@ public class ServerGroup
|
||||
private boolean _staffOnly;
|
||||
private String _resourcePack = "";
|
||||
|
||||
private String _npcName = "";
|
||||
private String _portalBottomCornerLocation = "";
|
||||
private String _portalTopCornerLocation = "";
|
||||
|
||||
private String _teamServerKey = "";
|
||||
|
||||
private Region _region;
|
||||
|
||||
private Set<MinecraftServer> _servers;
|
||||
@ -101,6 +107,10 @@ public class ServerGroup
|
||||
_resourcePack = data.containsKey("resourcePack") ? data.get("resourcePack") : "";
|
||||
_host = data.get("host");
|
||||
_region = data.containsKey("region") ? Region.valueOf(data.get("region")) : Region.ALL;
|
||||
_teamServerKey = data.containsKey("teamServerKey") ? data.get("teamServerKey") : "";
|
||||
_portalBottomCornerLocation = data.containsKey("portalBottomCornerLocation") ? data.get("portalBottomCornerLocation") : "";
|
||||
_portalTopCornerLocation = data.containsKey("portalTopCornerLocation") ? data.get("portalTopCornerLocation") : "";
|
||||
_npcName = data.containsKey("npcName") ? data.get("npcName") : "";
|
||||
|
||||
if (serverStatuses != null)
|
||||
parseServers(serverStatuses);
|
||||
@ -109,7 +119,8 @@ public class ServerGroup
|
||||
public ServerGroup(String name, String prefix, String host, int ram, int cpu, int totalServers, int joinable, int portSection, boolean arcade, String worldZip, String plugin, String configPath
|
||||
, int minPlayers, int maxPlayers, boolean pvp, boolean tournament, boolean tournamentPoints, String games, String serverType, boolean noCheat, boolean worldEdit, boolean teamRejoin
|
||||
, boolean teamAutoJoin, boolean teamForceBalance, boolean gameAutoStart, boolean gameTimeout, boolean rewardGems, boolean rewardItems, boolean rewardStats
|
||||
, boolean rewardAchievements, boolean hotbarInventory, boolean hotbarHubClock, boolean playerKickIdle, boolean staffOnly, boolean whitelist, String resourcePack, Region region)
|
||||
, boolean rewardAchievements, boolean hotbarInventory, boolean hotbarHubClock, boolean playerKickIdle, boolean staffOnly, boolean whitelist, String resourcePack, Region region
|
||||
, String teamServerKey, String portalBottomCornerLocation, String portalTopCornerLocation, String npcName)
|
||||
{
|
||||
_name = name;
|
||||
_prefix = prefix;
|
||||
@ -148,6 +159,17 @@ public class ServerGroup
|
||||
_whitelist = whitelist;
|
||||
_resourcePack = resourcePack;
|
||||
_region = region;
|
||||
_teamServerKey = teamServerKey;
|
||||
_portalBottomCornerLocation = portalBottomCornerLocation;
|
||||
_portalTopCornerLocation = portalTopCornerLocation;
|
||||
_npcName = npcName;
|
||||
}
|
||||
|
||||
public ServerGroup(String name, String npcName, String prefix)
|
||||
{
|
||||
_name = name;
|
||||
_npcName = npcName;
|
||||
_prefix = prefix;
|
||||
}
|
||||
|
||||
public String getName() { return _name; }
|
||||
@ -196,6 +218,12 @@ public class ServerGroup
|
||||
public String getResourcePack() { return _resourcePack; }
|
||||
public Region getRegion() { return _region; }
|
||||
|
||||
public String getTeamServerKey() { return _teamServerKey; }
|
||||
|
||||
public String getServerNpcName() { return _npcName; }
|
||||
public String getPortalBottomCornerLocation() { return _portalBottomCornerLocation; }
|
||||
public String getPortalTopCornerLocation() { return _portalTopCornerLocation; }
|
||||
|
||||
public Set<MinecraftServer> getServers() { return _servers; }
|
||||
|
||||
public int getServerCount()
|
||||
@ -350,6 +378,10 @@ public class ServerGroup
|
||||
_dataMap.put("resourcePack", _resourcePack);
|
||||
_dataMap.put("host", _host);
|
||||
_dataMap.put("region", _region.name());
|
||||
_dataMap.put("teamServerKey", _teamServerKey);
|
||||
_dataMap.put("portalBottomCornerLocation", _portalBottomCornerLocation);
|
||||
_dataMap.put("portalTopCornerLocation", _portalTopCornerLocation);
|
||||
_dataMap.put("npcName", _npcName);
|
||||
}
|
||||
|
||||
return _dataMap;
|
||||
|
@ -48,6 +48,7 @@ import mineplex.core.status.ServerStatusManager;
|
||||
import mineplex.core.teleport.Teleport;
|
||||
import mineplex.core.updater.FileUpdater;
|
||||
import mineplex.core.updater.Updater;
|
||||
import mineplex.core.velocity.VelocityFix;
|
||||
import mineplex.core.visibility.VisibilityManager;
|
||||
import mineplex.minecraft.game.core.combat.CombatManager;
|
||||
import mineplex.minecraft.game.core.damage.DamageManager;
|
||||
@ -86,11 +87,15 @@ public class Arcade extends JavaPlugin
|
||||
_clientManager = new CoreClientManager(this, webServerAddress);
|
||||
CommandCenter.Instance.setClientManager(_clientManager);
|
||||
|
||||
|
||||
ItemStackFactory.Initialize(this, false);
|
||||
Recharge.Initialize(this);
|
||||
VisibilityManager.Initialize(this);
|
||||
Give.Initialize(this);
|
||||
|
||||
//Velocity Fix
|
||||
new VelocityFix(this);
|
||||
|
||||
_donationManager = new DonationManager(this, _clientManager, webServerAddress);
|
||||
|
||||
_serverConfiguration = new ServerConfiguration(this, _clientManager);
|
||||
|
@ -49,6 +49,7 @@ import mineplex.core.common.jsonchat.JsonMessage;
|
||||
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.UtilGear;
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
@ -1333,7 +1334,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||
player.teleport(GetGame().GetSpectatorLocation());
|
||||
|
||||
//Set Spec State
|
||||
player.setVelocity(new Vector(0,1,0));
|
||||
UtilAction.velocity(player, new Vector(0,1,0));
|
||||
player.setAllowFlight(true);
|
||||
player.setFlying(true);
|
||||
player.setFlySpeed(0.1f);
|
||||
|
@ -45,6 +45,7 @@ import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.MapUtil;
|
||||
import mineplex.core.common.util.NautHashMap;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilAlg;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
import mineplex.core.common.util.UtilEvent;
|
||||
@ -1178,7 +1179,7 @@ public class Bridge extends TeamGame implements OreObsfucation
|
||||
UtilPlayer.message(event.getPlayer(), F.main("Game",
|
||||
"Cannot place blocks in liquids until Bridge is down."));
|
||||
|
||||
event.getPlayer().setVelocity(new Vector(0,-0.5,0));
|
||||
UtilAction.velocity(event.getPlayer(), new Vector(0, -0.5, 0));
|
||||
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
|
@ -67,6 +67,7 @@ import mineplex.core.common.Rank;
|
||||
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;
|
||||
@ -707,7 +708,7 @@ public class Build extends SoloGame
|
||||
event.setTo(event.getFrom());
|
||||
|
||||
//Velocity
|
||||
event.getPlayer().setVelocity(UtilAlg.getTrajectory(event.getTo(), data.Spawn));
|
||||
UtilAction.velocity(event.getPlayer(), UtilAlg.getTrajectory(event.getTo(), data.Spawn));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,7 @@ import org.bukkit.util.Vector;
|
||||
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.UtilBlock;
|
||||
import mineplex.core.common.util.UtilEvent;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
@ -526,8 +527,7 @@ public class DragonEscape extends SoloGame
|
||||
|
||||
//Teleport
|
||||
player.teleport(target.getLocation().add(0, 0.5, 0));
|
||||
player.setVelocity(new Vector(0,0,0));
|
||||
player.setFallDistance(0);
|
||||
UtilAction.velocity(player, new Vector(0,0,0));
|
||||
|
||||
//Record
|
||||
_warpTime.put(player, System.currentTimeMillis());
|
||||
|
@ -26,6 +26,7 @@ import org.bukkit.util.Vector;
|
||||
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.UtilBlock;
|
||||
import mineplex.core.common.util.UtilFirework;
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
@ -540,8 +541,7 @@ public class DragonEscapeTeams extends TeamGame
|
||||
|
||||
//Teleport
|
||||
player.teleport(target.getLocation().add(0, 0.5, 0));
|
||||
player.setVelocity(new Vector(0,0,0));
|
||||
player.setFallDistance(0);
|
||||
UtilAction.velocity(player, new Vector(0,0,0));
|
||||
|
||||
//Record
|
||||
_warpTime.put(player, System.currentTimeMillis());
|
||||
|
@ -8,6 +8,7 @@ import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
@ -15,6 +16,7 @@ import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.GameType;
|
||||
import nautilus.game.arcade.game.SoloGame;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
@ -225,7 +227,8 @@ public class HoleInTheWall extends SoloGame
|
||||
{
|
||||
wall.getKnockedPlayers().add(player.getUniqueId());
|
||||
|
||||
player.setVelocity(_wallVector.clone().normalize().multiply(5).setY(0.3));
|
||||
|
||||
UtilAction.velocity(player, _wallVector.clone().normalize().multiply(5).setY(0.3));
|
||||
player.playSound(player.getLocation(), Sound.NOTE_BASS, 2, 1F);
|
||||
}
|
||||
/*Location toTeleport = player.getLocation();
|
||||
|
@ -1305,7 +1305,7 @@ public class MineStrike extends TeamGame
|
||||
//Mini-Stun
|
||||
else
|
||||
{
|
||||
event.GetDamageePlayer().setVelocity(new Vector(0,0,0));
|
||||
UtilAction.velocity(event.GetDamageePlayer(), new Vector(0,0,0));
|
||||
}
|
||||
|
||||
event.SetKnockback(false);
|
||||
|
@ -35,6 +35,7 @@ import org.bukkit.potion.PotionEffectType;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
@ -307,7 +308,7 @@ public class Paintball extends TeamGame
|
||||
((CraftPlayer)player).getHandle().spectating = true;
|
||||
((CraftPlayer)player).getHandle().k = false;
|
||||
|
||||
player.setVelocity(new Vector(0,1.2,0));
|
||||
UtilAction.velocity(player, new Vector(0,1.2,0));
|
||||
|
||||
_doubles.put(player, new PlayerCopy(this, player, GetTeam(player).GetColor()));
|
||||
}
|
||||
|
@ -5,18 +5,6 @@ import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.entity.EntityShootBowEvent;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
@ -32,12 +20,28 @@ import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.GameType;
|
||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||
import nautilus.game.arcade.game.SoloGame;
|
||||
import nautilus.game.arcade.game.games.quiver.kits.*;
|
||||
import nautilus.game.arcade.game.games.quiver.kits.KitBrawler;
|
||||
import nautilus.game.arcade.game.games.quiver.kits.KitEnchanter;
|
||||
import nautilus.game.arcade.game.games.quiver.kits.KitLeaper;
|
||||
import nautilus.game.arcade.game.games.quiver.kits.KitNinja;
|
||||
import nautilus.game.arcade.game.games.quiver.kits.KitSlamShot;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.stats.SharpShooterStatTracker;
|
||||
import nautilus.game.arcade.stats.WinWithoutBowStatTracker;
|
||||
import nautilus.game.arcade.stats.WinWithoutDyingStatTracker;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.entity.EntityShootBowEvent;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
|
||||
public class Quiver extends SoloGame
|
||||
{
|
||||
private ArrayList<QuiverScore> _ranks = new ArrayList<QuiverScore>();
|
||||
@ -56,7 +60,8 @@ public class Quiver extends SoloGame
|
||||
new KitLeaper(manager),
|
||||
new KitBrawler(manager),
|
||||
new KitEnchanter(manager),
|
||||
new KitSlamShot(manager)
|
||||
new KitSlamShot(manager),
|
||||
new KitNinja(manager)
|
||||
},
|
||||
|
||||
new String[]
|
||||
@ -75,6 +80,8 @@ public class Quiver extends SoloGame
|
||||
this.BlockBreakAllow.add(102);
|
||||
this.BlockBreakAllow.add(20);
|
||||
|
||||
this.DeathSpectateSecs = 2;
|
||||
|
||||
_scoreObj = Scoreboard.GetScoreboard().registerNewObjective("Kills", "dummy");
|
||||
_scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME);
|
||||
|
||||
|
@ -0,0 +1,56 @@
|
||||
package nautilus.game.arcade.game.games.quiver.kits;
|
||||
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.itemstack.ItemBuilder;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.game.Game.GameState;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
import nautilus.game.arcade.kit.perks.PerkVanishing;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class KitNinja extends Kit
|
||||
{
|
||||
public KitNinja(ArcadeManager manager)
|
||||
{
|
||||
super(manager, "Ninja", KitAvailability.Achievement, 0, new String[]
|
||||
{
|
||||
"You're a sneaky one, you!"
|
||||
}, new Perk[]
|
||||
{
|
||||
new PerkVanishing()
|
||||
}, EntityType.ZOMBIE, new ItemBuilder(Material.GOLD_SWORD).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void GiveItems(Player player)
|
||||
{
|
||||
player.getInventory().addItem(new ItemBuilder(Material.GOLD_SWORD).setUnbreakable(true).build());
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW));
|
||||
|
||||
if (Manager.GetGame().GetState() == GameState.Live)
|
||||
{
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(262, (byte)0, 1, F.item("Super Arrow")));
|
||||
|
||||
final Player fPlayer = player;
|
||||
|
||||
UtilServer.getServer().getScheduler().scheduleSyncDelayedTask(Manager.getPlugin(), new Runnable()
|
||||
{
|
||||
public void run()
|
||||
{
|
||||
UtilInv.Update(fPlayer);
|
||||
}
|
||||
}, 10);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -21,9 +21,8 @@ public class KitSlamShot extends Kit
|
||||
{
|
||||
public KitSlamShot(ArcadeManager manager)
|
||||
{
|
||||
super(manager, "Slam Shooter", KitAvailability.Achievement,
|
||||
|
||||
new String[]
|
||||
super(manager, "Slam Shooter", KitAvailability.Gem,
|
||||
5000, new String[]
|
||||
{
|
||||
"Gets 2 arrows for killing slammed players!"
|
||||
},
|
||||
@ -33,7 +32,7 @@ public class KitSlamShot extends Kit
|
||||
new PerkSeismicSlamOITQ()
|
||||
},
|
||||
EntityType.ZOMBIE,
|
||||
new ItemStack(Material.IRON_SPADE));
|
||||
new ItemStack(Material.DIAMOND_SPADE));
|
||||
|
||||
this.setAchievementRequirements(new Achievement[]
|
||||
{
|
||||
@ -47,7 +46,7 @@ public class KitSlamShot extends Kit
|
||||
@Override
|
||||
public void GiveItems(Player player)
|
||||
{
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.IRON_SPADE));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.DIAMOND_SPADE));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW));
|
||||
|
||||
if (Manager.GetGame().GetState() == GameState.Live)
|
||||
|
@ -982,7 +982,7 @@ public abstract class Skywars extends Game
|
||||
if (vel.getY() < 0.1)
|
||||
vel.setY(0.1);
|
||||
|
||||
event.GetDamageeEntity().setVelocity(vel);
|
||||
UtilAction.velocity(event.GetDamageeEntity(), vel);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -51,6 +51,8 @@ public class TeamSkywars extends Skywars
|
||||
this.SpawnNearAllies = true;
|
||||
|
||||
this.DamageTeamSelf = false;
|
||||
|
||||
this.DontAllowOverfill = true;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -51,6 +51,8 @@ public class TeamSuperSmash extends SuperSmash
|
||||
this.DamageTeamSelf = false;
|
||||
|
||||
this.TeamArmorHotbar = true;
|
||||
|
||||
this.DontAllowOverfill = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -55,6 +55,8 @@ public class TeamSurvivalGames extends SurvivalGames
|
||||
|
||||
this.DamageTeamSelf = false;
|
||||
|
||||
this.DontAllowOverfill = true;
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -14,13 +14,13 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilEnt;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
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.kit.Perk;
|
||||
|
||||
public class PerkBlizzard extends Perk
|
||||
@ -108,7 +108,8 @@ public class PerkBlizzard extends Perk
|
||||
if (damagee == null) return;
|
||||
|
||||
event.SetCancelled("Blizzard");
|
||||
damagee.setVelocity(proj.getVelocity().multiply(0.15).add(new Vector(0, 0.15, 0)));
|
||||
|
||||
UtilAction.velocity(damagee, proj.getVelocity().multiply(0.15).add(new Vector(0, 0.15, 0)));
|
||||
|
||||
//Damage Event
|
||||
if (damagee instanceof Player)
|
||||
|
@ -162,7 +162,7 @@ public class PerkBoneRush extends SmashPerk implements IThrown
|
||||
DamageCause.CUSTOM, damage, false, true, false,
|
||||
UtilEnt.getName(data.GetThrower()), reason);
|
||||
|
||||
target.setVelocity(data.GetThrown().getVelocity());
|
||||
UtilAction.velocity(target, data.GetThrown().getVelocity());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -106,6 +106,7 @@ public class PerkCreeperExplode extends SmashPerk
|
||||
|
||||
//Idle in Air
|
||||
player.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(player);
|
||||
|
||||
//Sound
|
||||
player.getWorld().playSound(player.getLocation(), Sound.CREEPER_HISS, (float)(0.5 + elapsed), (float)(0.5 + elapsed));
|
||||
|
@ -145,7 +145,7 @@ public class PerkDeathsGrasp extends Perk
|
||||
|
||||
UtilAction.velocity(damagee, UtilAlg.getTrajectory(damagee, damager), 1.8, false, 0, 1, 1.8, true);
|
||||
|
||||
damager.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(damager);
|
||||
|
||||
damager.getWorld().playSound(damager.getLocation(), Sound.ZOMBIE_HURT, 1f, 0.7f);
|
||||
|
||||
|
@ -16,6 +16,7 @@ import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
@ -126,7 +127,7 @@ public class PerkDisruptor extends Perk
|
||||
_tntMap.remove(event.getItem());
|
||||
event.getItem().remove();
|
||||
|
||||
event.getPlayer().setVelocity(new Vector(0,0.5,0));
|
||||
UtilAction.velocity(event.getPlayer(), new Vector(0, 0.5, 0));
|
||||
event.getPlayer().getWorld().playSound(event.getPlayer().getLocation(), Sound.EXPLODE, 1f, 2f);
|
||||
event.getPlayer().playEffect(EntityEffect.HURT);
|
||||
|
||||
|
@ -14,6 +14,7 @@ import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
import mineplex.core.common.util.UtilEnt;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
@ -130,6 +131,6 @@ public class PerkEggGun extends SmashPerk
|
||||
DamageCause.PROJECTILE, 1, true, true, false,
|
||||
UtilEnt.getName((LivingEntity)egg.getShooter()), GetName());
|
||||
|
||||
event.GetDamageeEntity().setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(event.GetDamageeEntity());
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
import mineplex.core.common.util.UtilFirework;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
@ -101,7 +102,7 @@ public class PerkFirefly extends SmashPerk
|
||||
//Teleport
|
||||
if (!UtilTime.elapsed(data.Time, 1500) && !superActive)
|
||||
{
|
||||
data.Player.setVelocity(new Vector(0,0,0));//.teleport(data.Location);
|
||||
UtilAction.zeroVelocity(data.Player);
|
||||
data.Player.getWorld().playSound(data.Player.getLocation(), Sound.EXPLODE, 0.2f, 0.6f);
|
||||
data.Location = data.Player.getLocation();
|
||||
|
||||
@ -115,8 +116,7 @@ public class PerkFirefly extends SmashPerk
|
||||
//Velocity
|
||||
else if (!UtilTime.elapsed(data.Time, 2500) || superActive)
|
||||
{
|
||||
data.Player.setVelocity(data.Player.getLocation().getDirection().multiply(superActive ? 0.9 : 0.7).add(new Vector(0,0.15,0)));
|
||||
//data.Player.setVelocity(data.Location.getDirection().multiply(0.7).add(new Vector(0,0.1,0)));
|
||||
UtilAction.velocity(data.Player, data.Player.getLocation().getDirection().multiply(superActive ? 0.9 : 0.7).add(new Vector(0,0.15,0)));
|
||||
data.Player.getWorld().playSound(data.Player.getLocation(), Sound.EXPLODE, 0.6f, 1.2f);
|
||||
|
||||
if (_tick == 0)
|
||||
|
@ -13,6 +13,7 @@ import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.common.util.UtilParticle;
|
||||
@ -123,7 +124,7 @@ public class PerkFlameDash extends Perk
|
||||
vel.normalize();
|
||||
vel.setY(0.05);
|
||||
|
||||
data.Player.setVelocity(vel);
|
||||
UtilAction.velocity(data.Player, vel);
|
||||
|
||||
//Sound
|
||||
data.Player.getWorld().playSound(data.Player.getLocation(), Sound.FIZZ, 0.6f, 1.2f);
|
||||
|
@ -100,7 +100,7 @@ public class PerkFlameSlam extends Perk
|
||||
Vector vel = player.getLocation().getDirection();
|
||||
vel.setY(0);
|
||||
UtilAlg.Normalize(vel);
|
||||
player.setVelocity(vel.multiply(0.8));
|
||||
UtilAction.velocity(player, vel.multiply(0.8));
|
||||
|
||||
//Particle
|
||||
UtilParticle.PlayParticle(ParticleType.FLAME, player.getLocation().add(0, 1, 0), 0.2f, 0.2f, 0.2f, 0, 5,
|
||||
|
@ -92,7 +92,7 @@ public class PerkFleshArrow extends SmashPerk
|
||||
|
||||
Manager.GetCondition().Factory().Slow(GetName(), ent, event.GetDamagerEntity(true), 4, 3, false, false, false, false);
|
||||
|
||||
ent.setVelocity(new Vector(0,-0.5,0));
|
||||
UtilAction.velocity(ent, new Vector(0,-0.5,0));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -13,6 +13,7 @@ import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
@ -59,7 +60,7 @@ public class PerkIcePath extends Perk
|
||||
if (!Recharge.Instance.use(player, GetName(), 12000, true, true))
|
||||
return;
|
||||
|
||||
player.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(player);
|
||||
player.teleport(player.getLocation().add(0, 0.75, 0));
|
||||
|
||||
_data.add(new IcePathData(player));
|
||||
|
@ -132,7 +132,7 @@ public class PerkSnowTurret extends SmashPerk
|
||||
if (damagee.equals(_snowball.get(proj)))
|
||||
return;
|
||||
|
||||
damagee.setVelocity(proj.getVelocity().multiply(0.3).add(new Vector(0, 0.3, 0)));
|
||||
UtilAction.velocity(damagee, proj.getVelocity().multiply(0.3).add(new Vector(0, 0.3, 0)));
|
||||
|
||||
//Damage Event
|
||||
if (!(damagee instanceof LivingEntity))
|
||||
|
@ -73,7 +73,7 @@ public class PerkSpiderLeap extends Perk
|
||||
{
|
||||
if (!UtilBlock.airFoliage(block) && !block.isLiquid())
|
||||
{
|
||||
player.setVelocity(new Vector(0,0.2,0));
|
||||
UtilAction.velocity(player, new Vector(0, 0.2, 0));
|
||||
|
||||
if (!_secondJump.contains(player))
|
||||
{
|
||||
|
@ -112,7 +112,7 @@ public class PerkTakedown extends Perk
|
||||
DamageCause.CUSTOM, 8, true, true, false,
|
||||
damager.getName(), GetName());
|
||||
|
||||
damager.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(damager);
|
||||
|
||||
//Inform
|
||||
UtilPlayer.message(damager, F.main("Game", "You hit " + F.name(UtilEnt.getName(damagee)) + " with " + F.skill(GetName()) + "."));
|
||||
|
@ -0,0 +1,107 @@
|
||||
package nautilus.game.arcade.kit.perks;
|
||||
|
||||
import mineplex.core.common.util.UtilParticle;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||
import mineplex.minecraft.game.core.combat.event.CombatDeathEvent;
|
||||
import mineplex.minecraft.game.core.condition.Condition.ConditionType;
|
||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
||||
public class PerkVanishing extends Perk
|
||||
{
|
||||
public PerkVanishing()
|
||||
{
|
||||
super("Vanishing Act", new String[]
|
||||
{
|
||||
"Become invisible for 2 seconds each kill.",
|
||||
"Attacking with melee removes invisibility."
|
||||
});
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void kill(CombatDeathEvent event)
|
||||
{
|
||||
if (!Manager.GetGame().IsLive())
|
||||
return;
|
||||
|
||||
// //If it's an arrow kill (OITQ)
|
||||
// if (!event.GetLog().GetKiller().GetReason().toLowerCase().contains("instagib"))
|
||||
// return;
|
||||
|
||||
if (!event.GetLog().GetKiller().IsPlayer())
|
||||
return;
|
||||
|
||||
Player killer = UtilPlayer.searchExact(event.GetLog().GetKiller().GetName());
|
||||
|
||||
if (killer == null)
|
||||
return;
|
||||
|
||||
if (!Manager.IsAlive(killer))
|
||||
return;
|
||||
|
||||
if (!Kit.HasKit(killer))
|
||||
return;
|
||||
|
||||
Manager.GetCondition().Factory().Cloak("Vanishing Act", killer, null, 2, false, true);
|
||||
|
||||
UtilParticle.PlayParticle(ParticleType.LARGE_EXPLODE, killer.getLocation().add(0, 1, 0), 0, 0, 0, 0, 1, ViewDist.LONG, UtilServer.getPlayers());
|
||||
|
||||
killer.getWorld().playSound(killer.getLocation(), Sound.FIZZ, 1f, 2f);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void remove(CustomDamageEvent event)
|
||||
{
|
||||
if (event.isCancelled())
|
||||
return;
|
||||
|
||||
if (!Manager.GetGame().IsLive())
|
||||
return;
|
||||
|
||||
//Arrow damage, ignore it!
|
||||
if (event.GetDamage() > 10)
|
||||
return;
|
||||
|
||||
Player damager = event.GetDamagerPlayer(true);
|
||||
|
||||
if (damager == null)
|
||||
return;
|
||||
|
||||
if (!Manager.IsAlive(damager))
|
||||
return;
|
||||
|
||||
if (!Kit.HasKit(damager))
|
||||
return;
|
||||
|
||||
Manager.GetCondition().EndCondition(damager, ConditionType.CLOAK, null);
|
||||
}
|
||||
|
||||
// @EventHandler
|
||||
// public void remove(UpdateEvent event)
|
||||
// {
|
||||
// if (event.getType() != UpdateType.TICK)
|
||||
// return;
|
||||
//
|
||||
// if (!Manager.GetGame().IsLive())
|
||||
// return;
|
||||
//
|
||||
// for (Player player : Manager.GetGame().GetPlayers(true))
|
||||
// {
|
||||
// if (!Kit.HasKit(player))
|
||||
// continue;
|
||||
//
|
||||
// if (!UtilPlayer.isChargingBow(player))
|
||||
// continue;
|
||||
//
|
||||
// if (Manager.GetCondition().IsCloaked(player))
|
||||
// Manager.GetCondition().Clean(player);
|
||||
// }
|
||||
// }
|
||||
}
|
@ -100,7 +100,7 @@ public class PerkWebShot extends SmashPerk implements IThrown
|
||||
DamageCause.PROJECTILE, 6, false, false, false,
|
||||
UtilEnt.getName(data.GetThrower()), GetName());
|
||||
|
||||
target.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(target);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -152,7 +152,7 @@ public class PerkWolf extends SmashPerk
|
||||
_tackle.put(wolf, damagee);
|
||||
|
||||
wolf.setVelocity(new Vector(0,-0.6,0));
|
||||
damagee.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(damagee);
|
||||
|
||||
//Damage
|
||||
Manager.GetDamage().NewDamageEvent(damagee, damager, null,
|
||||
@ -190,7 +190,7 @@ public class PerkWolf extends SmashPerk
|
||||
if (UtilMath.offset(wolf, ent) < 2.5)
|
||||
{
|
||||
Manager.GetCondition().Factory().Slow("Cub Table", ent, wolf, 0.9, 1, false, false, false, false);
|
||||
ent.setVelocity(new Vector(0,-0.3,0));
|
||||
UtilAction.velocity(ent, new Vector(0,-0.3,0));
|
||||
}
|
||||
|
||||
//Move
|
||||
@ -305,7 +305,7 @@ public class PerkWolf extends SmashPerk
|
||||
|
||||
public void StrikeHit(Player damager, LivingEntity damagee)
|
||||
{
|
||||
damager.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(damager);
|
||||
|
||||
//Remove Tackle
|
||||
Iterator<Wolf> wolfIterator = _tackle.keySet().iterator();
|
||||
|
@ -538,7 +538,7 @@ public class PerkWolfPack extends Perk
|
||||
|
||||
public void TackleHit(Player damager, LivingEntity damagee)
|
||||
{
|
||||
damager.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(damager);
|
||||
|
||||
Manager.GetDamage().NewDamageEvent(damagee, damager, null,
|
||||
DamageCause.CUSTOM, 7, false, true, false,
|
||||
|
@ -696,7 +696,7 @@ public class GameFlagManager implements Listener
|
||||
public void run()
|
||||
{
|
||||
player.setFireTicks(0);
|
||||
player.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(player);
|
||||
}
|
||||
}, 0);
|
||||
}
|
||||
@ -745,7 +745,7 @@ public class GameFlagManager implements Listener
|
||||
}
|
||||
|
||||
player.setFireTicks(0);
|
||||
player.setVelocity(new Vector(0,0,0));
|
||||
UtilAction.zeroVelocity(player);
|
||||
}
|
||||
}, (int)(time * 20d));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user