Merge branch 'master' of http://184.154.0.242:7990/scm/min/mineplex
This commit is contained in:
commit
e8d5d50162
@ -66,6 +66,7 @@
|
||||
</fileset>
|
||||
<fileset dir="../Mineplex.Core/bin">
|
||||
<include name="**/*.class"/>
|
||||
<include name="**/*.png"/>
|
||||
</fileset>
|
||||
<fileset dir="../Mineplex.Core.Common/bin">
|
||||
<include name="**/*.class"/>
|
||||
|
@ -56,7 +56,7 @@ public class MotdManager implements Listener, Runnable
|
||||
// Add in default MOTD listing to database
|
||||
|
||||
List<String> lines = new ArrayList<String>();
|
||||
lines.add(" §d§lMaster Builders§f - §d§lWizards§f - §d§lGravity");
|
||||
lines.add("§f§lNEW: §a§lMaster Builders§f - §a§lWizards§f - §a§lGravity");
|
||||
//lines.add(" §d§lRank Sale §a§l40% Off");
|
||||
|
||||
updateMainMotd(" §b§l§m §8§l§m[ §r §9§lMineplex§r §f§lGames§r §8§l§m ]§b§l§m §r", lines);
|
||||
|
@ -8,14 +8,16 @@ import org.bukkit.entity.Player;
|
||||
|
||||
public enum Rank
|
||||
{
|
||||
LT("LT", ChatColor.DARK_RED),
|
||||
OWNER("Owner", ChatColor.DARK_RED),
|
||||
DEVELOPER("Dev", ChatColor.RED),
|
||||
ADMIN("Admin", ChatColor.RED),
|
||||
SNR_MODERATOR("Sr.Mod", ChatColor.GOLD),
|
||||
MODERATOR("Mod", ChatColor.GOLD),
|
||||
HELPER("Helper", ChatColor.DARK_AQUA),
|
||||
MAPDEV("Builder", ChatColor.BLUE),
|
||||
HELPER("Trainee", ChatColor.DARK_AQUA),
|
||||
MAPLEAD("MapLead", ChatColor.DARK_PURPLE),
|
||||
MAPDEV("Builder", ChatColor.BLUE),
|
||||
|
||||
|
||||
EVENT("Event", ChatColor.WHITE),
|
||||
|
||||
|
@ -12,7 +12,11 @@ public class FileUtil
|
||||
public static void DeleteFolder(File folder)
|
||||
{
|
||||
if (!folder.exists())
|
||||
{
|
||||
System.out.println("Delete target does not exist: " + folder);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
File[] files = folder.listFiles();
|
||||
|
||||
|
@ -7,9 +7,14 @@ import java.util.List;
|
||||
import net.minecraft.server.v1_7_R4.EntityBat;
|
||||
import net.minecraft.server.v1_7_R4.EntityCreature;
|
||||
import net.minecraft.server.v1_7_R4.EntityEnderDragon;
|
||||
import net.minecraft.server.v1_7_R4.EntityHuman;
|
||||
import net.minecraft.server.v1_7_R4.EntityInsentient;
|
||||
import net.minecraft.server.v1_7_R4.EntityLiving;
|
||||
import net.minecraft.server.v1_7_R4.Navigation;
|
||||
import net.minecraft.server.v1_7_R4.PathfinderGoal;
|
||||
import net.minecraft.server.v1_7_R4.PathfinderGoalLookAtPlayer;
|
||||
import net.minecraft.server.v1_7_R4.PathfinderGoalMoveTowardsRestriction;
|
||||
import net.minecraft.server.v1_7_R4.PathfinderGoalRandomLookaround;
|
||||
import net.minecraft.server.v1_7_R4.PathfinderGoalSelector;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -76,6 +81,47 @@ public class UtilEnt
|
||||
|
||||
leashed.setLeashHolder(holder);
|
||||
}
|
||||
|
||||
public static void addLookAtPlayerAI(Entity entity, float dist)
|
||||
{
|
||||
if (((CraftEntity) entity).getHandle() instanceof EntityInsentient)
|
||||
{
|
||||
addAI(entity, 7, new PathfinderGoalLookAtPlayer(((EntityInsentient) ((CraftEntity) entity).getHandle()), EntityHuman.class, dist));
|
||||
addAI(entity, 8, new PathfinderGoalRandomLookaround(((EntityInsentient) ((CraftEntity) entity).getHandle())));
|
||||
}
|
||||
}
|
||||
|
||||
public static void addAI(Entity entity, int value, PathfinderGoal ai)
|
||||
{
|
||||
if (((CraftEntity) entity).getHandle() instanceof EntityInsentient)
|
||||
{
|
||||
EntityInsentient ei = ((EntityInsentient) ((CraftEntity) entity).getHandle());
|
||||
|
||||
if (_goalSelector == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
_goalSelector = EntityInsentient.class.getDeclaredField("goalSelector");
|
||||
}
|
||||
catch (NoSuchFieldException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
return;
|
||||
}
|
||||
_goalSelector.setAccessible(true);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
((PathfinderGoalSelector) _goalSelector.get(ei)).a(value, ai);
|
||||
}
|
||||
catch (IllegalAccessException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void Vegetate(Entity entity)
|
||||
{
|
||||
|
@ -98,8 +98,8 @@ public class UtilTime
|
||||
if (type == TimeUnit.DAYS) text = (num = UtilMath.trim(trim, time / 86400000d)) + " Day";
|
||||
else if (type == TimeUnit.HOURS) text = (num = UtilMath.trim(trim, time / 3600000d)) + " Hour";
|
||||
else if (type == TimeUnit.MINUTES) text = (num = UtilMath.trim(trim, time / 60000d)) + " Minute";
|
||||
else if (type == TimeUnit.SECONDS) text = (num = UtilMath.trim(trim, time / 1000d)) + " Second";
|
||||
else text = (num = UtilMath.trim(trim, time)) + " Millisecond";
|
||||
else if (type == TimeUnit.SECONDS) text = (int) (num = (int) UtilMath.trim(0, time / 1000d)) + " Second";
|
||||
else text = (int) (num = (int) UtilMath.trim(0, time)) + " Millisecond";
|
||||
}
|
||||
|
||||
if (num != 1)
|
||||
|
@ -103,17 +103,17 @@ public abstract class MiniPlugin implements Listener
|
||||
System.out.println(F.main(_moduleName, message));
|
||||
}
|
||||
|
||||
protected void runAsync(Runnable runnable)
|
||||
public void runAsync(Runnable runnable)
|
||||
{
|
||||
_plugin.getServer().getScheduler().runTaskAsynchronously(_plugin, runnable);
|
||||
}
|
||||
|
||||
protected void runSync(Runnable runnable)
|
||||
public void runSync(Runnable runnable)
|
||||
{
|
||||
_plugin.getServer().getScheduler().runTask(_plugin, runnable);
|
||||
}
|
||||
|
||||
protected void runSyncLater(Runnable runnable, long delay)
|
||||
public void runSyncLater(Runnable runnable, long delay)
|
||||
{
|
||||
_plugin.getServer().getScheduler().runTaskLater(_plugin, runnable, delay);
|
||||
}
|
||||
|
@ -52,8 +52,14 @@ public class UpdateRank extends CommandBase<CoreClientManager>
|
||||
|
||||
final Rank rank = tempRank;
|
||||
|
||||
if (rank == Rank.YOUTUBE || rank == Rank.MODERATOR || rank == Rank.HELPER || rank == Rank.ALL || rank == Rank.MAPDEV || rank == Rank.SNR_MODERATOR)
|
||||
if (rank == Rank.ADMIN || rank == Rank.YOUTUBE || rank == Rank.TWITCH || rank == Rank.MODERATOR || rank == Rank.HELPER || rank == Rank.ALL || rank == Rank.MAPDEV || rank == Rank.SNR_MODERATOR)
|
||||
{
|
||||
if (rank == Rank.ADMIN && !Plugin.hasRank(caller, Rank.LT))
|
||||
{
|
||||
UtilPlayer.message(caller, F.main(Plugin.getName(), ChatColor.RED + "" + ChatColor.BOLD + "Insufficient privileges!"));
|
||||
return;
|
||||
}
|
||||
|
||||
Plugin.getRepository().matchPlayerName(new Callback<List<String>>()
|
||||
{
|
||||
public void run(List<String> matches)
|
||||
|
@ -38,7 +38,7 @@ public class AccountRepository extends RepositoryBase
|
||||
private static String UPDATE_ACCOUNT_RANK_DONOR_PERM = "UPDATE accounts SET rank=?, donorRank=?, rankPerm=true WHERE uuid = ?;";
|
||||
private static String UPDATE_ACCOUNT_NULL_RANK = "UPDATE accounts SET rank=?, donorRank=?, rankPerm=?, rankExpire=? WHERE uuid = ? AND rank IS NULL;";
|
||||
|
||||
private static String SELECT_ACCOUNT_UUID_BY_NAME = "SELECT uuid FROM accounts WHERE name = ?;";
|
||||
private static String SELECT_ACCOUNT_UUID_BY_NAME = "SELECT uuid FROM accounts WHERE name = ? ORDER BY lastLogin DESC;";
|
||||
|
||||
private String _webAddress;
|
||||
|
||||
|
@ -95,7 +95,7 @@ public enum Achievement
|
||||
WIZARDS_WINS("Supreme Wizard", 600,
|
||||
new String[]{"Wizards.Wins"},
|
||||
new String[]{"Win 50 games of Wizards"},
|
||||
new int[]{10},
|
||||
new int[]{50},
|
||||
AchievementCategory.WIZARDS),
|
||||
|
||||
//Smash Mobs
|
||||
@ -191,6 +191,13 @@ public enum Achievement
|
||||
new int[]{1},
|
||||
AchievementCategory.DRAW_MY_THING),
|
||||
|
||||
// Master Builders
|
||||
MASTER_BUILDER_WINS("Master Builder", 1000,
|
||||
new String[]{"Master Builders.Wins"},
|
||||
new String[]{"Win 30 games of Master Builders"},
|
||||
new int[]{30},
|
||||
AchievementCategory.MASTER_BUILDERS),
|
||||
|
||||
//Castle Siege
|
||||
CASTLE_SIEGE_WINS("FOR THE KING!", 600,
|
||||
new String[]{"Castle Siege.ForTheKing"},
|
||||
|
@ -12,136 +12,113 @@ import mineplex.core.common.util.UtilTime;
|
||||
import mineplex.core.stats.PlayerStats;
|
||||
import mineplex.core.stats.StatsManager;
|
||||
|
||||
/**
|
||||
* Created by Shaun on 8/21/2014.
|
||||
* Edited by Chris on 9/13/2059.
|
||||
*/
|
||||
public enum AchievementCategory
|
||||
{
|
||||
GLOBAL("Global", null,
|
||||
new String[] { "GemsEarned", null, "GamesPlayed", "TimeInGame" },
|
||||
new String[] { "Gems Earned", null, "Games Played", "Time In Game" },
|
||||
new StatDisplay[] { StatDisplay.GEMS_EARNED, null, new StatDisplay("Games Played", "GamesPlayed"), StatDisplay.TIME_IN_GAME },
|
||||
Material.EMERALD, 0, GameCategory.GLOBAL, null),
|
||||
|
||||
//Survival
|
||||
BRIDGES("The Bridges", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "Gems Earned" },
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.IRON_PICKAXE, 0, GameCategory.SURVIVAL, "Destructor Kit"),
|
||||
|
||||
SURVIVAL_GAMES("Survival Games", null,
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "GemsEarned" },
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "Gems Earned" },
|
||||
Material.IRON_SWORD, 0, GameCategory.SURVIVAL, "Horseman Kit"),
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.DIAMOND_SWORD, 0, GameCategory.SURVIVAL, "Horseman Kit"),
|
||||
|
||||
MINE_STRIKE("MineStrike", null,
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.TNT, 0, GameCategory.CLASSICS, null),
|
||||
|
||||
WIZARDS("Wizards", null,
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.BLAZE_ROD, 0, GameCategory.SURVIVAL, "Extra Class Skills"),
|
||||
|
||||
UHC("Ultra Hardcore", null,
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "GemsEarned" },
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "Gems Earned" },
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.GOLD_INGOT, 0, GameCategory.SURVIVAL, "Extra Class Skills"),
|
||||
|
||||
WIZARDS("Wizards", null,
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "GemsEarned" },
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "Gems Earned" },
|
||||
Material.GOLD_INGOT, 0, GameCategory.SURVIVAL, "Extra Class Skills"),
|
||||
|
||||
MINE_STRIKE("MineStrike", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
Material.TNT, 0, GameCategory.CLASSICS, null),
|
||||
|
||||
//Classics
|
||||
SMASH_MOBS("Super Smash Mobs", null,
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "GemsEarned" },
|
||||
new String[] { "Wins", "Losses", "Kills", "Deaths", "Gems Earned" },
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.SKULL_ITEM, 4, GameCategory.CLASSICS, "Sheep Kit"),
|
||||
|
||||
BLOCK_HUNT("Block Hunt", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.GRASS, 0, GameCategory.CLASSICS, null),
|
||||
|
||||
|
||||
MASTER_BUILDERS("Master Builders", null,
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.GAMES_PLAYED_GAME, StatDisplay.GEMS_EARNED },
|
||||
Material.WOOD, 0, GameCategory.CLASSICS, null),
|
||||
|
||||
DRAW_MY_THING("Draw My Thing", null,
|
||||
new String[] {"Wins", "Losses", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "GemsEarned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.GAMES_PLAYED_GAME, StatDisplay.GEMS_EARNED },
|
||||
Material.BOOK_AND_QUILL, 0, GameCategory.CLASSICS, null),
|
||||
|
||||
CASTLE_SIEGE("Castle Siege", null,
|
||||
new String[] {"Wins", "Losses", "Kills as Defenders", "Deaths as Defenders", "Kills as Undead", "Deaths as Undead", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills as Defenders", "Deaths as Defenders", "Kills as Undead", "Deaths as Undead", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, new StatDisplay("Kills as Defenders"), new StatDisplay("Deaths as Defenders"),
|
||||
new StatDisplay("Kills as Undead"), new StatDisplay("Deaths as Undead"), StatDisplay.GEMS_EARNED },
|
||||
Material.DIAMOND_CHESTPLATE, 0, GameCategory.CLASSICS, null),
|
||||
|
||||
//Champions
|
||||
CHAMPIONS("Champions", new String[] {"Champions Domination", "Champions TDM"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.BEACON, 0, GameCategory.CHAMPIONS, "Extra Class Skills"),
|
||||
|
||||
|
||||
|
||||
//Arcade
|
||||
DRAGONS("Dragons", null,
|
||||
new String[] {"Wins", "Losses", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.GAMES_PLAYED_GAME, StatDisplay.GEMS_EARNED },
|
||||
Material.ENDER_STONE, 0, GameCategory.ARCADE, null),
|
||||
|
||||
DRAGON_ESCAPE("Dragon Escape", null,
|
||||
new String[] {"Wins", "Losses", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.GAMES_PLAYED_GAME, StatDisplay.GEMS_EARNED },
|
||||
Material.DRAGON_EGG, 0, GameCategory.ARCADE, null),
|
||||
|
||||
SHEEP_QUEST("Sheep Quest", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.WOOL, 0, GameCategory.ARCADE, null),
|
||||
|
||||
SNEAKY_ASSASSINS("Sneaky Assassins", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.INK_SACK, 0, GameCategory.ARCADE, null),
|
||||
|
||||
ONE_IN_THE_QUIVER("One in the Quiver", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.BOW, 0, GameCategory.ARCADE, null),
|
||||
|
||||
SUPER_PAINTBALL("Super Paintball", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.ENDER_PEARL, 0, GameCategory.ARCADE, null),
|
||||
|
||||
TURF_WARS("Turf Wars", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.HARD_CLAY, 14, GameCategory.ARCADE, null),
|
||||
|
||||
RUNNER("Runner", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.LEATHER_BOOTS, 0, GameCategory.ARCADE, null),
|
||||
|
||||
SPLEEF("Super Spleef", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.IRON_SPADE, 0, GameCategory.ARCADE, null),
|
||||
|
||||
DEATH_TAG("Death Tag", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.SKULL_ITEM, 0, GameCategory.ARCADE, null),
|
||||
|
||||
SNAKE("Snake", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.WOOL, 4, GameCategory.ARCADE, null),
|
||||
|
||||
BACON_BRAWL("Bacon Brawl", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.PORK, 0, GameCategory.ARCADE, null),
|
||||
|
||||
MICRO_BATTLE("Micro Battle", null,
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "GemsEarned"},
|
||||
new String[] {"Wins", "Losses", "Kills", "Deaths", "Gems Earned"},
|
||||
new StatDisplay[] { StatDisplay.WINS, StatDisplay.LOSSES, StatDisplay.KILLS, StatDisplay.DEATHS, StatDisplay.GEMS_EARNED },
|
||||
Material.LAVA, 0, GameCategory.ARCADE, null),
|
||||
|
||||
;
|
||||
@ -149,14 +126,13 @@ public enum AchievementCategory
|
||||
|
||||
private String _name;
|
||||
private String[] _statsToPull;
|
||||
private String[] _statsToDisplay;
|
||||
private String[] _friendlyStatNames;
|
||||
private StatDisplay[] _statDisplays;
|
||||
private Material _icon;
|
||||
private GameCategory _gameCategory;
|
||||
private byte _iconData;
|
||||
private String _kitReward;
|
||||
|
||||
AchievementCategory(String name, String[] statsToPull, String[] statsToDisplay, String[] friendlyStatNames, Material icon, int iconData, GameCategory gameCategory, String kitReward)
|
||||
AchievementCategory(String name, String[] statsToPull, StatDisplay[] statDisplays, Material icon, int iconData, GameCategory gameCategory, String kitReward)
|
||||
{
|
||||
_name = name;
|
||||
|
||||
@ -164,9 +140,7 @@ public enum AchievementCategory
|
||||
_statsToPull = statsToPull;
|
||||
else
|
||||
_statsToPull = new String[] {name};
|
||||
|
||||
_statsToDisplay = statsToDisplay;
|
||||
_friendlyStatNames = friendlyStatNames;
|
||||
_statDisplays = statDisplays;
|
||||
_icon = icon;
|
||||
_iconData = (byte)iconData;
|
||||
_gameCategory = gameCategory;
|
||||
@ -193,9 +167,9 @@ public enum AchievementCategory
|
||||
return _statsToPull;
|
||||
}
|
||||
|
||||
public String[] getStatsToDisplay()
|
||||
public StatDisplay[] getStatsToDisplay()
|
||||
{
|
||||
return _statsToDisplay;
|
||||
return _statDisplays;
|
||||
}
|
||||
|
||||
public byte getIconData()
|
||||
@ -208,11 +182,6 @@ public enum AchievementCategory
|
||||
return _gameCategory;
|
||||
}
|
||||
|
||||
public String[] getFriendlyStatNames()
|
||||
{
|
||||
return _friendlyStatNames;
|
||||
}
|
||||
|
||||
public void addStats(CoreClientManager clientManager, StatsManager statsManager, List<String> lore, Player player, Player target)
|
||||
{
|
||||
addStats(clientManager, statsManager, lore, Integer.MAX_VALUE, player, target);
|
||||
@ -221,29 +190,32 @@ public enum AchievementCategory
|
||||
public void addStats(CoreClientManager clientManager, StatsManager statsManager, List<String> lore, int max, Player player, Player target)
|
||||
{
|
||||
PlayerStats stats = statsManager.Get(target);
|
||||
for (int i = 0; i < _statsToDisplay.length && i < max; i++)
|
||||
for (int i = 0; i < _statDisplays.length && i < max; i++)
|
||||
{
|
||||
// If the stat is null then just display a blank line instead
|
||||
if (_statsToDisplay[i] == null || _friendlyStatNames[i] == null)
|
||||
if (_statDisplays[i] == null)
|
||||
{
|
||||
lore.add(" ");
|
||||
continue;
|
||||
}
|
||||
|
||||
String displayName = _statDisplays[i].getDisplayName();
|
||||
|
||||
// Skip showing Losses, Kills, Deaths for other players
|
||||
if (!clientManager.Get(player).GetRank().Has(Rank.MODERATOR) && !player.equals(target) && (_statsToDisplay[i].contains("Losses") || _statsToDisplay[i].contains("Kills") || _statsToDisplay[i].contains("Deaths") || _statsToDisplay[i].equals("Time In Game") || _statsToDisplay.equals("Games Played")))
|
||||
if (!clientManager.Get(player).GetRank().Has(Rank.MODERATOR) && !player.equals(target) && (displayName.contains("Losses") || displayName.contains("Kills") || displayName.contains("Deaths") || displayName.equals("Time In Game") || displayName.equals("Games Played")))
|
||||
continue;
|
||||
|
||||
int statNumber = 0;
|
||||
for (String statToPull : _statsToPull)
|
||||
statNumber += stats.getStat(statToPull + "." + _statsToDisplay[i]);
|
||||
for (String statName : _statDisplays[i].getStats())
|
||||
statNumber += stats.getStat(statToPull + "." + statName);
|
||||
|
||||
String statString = C.cWhite + statNumber;
|
||||
// Need to display special for time
|
||||
if (_statsToDisplay[i].equalsIgnoreCase("TimeInGame"))
|
||||
if (displayName.equalsIgnoreCase("Time In Game"))
|
||||
statString = C.cWhite + UtilTime.convertString(statNumber * 1000L, 0, UtilTime.TimeUnit.FIT);
|
||||
|
||||
lore.add(C.cYellow + _friendlyStatNames[i] + ": " + statString);
|
||||
lore.add(C.cYellow + displayName + ": " + statString);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,44 @@
|
||||
package mineplex.core.achievement;
|
||||
|
||||
/**
|
||||
* The purpose of extracting stats to this class is so we can display stats that are a combination
|
||||
* of different stat values. For example, since we don't have a specific stat for games played of a game,
|
||||
* we can use this class to display the stat "Games Played" that sums up "Wins" and "Losses"
|
||||
* See: StatDisplay.GAMES_PLAYED_GAME
|
||||
*/
|
||||
public class StatDisplay
|
||||
{
|
||||
public String _displayName;
|
||||
public String[] _stats;
|
||||
|
||||
public StatDisplay(String stat)
|
||||
{
|
||||
_displayName = stat;
|
||||
_stats = new String[] { stat };
|
||||
}
|
||||
|
||||
public StatDisplay(String displayName, String... stats)
|
||||
{
|
||||
_displayName = displayName;
|
||||
_stats = stats;
|
||||
}
|
||||
|
||||
public String getDisplayName()
|
||||
{
|
||||
return _displayName;
|
||||
}
|
||||
|
||||
public String[] getStats()
|
||||
{
|
||||
return _stats;
|
||||
}
|
||||
|
||||
public static final StatDisplay WINS = new StatDisplay("Wins");
|
||||
public static final StatDisplay LOSSES = new StatDisplay("Losses");
|
||||
public static final StatDisplay KILLS = new StatDisplay("Kills");
|
||||
public static final StatDisplay DEATHS = new StatDisplay("Deaths");
|
||||
public static final StatDisplay GEMS_EARNED = new StatDisplay("Gems Earned", "GemsEarned");
|
||||
public static final StatDisplay TIME_IN_GAME = new StatDisplay("Time In Game", "TimeInGame");
|
||||
public static final StatDisplay GAMES_PLAYED_GAME = new StatDisplay("Games Played", "Wins", "Losses");
|
||||
|
||||
}
|
@ -17,13 +17,11 @@ import mineplex.core.achievement.ui.button.ArcadeButton;
|
||||
import mineplex.core.achievement.ui.button.CategoryButton;
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
import mineplex.core.itemstack.ItemLayout;
|
||||
import mineplex.core.shop.item.ShopItem;
|
||||
import mineplex.core.shop.page.ShopPageBase;
|
||||
import mineplex.core.stats.StatsManager;
|
||||
|
||||
/**
|
||||
* Created by Shaun on 8/21/2014.
|
||||
*/
|
||||
public class AchievementMainPage extends ShopPageBase<AchievementManager, AchievementShop>
|
||||
{
|
||||
protected Player _target;
|
||||
@ -31,7 +29,7 @@ public class AchievementMainPage extends ShopPageBase<AchievementManager, Achiev
|
||||
|
||||
public AchievementMainPage(AchievementManager plugin, StatsManager statsManager, AchievementShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player, Player target)
|
||||
{
|
||||
super(plugin, shop, clientManager, donationManager, name, player);
|
||||
super(plugin, shop, clientManager, donationManager, name, player, 9 * 4);
|
||||
|
||||
_target = target;
|
||||
_statsManager = statsManager;
|
||||
@ -42,50 +40,44 @@ public class AchievementMainPage extends ShopPageBase<AchievementManager, Achiev
|
||||
@Override
|
||||
protected void buildPage()
|
||||
{
|
||||
int globalSlot = 4;
|
||||
int normalSlot = 18;
|
||||
ArrayList<Integer> pageLayout = new ItemLayout(
|
||||
"XXXXOXXXX",
|
||||
"XOXOXOXOX",
|
||||
"XOXOXOXOX",
|
||||
"XOXOXOXOX").getItemSlots();
|
||||
int listSlot = 0;
|
||||
|
||||
for (AchievementCategory category : AchievementCategory.values())
|
||||
{
|
||||
if (category.getGameCategory() == AchievementCategory.GameCategory.ARCADE)
|
||||
continue;
|
||||
|
||||
CategoryButton button = new CategoryButton(getShop(), getPlugin(), _statsManager, category, getDonationManager(), getClientManager(), _target);
|
||||
CategoryButton button = new CategoryButton(getShop(), getPlugin(), _statsManager, category, getDonationManager(),
|
||||
getClientManager(), _target);
|
||||
|
||||
ArrayList<String> lore = new ArrayList<String>();
|
||||
lore.add(" ");
|
||||
category.addStats(getClientManager(), _statsManager, lore, category == AchievementCategory.GLOBAL ? 5 : 2, getPlayer(), _target);
|
||||
category.addStats(getClientManager(), _statsManager, lore, category == AchievementCategory.GLOBAL ? 5 : 2,
|
||||
getPlayer(), _target);
|
||||
lore.add(" ");
|
||||
addAchievements(category, lore, 9);
|
||||
lore.add(" ");
|
||||
lore.add(ChatColor.RESET + "Click for more details!");
|
||||
|
||||
int slot;
|
||||
switch(category.getGameCategory())
|
||||
{
|
||||
case GLOBAL:
|
||||
slot = globalSlot;
|
||||
break;
|
||||
default:
|
||||
slot = normalSlot;
|
||||
normalSlot += 2;
|
||||
}
|
||||
|
||||
if (normalSlot == 28)
|
||||
normalSlot = 36;
|
||||
|
||||
ShopItem shopItem = new ShopItem(category.getIcon(), category.getIconData(), C.Bold + category.getFriendlyName(), lore.toArray(new String[0]), 1, false, false);
|
||||
addButton(slot, shopItem, button);
|
||||
ShopItem shopItem = new ShopItem(category.getIcon(), category.getIconData(), C.Bold + category.getFriendlyName(),
|
||||
lore.toArray(new String[0]), 1, false, false);
|
||||
addButton(pageLayout.get(listSlot++), shopItem, button);
|
||||
}
|
||||
addArcadeButton();
|
||||
|
||||
addArcadeButton(pageLayout.get(listSlot++));
|
||||
}
|
||||
|
||||
protected void addArcadeButton()
|
||||
protected void addArcadeButton(int slot)
|
||||
{
|
||||
ArcadeButton button = new ArcadeButton(getShop(), getPlugin(), _statsManager, getDonationManager(), getClientManager(), _target);
|
||||
ShopItem shopItem = new ShopItem(Material.BOW, (byte) 0, C.Bold + "Arcade Games", new String[] {" ", ChatColor.RESET + "Click for more!"}, 1, false, false);
|
||||
|
||||
addButton(44, shopItem, button);
|
||||
addButton(slot, shopItem, button);
|
||||
}
|
||||
|
||||
protected void addAchievements(AchievementCategory category, List<String> lore, int max)
|
||||
|
@ -19,9 +19,6 @@ import mineplex.core.shop.item.IButton;
|
||||
import mineplex.core.shop.item.ShopItem;
|
||||
import mineplex.core.stats.StatsManager;
|
||||
|
||||
/**
|
||||
* Created by Shaun on 8/25/2014.
|
||||
*/
|
||||
public class ArcadeMainPage extends AchievementMainPage
|
||||
{
|
||||
public ArcadeMainPage(AchievementManager plugin, StatsManager statsManager, AchievementShop shop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player, Player target)
|
||||
@ -32,7 +29,7 @@ public class ArcadeMainPage extends AchievementMainPage
|
||||
@Override
|
||||
protected void buildPage()
|
||||
{
|
||||
int slot = 10;
|
||||
int slot = 9;
|
||||
|
||||
for (AchievementCategory category : AchievementCategory.values())
|
||||
{
|
||||
@ -49,13 +46,10 @@ public class ArcadeMainPage extends AchievementMainPage
|
||||
lore.add(" ");
|
||||
lore.add(ChatColor.RESET + "Click for more details!");
|
||||
|
||||
if (slot == 18 || slot == 27 || slot == 36)
|
||||
slot++;
|
||||
|
||||
ShopItem shopItem = new ShopItem(category.getIcon(), category.getIconData(), C.Bold + category.getFriendlyName(), lore.toArray(new String[0]), 1, false, false);
|
||||
addButton(slot, shopItem, button);
|
||||
|
||||
slot += 2;
|
||||
slot += ((slot + 1) % 9 == 0) ? 1 : 2;
|
||||
}
|
||||
|
||||
addBackButton();
|
||||
|
@ -36,6 +36,7 @@ import mineplex.core.common.util.UtilTime;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.block.SignChangeEvent;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
@ -198,6 +199,30 @@ public class Chat extends MiniPlugin
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onSignChange(SignChangeEvent event)
|
||||
{
|
||||
if (_clientManager.Get(event.getPlayer()).GetRank().Has(Rank.ADMIN)) return;
|
||||
|
||||
// Prevent silenced players from using signs
|
||||
if (SilenceCheck(event.getPlayer()))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < event.getLines().length; i++)
|
||||
{
|
||||
String line = event.getLine(i);
|
||||
if (line != null && line.length() > 0)
|
||||
{
|
||||
String filteredLine = getFilteredMessage(event.getPlayer(), line);
|
||||
if (filteredLine != null)
|
||||
event.setLine(i, filteredLine);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void filterChat(AsyncPlayerChatEvent event)
|
||||
@ -224,7 +249,7 @@ public class Chat extends MiniPlugin
|
||||
originalMessage = originalMessage.replaceAll("[^\\x00-\\x7F]", "").trim();
|
||||
final String filterType = "moderate";
|
||||
final String displayName = player.getPlayerListName();
|
||||
|
||||
|
||||
JSONObject message = buildJsonChatObject(filterType, displayName, playerName, originalMessage, _serverName, 1);
|
||||
String response = getResponseFromCleanSpeak(message, filterType);
|
||||
|
||||
|
@ -16,6 +16,9 @@ import mineplex.core.account.event.ClientWebResponseEvent;
|
||||
import mineplex.core.common.CurrencyType;
|
||||
import mineplex.core.common.util.Callback;
|
||||
import mineplex.core.common.util.NautHashMap;
|
||||
import mineplex.core.donation.command.CoinCommand;
|
||||
import mineplex.core.donation.command.GemCommand;
|
||||
import mineplex.core.donation.command.GoldCommand;
|
||||
import mineplex.core.donation.repository.DonationRepository;
|
||||
import mineplex.core.donation.repository.token.DonorTokenWrapper;
|
||||
import mineplex.core.server.util.TransactionResponse;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package mineplex.core.donation;
|
||||
package mineplex.core.donation.command;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@ -11,6 +11,7 @@ import mineplex.core.common.util.Callback;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UUIDFetcher;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
|
||||
public class CoinCommand extends CommandBase<DonationManager>
|
||||
{
|
@ -1,4 +1,4 @@
|
||||
package mineplex.core.donation;
|
||||
package mineplex.core.donation.command;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@ -10,6 +10,7 @@ import mineplex.core.common.util.Callback;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UUIDFetcher;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
|
||||
public class GemCommand extends CommandBase<DonationManager>
|
||||
{
|
@ -1,4 +1,4 @@
|
||||
package mineplex.core.donation;
|
||||
package mineplex.core.donation.command;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@ -11,6 +11,7 @@ import mineplex.core.common.util.Callback;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UUIDFetcher;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
|
||||
public class GoldCommand extends CommandBase<DonationManager>
|
||||
{
|
@ -1,9 +1,11 @@
|
||||
package mineplex.core.give;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
@ -43,13 +45,16 @@ public class Give extends MiniPlugin
|
||||
help(player);
|
||||
|
||||
else if (args.length == 1)
|
||||
give(player, player.getName(), args[0], "1");
|
||||
give(player, player.getName(), args[0], "1", "");
|
||||
|
||||
else if (args.length == 2)
|
||||
give(player, args[0], args[1], "1");
|
||||
give(player, args[0], args[1], "1", "");
|
||||
|
||||
else if (args.length == 3)
|
||||
give(player, args[0], args[1], args[2], "");
|
||||
|
||||
else
|
||||
give(player, args[0], args[1], args[2]);
|
||||
give(player, args[0], args[1], args[2], args[3]);
|
||||
}
|
||||
|
||||
public void help(Player player)
|
||||
@ -57,7 +62,7 @@ public class Give extends MiniPlugin
|
||||
UtilPlayer.message(player, F.main("Give", "Commands List;"));
|
||||
}
|
||||
|
||||
public void give(Player player, String target, String itemNames, String amount)
|
||||
public void give(Player player, String target, String itemNames, String amount, String enchants)
|
||||
{
|
||||
//Item
|
||||
LinkedList<Entry<Material, Byte>> itemList = new LinkedList<Entry<Material, Byte>>();
|
||||
@ -97,7 +102,25 @@ public class Give extends MiniPlugin
|
||||
{
|
||||
UtilPlayer.message(player, F.main("Give", "Invalid Amount [" + amount + "]. Defaulting to [1]."));
|
||||
}
|
||||
|
||||
|
||||
//Enchants
|
||||
HashMap<Enchantment, Integer> enchs = new HashMap<Enchantment, Integer>();
|
||||
if (enchants.length() > 0)
|
||||
{
|
||||
for (String cur : enchants.split(","))
|
||||
{
|
||||
try
|
||||
{
|
||||
String[] tokens = cur.split(":");
|
||||
enchs.put(Enchantment.getByName(tokens[0]), Integer.parseInt(tokens[1]));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
UtilPlayer.message(player, F.main("Give", "Invalid Enchantment [" + cur + "]."));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Create
|
||||
String givenList = "";
|
||||
for (Player cur : giveList)
|
||||
@ -110,7 +133,10 @@ public class Give extends MiniPlugin
|
||||
for (Player cur : giveList)
|
||||
{
|
||||
ItemStack stack = ItemStackFactory.Instance.CreateStack(curItem.getKey(), curItem.getValue(), count);
|
||||
|
||||
|
||||
//Enchants
|
||||
stack.addUnsafeEnchantments(enchs);
|
||||
|
||||
//Give
|
||||
if (UtilInv.insert(cur, stack))
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ public class GiveItemCommand extends CommandBase<InventoryManager>
|
||||
{
|
||||
public GiveItemCommand(InventoryManager plugin)
|
||||
{
|
||||
super(plugin, Rank.DEVELOPER, "giveitem");
|
||||
super(plugin, Rank.ADMIN, "giveitem");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -98,10 +98,10 @@ public class InventoryRepository extends RepositoryBase
|
||||
|
||||
public boolean incrementClientInventoryItem(int accountId, int itemId, int count)
|
||||
{
|
||||
System.out.println("Updating " + accountId + "'s " + itemId + " with " + count);
|
||||
//System.out.println("Updating " + accountId + "'s " + itemId + " with " + count);
|
||||
if (executeUpdate(UPDATE_CLIENT_INVENTORY, new ColumnInt("count", count), new ColumnInt("id", accountId), new ColumnInt("itemid", itemId)) < 1)
|
||||
{
|
||||
System.out.println("Inserting " + accountId + "'s " + itemId + " with " + count);
|
||||
//System.out.println("Inserting " + accountId + "'s " + itemId + " with " + count);
|
||||
return executeUpdate(INSERT_CLIENT_INVENTORY, new ColumnInt("id", accountId), new ColumnInt("itemid", itemId), new ColumnInt("count", count)) > 0;
|
||||
}
|
||||
else
|
||||
|
@ -36,17 +36,17 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.map.MapRenderer;
|
||||
import org.bukkit.map.MapView;
|
||||
|
||||
public class Map implements Listener
|
||||
public class BlockMap implements Listener
|
||||
{
|
||||
|
||||
private HashMap<ItemFrame, MapView> _maps = new HashMap<ItemFrame, MapView>();
|
||||
|
||||
public Map(MiniPlugin plugin, String location, Block corner1, Block corner2)
|
||||
public BlockMap(MiniPlugin plugin, String imageUrl, Block corner1, Block corner2)
|
||||
{
|
||||
this(plugin, location, corner1, corner2, null);
|
||||
this(plugin, imageUrl, corner1, corner2, null);
|
||||
}
|
||||
|
||||
public Map(MiniPlugin plugin, String location, Block corner1, Block corner2, BlockFace facingDirection)
|
||||
public BlockMap(MiniPlugin plugin, String imageUrl, Block corner1, Block corner2, BlockFace facingDirection)
|
||||
{
|
||||
|
||||
try
|
||||
@ -138,11 +138,11 @@ public class Map implements Listener
|
||||
corner = corner.getRelative(facingDirection.getOppositeFace());
|
||||
|
||||
// Load image
|
||||
BufferedImage image = loadImage(location);
|
||||
BufferedImage image = loadImage(imageUrl);
|
||||
|
||||
if (image == null)
|
||||
{
|
||||
throw new IllegalArgumentException("Cannot load image at '" + location + "'");
|
||||
throw new IllegalArgumentException("Cannot load image at '" + imageUrl + "'");
|
||||
}
|
||||
|
||||
// Resize image to fit into the dimensions
|
42
Plugins/Mineplex.Core/src/mineplex/core/map/ChunkMap.java
Normal file
42
Plugins/Mineplex.Core/src/mineplex/core/map/ChunkMap.java
Normal file
@ -0,0 +1,42 @@
|
||||
package mineplex.core.map;
|
||||
|
||||
import net.minecraft.server.v1_7_R4.WorldMap;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.map.MapRenderer;
|
||||
import org.bukkit.map.MapView;
|
||||
|
||||
public class ChunkMap
|
||||
{
|
||||
public ItemStack getItem(Location loc)
|
||||
{
|
||||
MapView map = Bukkit.createMap(Bukkit.getWorlds().get(0));
|
||||
|
||||
for (MapRenderer r : map.getRenderers())
|
||||
{
|
||||
map.removeRenderer(r);
|
||||
}
|
||||
|
||||
ItemStack item = new ItemStack(Material.MAP);
|
||||
|
||||
item.setDurability(map.getId());
|
||||
|
||||
WorldMap worldMap = new WorldMap("map_" + map.getId());
|
||||
|
||||
ChunkMapRenderer renderer = new ChunkMapRenderer(worldMap);
|
||||
|
||||
map.addRenderer(renderer);
|
||||
|
||||
worldMap.scale=(byte)3;
|
||||
worldMap.centerX = loc.getBlockX();
|
||||
worldMap.centerZ = loc.getBlockZ();
|
||||
worldMap.c();
|
||||
|
||||
renderer.setupMap(loc.getWorld());
|
||||
|
||||
return item;
|
||||
}
|
||||
}
|
@ -0,0 +1,203 @@
|
||||
package mineplex.core.map;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import net.minecraft.server.v1_7_R4.Block;
|
||||
import net.minecraft.server.v1_7_R4.Blocks;
|
||||
import net.minecraft.server.v1_7_R4.Chunk;
|
||||
import net.minecraft.server.v1_7_R4.MaterialMapColor;
|
||||
import net.minecraft.server.v1_7_R4.MathHelper;
|
||||
import net.minecraft.server.v1_7_R4.WorldMap;
|
||||
import net.minecraft.util.com.google.common.collect.HashMultiset;
|
||||
import net.minecraft.util.com.google.common.collect.Iterables;
|
||||
import net.minecraft.util.com.google.common.collect.Multisets;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.craftbukkit.v1_7_R4.CraftWorld;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.map.MapCanvas;
|
||||
import org.bukkit.map.MapRenderer;
|
||||
import org.bukkit.map.MapView;
|
||||
|
||||
public class ChunkMapRenderer extends MapRenderer
|
||||
{
|
||||
private final WorldMap worldmap;
|
||||
private byte[] colors = new byte[128 * 128 * 128];
|
||||
|
||||
public ChunkMapRenderer(WorldMap worldMap)
|
||||
{
|
||||
super(false);
|
||||
this.worldmap = worldMap;
|
||||
}
|
||||
|
||||
public void setupMap(World world)
|
||||
{
|
||||
int i = 1 << worldmap.scale;
|
||||
int j = worldmap.centerX;
|
||||
int k = worldmap.centerZ;
|
||||
int l = MathHelper.floor(0) / i + 64;
|
||||
int i1 = MathHelper.floor(0) / i + 64;
|
||||
int j1 = 128 / i;
|
||||
|
||||
for (int k1 = l - j1 + 1; k1 < l + j1; k1++)
|
||||
{
|
||||
int l1 = 255;
|
||||
int i2 = 0;
|
||||
double d0 = 0.0D;
|
||||
|
||||
for (int j2 = i1 - j1 - 1; j2 < i1 + j1; j2++)
|
||||
{
|
||||
if ((k1 >= 0) && (j2 >= -1) && (k1 < 128) && (j2 < 128))
|
||||
{
|
||||
int k2 = k1 - l;
|
||||
int l2 = j2 - i1;
|
||||
boolean flag = k2 * k2 + l2 * l2 > (j1 - 2) * (j1 - 2);
|
||||
int i3 = (j / i + k1 - 64) * i;
|
||||
int j3 = (k / i + j2 - 64) * i;
|
||||
HashMultiset hashmultiset = HashMultiset.create();
|
||||
Chunk chunk = ((CraftWorld) world).getHandle().getChunkAtWorldCoords(i3, j3);
|
||||
|
||||
if (!chunk.isEmpty())
|
||||
{
|
||||
int k3 = i3 & 0xF;
|
||||
int l3 = j3 & 0xF;
|
||||
int i4 = 0;
|
||||
double d1 = 0.0D;
|
||||
|
||||
for (int j4 = 0; j4 < i; j4++)
|
||||
{
|
||||
for (int k4 = 0; k4 < i; k4++)
|
||||
{
|
||||
int l4 = chunk.b(j4 + k3, k4 + l3) + 1;
|
||||
Block block = Blocks.AIR;
|
||||
int i5 = 0;
|
||||
|
||||
if (l4 > 1)
|
||||
{
|
||||
do
|
||||
{
|
||||
l4--;
|
||||
block = chunk.getType(j4 + k3, l4, k4 + l3);
|
||||
i5 = chunk.getData(j4 + k3, l4, k4 + l3);
|
||||
}
|
||||
while ((block.f(i5) == MaterialMapColor.b) && (l4 > 0));
|
||||
|
||||
if ((l4 > 0) && (block.getMaterial().isLiquid()))
|
||||
{
|
||||
int j5 = l4 - 1;
|
||||
Block block1;
|
||||
do
|
||||
{
|
||||
block1 = chunk.getType(j4 + k3, j5--, k4 + l3);
|
||||
i4++;
|
||||
}
|
||||
while ((j5 > 0) && (block1.getMaterial().isLiquid()));
|
||||
}
|
||||
}
|
||||
|
||||
d1 += l4 / (i * i);
|
||||
hashmultiset.add(block.f(i5));
|
||||
}
|
||||
}
|
||||
|
||||
i4 /= i * i;
|
||||
double d2 = (d1 - d0) * 4.0D / (i + 4) + ((k1 + j2 & 0x1) - 0.5D) * 0.4D;
|
||||
byte b0 = 1;
|
||||
|
||||
if (d2 > 0.6D)
|
||||
{
|
||||
b0 = 2;
|
||||
}
|
||||
|
||||
if (d2 < -0.6D)
|
||||
{
|
||||
b0 = 0;
|
||||
}
|
||||
|
||||
MaterialMapColor materialmapcolor = (MaterialMapColor) Iterables.getFirst(
|
||||
Multisets.copyHighestCountFirst(hashmultiset), MaterialMapColor.b);
|
||||
|
||||
if (materialmapcolor == MaterialMapColor.n)
|
||||
{
|
||||
d2 = i4 * 0.1D + (k1 + j2 & 0x1) * 0.2D;
|
||||
b0 = 1;
|
||||
if (d2 < 0.5D)
|
||||
{
|
||||
b0 = 2;
|
||||
}
|
||||
|
||||
if (d2 > 0.9D)
|
||||
{
|
||||
b0 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
d0 = d1;
|
||||
if ((j2 >= 0) && (k2 * k2 + l2 * l2 < j1 * j1) && ((!flag) || ((k1 + j2 & 0x1) != 0)))
|
||||
{
|
||||
byte b1 = colors[(k1 + j2 * 128)];
|
||||
byte b2 = (byte) (materialmapcolor.M * 4 + b0);
|
||||
|
||||
if (b1 != b2)
|
||||
{
|
||||
if (l1 > j2)
|
||||
{
|
||||
l1 = j2;
|
||||
}
|
||||
|
||||
if (i2 < j2)
|
||||
{
|
||||
i2 = j2;
|
||||
}
|
||||
|
||||
colors[(k1 + j2 * 128)] = b2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (l1 <= i2)
|
||||
worldmap.flagDirty(k1, l1, i2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(MapView view, MapCanvas canvas, Player player)
|
||||
{
|
||||
int scale = 1 << worldmap.scale;
|
||||
byte i = 30;
|
||||
|
||||
HashMap<Entry, Byte> map = new HashMap<Entry, Byte>();
|
||||
|
||||
for (int mapX = 0; mapX < 128; mapX++)
|
||||
{
|
||||
for (int mapZ = 0; mapZ < 128; mapZ++)
|
||||
{
|
||||
byte color = (byte) 0;// worldmap.colors[(z * 128 + x)];
|
||||
|
||||
int bX = (worldmap.centerX + ((mapX - 64) * scale)) & 0x000F;
|
||||
int bZ = (worldmap.centerZ + ((mapZ - 64) * scale)) & 0x000F;
|
||||
|
||||
if (bX == 0 || bX == 15 || bZ == 0 || bZ == 15)
|
||||
{
|
||||
Entry<Integer, Integer> entry = new HashMap.SimpleEntry((mapX - bX) / 16, (mapZ - bZ) / 16);
|
||||
|
||||
if (!map.containsKey(entry))
|
||||
{
|
||||
map.put(entry, i++);
|
||||
}
|
||||
|
||||
color = map.get(entry);
|
||||
}
|
||||
else
|
||||
{
|
||||
color = colors[(mapZ * 128 + mapX)];
|
||||
}
|
||||
|
||||
canvas.setPixel(mapX, mapZ, color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,5 @@
|
||||
package mineplex.core.map;
|
||||
|
||||
import java.awt.Image;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -10,21 +9,22 @@ import org.bukkit.map.MapView;
|
||||
|
||||
public class ImageMapRenderer extends MapRenderer
|
||||
{
|
||||
private Image _image;
|
||||
private boolean _first = true;
|
||||
private BufferedImage _image;
|
||||
private boolean _first = true;
|
||||
|
||||
public ImageMapRenderer(BufferedImage image)
|
||||
{
|
||||
_image = image;
|
||||
}
|
||||
public ImageMapRenderer(BufferedImage image)
|
||||
{
|
||||
_image = image;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(MapView view, MapCanvas canvas, Player player)
|
||||
{
|
||||
if (_image != null && _first)
|
||||
{
|
||||
canvas.drawImage(0, 0, _image);
|
||||
_first = false;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void render(MapView view, MapCanvas canvas, Player player)
|
||||
{
|
||||
if (_image != null && _first)
|
||||
{
|
||||
canvas.drawImage(0, 0, _image);
|
||||
|
||||
_first = false;
|
||||
}
|
||||
}
|
||||
}
|
191
Plugins/Mineplex.Core/src/mineplex/core/map/MapText.java
Normal file
191
Plugins/Mineplex.Core/src/mineplex/core/map/MapText.java
Normal file
@ -0,0 +1,191 @@
|
||||
package mineplex.core.map;
|
||||
|
||||
import java.awt.Graphics;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.map.MapRenderer;
|
||||
import org.bukkit.map.MapView;
|
||||
|
||||
public class MapText
|
||||
{
|
||||
private static HashMap<Character, BufferedImage> _characters = new HashMap<Character, BufferedImage>();
|
||||
|
||||
private void loadCharacters()
|
||||
{
|
||||
try
|
||||
{
|
||||
InputStream inputStream = getClass().getResourceAsStream("ascii.png");
|
||||
BufferedImage image = ImageIO.read(inputStream);
|
||||
|
||||
char[] text = new char[]
|
||||
{
|
||||
' ', '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4',
|
||||
'5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
|
||||
'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^',
|
||||
'_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
|
||||
't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~'
|
||||
};
|
||||
|
||||
int x = 0;
|
||||
int y = 16;
|
||||
|
||||
for (char c : text)
|
||||
{
|
||||
grab(c, image, x, y);
|
||||
|
||||
if (x < 15 * 8)
|
||||
{
|
||||
x += 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = 0;
|
||||
y += 8;
|
||||
}
|
||||
}
|
||||
|
||||
inputStream.close();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void grab(Character character, BufferedImage image, int imageX, int imageY)
|
||||
{
|
||||
BufferedImage newImage = image.getSubimage(imageX, imageY, 8, 8);
|
||||
|
||||
int width = character == ' ' ? 4 : 0;
|
||||
|
||||
if (width == 0)
|
||||
{
|
||||
for (int x = 0; x < 8; x++)
|
||||
{
|
||||
width++;
|
||||
boolean foundNonTrans = false;
|
||||
|
||||
for (int y = 0; y < 8; y++)
|
||||
{
|
||||
int pixel = newImage.getRGB(x, y);
|
||||
|
||||
if ((pixel >> 24) != 0x00)
|
||||
{
|
||||
foundNonTrans = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!foundNonTrans)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
newImage = newImage.getSubimage(0, 0, width, 8);
|
||||
|
||||
_characters.put(character, newImage);
|
||||
}
|
||||
|
||||
private ArrayList<String> split(String text)
|
||||
{
|
||||
ArrayList<String> returns = new ArrayList<String>();
|
||||
int lineWidth = 0;
|
||||
String current = "";
|
||||
|
||||
for (String word : text.split("(?<= )"))
|
||||
{
|
||||
int length = 0;
|
||||
|
||||
for (char c : word.toCharArray())
|
||||
{
|
||||
length += _characters.get(c).getWidth();
|
||||
}
|
||||
|
||||
if (lineWidth + length >= 127)
|
||||
{
|
||||
lineWidth = 0;
|
||||
returns.add(current);
|
||||
current = "";
|
||||
}
|
||||
|
||||
current += word;
|
||||
lineWidth += length;
|
||||
}
|
||||
|
||||
returns.add(current);
|
||||
|
||||
return returns;
|
||||
}
|
||||
|
||||
public ItemStack getMap(boolean sendToServer, String... text)
|
||||
{
|
||||
if (_characters.isEmpty())
|
||||
{
|
||||
loadCharacters();
|
||||
}
|
||||
|
||||
BufferedImage image = new BufferedImage(128, 128, BufferedImage.TYPE_INT_RGB);
|
||||
Graphics g = image.getGraphics();
|
||||
int height = 1;
|
||||
|
||||
for (String string : text)
|
||||
{
|
||||
for (String line : split(string))
|
||||
{
|
||||
int length = 1;
|
||||
|
||||
for (char c : line.toCharArray())
|
||||
{
|
||||
BufferedImage img = _characters.get(c);
|
||||
|
||||
if (img == null)
|
||||
{
|
||||
System.out.print("Error: '" + c + "' has no image associated");
|
||||
continue;
|
||||
}
|
||||
|
||||
g.drawImage(img, length, height, null);
|
||||
|
||||
length += img.getWidth();
|
||||
}
|
||||
|
||||
height += 8;
|
||||
}
|
||||
}
|
||||
|
||||
MapView map = Bukkit.createMap(Bukkit.getWorlds().get(0));
|
||||
|
||||
for (MapRenderer r : map.getRenderers())
|
||||
{
|
||||
map.removeRenderer(r);
|
||||
}
|
||||
|
||||
map.addRenderer(new ImageMapRenderer(image));
|
||||
|
||||
ItemStack item = new ItemStack(Material.MAP);
|
||||
|
||||
item.setDurability(map.getId());
|
||||
|
||||
if (sendToServer)
|
||||
{
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
player.sendMap(map);
|
||||
}
|
||||
|
||||
return item;
|
||||
}
|
||||
}
|
BIN
Plugins/Mineplex.Core/src/mineplex/core/map/ascii.png
Normal file
BIN
Plugins/Mineplex.Core/src/mineplex/core/map/ascii.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
@ -4,4 +4,6 @@ public class ClientMessage
|
||||
{
|
||||
public String LastTo;
|
||||
public String LastAdminTo;
|
||||
public long LastToTime;
|
||||
public int SpamCounter;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package mineplex.core.message;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.UUID;
|
||||
@ -22,6 +23,7 @@ import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.common.util.UtilTime;
|
||||
import mineplex.core.common.util.UtilTime.TimeUnit;
|
||||
import mineplex.core.event.StackerEvent;
|
||||
import mineplex.core.friend.FriendManager;
|
||||
import mineplex.core.friend.data.FriendData;
|
||||
import mineplex.core.friend.data.FriendStatus;
|
||||
@ -48,7 +50,7 @@ public class MessageManager extends MiniClientPlugin<ClientMessage>
|
||||
private PreferencesManager _preferences;
|
||||
private Punish _punish;
|
||||
private Chat _chat;
|
||||
private LinkedList<String> _randomMessage;
|
||||
private ArrayList<String> _randomMessage;
|
||||
private String _serverName;
|
||||
|
||||
public MessageManager(JavaPlugin plugin, CoreClientManager clientManager, PreferencesManager preferences,
|
||||
@ -96,7 +98,7 @@ public class MessageManager extends MiniClientPlugin<ClientMessage>
|
||||
}
|
||||
|
||||
public boolean canMessage(Player from, Player to)
|
||||
{
|
||||
{
|
||||
if (!canSenderMessageThem(from, to.getName()))
|
||||
{
|
||||
return false;
|
||||
@ -179,11 +181,35 @@ public class MessageManager extends MiniClientPlugin<ClientMessage>
|
||||
|
||||
public void DoMessage(Player from, Player to, String message)
|
||||
{
|
||||
PrivateMessageEvent pmEvent = new PrivateMessageEvent(from, to, message);
|
||||
Bukkit.getServer().getPluginManager().callEvent(pmEvent);
|
||||
if (pmEvent.isCancelled())
|
||||
return;
|
||||
|
||||
if (!canMessage(from, to))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// My attempt at trying to mitigate some of the spam bots - Phinary
|
||||
// Triggers if they are whispering a new player
|
||||
if (!GetClientManager().Get(from).GetRank().Has(Rank.HELPER) && Get(from).LastTo != null && !Get(from).LastTo.equalsIgnoreCase(to.getName()))
|
||||
{
|
||||
long delta = System.currentTimeMillis() - Get(from).LastToTime;
|
||||
|
||||
if (Get(from).SpamCounter > 3 && delta < Get(from).SpamCounter * 1000)
|
||||
{
|
||||
from.sendMessage(F.main("Cooldown", "Try sending that message again in a few seconds"));
|
||||
Get(from).LastTo = to.getName();
|
||||
return;
|
||||
}
|
||||
else if (delta < 8000)
|
||||
{
|
||||
// Silently increment spam counter whenever delta is less than 8 seconds
|
||||
Get(from).SpamCounter++;
|
||||
}
|
||||
}
|
||||
|
||||
message = _chat.getFilteredMessage(from, message);
|
||||
|
||||
// Inform
|
||||
@ -191,11 +217,12 @@ public class MessageManager extends MiniClientPlugin<ClientMessage>
|
||||
|
||||
// Save
|
||||
Get(from).LastTo = to.getName();
|
||||
Get(from).LastToTime = System.currentTimeMillis();
|
||||
|
||||
// Chiss or defek7
|
||||
if (to.getName().equals("Chiss") || to.getName().equals("defek7"))
|
||||
if (to.getName().equals("Chiss") || to.getName().equals("defek7") || to.getName().equals("Phinary"))
|
||||
{
|
||||
UtilPlayer.message(from, C.cPurple + to.getName() + "is often AFK or minimized, due to plugin development.");
|
||||
UtilPlayer.message(from, C.cPurple + to.getName() + " is often AFK or minimized, due to plugin development.");
|
||||
UtilPlayer.message(from, C.cPurple + "Please be patient if he does not reply instantly.");
|
||||
}
|
||||
|
||||
@ -248,7 +275,7 @@ public class MessageManager extends MiniClientPlugin<ClientMessage>
|
||||
@Override
|
||||
public void enable()
|
||||
{
|
||||
_randomMessage = new LinkedList<String>();
|
||||
_randomMessage = new ArrayList<String>();
|
||||
_randomMessage.clear();
|
||||
_randomMessage.add("Hello, do you have any wild boars for purchase?");
|
||||
_randomMessage.add("There's a snake in my boot!");
|
||||
@ -301,7 +328,7 @@ public class MessageManager extends MiniClientPlugin<ClientMessage>
|
||||
return _randomMessage.get(UtilMath.r(_randomMessage.size()));
|
||||
}
|
||||
|
||||
public LinkedList<String> GetRandomMessages()
|
||||
public ArrayList<String> GetRandomMessages()
|
||||
{
|
||||
return _randomMessage;
|
||||
}
|
||||
|
@ -0,0 +1,59 @@
|
||||
package mineplex.core.message;
|
||||
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
public class PrivateMessageEvent extends Event
|
||||
{
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
||||
private boolean _cancelled = false;
|
||||
private Player _sender;
|
||||
private Player _recipient;
|
||||
private String _msg;
|
||||
|
||||
public PrivateMessageEvent(Player sender, Player recipient, String msg)
|
||||
{
|
||||
_sender = sender;
|
||||
_recipient = recipient;
|
||||
_msg = msg;
|
||||
}
|
||||
|
||||
public HandlerList getHandlers()
|
||||
{
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList()
|
||||
{
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public void setCancelled(boolean cancel)
|
||||
{
|
||||
_cancelled = cancel;
|
||||
}
|
||||
|
||||
public boolean isCancelled()
|
||||
{
|
||||
return _cancelled;
|
||||
}
|
||||
|
||||
public Player getSender()
|
||||
{
|
||||
return _sender;
|
||||
}
|
||||
|
||||
public Player getRecipient()
|
||||
{
|
||||
return _recipient;
|
||||
}
|
||||
|
||||
public String getMessage()
|
||||
{
|
||||
return _msg;
|
||||
}
|
||||
}
|
@ -349,6 +349,9 @@ public class NpcManager extends MiniPlugin
|
||||
UtilEnt.Vegetate(entity);
|
||||
UtilEnt.silence(entity, true);
|
||||
UtilEnt.ghost(entity, true, false);
|
||||
|
||||
// Add Look AI
|
||||
UtilEnt.addLookAtPlayerAI(entity, 10.0F);
|
||||
}
|
||||
|
||||
if (npc.getDatabaseRecord().getHelmet() != null)
|
||||
|
@ -75,10 +75,7 @@ public class TimingManager implements Listener
|
||||
{
|
||||
if (_totalList.containsKey(title))
|
||||
{
|
||||
TimeData data = _totalList.get(title);
|
||||
data.addTime();
|
||||
|
||||
_totalList.put(title, data);
|
||||
_totalList.get(title).addTime();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
|
||||
|
||||
new Field(plugin, creature, _condition, energy, serverName);
|
||||
|
||||
DamageManager damageManager = new DamageManager(plugin, _combatManager, new NpcManager(plugin, creature), disguiseManager);
|
||||
DamageManager damageManager = new DamageManager(plugin, _combatManager, new NpcManager(plugin, creature), disguiseManager, _condition);
|
||||
|
||||
new Weapon(plugin, energy);
|
||||
new Gameplay(plugin, this, blockRestore, damageManager);
|
||||
|
@ -146,7 +146,7 @@ public class Hub extends JavaPlugin implements IRelation
|
||||
ProjectileManager throwManager = new ProjectileManager(this);
|
||||
SkillConditionManager conditionManager = new SkillConditionManager(this);
|
||||
|
||||
DamageManager damage = new DamageManager(this, combatManager, npcManager, disguiseManager);
|
||||
DamageManager damage = new DamageManager(this, combatManager, npcManager, disguiseManager, conditionManager);
|
||||
Fire fire = new Fire(this, conditionManager, damage);
|
||||
Teleport teleport = new Teleport(this);
|
||||
Energy energy = new Energy(this);
|
||||
|
@ -70,6 +70,7 @@ import mineplex.core.gadget.event.GadgetCollideEntityEvent;
|
||||
import mineplex.core.hologram.HologramManager;
|
||||
import mineplex.core.inventory.InventoryManager;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.message.PrivateMessageEvent;
|
||||
import mineplex.core.mount.MountManager;
|
||||
import mineplex.core.mount.event.MountActivateEvent;
|
||||
import mineplex.core.party.Party;
|
||||
@ -92,7 +93,6 @@ import mineplex.hub.modules.JumpManager;
|
||||
import mineplex.hub.modules.NewsManager;
|
||||
import mineplex.hub.modules.ParkourManager;
|
||||
import mineplex.hub.modules.TextManager;
|
||||
import mineplex.hub.modules.UHCManager;
|
||||
import mineplex.hub.modules.HubVisibilityManager;
|
||||
import mineplex.hub.modules.WorldManager;
|
||||
import mineplex.hub.poll.PollManager;
|
||||
@ -169,7 +169,6 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
||||
|
||||
new WorldManager(this);
|
||||
new JumpManager(this);
|
||||
new UHCManager(this);
|
||||
//new TournamentInviter(this);
|
||||
|
||||
_news = new NewsManager(this);
|
||||
@ -524,8 +523,6 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
||||
else
|
||||
{
|
||||
event.setJoinMessage(C.cGreen + C.Bold + "Legend " + playerName + " has joined!");
|
||||
UtilFirework.playFirework(player.getEyeLocation(), org.bukkit.FireworkEffect.Type.BALL_LARGE, Color.LIME, true, true);
|
||||
player.getWorld().playSound(player.getEyeLocation(), Sound.WITHER_SPAWN, 2f, 1f);
|
||||
}
|
||||
|
||||
//Teleport
|
||||
@ -612,6 +609,17 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
||||
|
||||
_portalTime.remove(event.getPlayer().getName());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void playerPrivateMessage(PrivateMessageEvent event)
|
||||
{
|
||||
//Dont Let PM Near Spawn!
|
||||
if (UtilMath.offset2d(GetSpawn(), event.getSender().getLocation()) == 0 && !_clientManager.Get(event.getSender()).GetRank().Has(Rank.HELPER))
|
||||
{
|
||||
UtilPlayer.message(event.getSender(), F.main("Chat", "You must leave spawn before you can Private Message!"));
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void PlayerChat(AsyncPlayerChatEvent event)
|
||||
|
@ -1,101 +0,0 @@
|
||||
package mineplex.hub.modules;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.common.util.UtilTextMiddle;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.hub.HubManager;
|
||||
import mineplex.serverdata.Utility;
|
||||
|
||||
public class UHCManager extends MiniPlugin
|
||||
{
|
||||
public HubManager Manager;
|
||||
|
||||
private long _delay = 3600000;
|
||||
private boolean _canAnnounce3 = true;
|
||||
private boolean _canAnnounce2 = true;
|
||||
private boolean _canAnnounce1 = true;
|
||||
private boolean _canAnnounce0 = true;
|
||||
|
||||
public UHCManager(HubManager manager)
|
||||
{
|
||||
super("UHC Manager", manager.getPlugin());
|
||||
|
||||
Manager = manager;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void AnnounceUpdate(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.SEC)
|
||||
return;
|
||||
|
||||
Bukkit.getScheduler().runTaskAsynchronously(Manager.getPlugin(), new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
long time = Utility.currentTimeMillis();
|
||||
|
||||
//System.out.println("UHC in " + UtilTime.MakeStr(_delay - (time % _delay)));
|
||||
|
||||
//Reset
|
||||
if (time % _delay > 30000 && time % _delay < _delay - 180000)
|
||||
{
|
||||
_canAnnounce3 = true;
|
||||
_canAnnounce2 = true;
|
||||
_canAnnounce1 = true;
|
||||
_canAnnounce0 = true;
|
||||
}
|
||||
//Announce
|
||||
else
|
||||
{
|
||||
if (_canAnnounce3 && time % _delay > _delay - 180000)
|
||||
{
|
||||
_canAnnounce3 = false;
|
||||
announce("Opening in 3 minutes...");
|
||||
|
||||
UtilTextMiddle.display(C.cRed + "Ultra Hardcore", "Open in 3 minutes...", 10, 100, 20);
|
||||
}
|
||||
|
||||
else if (_canAnnounce2 && time % _delay > _delay - 120000)
|
||||
{
|
||||
_canAnnounce2 = false;
|
||||
announce("Opening in 2 minutes...");
|
||||
|
||||
UtilTextMiddle.display(C.cRed + "Ultra Hardcore", "Open in 2 minutes...", 10, 100, 20);
|
||||
}
|
||||
|
||||
else if (_canAnnounce1 && time % _delay > _delay - 60000)
|
||||
{
|
||||
_canAnnounce1 = false;
|
||||
announce("Opening in 1 minute...");
|
||||
|
||||
UtilTextMiddle.display(C.cRed + "Ultra Hardcore", "Open in 1 minute...", 10, 100, 20);
|
||||
}
|
||||
|
||||
else if (_canAnnounce0 && time % _delay < 30000)
|
||||
{
|
||||
_canAnnounce0 = false;
|
||||
announce("UHC Open! Join at the Ultra Hardcore NPC!");
|
||||
|
||||
UtilTextMiddle.display(C.cRed + "Ultra Hardcore", "Join at the NPC to play", 10, 100, 20);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void announce(String message)
|
||||
{
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
UtilPlayer.message(player, C.cDPurple + "[Ultra Hardcore] " + C.cPurple + C.Bold + message);
|
||||
}
|
||||
}
|
@ -413,7 +413,7 @@ public class ServerManager extends MiniPlugin
|
||||
public void run(Collection<MinecraftServer> serverStatusList)
|
||||
{
|
||||
_serverPlayerCounts.clear();
|
||||
|
||||
|
||||
for (MinecraftServer serverStatus : serverStatusList)
|
||||
{
|
||||
if (!_serverInfoMap.containsKey(serverStatus.getName()))
|
||||
@ -454,10 +454,10 @@ public class ServerManager extends MiniPlugin
|
||||
if (_serverKeyTagMap.containsKey(tag))
|
||||
{
|
||||
_serverKeyInfoMap.get(_serverKeyTagMap.get(tag)).add(serverInfo);
|
||||
|
||||
|
||||
if (!_serverPlayerCounts.containsKey(tag))
|
||||
_serverPlayerCounts.put(tag, 0);
|
||||
|
||||
|
||||
_serverPlayerCounts.put(tag, _serverPlayerCounts.get(tag) + serverInfo.CurrentPlayers);
|
||||
}
|
||||
}
|
||||
@ -709,6 +709,21 @@ public class ServerManager extends MiniPlugin
|
||||
{
|
||||
return _serverNpcShopMap.get("Block Hunt");
|
||||
}
|
||||
|
||||
public ServerNpcShop getBetaShop()
|
||||
{
|
||||
return _serverNpcShopMap.get("Beta Games");
|
||||
}
|
||||
|
||||
public ServerNpcShop getUHCShop()
|
||||
{
|
||||
return _serverNpcShopMap.get("Ultra Hardcore");
|
||||
}
|
||||
|
||||
public ServerNpcShop getPlayerGamesShop()
|
||||
{
|
||||
return _serverNpcShopMap.get("Mineplex Player Servers");
|
||||
}
|
||||
|
||||
private Vector ParseVector(String vectorString)
|
||||
{
|
||||
|
@ -1,7 +1,10 @@
|
||||
package mineplex.hub.server;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
public class ServerSorter implements Comparator<ServerInfo>
|
||||
{
|
||||
private int _requiredSlots;
|
||||
@ -19,12 +22,36 @@ public class ServerSorter implements Comparator<ServerInfo>
|
||||
if ((a.MOTD.contains("Restarting")))
|
||||
return 1;
|
||||
|
||||
if ((a.MOTD.contains("Recruiting") || a.MOTD.contains("Waiting") || a.MOTD.contains("Starting") || a.MOTD.contains("Cup")) && !b.MOTD.contains("Recruiting") && !b.MOTD.contains("Waiting") && !b.MOTD.contains("Starting") && !b.MOTD.contains("Cup"))
|
||||
if ((a.MOTD.contains("Recruiting") || a.MOTD.contains("Waiting") || a.MOTD.contains("Starting") || a.MOTD.contains("Cup") || a.MOTD.contains("Generating")) && !b.MOTD.contains("Recruiting") && !b.MOTD.contains("Waiting") && !b.MOTD.contains("Starting") && !b.MOTD.contains("Cup") && !b.MOTD.contains("Generating"))
|
||||
return -1;
|
||||
|
||||
if ((b.MOTD.contains("Recruiting") || b.MOTD.contains("Waiting") || b.MOTD.contains("Starting") || b.MOTD.contains("Cup")) && !a.MOTD.contains("Recruiting") && !a.MOTD.contains("Waiting") && !a.MOTD.contains("Starting") && !a.MOTD.contains("Cup"))
|
||||
if ((b.MOTD.contains("Recruiting") || b.MOTD.contains("Waiting") || b.MOTD.contains("Starting") || b.MOTD.contains("Cup") || b.MOTD.contains("Generating")) && !a.MOTD.contains("Recruiting") && !a.MOTD.contains("Waiting") && !a.MOTD.contains("Starting") && !a.MOTD.contains("Cup") && !a.MOTD.contains("Generating"))
|
||||
return 1;
|
||||
|
||||
if (a.MOTD.contains("Generating") && b.MOTD.contains("Generating"))
|
||||
{
|
||||
try
|
||||
{
|
||||
String aTime = ChatColor.stripColor(a.MOTD.substring(a.MOTD.indexOf("(") + 1, a.MOTD.indexOf(")")));
|
||||
String bTime = ChatColor.stripColor(b.MOTD.substring(b.MOTD.indexOf("(") + 1, b.MOTD.indexOf(")")));
|
||||
|
||||
int timeOfA = (int)Double.parseDouble(aTime.split(" ")[0]) * (aTime.contains("Minute") ? 60 : 1);
|
||||
int timeOfB = (int)Double.parseDouble(bTime.split(" ")[0]) * (bTime.contains("Minute") ? 60 : 1);
|
||||
|
||||
if (timeOfA < timeOfB)
|
||||
return -1;
|
||||
else if (timeOfB < timeOfA)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
exception.printStackTrace();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (a.MaxPlayers - a.CurrentPlayers < _requiredSlots && b.MaxPlayers - b.CurrentPlayers >= _requiredSlots)
|
||||
return -1;
|
||||
|
||||
|
@ -14,6 +14,7 @@ import mineplex.core.donation.DonationManager;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.shop.page.ShopPageBase;
|
||||
import mineplex.hub.server.ServerManager;
|
||||
import mineplex.hub.server.ui.button.SelectBETAButton;
|
||||
import mineplex.hub.server.ui.button.SelectBHButton;
|
||||
import mineplex.hub.server.ui.button.SelectBLDButton;
|
||||
import mineplex.hub.server.ui.button.SelectBRButton;
|
||||
@ -22,9 +23,11 @@ import mineplex.hub.server.ui.button.SelectDMTButton;
|
||||
import mineplex.hub.server.ui.button.SelectDOMButton;
|
||||
import mineplex.hub.server.ui.button.SelectMINButton;
|
||||
import mineplex.hub.server.ui.button.SelectMSButton;
|
||||
import mineplex.hub.server.ui.button.SelectPLAYERButton;
|
||||
import mineplex.hub.server.ui.button.SelectSGButton;
|
||||
import mineplex.hub.server.ui.button.SelectSSMButton;
|
||||
import mineplex.hub.server.ui.button.SelectTDMButton;
|
||||
import mineplex.hub.server.ui.button.SelectUHCButton;
|
||||
import mineplex.hub.server.ui.button.SelectWIZButton;
|
||||
|
||||
public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
|
||||
@ -37,7 +40,7 @@ public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
|
||||
|
||||
public ServerGameMenu(ServerManager plugin, QuickShop quickShop, CoreClientManager clientManager, DonationManager donationManager, String name, Player player)
|
||||
{
|
||||
super(plugin, quickShop, clientManager, donationManager, name, player, 56);
|
||||
super(plugin, quickShop, clientManager, donationManager, name, player, 47);
|
||||
|
||||
createSuperSmashCycle();
|
||||
createMinigameCycle();
|
||||
@ -65,7 +68,7 @@ public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Search for chests to find loot and ",
|
||||
ChatColor.RESET + "fight others to be the last man standing. ",
|
||||
ChatColor.RESET + "Beware of the deep freeze!",
|
||||
ChatColor.RESET + "Stay away from the borders!",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Join " + ChatColor.GREEN + getPlugin().getGroupTagPlayerCount("HG") + ChatColor.RESET + " other players!",
|
||||
}));
|
||||
@ -82,14 +85,14 @@ public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
|
||||
|
||||
setItem(6, _superSmashCycle.get(_ssmIndex));
|
||||
|
||||
setItem(8, ItemStackFactory.Instance.CreateStack(Material.BLAZE_ROD.getId(), (byte)0, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Wizards " + C.cGray + "Last Man Standing", new String[]
|
||||
{
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Wield powerful spells to fight",
|
||||
ChatColor.RESET + "against other players in this",
|
||||
ChatColor.RESET + "exciting free-for-all brawl!",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Join " + ChatColor.GREEN + getPlugin().getGroupTagPlayerCount("WIZ") + ChatColor.RESET + " other players!",
|
||||
setItem(8, ItemStackFactory.Instance.CreateStack(Material.BLAZE_ROD.getId(), (byte) 0, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Wizards " + C.cGray + "Last Man Standing", new String[]
|
||||
{
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Wield powerful spells to fight",
|
||||
ChatColor.RESET + "against other players in this",
|
||||
ChatColor.RESET + "exciting free-for-all brawl!",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Join " + ChatColor.GREEN + getPlugin().getGroupTagPlayerCount("WIZ") + ChatColor.RESET + " other players!",
|
||||
}));
|
||||
|
||||
setItem(18, ItemStackFactory.Instance.CreateStack(Material.BOOK_AND_QUILL.getId(), (byte)0, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Draw My Thing " + C.cGray + "Pictionary!", new String[]
|
||||
@ -141,8 +144,18 @@ public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Join " + ChatColor.GREEN + getPlugin().getGroupTagPlayerCount("BH") + ChatColor.RESET + " other players!",
|
||||
}));
|
||||
|
||||
setItem(36, ItemStackFactory.Instance.CreateStack(Material.GOLDEN_APPLE.getId(), (byte)0, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "UHC " + C.cGray + "Ultra Hardcore Mode", new String[]
|
||||
{
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Extremely hard team-based survival ",
|
||||
ChatColor.RESET + "Gather materials and fight your way",
|
||||
ChatColor.RESET + "to become the last team standing!",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Join " + ChatColor.GREEN + getPlugin().getGroupTagPlayerCount("UHC") + ChatColor.RESET + " other players!",
|
||||
}));
|
||||
|
||||
setItem(36, ItemStackFactory.Instance.CreateStack(Material.WOOD.getId(), (byte)0, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Master Builders " + C.cGray + "Creative Build", new String[]
|
||||
setItem(38, ItemStackFactory.Instance.CreateStack(Material.WOOD.getId(), (byte)0, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Master Builders " + C.cGray + "Creative Build", new String[]
|
||||
{
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Players are given a Build Theme and ",
|
||||
@ -152,7 +165,25 @@ public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
|
||||
ChatColor.RESET + "Join " + ChatColor.GREEN + getPlugin().getGroupTagPlayerCount("BLD") + ChatColor.RESET + " other players!",
|
||||
}));
|
||||
|
||||
setItem(44, _minigameCycle.get(_minigameIndex));
|
||||
setItem(40, _minigameCycle.get(_minigameIndex));
|
||||
|
||||
setItem(42, ItemStackFactory.Instance.CreateStack(Material.SKULL_ITEM.getId(), (byte) 3, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Player Servers " + C.cGray + "Player Hosted Games", new String[]
|
||||
{
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Join your friends in their own ",
|
||||
ChatColor.RESET + "Mineplex Player Server. You can play",
|
||||
ChatColor.RESET + "the games you want, when you want.",
|
||||
ChatColor.RESET + "",
|
||||
}));
|
||||
|
||||
setItem(44, ItemStackFactory.Instance.CreateStack(Material.ANVIL.getId(), (byte) 0, 1, ChatColor.RESET + C.Bold + ChatColor.YELLOW + "Beta Games " + C.cGray + "Play Unreleased Games", new String[]
|
||||
{
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Help test and improve our ",
|
||||
ChatColor.RESET + "unreleased games.",
|
||||
ChatColor.RESET + "",
|
||||
ChatColor.RESET + "Join " + ChatColor.GREEN + getPlugin().getGroupTagPlayerCount("BETA") + ChatColor.RESET + " other players!",
|
||||
}));
|
||||
|
||||
getButtonMap().put(0, new SelectBRButton(this));
|
||||
getButtonMap().put(2, new SelectSGButton(this));
|
||||
@ -165,8 +196,11 @@ public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
|
||||
getButtonMap().put(22, new SelectDOMButton(this));
|
||||
getButtonMap().put(24, new SelectTDMButton(this));
|
||||
getButtonMap().put(26, new SelectBHButton(this));
|
||||
getButtonMap().put(36, new SelectBLDButton(this));
|
||||
getButtonMap().put(44, new SelectMINButton(this));
|
||||
getButtonMap().put(36, new SelectUHCButton(this));
|
||||
getButtonMap().put(38, new SelectBLDButton(this));
|
||||
getButtonMap().put(40, new SelectMINButton(this));
|
||||
getButtonMap().put(42, new SelectPLAYERButton(this));
|
||||
getButtonMap().put(44, new SelectBETAButton(this));
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@ -493,4 +527,19 @@ public class ServerGameMenu extends ShopPageBase<ServerManager, QuickShop>
|
||||
{
|
||||
getPlugin().getBuildShop().attemptShopOpen(player);
|
||||
}
|
||||
|
||||
public void openBeta(Player player)
|
||||
{
|
||||
getPlugin().getBetaShop().attemptShopOpen(player);
|
||||
}
|
||||
|
||||
public void openUHC(Player player)
|
||||
{
|
||||
getPlugin().getUHCShop().attemptShopOpen(player);
|
||||
}
|
||||
|
||||
public void openPlayerGames(Player player)
|
||||
{
|
||||
getPlugin().getPlayerGamesShop().attemptShopOpen(player);
|
||||
}
|
||||
}
|
||||
|
@ -327,7 +327,7 @@ public class ServerNpcPage extends ShopPageBase<ServerManager, ServerNpcShop> im
|
||||
|
||||
private boolean isStarting(ServerInfo serverInfo)
|
||||
{
|
||||
return (serverInfo.MOTD.contains("Starting") || serverInfo.MOTD.contains("Recruiting") || serverInfo.MOTD.contains("Waiting") || serverInfo.MOTD.contains("Open"));
|
||||
return (serverInfo.MOTD.contains("Starting") || serverInfo.MOTD.contains("Recruiting") || serverInfo.MOTD.contains("Generating") || serverInfo.MOTD.contains("Waiting") || serverInfo.MOTD.contains("Open"));
|
||||
}
|
||||
|
||||
private boolean isInProgress(ServerInfo serverInfo)
|
||||
|
@ -0,0 +1,23 @@
|
||||
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.ui.ServerGameMenu;
|
||||
|
||||
public class SelectBETAButton implements IButton
|
||||
{
|
||||
private ServerGameMenu _menu;
|
||||
|
||||
public SelectBETAButton(ServerGameMenu menu)
|
||||
{
|
||||
_menu = menu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
_menu.openBeta(player);
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
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.ui.ServerGameMenu;
|
||||
|
||||
public class SelectPLAYERButton implements IButton
|
||||
{
|
||||
private ServerGameMenu _menu;
|
||||
|
||||
public SelectPLAYERButton(ServerGameMenu menu)
|
||||
{
|
||||
_menu = menu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
_menu.openPlayerGames(player);
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
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.ui.ServerGameMenu;
|
||||
|
||||
public class SelectUHCButton implements IButton
|
||||
{
|
||||
private ServerGameMenu _menu;
|
||||
|
||||
public SelectUHCButton(ServerGameMenu menu)
|
||||
{
|
||||
_menu = menu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
_menu.openUHC(player);
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@ package mineplex.minecraft.game.core.damage;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.common.util.F;
|
||||
@ -16,6 +17,7 @@ import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.disguise.DisguiseManager;
|
||||
import mineplex.core.npc.NpcManager;
|
||||
import mineplex.minecraft.game.core.combat.CombatManager;
|
||||
import mineplex.minecraft.game.core.condition.ConditionManager;
|
||||
import mineplex.minecraft.game.core.damage.compatibility.NpcProtectListener;
|
||||
import net.minecraft.server.v1_7_R4.DamageSource;
|
||||
import net.minecraft.server.v1_7_R4.EntityHuman;
|
||||
@ -28,6 +30,7 @@ import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftLivingEntity;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.Fish;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
@ -42,24 +45,28 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import com.sun.jndi.ldap.ManageReferralControl;
|
||||
|
||||
public class DamageManager extends MiniPlugin
|
||||
{
|
||||
private CombatManager _combatManager;
|
||||
private DisguiseManager _disguiseManager;
|
||||
private ConditionManager _conditionManager;
|
||||
protected Field _lastDamageByPlayerTime;
|
||||
protected Method _k;
|
||||
|
||||
public boolean UseSimpleWeaponDamage = false;
|
||||
public boolean DisableDamageChanges = false;
|
||||
|
||||
|
||||
private boolean _enabled = true;
|
||||
|
||||
public DamageManager(JavaPlugin plugin, CombatManager combatManager, NpcManager npcManager, DisguiseManager disguiseManager)
|
||||
|
||||
public DamageManager(JavaPlugin plugin, CombatManager combatManager, NpcManager npcManager, DisguiseManager disguiseManager, ConditionManager conditionManager)
|
||||
{
|
||||
super("Damage Manager", plugin);
|
||||
|
||||
_combatManager = combatManager;
|
||||
_disguiseManager = disguiseManager;
|
||||
_conditionManager = conditionManager;
|
||||
|
||||
try
|
||||
{
|
||||
@ -100,9 +107,9 @@ public class DamageManager extends MiniPlugin
|
||||
//Pre-Event Modifications
|
||||
if (!DisableDamageChanges)
|
||||
WeaponDamage(event, damager);
|
||||
|
||||
|
||||
double damage = event.getDamage();
|
||||
|
||||
|
||||
//Consistent Arrow Damage
|
||||
if (projectile != null && projectile instanceof Arrow)
|
||||
{
|
||||
@ -113,7 +120,7 @@ public class DamageManager extends MiniPlugin
|
||||
NewDamageEvent(damagee, damager, projectile, event.getCause(), damage, true, false, false, null, null, preCancel);
|
||||
|
||||
//System.out.println(UtilEnt.getName(damagee) + " by " + event.getCause() + " at " + UtilWorld.locToStr(damagee.getLocation()));
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@ -123,7 +130,7 @@ public class DamageManager extends MiniPlugin
|
||||
if (event.isCancelled())
|
||||
{
|
||||
Projectile projectile = GetProjectile(event);
|
||||
|
||||
|
||||
if (projectile instanceof Arrow)
|
||||
{
|
||||
projectile.teleport(new Location(projectile.getWorld(), 0, 0, 0));
|
||||
@ -191,7 +198,7 @@ public class DamageManager extends MiniPlugin
|
||||
event.SetCancelled("Damagee in Creative");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (UtilPlayer.isSpectator(damagee))
|
||||
{
|
||||
event.SetCancelled("Damagee in Spectator");
|
||||
@ -230,13 +237,80 @@ public class DamageManager extends MiniPlugin
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL)
|
||||
public void handleEnchants(CustomDamageEvent event)
|
||||
{
|
||||
if (event.IsCancelled())
|
||||
return;
|
||||
|
||||
//Defensive
|
||||
Player damagee = event.GetDamageePlayer();
|
||||
if (damagee != null)
|
||||
{
|
||||
for (ItemStack stack : damagee.getInventory().getArmorContents())
|
||||
{
|
||||
if (stack == null)
|
||||
continue;
|
||||
|
||||
Map<Enchantment, Integer> enchants = stack.getEnchantments();
|
||||
for (Enchantment e : enchants.keySet())
|
||||
{
|
||||
if (e.equals(Enchantment.PROTECTION_ENVIRONMENTAL))
|
||||
event.AddMod("Ench Prot", damagee.getName(), 0.5 * (double)enchants.get(e), false);
|
||||
|
||||
else if (e.equals(Enchantment.PROTECTION_FIRE) &&
|
||||
event.GetCause() == DamageCause.FIRE &&
|
||||
event.GetCause() == DamageCause.FIRE_TICK &&
|
||||
event.GetCause() == DamageCause.LAVA)
|
||||
event.AddMod("Ench Prot", damagee.getName(), 0.5 * (double)enchants.get(e), false);
|
||||
|
||||
else if (e.equals(Enchantment.PROTECTION_FALL) &&
|
||||
event.GetCause() == DamageCause.FALL)
|
||||
event.AddMod("Ench Prot", damagee.getName(), 0.5 * (double)enchants.get(e), false);
|
||||
|
||||
else if (e.equals(Enchantment.PROTECTION_EXPLOSIONS) &&
|
||||
event.GetCause() == DamageCause.ENTITY_EXPLOSION)
|
||||
event.AddMod("Ench Prot", damagee.getName(), 0.5 * (double)enchants.get(e), false);
|
||||
|
||||
else if (e.equals(Enchantment.PROTECTION_PROJECTILE) &&
|
||||
event.GetCause() == DamageCause.PROJECTILE)
|
||||
event.AddMod("Ench Prot", damagee.getName(), 0.5 * (double)enchants.get(e), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Offensive
|
||||
Player damager = event.GetDamagerPlayer(true);
|
||||
if (damager != null)
|
||||
{
|
||||
ItemStack stack = damager.getItemInHand();
|
||||
if (stack == null)
|
||||
return;
|
||||
|
||||
Map<Enchantment, Integer> enchants = stack.getEnchantments();
|
||||
for (Enchantment e : enchants.keySet())
|
||||
{
|
||||
if (e.equals(Enchantment.ARROW_KNOCKBACK) || e.equals(Enchantment.KNOCKBACK))
|
||||
event.AddKnockback("Ench Knockback", 1 + (0.5 * (double)enchants.get(e)));
|
||||
|
||||
else if (e.equals(Enchantment.ARROW_DAMAGE))
|
||||
event.AddMod("Enchant", "Ench Damage", 0.5 * (double)enchants.get(e), true);
|
||||
|
||||
else if (e.equals(Enchantment.ARROW_FIRE) || e.equals(Enchantment.FIRE_ASPECT))
|
||||
if (_conditionManager != null)
|
||||
_conditionManager.Factory().Ignite("Ench Fire", event.GetDamageeEntity(), damager,
|
||||
1 * (double)enchants.get(e), false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void EndDamageEvent(CustomDamageEvent event)
|
||||
{
|
||||
if (!event.IsCancelled() && event.GetDamage() > 0)
|
||||
{
|
||||
Damage(event);
|
||||
|
||||
|
||||
//DING ARROW
|
||||
if (event.GetProjectile() != null && event.GetProjectile() instanceof Arrow)
|
||||
{
|
||||
@ -247,7 +321,7 @@ public class DamageManager extends MiniPlugin
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DisplayDamage(event);
|
||||
}
|
||||
|
||||
@ -255,10 +329,10 @@ public class DamageManager extends MiniPlugin
|
||||
{
|
||||
if (event.GetDamageeEntity() == null)
|
||||
return;
|
||||
|
||||
|
||||
if (event.GetDamageeEntity().getHealth() <= 0)
|
||||
return;
|
||||
|
||||
|
||||
//Player Conditions
|
||||
if (event.GetDamageePlayer() != null)
|
||||
{
|
||||
@ -293,29 +367,34 @@ public class DamageManager extends MiniPlugin
|
||||
//Sticky Arrow
|
||||
if (event.GetCause() == DamageCause.PROJECTILE)
|
||||
((CraftLivingEntity)event.GetDamageeEntity()).getHandle().p(((CraftLivingEntity)event.GetDamageeEntity()).getHandle().aZ() + 1);
|
||||
|
||||
|
||||
//Knockback
|
||||
double knockback = event.GetDamage();
|
||||
if (knockback < 2) knockback = 2;
|
||||
knockback = Math.log10(knockback);
|
||||
|
||||
for (double cur : event.GetKnockback().values())
|
||||
knockback = knockback * cur;
|
||||
if (event.IsKnockback() && event.GetDamagerEntity(true) != null)
|
||||
{
|
||||
//Base
|
||||
double knockback = event.GetDamage();
|
||||
if (knockback < 2) knockback = 2;
|
||||
knockback = Math.log10(knockback);
|
||||
|
||||
if (event.IsKnockback())
|
||||
if (event.GetDamagerEntity(true) != null)
|
||||
{
|
||||
Location origin = event.GetDamagerEntity(true).getLocation();
|
||||
if (event.getKnockbackOrigin() != null)
|
||||
origin = event.getKnockbackOrigin();
|
||||
|
||||
Vector trajectory = UtilAlg.getTrajectory2d(origin, event.GetDamageeEntity().getLocation());
|
||||
trajectory.multiply(0.6 * knockback);
|
||||
trajectory.setY(Math.abs(trajectory.getY()));
|
||||
//Mults
|
||||
for (double cur : event.GetKnockback().values())
|
||||
knockback = knockback * cur;
|
||||
|
||||
//Origin
|
||||
Location origin = event.GetDamagerEntity(true).getLocation();
|
||||
if (event.getKnockbackOrigin() != null)
|
||||
origin = event.getKnockbackOrigin();
|
||||
|
||||
//Vec
|
||||
Vector trajectory = UtilAlg.getTrajectory2d(origin, event.GetDamageeEntity().getLocation());
|
||||
trajectory.multiply(0.6 * knockback);
|
||||
trajectory.setY(Math.abs(trajectory.getY()));
|
||||
|
||||
//Apply
|
||||
UtilAction.velocity(event.GetDamageeEntity(),
|
||||
trajectory, 0.2 + trajectory.length() * 0.8, false, 0, Math.abs(0.2 * knockback), 0.4 + (0.04 * knockback), true);
|
||||
}
|
||||
|
||||
UtilAction.velocity(event.GetDamageeEntity(),
|
||||
trajectory, 0.2 + trajectory.length() * 0.8, false, 0, Math.abs(0.2 * knockback), 0.4 + (0.04 * knockback), true);
|
||||
}
|
||||
}
|
||||
catch (IllegalAccessException e)
|
||||
{
|
||||
@ -365,7 +444,7 @@ public class DamageManager extends MiniPlugin
|
||||
{
|
||||
EntityLiving entityDamagee = ((CraftLivingEntity)damagee).getHandle();
|
||||
EntityLiving entityDamager = null;
|
||||
|
||||
|
||||
if (damager != null)
|
||||
entityDamager= ((CraftLivingEntity)damager).getHandle();
|
||||
|
||||
@ -426,7 +505,7 @@ public class DamageManager extends MiniPlugin
|
||||
LivingEntity damagee = event.GetDamageeEntity();
|
||||
if (damagee == null) return;
|
||||
|
||||
|
||||
|
||||
if (_disguiseManager.isDisguised(damagee))
|
||||
{
|
||||
_disguiseManager.getDisguise(damagee).playHurtSound();
|
||||
@ -576,7 +655,7 @@ public class DamageManager extends MiniPlugin
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public void SetEnabled(boolean var)
|
||||
{
|
||||
_enabled = var;
|
||||
@ -586,4 +665,9 @@ public class DamageManager extends MiniPlugin
|
||||
{
|
||||
return _combatManager;
|
||||
}
|
||||
|
||||
public void setConditionManager(ConditionManager cm)
|
||||
{
|
||||
_conditionManager = cm;
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ public class MinecraftServer
|
||||
public boolean isJoinable()
|
||||
{
|
||||
if (_motd != null && (_motd.contains("Starting") || _motd.contains("Recruiting")
|
||||
|| _motd.contains("Waiting") || _motd.contains("Open in") || _motd.isEmpty()))
|
||||
|| _motd.contains("Waiting") || _motd.contains("Open in") || _motd.isEmpty() || _motd.contains("Generating")))
|
||||
{
|
||||
if (_playerCount < _maxPlayerCount)
|
||||
{
|
||||
|
@ -1,10 +1,10 @@
|
||||
package nautilus.game.arcade;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import net.minecraft.server.v1_7_R4.BiomeBase;
|
||||
import net.minecraft.server.v1_7_R4.MinecraftServer;
|
||||
import mineplex.core.CustomTagFix;
|
||||
import mineplex.core.TablistFix;
|
||||
@ -41,7 +41,6 @@ import mineplex.core.projectile.ProjectileManager;
|
||||
import mineplex.core.punish.Punish;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.serverConfig.ServerConfiguration;
|
||||
import mineplex.core.spawn.Spawn;
|
||||
import mineplex.core.status.ServerStatusManager;
|
||||
import mineplex.core.teleport.Teleport;
|
||||
import mineplex.core.updater.FileUpdater;
|
||||
@ -105,7 +104,7 @@ public class Arcade extends JavaPlugin
|
||||
|
||||
DisguiseManager disguiseManager = new DisguiseManager(this, packetHandler);
|
||||
|
||||
_damageManager = new DamageManager(this, new CombatManager(this), new NpcManager(this, creature), disguiseManager);
|
||||
_damageManager = new DamageManager(this, new CombatManager(this), new NpcManager(this, creature), disguiseManager, null);
|
||||
|
||||
Punish punish = new Punish(this, webServerAddress, _clientManager);
|
||||
AntiHack.Initialize(this, punish, portal, preferenceManager, _clientManager);
|
||||
@ -141,6 +140,12 @@ public class Arcade extends JavaPlugin
|
||||
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Updater(this), 1, 1);
|
||||
|
||||
MinecraftServer.getServer().getPropertyManager().setProperty("debug", true);
|
||||
|
||||
// Remove nasty biomes from natural terrain generation, used for UHC
|
||||
BiomeBase.getBiomes()[BiomeBase.OCEAN.id] = BiomeBase.PLAINS;
|
||||
BiomeBase.getBiomes()[BiomeBase.DEEP_OCEAN.id] = BiomeBase.PLAINS;
|
||||
BiomeBase.getBiomes()[BiomeBase.SWAMPLAND.id] = BiomeBase.PLAINS;
|
||||
BiomeBase.getBiomes()[BiomeBase.RIVER.id] = BiomeBase.PLAINS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -84,6 +84,7 @@ import mineplex.core.status.ServerStatusManager;
|
||||
import mineplex.core.task.TaskManager;
|
||||
import mineplex.core.teleport.Teleport;
|
||||
import mineplex.core.timing.TimingManager;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.minecraft.game.classcombat.Class.ClassManager;
|
||||
import mineplex.minecraft.game.classcombat.Condition.SkillConditionManager;
|
||||
@ -214,7 +215,6 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||
// Modules
|
||||
_blockRestore = new BlockRestore(plugin);
|
||||
|
||||
|
||||
_blood = blood;
|
||||
_preferencesManager = preferences;
|
||||
|
||||
@ -222,8 +222,8 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||
_explosionManager.SetDebris(false);
|
||||
|
||||
if (serverConfig.GameList.contains(GameType.ChampionsDominate)
|
||||
|| serverConfig.GameList.contains(GameType.ChampionsTDM)
|
||||
|| serverConfig.GameList.contains(GameType.ChampionsMOBA))
|
||||
|| serverConfig.GameList.contains(GameType.ChampionsTDM)
|
||||
|| serverConfig.GameList.contains(GameType.ChampionsMOBA))
|
||||
{
|
||||
_conditionManager = new SkillConditionManager(plugin);
|
||||
}
|
||||
@ -231,7 +231,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||
{
|
||||
_conditionManager = new ConditionManager(plugin);
|
||||
}
|
||||
|
||||
|
||||
_clientManager = clientManager;
|
||||
_serverStatusManager = serverStatusManager;
|
||||
_chat = chat;
|
||||
@ -239,7 +239,8 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||
|
||||
_damageManager = damageManager;
|
||||
_damageManager.UseSimpleWeaponDamage = true;
|
||||
|
||||
_damageManager.setConditionManager(_conditionManager);
|
||||
|
||||
_disguiseManager = disguiseManager;
|
||||
|
||||
_donationManager = donationManager;
|
||||
@ -815,7 +816,7 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||
|| _donationManager.Get(event.getPlayer().getName()).OwnsUnknownPackage(_serverConfig.ServerType + " ULTRA"))
|
||||
{
|
||||
|
||||
if (GetGame() != null && (GetGame().GetType() == GameType.UHC || GetGame().GetType() == GameType.Halloween || GetGame().GetType() == GameType.Christmas || GetGame().GetType() == GameType.ChampionsDominate || GetGame().GetType() == GameType.ChampionsTDM || GetGame().GetType() == GameType.MineStrike))
|
||||
if (GetGame() != null && GetGame().DontAllowOverfill)
|
||||
{
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, C.Bold + "Server has reached max capacity for gameplay purposes.");
|
||||
return;
|
||||
|
@ -11,6 +11,7 @@ import nautilus.game.arcade.game.games.baconbrawl.BaconBrawl;
|
||||
import nautilus.game.arcade.game.games.barbarians.Barbarians;
|
||||
import nautilus.game.arcade.game.games.bridge.Bridge;
|
||||
import nautilus.game.arcade.game.games.build.Build;
|
||||
import nautilus.game.arcade.game.games.cards.Cards;
|
||||
import nautilus.game.arcade.game.games.castlesiege.CastleSiege;
|
||||
import nautilus.game.arcade.game.games.champions.ChampionsDominate;
|
||||
import nautilus.game.arcade.game.games.champions.ChampionsTDM;
|
||||
@ -70,6 +71,7 @@ public class GameFactory
|
||||
else if (gameType == GameType.BaconBrawl) return new BaconBrawl(_manager);
|
||||
else if (gameType == GameType.Bridge) return new Bridge(_manager);
|
||||
else if (gameType == GameType.Build) return new Build(_manager);
|
||||
else if (gameType == GameType.Cards) return new Cards(_manager);
|
||||
else if (gameType == GameType.CastleSiege) return new CastleSiege(_manager);
|
||||
else if (gameType == GameType.Christmas) return new Christmas(_manager);
|
||||
else if (gameType == GameType.DeathTag) return new DeathTag(_manager);
|
||||
|
@ -54,7 +54,9 @@ public enum GameType
|
||||
WitherAssault("Wither Assault", Material.SKULL_ITEM, (byte)1, GameCategory.ARCADE, 47),
|
||||
Wizards("Wizards", Material.BLAZE_ROD, (byte)0, GameCategory.SURVIVAL, 48, "http://chivebox.com/file/c/ResWizards.zip", true),
|
||||
ZombieSurvival("Zombie Survival", Material.SKULL_ITEM, (byte)2, GameCategory.SURVIVAL, 49),
|
||||
|
||||
Build("Master Builders", Material.BRICK, (byte)0, GameCategory.CLASSICS, 50),
|
||||
Cards("Craft Against Humanity", Material.MAP, (byte)0, GameCategory.CLASSICS, 51),
|
||||
|
||||
Event("Mineplex Event", Material.CAKE, (byte)0, GameCategory.EVENT, 999);
|
||||
|
||||
|
@ -10,7 +10,7 @@ public class YoutubeCommand extends CommandBase<ArcadeManager>
|
||||
{
|
||||
public YoutubeCommand(ArcadeManager plugin)
|
||||
{
|
||||
super(plugin, Rank.OWNER, new Rank[] {Rank.YOUTUBE}, "youtube");
|
||||
super(plugin, Rank.OWNER, new Rank[] {Rank.YOUTUBE, Rank.TWITCH}, new String[] {"youtube", "twitch"});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -188,6 +188,7 @@ public abstract class Game implements Listener
|
||||
public boolean WorldFireSpread = false;
|
||||
public boolean WorldLeavesDecay = false;
|
||||
public boolean WorldSoilTrample = false;
|
||||
public boolean WorldBoneMeal = false;
|
||||
|
||||
public int HungerSet = -1;
|
||||
public int HealthSet = -1;
|
||||
@ -217,6 +218,8 @@ public abstract class Game implements Listener
|
||||
public boolean GadgetsDisabled = true;
|
||||
|
||||
public boolean TeleportsDisqualify = true;
|
||||
|
||||
public boolean DontAllowOverfill = false;
|
||||
|
||||
//Addons
|
||||
public boolean CompassEnabled = false;
|
||||
|
@ -54,6 +54,7 @@ public class GameTeam
|
||||
}
|
||||
|
||||
private String _name;
|
||||
private String _displayName;
|
||||
private ChatColor _color;
|
||||
|
||||
private HashMap<Player, PlayerState> _players = new HashMap<Player, PlayerState>();
|
||||
@ -75,6 +76,7 @@ public class GameTeam
|
||||
{
|
||||
Host = host;
|
||||
|
||||
_displayName = name;
|
||||
_name = name;
|
||||
_color = color;
|
||||
_spawns = spawns;
|
||||
@ -139,11 +141,19 @@ public class GameTeam
|
||||
{
|
||||
_players.put(player, in ? PlayerState.IN : PlayerState.OUT);
|
||||
|
||||
UtilPlayer.message(player, F.main("Team", _color + C.Bold + "You joined " + _name + " Team") + ".");
|
||||
UtilPlayer.message(player, F.main("Team", _color + C.Bold + "You joined " + _displayName + " Team."));
|
||||
|
||||
VisibilityManager.Instance.refreshPlayerToAll(player);
|
||||
}
|
||||
|
||||
public void DisbandTeam()
|
||||
{
|
||||
for (Player player : _players.keySet())
|
||||
UtilPlayer.message(player, F.main("Team", _color + C.Bold + _displayName + " Team was disbanded."));
|
||||
|
||||
_players.clear();
|
||||
}
|
||||
|
||||
public void RemovePlayer(Player player)
|
||||
{
|
||||
_players.remove(player);
|
||||
@ -261,6 +271,11 @@ public class GameTeam
|
||||
{
|
||||
_name = name;
|
||||
}
|
||||
|
||||
public void setDisplayName(String name)
|
||||
{
|
||||
_displayName = name;
|
||||
}
|
||||
|
||||
public byte GetColorData()
|
||||
{
|
||||
@ -375,4 +390,6 @@ public class GameTeam
|
||||
|
||||
return _places;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import nautilus.game.arcade.kit.*;
|
||||
import nautilus.game.arcade.stats.TeamDeathsStatTracker;
|
||||
import nautilus.game.arcade.stats.TeamKillsStatTracker;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.event.*;
|
||||
import org.bukkit.event.player.*;
|
||||
@ -71,9 +72,9 @@ public abstract class TeamGame extends Game
|
||||
|
||||
if (player.isDead())
|
||||
return;
|
||||
|
||||
|
||||
if (player.getWorld().getName().equalsIgnoreCase("world"))
|
||||
return;
|
||||
return;
|
||||
|
||||
if (!QuitOut)
|
||||
{
|
||||
@ -83,7 +84,7 @@ public abstract class TeamGame extends Game
|
||||
|
||||
if (GetKit(player) != null)
|
||||
RejoinKit.put(player.getName(), GetKit(player));
|
||||
|
||||
|
||||
RejoinHealth.put(player.getName(), player.getHealth());
|
||||
|
||||
GetLocationStore().put(player.getName(), player.getLocation());
|
||||
@ -110,22 +111,40 @@ public abstract class TeamGame extends Game
|
||||
Kit kit = RejoinKit.remove(event.getPlayer().getName());
|
||||
if (kit != null)
|
||||
_playerKit.put(event.getPlayer(), kit);
|
||||
|
||||
if (RejoinHealth.containsKey(event.getPlayer().getName()))
|
||||
event.getPlayer().setHealth(RejoinHealth.remove(event.getPlayer().getName()));
|
||||
|
||||
// final Player player = event.getPlayer();
|
||||
// Bukkit.getScheduler().runTaskLater(Manager.getPlugin(), new Runnable()
|
||||
// {
|
||||
// @Override
|
||||
// public void run()
|
||||
// {
|
||||
// if (RejoinHealth.containsKey(player.getName()))
|
||||
// {
|
||||
// double health = RejoinHealth.remove(player.getName());
|
||||
// player.setHealth(health);
|
||||
// player.sendMessage("DEBUG: restored hp to " + health);
|
||||
// }
|
||||
// }
|
||||
// }, 20);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
//Owner Bypass
|
||||
if (Manager.GetClients().Get(event.getPlayer()).GetRank().Has(Rank.OWNER))
|
||||
}
|
||||
|
||||
//Do this on Join, not Login, otherwise player no get heal.
|
||||
@EventHandler
|
||||
public void playerRejoinGame(PlayerJoinEvent event)
|
||||
{
|
||||
if (!InProgress() || QuitOut)
|
||||
return;
|
||||
|
||||
//Disallow
|
||||
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, ChatColor.YELLOW + "You cannot join this UHC.");
|
||||
*/
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (RejoinHealth.containsKey(player.getName()))
|
||||
{
|
||||
double health = RejoinHealth.remove(player.getName());
|
||||
player.setHealth(health);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -2,7 +2,6 @@ package nautilus.game.arcade.game.games.build;
|
||||
|
||||
import java.util.AbstractMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
@ -13,6 +12,8 @@ import org.bukkit.Sound;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Boat;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Hanging;
|
||||
import org.bukkit.entity.Item;
|
||||
import org.bukkit.entity.ItemFrame;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
@ -41,10 +42,15 @@ import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
import org.bukkit.event.entity.EntityCombustEvent;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||
import org.bukkit.event.entity.EntityShootBowEvent;
|
||||
import org.bukkit.event.entity.ItemDespawnEvent;
|
||||
import org.bukkit.event.entity.ProjectileLaunchEvent;
|
||||
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
|
||||
import org.bukkit.event.hanging.HangingBreakEvent;
|
||||
import org.bukkit.event.hanging.HangingPlaceEvent;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.player.PlayerBucketEmptyEvent;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
@ -93,6 +99,8 @@ import nautilus.game.arcade.kit.Kit;
|
||||
public class Build extends SoloGame
|
||||
{
|
||||
private NautHashMap<Player, BuildData> _data = new NautHashMap<Player, BuildData>();
|
||||
|
||||
private NautHashMap<Player, NautHashMap<Player, Integer>> _votes = new NautHashMap<Player, NautHashMap<Player, Integer>>();
|
||||
|
||||
private ArrayList<Entry<Player,Double>> _scoreboardPlaces = new ArrayList<Entry<Player,Double>>();
|
||||
|
||||
@ -113,7 +121,7 @@ public class Build extends SoloGame
|
||||
private MobShop _mobShop;
|
||||
private ItemStack _shopItem;
|
||||
|
||||
private String[] _hintText = new String[]
|
||||
private String[] _hintText = new String[]
|
||||
{
|
||||
"Click Creatures to change their settings!",
|
||||
"Set the Time/Weather in the Options Menu!",
|
||||
@ -163,11 +171,30 @@ public class Build extends SoloGame
|
||||
this.CreatureAllow = true;
|
||||
|
||||
this.WorldFireSpread = true;
|
||||
this.WorldBoneMeal = true;
|
||||
|
||||
this.DontAllowOverfill = true;
|
||||
|
||||
UtilServer.getServer().spigot().getConfig().set("view-distance", 4);
|
||||
|
||||
_words = new String[]
|
||||
{
|
||||
"Rollercoaster", "Archery Range", "Pokemon", "Pirates", "Vikings", "Dinosaur", "Dragon", "Toilet", "Farm", "Tree House", "Burger", "Cat", "Truck", "Bicycle", "Soda", "Music Instrument", "Statue", "Cannon", "Catapult", "Sailing Boat", "Grim Reaper", "Star Wars", "Elephant", "Penguin", "Ninja", "Pot of Gold", "Shrek", "Fruit", "Breakfast", "Toaster", "Robot", "Camping", "Rocket", "Aliens", "Shipwreck", "Cannibals", "Flying Creature", "Beach Creature", "Sea Creature", "Spongebob", "Car", "Pot Plant", "Weapons", "Christmas", "King", "Queen", "Angel", "Demon", "Halloween", "Tank", "Aeroplane"
|
||||
|
||||
"Rollercoaster", "Pokemon", "Pirates", "Vikings", "Dinosaur", "Dragon", "Toilet", "Farm", "Tree House",
|
||||
"Cat", "Truck", "Bicycle", "Soda", "Music Instrument", "Statue", "Pot of Gold", "Shrek", "Fruit", "Breakfast",
|
||||
"Toaster", "Robot", "Camping", "Rocket", "Aliens", "Shipwreck", "Spongebob", "Car", "Potted Plant", "Weapons",
|
||||
"Christmas", "King", "Queen", "Angel", "Demon", "Halloween", "Tank", "Helicopter", "Knight", "Rabbit",
|
||||
"Sandwich", "Snowman", "Ice Cream", "Sea Shell", "Rainbow",
|
||||
"Volcano", "Hot Tub", "Octopus", "Ghost", "Ant", "Cheese", "Kite Flying", "Reptile",
|
||||
"Space Ship", "Pixel Art", "Chicken", "Shoe", "Owl", "Bear", "Flowers", "Lighthouse",
|
||||
"Lion", "Television", "Batman", "Tiger", "Castle", "House",
|
||||
"Bed", "Party", "Volleyball", "Toys", "Library", "Love", "Skull",
|
||||
"Hat", "Snake", "Vacation", "Umbrella", "Magic", "Tornado", "Candy", "Dentist", "Pizza", "Bird",
|
||||
"Superhero", "Turtle", "Chicken", "Build Anything!", "Food", "Picnic",
|
||||
"Trophy", "Pool Party", "Hot Air Balloon", "Train", "Chocolate Bar",
|
||||
"Clown", "Windmill", "Alligator",
|
||||
"Police", "Igloo", "Gift", "Bumblebee", "Jellyfish", "Speedboat",
|
||||
"Fall", "Summer", "Autumn", "Winter", "Disco", "Moose",
|
||||
"Water Gun", "Astronaut", "Wither", "Meteor"
|
||||
};
|
||||
|
||||
_mobShop = new MobShop(getArcadeManager(), getArcadeManager().GetClients(), getArcadeManager().GetDonation());
|
||||
@ -328,9 +355,24 @@ public class Build extends SoloGame
|
||||
//Verdict
|
||||
if (!_viewData.Judged)
|
||||
{
|
||||
BuildQuality quality = BuildQuality.getQuality(_viewData.getScore());
|
||||
|
||||
if (quality == BuildQuality.Failure)
|
||||
boolean hasDecentVote = false;
|
||||
|
||||
|
||||
for (Player player : _votes.keySet())
|
||||
{
|
||||
NautHashMap<Player, Integer> votes = _votes.get(player);
|
||||
|
||||
if (votes.containsKey(_viewData.Player))
|
||||
{
|
||||
if (votes.get(_viewData.Player) > 2)
|
||||
{
|
||||
hasDecentVote = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!hasDecentVote)
|
||||
{
|
||||
Manager.GetExplosion().BlockExplosion(_viewData.Blocks, _viewData.Spawn, false);
|
||||
|
||||
@ -341,7 +383,7 @@ public class Build extends SoloGame
|
||||
}
|
||||
|
||||
//Announce Builder
|
||||
UtilTextMiddle.display(quality.getText(), "Built by: " + C.Bold + _viewData.Player.getName(), 0, 80, 5);
|
||||
UtilTextMiddle.display(hasDecentVote ? null : C.cRed + "Failure", "Built by: " + C.Bold + _viewData.Player.getName(), 0, 80, 5);
|
||||
}
|
||||
|
||||
_viewData.Judged = true;
|
||||
@ -382,12 +424,12 @@ public class Build extends SoloGame
|
||||
{
|
||||
UtilInv.Clear(player);
|
||||
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)14, 1, C.Bold + "+0 " + C.cRed + C.Bold + "MY EYES ARE BLEEDING!"));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)1, 1, C.Bold + "+1 " + C.cGold + C.Bold + "MEH..."));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)4, 1, C.Bold + "+2 " + C.cYellow + C.Bold + "It's okay..."));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)5, 1, C.Bold + "+3 " + C.cGreen + C.Bold + "Good"));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)3, 1, C.Bold + "+4 " + C.cAqua + C.Bold + "Amazing"));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)10, 1, C.Bold + "+5 " + C.cPurple + C.Bold + "WOW! EVERYTHING IS AWESOME!"));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)14, 1, C.cRed + C.Bold + "MY EYES ARE BLEEDING!"));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)1, 1, C.cGold + C.Bold + "MEH..."));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)4, 1, C.cYellow + C.Bold + "It's okay..."));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)5, 1, C.cGreen + C.Bold + "Good"));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)3, 1, C.cAqua + C.Bold + "Amazing"));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(160, (byte)10, 1, C.cPurple + C.Bold + "WOW! EVERYTHING IS AWESOME!"));
|
||||
|
||||
UtilTextMiddle.display(null, C.cYellow + "Click to Vote", 0, 60, 5, player);
|
||||
}
|
||||
@ -408,6 +450,8 @@ public class Build extends SoloGame
|
||||
}
|
||||
else if (_buildGameState == 4)
|
||||
{
|
||||
tallyScores();
|
||||
|
||||
ArrayList<Player> places = new ArrayList<Player>();
|
||||
|
||||
//Calculate Places
|
||||
@ -415,21 +459,21 @@ public class Build extends SoloGame
|
||||
while (!_data.isEmpty())
|
||||
{
|
||||
Player bestPlayer = null;
|
||||
double bestScore = 0;
|
||||
double bestPoints = 0;
|
||||
|
||||
for (Player player : _data.keySet())
|
||||
{
|
||||
double score = _data.get(player).getScore();
|
||||
double points = _data.get(player).getPoints();
|
||||
|
||||
if (bestPlayer == null || score > bestScore)
|
||||
if (bestPlayer == null || points > bestPoints)
|
||||
{
|
||||
bestPlayer = player;
|
||||
bestScore = score;
|
||||
bestPoints = points;
|
||||
}
|
||||
}
|
||||
|
||||
AddGems(bestPlayer, bestScore, "Build Votes", false, false);
|
||||
|
||||
//Average points per player is 1000, so divided by 50 = 20 gems
|
||||
AddGems(bestPlayer, bestPoints / 50, "Build Votes", false, false);
|
||||
|
||||
BuildData data = _data.remove(bestPlayer);
|
||||
|
||||
@ -440,11 +484,8 @@ public class Build extends SoloGame
|
||||
first = false;
|
||||
}
|
||||
|
||||
//Only count if they got above TERRIBLE score
|
||||
if (BuildQuality.getQuality(bestScore) != BuildQuality.Failure)
|
||||
places.add(bestPlayer);
|
||||
|
||||
_scoreboardPlaces.add(new AbstractMap.SimpleEntry<Player, Double>(bestPlayer, bestScore));
|
||||
places.add(bestPlayer);
|
||||
_scoreboardPlaces.add(new AbstractMap.SimpleEntry<Player, Double>(bestPlayer, bestPoints));
|
||||
}
|
||||
|
||||
writeScoreboard();
|
||||
@ -471,6 +512,66 @@ public class Build extends SoloGame
|
||||
}
|
||||
}
|
||||
|
||||
private void tallyScores()
|
||||
{
|
||||
//Reset, if being re-called
|
||||
for (BuildData data : _data.values())
|
||||
{
|
||||
data.clearPoints();
|
||||
}
|
||||
|
||||
//Each player has 1000 points to give to the other builders.
|
||||
//They are assigned based on a ratio of points given.
|
||||
|
||||
//in a 5 player game, a player who gives everyone +0 will be giving everyone equally 250 Points
|
||||
for (Player voter : _votes.keySet())
|
||||
{
|
||||
//Gather Data
|
||||
double votesCast = 0;
|
||||
double voteTotal = 0;
|
||||
|
||||
NautHashMap<Player, Integer> votes = _votes.get(voter);
|
||||
|
||||
for (int vote : votes.values())
|
||||
{
|
||||
votesCast++;
|
||||
voteTotal += vote;
|
||||
}
|
||||
|
||||
AddGems(voter, (int)(voteTotal / 3), "Voting Fairly", false, false);
|
||||
|
||||
double votesNotCast = (GetPlayers(true).size() - 1) - votesCast;
|
||||
|
||||
double averageVote = 1;
|
||||
if (votesCast > 0)
|
||||
averageVote = voteTotal/votesCast;
|
||||
|
||||
//This ensures that only 1000 points will be shared among builds
|
||||
voteTotal += votesNotCast * averageVote;
|
||||
|
||||
//Apply Points to builds
|
||||
for (Player builder : _data.keySet())
|
||||
{
|
||||
if (builder.equals(voter))
|
||||
continue;
|
||||
|
||||
//If the voter didnt vote on this build, it will be given the average of their votes
|
||||
double vote = averageVote;
|
||||
if (votes.containsKey(builder))
|
||||
vote = votes.get(builder);
|
||||
|
||||
double points = 1000d * (vote/voteTotal);
|
||||
|
||||
_data.get(builder).addPoints(points);
|
||||
|
||||
// System.out.println(voter.getName() + " = " + builder.getName() + " " +
|
||||
// (votes.containsKey(builder) ? vote : "No Vote (" + averageVote + ")") + " ~ " + points);
|
||||
}
|
||||
|
||||
//System.out.println( " " );
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isBuildTime()
|
||||
{
|
||||
return _buildStateTime == 0;
|
||||
@ -489,6 +590,11 @@ public class Build extends SoloGame
|
||||
Location loc = data.Spawn.clone().add(oX, 0, oZ);
|
||||
loc.setDirection(UtilAlg.getTrajectory(loc, data.Spawn));
|
||||
|
||||
// This is supposed to be a quick fix for players being teleported into blocks
|
||||
// I am not sure the exact cause of this bug, it seems to happen when there is a specific amount of players
|
||||
if (loc.getBlock() != null && loc.getBlock().getType() != Material.AIR)
|
||||
loc.setY(loc.getWorld().getHighestBlockYAt(loc) + 1);
|
||||
|
||||
UtilServer.getPlayers()[i].closeInventory();
|
||||
UtilServer.getPlayers()[i].eject();
|
||||
UtilServer.getPlayers()[i].leaveVehicle();
|
||||
@ -620,30 +726,33 @@ public class Build extends SoloGame
|
||||
if (!UtilTime.elapsed(_buildStateTime, 1500))
|
||||
return;
|
||||
|
||||
if (!_votes.containsKey(event.getPlayer()))
|
||||
_votes.put(event.getPlayer(), new NautHashMap<Player, Integer>());
|
||||
|
||||
switch (event.getPlayer().getItemInHand().getData().getData())
|
||||
{
|
||||
case 14:
|
||||
_viewData.addScore(event.getPlayer(), 0);
|
||||
_votes.get(event.getPlayer()).put(_viewData.Player, 1);
|
||||
UtilTextMiddle.display(null, event.getPlayer().getItemInHand().getItemMeta().getDisplayName(), 0, 40, 5, event.getPlayer());
|
||||
break;
|
||||
case 1:
|
||||
_viewData.addScore(event.getPlayer(), 1);
|
||||
_votes.get(event.getPlayer()).put(_viewData.Player, 2);
|
||||
UtilTextMiddle.display(null, event.getPlayer().getItemInHand().getItemMeta().getDisplayName(), 0, 40, 5, event.getPlayer());
|
||||
break;
|
||||
case 4:
|
||||
_viewData.addScore(event.getPlayer(), 2);
|
||||
_votes.get(event.getPlayer()).put(_viewData.Player, 3);
|
||||
UtilTextMiddle.display(null, event.getPlayer().getItemInHand().getItemMeta().getDisplayName(), 0, 40, 5, event.getPlayer());
|
||||
break;
|
||||
case 5:
|
||||
_viewData.addScore(event.getPlayer(), 3);
|
||||
_votes.get(event.getPlayer()).put(_viewData.Player, 4);
|
||||
UtilTextMiddle.display(null, event.getPlayer().getItemInHand().getItemMeta().getDisplayName(), 0, 40, 5, event.getPlayer());
|
||||
break;
|
||||
case 3:
|
||||
_viewData.addScore(event.getPlayer(), 4);
|
||||
_votes.get(event.getPlayer()).put(_viewData.Player, 5);
|
||||
UtilTextMiddle.display(null, event.getPlayer().getItemInHand().getItemMeta().getDisplayName(), 0, 40, 5, event.getPlayer());
|
||||
break;
|
||||
case 10:
|
||||
_viewData.addScore(event.getPlayer(), 5);
|
||||
_votes.get(event.getPlayer()).put(_viewData.Player, 6);
|
||||
UtilTextMiddle.display(null, event.getPlayer().getItemInHand().getItemMeta().getDisplayName(), 0, 40, 5, event.getPlayer());
|
||||
break;
|
||||
default:
|
||||
@ -655,9 +764,11 @@ public class Build extends SoloGame
|
||||
public void playerQuit(PlayerQuitEvent event)
|
||||
{
|
||||
_data.remove(event.getPlayer());
|
||||
|
||||
for (BuildData data : _data.values())
|
||||
data.removeScore(event.getPlayer());
|
||||
|
||||
for (NautHashMap<Player, Integer> votedFor : _votes.values())
|
||||
votedFor.remove(event.getPlayer());
|
||||
|
||||
_votes.remove(event.getPlayer());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@ -678,6 +789,67 @@ public class Build extends SoloGame
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@EventHandler
|
||||
public void onHangingPlace(HangingPlaceEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
if (_buildGameState == 0 && IsLive() && IsAlive(player))
|
||||
{
|
||||
BuildData buildData = _data.get(player);
|
||||
|
||||
if (buildData != null)
|
||||
{
|
||||
// Allow placing paintings and item frames in your own plot
|
||||
if (buildData.inBuildArea(event.getBlock())) return;
|
||||
}
|
||||
}
|
||||
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@EventHandler
|
||||
public void onHangingBreak(HangingBreakEvent event)
|
||||
{
|
||||
if (event instanceof HangingBreakByEntityEvent)
|
||||
{
|
||||
HangingBreakByEntityEvent ev = ((HangingBreakByEntityEvent) event);
|
||||
if (ev.getRemover() instanceof Player)
|
||||
if (_buildGameState != 0 || !IsAlive(ev.getRemover()))
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@EventHandler
|
||||
public void onDamageHanging(EntityDamageEvent event)
|
||||
{
|
||||
if (!(event.getEntity() instanceof Hanging)) return;
|
||||
|
||||
if (event instanceof EntityDamageByEntityEvent)
|
||||
{
|
||||
EntityDamageByEntityEvent ev = ((EntityDamageByEntityEvent) event);
|
||||
|
||||
if (ev.getDamager() instanceof Player)
|
||||
{
|
||||
Player player = ((Player) ev.getDamager());
|
||||
|
||||
if (_buildGameState != 0 || !IsAlive(player))
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
else super.onDamageHanging(event);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void preventRotateHanging(PlayerInteractEntityEvent event)
|
||||
{
|
||||
EntityType type = event.getRightClicked().getType();
|
||||
if (_buildGameState != 0 && (type == EntityType.PAINTING || type == EntityType.ITEM_FRAME))
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void potionThrow(ProjectileLaunchEvent event)
|
||||
{
|
||||
@ -1032,9 +1204,7 @@ public class Build extends SoloGame
|
||||
{
|
||||
for (Entry<Player, Double> score : _scoreboardPlaces)
|
||||
{
|
||||
int percent = (int)(score.getValue() * 20);
|
||||
|
||||
Scoreboard.Write(BuildQuality.getQuality(score.getValue()).getColor() + percent + "% " + ChatColor.RESET + score.getKey().getName());
|
||||
Scoreboard.Write(BuildQuality.getFinalQuality(score.getValue()).getColor() + (int)(score.getValue().intValue()/10) + " " + ChatColor.RESET + score.getKey().getName());
|
||||
}
|
||||
}
|
||||
|
||||
@ -1241,7 +1411,7 @@ public class Build extends SoloGame
|
||||
@EventHandler
|
||||
public void openMobGui(PlayerInteractEntityEvent event)
|
||||
{
|
||||
if (!IsLive() || !IsAlive(event.getPlayer())) return;
|
||||
if (!IsLive() || !IsAlive(event.getPlayer()) || _buildGameState != 0) return;
|
||||
|
||||
Player player = event.getPlayer();
|
||||
BuildData buildData = _data.get(player);
|
||||
|
@ -57,7 +57,7 @@ public class BuildData
|
||||
|
||||
public WeatherType Weather = WeatherType.SUNNY;
|
||||
|
||||
public NautHashMap<Player, Integer> Score = new NautHashMap<Player, Integer>();
|
||||
private double _totalPoints = 0;
|
||||
|
||||
public BuildData(Player player, Location spawn, ArrayList<Location> buildBorders)
|
||||
{
|
||||
@ -155,29 +155,6 @@ public class BuildData
|
||||
{
|
||||
Blocks.add(block);
|
||||
}
|
||||
|
||||
public void addScore(Player player, int i)
|
||||
{
|
||||
Score.put(player, i);
|
||||
}
|
||||
|
||||
public void removeScore(Player player)
|
||||
{
|
||||
Score.remove(player);
|
||||
}
|
||||
|
||||
public double getScore()
|
||||
{
|
||||
if (Score.isEmpty())
|
||||
return -1;
|
||||
|
||||
double score = 0;
|
||||
|
||||
for (int i : Score.values())
|
||||
score += i;
|
||||
|
||||
return score/(double)Score.size();
|
||||
}
|
||||
|
||||
public boolean inBuildArea(Block block)
|
||||
{
|
||||
@ -327,4 +304,19 @@ public class BuildData
|
||||
MapUtil.QuickChangeBlockAt(Player.getWorld(), x, y, z, mat, data);
|
||||
}
|
||||
}
|
||||
|
||||
public void addPoints(double d)
|
||||
{
|
||||
_totalPoints += d;
|
||||
}
|
||||
|
||||
public double getPoints()
|
||||
{
|
||||
return _totalPoints;
|
||||
}
|
||||
|
||||
public void clearPoints()
|
||||
{
|
||||
_totalPoints = 0;
|
||||
}
|
||||
}
|
||||
|
@ -26,13 +26,14 @@ public enum BuildQuality
|
||||
return _text;
|
||||
}
|
||||
|
||||
public static BuildQuality getQuality(double avgScore)
|
||||
//1000 points is average, if everyone votes for everyone equally
|
||||
public static BuildQuality getFinalQuality(double avgScore)
|
||||
{
|
||||
if (avgScore < 0) return NoVotes;
|
||||
if (avgScore <= 1) return Failure;
|
||||
if (avgScore <= 2) return Satisfactory;
|
||||
if (avgScore <= 3) return Good;
|
||||
if (avgScore <= 4) return Awesome;
|
||||
if (avgScore <= 400) return Failure;
|
||||
if (avgScore <= 800) return Satisfactory;
|
||||
if (avgScore <= 1200) return Good;
|
||||
if (avgScore <= 1600) return Awesome;
|
||||
return Mindblowing;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,8 @@ public class GroundPage extends ShopPageBase<ArcadeManager, OptionsShop>
|
||||
new GroundData(Material.STAINED_CLAY, (byte) 0), new GroundData(Material.STAINED_CLAY, (byte) 15),
|
||||
new GroundData(Material.STAINED_CLAY, (byte) 4), new GroundData(Material.STAINED_CLAY, (byte) 3),
|
||||
new GroundData(Material.STAINED_CLAY, (byte) 5), new GroundData(Material.STAINED_CLAY, (byte) 6),
|
||||
new GroundData(Material.QUARTZ_BLOCK)};
|
||||
new GroundData(Material.QUARTZ_BLOCK), new GroundData(Material.ICE), new GroundData(Material.IRON_BLOCK),
|
||||
new GroundData(Material.GOLD_BLOCK), new GroundData(Material.DIAMOND_BLOCK)};
|
||||
|
||||
private Build _game;
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
package nautilus.game.arcade.game.games.build.gui.page;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftLivingEntity;
|
||||
import org.bukkit.entity.Ageable;
|
||||
@ -7,14 +9,12 @@ import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Slime;
|
||||
import org.bukkit.entity.Villager;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
|
||||
import mineplex.core.account.CoreClientManager;
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilSkull;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
import mineplex.core.shop.item.IButton;
|
||||
import mineplex.core.shop.item.ShopItem;
|
||||
@ -38,37 +38,18 @@ public class MobPage extends ShopPageBase<ArcadeManager, MobShop>
|
||||
buildPage();
|
||||
}
|
||||
|
||||
private String format(String s)
|
||||
{
|
||||
return s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildPage()
|
||||
{
|
||||
// byte entityData = UtilSkull.getSkullData(_entity);
|
||||
|
||||
// Add Skull delete button
|
||||
final String entityName = _entity.getType().getName();
|
||||
// ShopItem head = new ShopItem(Material.SKULL_ITEM, entityData, entityName, new String[] {C.cGray + "Right Click to Delete Entity" }, 0, false, false);
|
||||
// if (UtilSkull.isPlayerHead(entityData))
|
||||
// {
|
||||
// SkullMeta meta = ((SkullMeta) head.getItemMeta());
|
||||
// meta.setOwner(UtilSkull.getPlayerHeadName(_entity));
|
||||
// head.setItemMeta(meta);
|
||||
// }
|
||||
int buttonSlot = 0;
|
||||
|
||||
// addButton(4, head, new IButton()
|
||||
// {
|
||||
// @Override
|
||||
// public void onClick(Player player, ClickType clickType)
|
||||
// {
|
||||
// if (clickType == ClickType.RIGHT)
|
||||
// {
|
||||
// _buildData.removeEntity(_entity);
|
||||
// UtilPlayer.message(player, F.main("Game", "Entity Deleted"));
|
||||
// player.closeInventory();
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
|
||||
int buttonSlot = 1;
|
||||
// Set Baby
|
||||
if (_entity instanceof Ageable)
|
||||
{
|
||||
final Ageable ageable = ((Ageable) _entity);
|
||||
@ -84,14 +65,14 @@ public class MobPage extends ShopPageBase<ArcadeManager, MobShop>
|
||||
else
|
||||
ageable.setAdult();
|
||||
|
||||
UtilPlayer.message(player, F.main("Game", entityName + " is now a " + (ageable.isAdult() ? "Adult" : "Baby")));
|
||||
UtilPlayer.message(player, F.main("Game", entityName + " is now an " + (ageable.isAdult() ? "Adult" : "Baby")));
|
||||
buildPage();
|
||||
}
|
||||
});
|
||||
|
||||
buttonSlot+= 2;
|
||||
}
|
||||
|
||||
// Enable/Disable Ghosting
|
||||
if (_entity instanceof LivingEntity)
|
||||
{
|
||||
final LivingEntity livingEntity = ((LivingEntity) _entity);
|
||||
@ -108,17 +89,15 @@ public class MobPage extends ShopPageBase<ArcadeManager, MobShop>
|
||||
buildPage();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
buttonSlot += 2;
|
||||
}
|
||||
|
||||
// Increase and Decrease Slime Size
|
||||
if (_entity instanceof Slime)
|
||||
{
|
||||
final Slime slime = ((Slime) _entity);
|
||||
|
||||
ShopItem decreaseSize = new ShopItem(Material.CLAY_BALL, "Decrease Size", null, 0, false, false);
|
||||
|
||||
ShopItem increaseSize = new ShopItem(Material.CLAY, "Increase Size", null, 0, false, false);
|
||||
|
||||
addButton(buttonSlot, decreaseSize, new IButton()
|
||||
@ -136,7 +115,6 @@ public class MobPage extends ShopPageBase<ArcadeManager, MobShop>
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
buttonSlot += 2;
|
||||
|
||||
addButton(buttonSlot, increaseSize, new IButton()
|
||||
@ -154,20 +132,69 @@ public class MobPage extends ShopPageBase<ArcadeManager, MobShop>
|
||||
}
|
||||
}
|
||||
});
|
||||
buttonSlot += 2;
|
||||
}
|
||||
|
||||
// Change Villager Profession
|
||||
if (_entity instanceof Villager)
|
||||
{
|
||||
final Villager villager = ((Villager) _entity);
|
||||
ShopItem shopItem = new ShopItem(Material.DIAMOND_PICKAXE, "Change Profession", new String[] { " ", ChatColor.GRAY + "Currently " + format(villager.getProfession().name()) }, 0, false);
|
||||
addButton(buttonSlot, shopItem, new IButton()
|
||||
{
|
||||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
Villager.Profession next =
|
||||
Villager.Profession.values()[(villager.getProfession().ordinal() + 1) % Villager.Profession.values().length];
|
||||
villager.setProfession(next);
|
||||
UtilPlayer.message(player, F.main("Game", "Villager is now a " + format(next.name())));
|
||||
buildPage();
|
||||
}
|
||||
});
|
||||
buttonSlot += 2;
|
||||
}
|
||||
|
||||
// Entity look at player (Currently Bugged)
|
||||
if (_entity instanceof LivingEntity)
|
||||
{
|
||||
ShopItem lookAtMe = new ShopItem(Material.GHAST_TEAR, "Look at Me", null, 0, false);
|
||||
addButton(buttonSlot, lookAtMe, new IButton()
|
||||
{
|
||||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
final Location newLoc = _entity.getLocation();
|
||||
newLoc.setDirection(player.getLocation().getDirection().multiply(-1));
|
||||
|
||||
((CraftLivingEntity) _entity).getHandle().setPositionRotation(newLoc.getX(), newLoc.getY(), newLoc.getZ(), newLoc.getYaw(), newLoc.getPitch());
|
||||
((CraftLivingEntity) _entity).getHandle().g(0.05, 0.0, 0.05);
|
||||
|
||||
getPlugin().runSyncLater(new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
_entity.teleport(newLoc);
|
||||
}
|
||||
}, 1L);
|
||||
|
||||
UtilPlayer.message(player, F.main("Game", entityName + " is now looking at you"));
|
||||
}
|
||||
});
|
||||
buttonSlot += 2;
|
||||
}
|
||||
|
||||
// Delete Entity
|
||||
ShopItem deleteButton = new ShopItem(Material.TNT, "Delete " + entityName, null, 0, false);
|
||||
addButton(8, deleteButton, new IButton()
|
||||
{
|
||||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
if (clickType == ClickType.RIGHT)
|
||||
{
|
||||
_buildData.removeEntity(_entity);
|
||||
UtilPlayer.message(player, F.main("Game", "Entity Deleted"));
|
||||
player.closeInventory();
|
||||
}
|
||||
_buildData.removeEntity(_entity);
|
||||
UtilPlayer.message(player, F.main("Game", "Entity Deleted"));
|
||||
player.closeInventory();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -0,0 +1,66 @@
|
||||
package nautilus.game.arcade.game.games.cards;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.map.MapText;
|
||||
|
||||
public class CardFactory
|
||||
{
|
||||
private MapText _mapText;
|
||||
|
||||
public CardFactory()
|
||||
{
|
||||
_mapText = new MapText();
|
||||
}
|
||||
|
||||
private String[] _questions = new String[]
|
||||
{
|
||||
"When I get home from school, I crave _____.", "I was playing One in the Quiver when I ran into ____.", "Ultra+ now get free _____ every month.", "Everything was fine until _____ joined.", "Help me! My mom is _______.", "_________ crashed the server again…", "_______ ate his pet rabbit when he saw __________.", "My mouse batteries died because I was using it for ______.", "______ is the #1 reason of deaths on the server.", "Ugh, I'm lagging thanks to _____!", "I need to go to the doctor, I'm sick with _________!", "My best friend thinks he is _____.", "The cure for all diseases is partially made out of _____.", "When i was little i wanted to become a ______ and use _____ to save the world.", "I painted a beautiful painting of ____!", "When you grow up you will realize that ______ is all you need.", "_______ knew he had made the wrong choice when he realised he was _______.", "While falling asleep, I dreamt of ______ kissing ______.", "I went to a fancy restaurant, but the chef gave me _____!", "What am I supposed to do when I see _____ ______?", "There is absolutely nothing worse in this world than ___________.", "I get all excited and tingly when I see ________!", "I would rather be _________ than _________.", "I think my brother is a big fan of _______.", "Why can't I sleep at night?", "What's that smell?", "I got 99 problems but ________ ain't one.", "What's the next game coming out on Mineplex?", "What is the next trend on YouTube?", "It's a pity that kids these days are getting involved with ________.", "What's that sound?", "What should I look for in a girlfriend?", "I wish I could forget about _______.", "What don't you want to find in your treasure chest?", "I can't take you seriously when you are always _________.", "I'm sorry, but I couldn't finish my homework because of _________.", "What does Batman do in his spare time?", "What's a girl's best friend?", "___________. That's how I want to die.", "For my next trick, I will pull _______ out of ________.", "________ is a slippery slope that leads to ________.", "Instead of coal, Santa now gives the bad children ________.", "An exciting game of The Bridges would be incomplete without _________.", "War! What is it good for?", "While mining diamonds, I like to think about ________.", "What are my parents hiding from me?", "What will always make girls like you?", "What did I bring back from the Nether?", "What don't you want to find in your Mushroom Soup?", "Step 1: __________, Step 2: __________, Step 3: Profit!" ,"What makes you need to fart?", "What do old people smell like?", "What's your secret power?", "The class field trip was completely ruined by _______.", "I never understood _______, until I found ________.", "What does Justin Beiber enjoy in his spare time?", "Why is the Villager sticky?", "Scientists think that Creepers explode because of _________.", "Why do you hurt all over?", "When you are a billionaire, you will spend all of your money on ________.", "How do you cheer up a sad friend?", "What is the new diet everyone is trying?", "What is the secret ingredient in Mountain Dew?", "________ is one of the few things that makes me happy.", "The most important thing you need to build a house is ________.", "What is the best way to get unbanned from Mineplex?", "_________ is the secret to winning at Super Smash Mobs.",
|
||||
|
||||
};
|
||||
|
||||
private String[] _answers = new String[]
|
||||
{
|
||||
"A Stinky Pig Butt", "Mouldy Raw Fish", "A sawed off 10-foot pole", "billions of diamonds", "A whiny forum post", "Sparkling Diamonds", "Sheep that don’t know when to stop", "Villager Legs", "Curdled cow milk", "That one popcorn piece stuck in your teeth.", "THE DIAMOND DANCE!", "an unstoppable addiction to fly hacks", "the biggest pile of poop you've ever seen!", "Bed time", "A bag of Doritos and a Mountain Dew.", "zombies chewing on my butt", "Jazz hands", "Brain surgery", "A disappointing birthday party.", "Overly friendly Iron Golems", "An Endermans favourite block", "Puppies!", "your friend who deleted you from Skype", "being on fire", "two cows stealing your wallet", "a lifetime of sadness", "a golden notch apple", "dragon eggs", "holding hands", "kissing", "wearing parents on your head", "soup that is too hot", "edible underpants", "people who are terrible at PvP", "obesity", "sheep eating potatoes", "my collection of spider eyes", "oversized fishing rods", "working as a team", "horse meat", "zombies screaming while on fire", "a ghast calling her dad to say happy birthday", "Microsoft releasing a good game", "bad childhood memories", "a bad haircut", "a steamy locker room", "armed robbery", "bankruptcy", "stacks of TNT", "a block of dirt", "cold pizza", "a pack of angry wolves", "eternal sadness", "the Nether", "a blaze having a barbeque", "Endermen robbing your house", "dental surgery", "religious villagers", "poor villagers", "flesh-eating bacteria", "the drive to win", "friends who take all your loot", "Morgan Freeman", "Darth Vader", "Villager #17", "Barrack Obama", "Lady Gaga", "That one hobo that lives down the street", "A Sad Creeper", "Parker Games", "A shaved sheep", "CaptainSparklez", "DanTDM", "SkyDoesMinecraft", "Mineplex", "A Mineplex Administrator", "Miley Cyrus", "Notch", "Mojang", "Pikachu", "BATMAN!!!", "The Hulk", "Justin Beiber", "Herobrine", "Pirates", "Vikings", "Ninjas", "Uncontrollably pooping", "Dancing until a helper warned me", "Making passive aggressive tweets", "complaining about balance on the forums", "Chopping down the mineplex lobby tree", "crashing servers", "falling off a cliff", "Realizing that you arent actually a ninja.", "Eating a hot pepper", "Digging straight down", "using xray hacks", "picking your nose", "Playing against a team in SSM", "Mining diamond with a stone pickaxe", "stepping on Legos", "Shaking it off", "Watching Parker games", "Accidentally hiding an egg as Easter bunny morph", "doing a poop and realizing there is no toilet paper", "Eating rotten flesh", "Understanding how magnets work", "watching videos on YouTube", "finding Legendary loot in a Treasure Chest", "Doing homework", "dividing by 0", "Finding out the meaning of life", "banning players for no reason", "dying", "so angry that he pooped himself.", "spending hours planting carrots", "doing the right thing", "sleeping in a cave", "getting drunk on potions", "trolling on the internet", "punching a tree", "leaving a stinky surprise", "doing math", "being devoured by zombie pigmen", "farting and walking away", "sneakily doing a poop", "blowing everything up with TNT", "peeing a little bit", "Tweeting about cats", "reading the instructions carefully",
|
||||
"leaving some poop in the corner of the room", "eating a balanced breakfast", "puking", "shooting arrows at bats", "typing /kill", "watching Frozen repeatedly", "building a house out of dirt", "winking at chickens", "yelling at a toaster", "putting in 110% effort", "paying a lot of money", "bribing with candy", "throwing rocks at people", "crying until everything is better"
|
||||
};
|
||||
|
||||
public String getQuestionCard()
|
||||
{
|
||||
return _questions[UtilMath.r(_questions.length)];
|
||||
}
|
||||
|
||||
public String getAnswerCard()
|
||||
{
|
||||
return _answers[UtilMath.r(_answers.length)];
|
||||
}
|
||||
|
||||
public ItemStack getAnswerStack()
|
||||
{
|
||||
String text = getAnswerCard();
|
||||
|
||||
ItemStack stack = _mapText.getMap(true, text);
|
||||
|
||||
ItemMeta meta = stack.getItemMeta();
|
||||
meta.setDisplayName(C.cGreen + text);
|
||||
stack.setItemMeta(meta);
|
||||
|
||||
return stack;
|
||||
}
|
||||
|
||||
public ItemStack getQuestionStack()
|
||||
{
|
||||
String text = getQuestionCard();
|
||||
|
||||
ItemStack stack = _mapText.getMap(true, text);
|
||||
|
||||
ItemMeta meta = stack.getItemMeta();
|
||||
meta.setDisplayName(C.cYellow + text);
|
||||
stack.setItemMeta(meta);
|
||||
|
||||
return stack;
|
||||
}
|
||||
}
|
@ -0,0 +1,271 @@
|
||||
package nautilus.game.arcade.game.games.cards;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.ItemFrame;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.NautHashMap;
|
||||
import mineplex.core.common.util.UtilTime;
|
||||
import mineplex.core.common.util.UtilTextMiddle;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.GameType;
|
||||
import nautilus.game.arcade.events.PlayerPrepareTeleportEvent;
|
||||
import nautilus.game.arcade.game.SoloGame;
|
||||
import nautilus.game.arcade.game.games.GameScore;
|
||||
import nautilus.game.arcade.game.games.cards.kits.KitPlayer;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
|
||||
public class Cards extends SoloGame
|
||||
{
|
||||
private CardFactory _cardFactory;
|
||||
|
||||
private ArrayList<GameScore> _ranks = new ArrayList<GameScore>();
|
||||
|
||||
private NautHashMap<Player, VoteRoom> _voteRooms = new NautHashMap<Player, VoteRoom>();
|
||||
|
||||
private Location _questionLoc = null;
|
||||
private ItemFrame _questionEnt = null;
|
||||
|
||||
private RoundState _roundState = RoundState.View;
|
||||
private long _roundStateTime = 0;
|
||||
private Player _roundDealer = null;
|
||||
|
||||
private String _question = null;
|
||||
|
||||
private long _playTime = 16000;
|
||||
private long _judgeTime = 16000;
|
||||
private long _viewTime = 6000;
|
||||
|
||||
private ArrayList<Player> _dealerOrder = new ArrayList<Player>();;
|
||||
|
||||
public Cards(ArcadeManager manager)
|
||||
{
|
||||
super(manager, GameType.Cards,
|
||||
|
||||
new Kit[]
|
||||
{
|
||||
new KitPlayer(manager),
|
||||
},
|
||||
|
||||
new String[]
|
||||
{
|
||||
"Be creative and build something",
|
||||
"based on the build theme!"
|
||||
});
|
||||
|
||||
this.StrictAntiHack = true;
|
||||
this.Damage = false;
|
||||
this.HungerSet = 20;
|
||||
this.HealthSet = 20;
|
||||
|
||||
this.WorldTimeSet = 6000;
|
||||
|
||||
this.PrepareFreeze = false;
|
||||
|
||||
_cardFactory = new CardFactory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ParseData()
|
||||
{
|
||||
for (Location loc : WorldData.GetDataLocs("RED")) loc.getBlock().setType(Material.OBSIDIAN);
|
||||
for (Location loc : WorldData.GetDataLocs("ORANGE")) loc.getBlock().setType(Material.OBSIDIAN);
|
||||
for (Location loc : WorldData.GetDataLocs("GREEN")) loc.getBlock().setType(Material.OBSIDIAN);
|
||||
|
||||
|
||||
_questionLoc = WorldData.GetDataLocs("PINK").get(0);
|
||||
_questionLoc.getBlock().setType(Material.OBSIDIAN);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void prepare(PlayerPrepareTeleportEvent event)
|
||||
{
|
||||
for (int i=0 ; i<9 ; i++)
|
||||
{
|
||||
event.GetPlayer().getInventory().addItem(_cardFactory.getAnswerStack());
|
||||
}
|
||||
|
||||
_dealerOrder.add(event.GetPlayer());
|
||||
|
||||
//Prep Vote Room
|
||||
_voteRooms.put(event.GetPlayer(), new VoteRoom(
|
||||
WorldData.GetDataLocs("YELLOW").remove(0),
|
||||
WorldData.GetDataLocs("ORANGE"),
|
||||
WorldData.GetDataLocs("GREEN"),
|
||||
WorldData.GetDataLocs("RED")));
|
||||
|
||||
addScore(event.GetPlayer(), 0);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void roundStateUpdate(UpdateEvent event)
|
||||
{
|
||||
if (!IsLive())
|
||||
return;
|
||||
|
||||
if (event.getType() != UpdateType.TICK)
|
||||
return;
|
||||
|
||||
if (_roundState == RoundState.PlaceCards && UtilTime.elapsed(_roundStateTime, _playTime))
|
||||
{
|
||||
setRoundState(RoundState.Judge);
|
||||
}
|
||||
else if (_roundState == RoundState.Judge && UtilTime.elapsed(_roundStateTime, _judgeTime))
|
||||
{
|
||||
setRoundState(RoundState.View);
|
||||
}
|
||||
else if (_roundState == RoundState.View && UtilTime.elapsed(_roundStateTime, _viewTime))
|
||||
{
|
||||
setRoundState(RoundState.PlaceCards);
|
||||
}
|
||||
}
|
||||
|
||||
public void setRoundState(RoundState state)
|
||||
{
|
||||
_roundStateTime = System.currentTimeMillis();
|
||||
_roundState = state;
|
||||
|
||||
if (state == RoundState.PlaceCards)
|
||||
{
|
||||
|
||||
//Get Dealer
|
||||
_roundDealer = _dealerOrder.remove(0);
|
||||
_dealerOrder.add(_roundDealer);
|
||||
|
||||
//New Question
|
||||
ItemStack questionStack = _cardFactory.getQuestionStack();
|
||||
|
||||
if (_questionEnt != null)
|
||||
{
|
||||
_questionEnt.remove();
|
||||
_questionEnt = null;
|
||||
}
|
||||
|
||||
_questionEnt = _questionLoc.getWorld().spawn(_questionLoc.getBlock().getLocation(), ItemFrame.class);
|
||||
_questionEnt.setItem(questionStack);
|
||||
|
||||
//Teleport Players to Card Room
|
||||
for (Player player : _voteRooms.keySet())
|
||||
{
|
||||
VoteRoom room = _voteRooms.get(player);
|
||||
|
||||
room.resetFrames(false);
|
||||
|
||||
if (player.equals(_roundDealer))
|
||||
continue;
|
||||
|
||||
player.teleport(room.Spawn);
|
||||
|
||||
room.QuestionEnt.setItem(questionStack);
|
||||
}
|
||||
}
|
||||
else if (state == RoundState.Judge)
|
||||
{
|
||||
GetTeamList().get(0).SpawnTeleport();
|
||||
|
||||
int i=0;
|
||||
for (VoteRoom room : _voteRooms.values())
|
||||
{
|
||||
room.displayAnswer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void addScore(Player player, double amount)
|
||||
{
|
||||
for (GameScore score : _ranks)
|
||||
{
|
||||
if (score.Player.equals(player))
|
||||
{
|
||||
score.Score += amount;
|
||||
EndCheck();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
_ranks.add(new GameScore(player, amount));
|
||||
|
||||
sortScores();
|
||||
}
|
||||
|
||||
private void sortScores()
|
||||
{
|
||||
for (int i=0 ; i<_ranks.size() ; i++)
|
||||
{
|
||||
for (int j=_ranks.size()-1 ; j>0 ; j--)
|
||||
{
|
||||
if (_ranks.get(j).Score > _ranks.get(j-1).Score)
|
||||
{
|
||||
GameScore temp = _ranks.get(j);
|
||||
_ranks.set(j, _ranks.get(j-1));
|
||||
_ranks.set(j-1, temp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@EventHandler
|
||||
public void ScoreboardUpdate(UpdateEvent event)
|
||||
{
|
||||
if (!InProgress())
|
||||
return;
|
||||
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
writeScoreboard();
|
||||
}
|
||||
|
||||
public void writeScoreboard()
|
||||
{
|
||||
//Wipe Last
|
||||
Scoreboard.Reset();
|
||||
|
||||
Scoreboard.WriteBlank();
|
||||
|
||||
if (_roundState == RoundState.PlaceCards)
|
||||
{
|
||||
Scoreboard.Write(C.cYellow + C.Bold + "Select Time");
|
||||
Scoreboard.Write(UtilTime.MakeStr(Math.max(0, _playTime - (System.currentTimeMillis() - _roundStateTime)), 1));
|
||||
|
||||
Scoreboard.WriteBlank();
|
||||
|
||||
Scoreboard.Write(C.cYellow + C.Bold + "Judge");
|
||||
Scoreboard.Write(C.cWhite + _roundDealer.getName());
|
||||
}
|
||||
else if (_roundState == RoundState.Judge)
|
||||
{
|
||||
Scoreboard.Write(C.cYellow + C.Bold + "Judge Time");
|
||||
Scoreboard.Write(UtilTime.MakeStr(Math.max(0, _judgeTime - (System.currentTimeMillis() - _roundStateTime)), 1));
|
||||
|
||||
Scoreboard.WriteBlank();
|
||||
|
||||
Scoreboard.Write(C.cYellow + C.Bold + "Judge");
|
||||
Scoreboard.Write(C.cWhite + _roundDealer.getName());
|
||||
}
|
||||
else if (_roundState == RoundState.View)
|
||||
{
|
||||
Scoreboard.Write(C.cYellow + C.Bold + "View Time");
|
||||
Scoreboard.Write(UtilTime.MakeStr(Math.max(0, _viewTime - (System.currentTimeMillis() - _roundStateTime)), 1));
|
||||
}
|
||||
|
||||
Scoreboard.WriteBlank();
|
||||
Scoreboard.Write(C.cYellow + C.Bold + "Round Wins");
|
||||
for (GameScore score : _ranks)
|
||||
{
|
||||
Scoreboard.Write((int)score.Score + " " + C.Bold + score.Player.getName());
|
||||
}
|
||||
|
||||
|
||||
Scoreboard.Draw();
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package nautilus.game.arcade.game.games.cards;
|
||||
|
||||
public enum RoundState
|
||||
{
|
||||
PlaceCards,
|
||||
Judge,
|
||||
View,
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
package nautilus.game.arcade.game.games.cards;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import mineplex.core.common.util.UtilAlg;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.entity.ItemFrame;
|
||||
|
||||
public class VoteRoom
|
||||
{
|
||||
public Location Spawn;
|
||||
public Location Question;
|
||||
public Location AnswerA;
|
||||
public Location AnswerB;
|
||||
|
||||
public ItemFrame QuestionEnt;
|
||||
public ItemFrame AnswerAEnt;
|
||||
public ItemFrame AnswerBEnt;
|
||||
|
||||
public Location BoardAnswer;
|
||||
public ItemFrame BoardAnswerEnt;
|
||||
|
||||
public VoteRoom(Location spawn, ArrayList<Location> questions, ArrayList<Location> answers, ArrayList<Location> board)
|
||||
{
|
||||
Spawn = spawn;
|
||||
|
||||
Question = UtilAlg.findClosest(spawn, questions);
|
||||
questions.remove(Question);
|
||||
|
||||
AnswerA = UtilAlg.findClosest(Question, answers);
|
||||
answers.remove(AnswerA);
|
||||
|
||||
AnswerB = UtilAlg.findClosest(Question, answers);
|
||||
answers.remove(AnswerB);
|
||||
|
||||
BoardAnswer = UtilAlg.findClosest(Question, board);
|
||||
board.remove(BoardAnswer);
|
||||
}
|
||||
|
||||
public void resetFrames(boolean doubleAnswer)
|
||||
{
|
||||
if (QuestionEnt != null)
|
||||
{
|
||||
QuestionEnt.remove();
|
||||
QuestionEnt = null;
|
||||
}
|
||||
|
||||
if (AnswerAEnt != null)
|
||||
{
|
||||
AnswerAEnt.remove();
|
||||
AnswerAEnt = null;
|
||||
}
|
||||
|
||||
if (AnswerBEnt != null)
|
||||
{
|
||||
AnswerBEnt.remove();
|
||||
AnswerBEnt = null;
|
||||
}
|
||||
|
||||
if (BoardAnswerEnt != null)
|
||||
{
|
||||
BoardAnswerEnt.remove();
|
||||
BoardAnswerEnt = null;
|
||||
}
|
||||
|
||||
QuestionEnt = Question.getWorld().spawn(Question.getBlock().getLocation(), ItemFrame.class);
|
||||
AnswerAEnt = AnswerA.getWorld().spawn(AnswerA.getBlock().getLocation(), ItemFrame.class);
|
||||
BoardAnswerEnt = BoardAnswer.getWorld().spawn(BoardAnswer.getBlock().getLocation(), ItemFrame.class);
|
||||
|
||||
// if (doubleAnswer)
|
||||
// AnswerBEnt = AnswerB.getWorld().spawn(AnswerB, ItemFrame.class);
|
||||
|
||||
// i.setFacingDirection(BlockFace.SOUTH);
|
||||
// HangingPlaceEvent hEvent = new HangingPlaceEvent(i, player, bodyBlock, BlockFace.NORTH);
|
||||
// plugin.getServer().getPluginManager().callEvent(hEvent);
|
||||
}
|
||||
|
||||
public void displayAnswer()
|
||||
{
|
||||
System.out.println(BoardAnswerEnt == null);
|
||||
System.out.println(AnswerAEnt == null);
|
||||
BoardAnswerEnt.setItem(AnswerAEnt.getItem());
|
||||
}
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package nautilus.game.arcade.game.games.cards.kits;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
|
||||
public class KitPlayer extends Kit
|
||||
{
|
||||
public KitPlayer(ArcadeManager manager)
|
||||
{
|
||||
super(manager, "Player", KitAvailability.Free,
|
||||
|
||||
new String[]
|
||||
{
|
||||
";dsgoasdyay"
|
||||
},
|
||||
|
||||
new Perk[]
|
||||
{
|
||||
},
|
||||
EntityType.SKELETON,
|
||||
new ItemStack(Material.MAP));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void GiveItems(Player player)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -66,6 +66,8 @@ public class ChampionsDominate extends Domination
|
||||
EloRanking = false;
|
||||
EloStart = 1000;
|
||||
|
||||
this.DontAllowOverfill = true;
|
||||
|
||||
this.DisableKillCommand = false;
|
||||
|
||||
registerStatTrackers(
|
||||
|
@ -65,6 +65,8 @@ public class ChampionsTDM extends TeamDeathmatch
|
||||
InventoryOpenChest = true;
|
||||
|
||||
this.DisableKillCommand = false;
|
||||
|
||||
this.DontAllowOverfill = true;
|
||||
|
||||
registerStatTrackers(
|
||||
new WinWithoutLosingTeammateStatTracker(this, "FlawlessVictory"),
|
||||
|
@ -28,8 +28,6 @@ import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAlg;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
|
||||
import mineplex.core.common.util.UtilEvent;
|
||||
import mineplex.core.common.util.UtilEvent.ActionType;
|
||||
import mineplex.core.common.util.UtilGear;
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
@ -48,7 +46,6 @@ import nautilus.game.arcade.GameType;
|
||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||
import nautilus.game.arcade.game.GameTeam;
|
||||
import nautilus.game.arcade.game.SoloGame;
|
||||
import nautilus.game.arcade.game.Game.GameState;
|
||||
import nautilus.game.arcade.game.games.GameScore;
|
||||
import nautilus.game.arcade.game.games.draw.kits.*;
|
||||
import nautilus.game.arcade.game.games.draw.tools.*;
|
||||
@ -111,15 +108,15 @@ public class Draw extends SoloGame
|
||||
this.WorldTimeSet = 8000;
|
||||
|
||||
_words = new String[]
|
||||
{
|
||||
"Bird", "Volcano", "Sloth", "Love", "Dance", "Hair", "Glasses", "Domino", "Dice", "Computer", "Top Hat", "Beard", "Wind", "Rain", "Minecraft", "Push", "Fighting", "Juggle", "Clown", "Miner", "Creeper", "Ghast", "Spider", "Punch", "Roll", "River", "Desert", "Cold", "Pregnant", "Photo", "Quick", "Mario", "Luigi", "Bridge", "Turtle", "Door Knob", "Mineplex", "Binoculars", "Telescope", "Planet", "Mountain Bike", "Moon", "Comet", "Flower", "Squirrel", "Horse Riding", "Chef", "Elephant", "Yoshi", "Shotgun", "Pistol", "James Bond", "Money", "Salt and Pepper", "Truck", "Helicopter", "Hot Air Balloon", "Sprout", "Yelling", "Muscles", "Skinny", "Zombie", "Lava", "Snake", "Motorbike", "Whale", "Boat", "Letterbox", "Window", "Lollipop", "Handcuffs", "Police", "Uppercut", "Windmill", "Eyepatch", "Campfire", "Rainbow", "Storm", "Pikachu", "Charmander", "Tornado", "Crying", "King", "Hobo", "Worm", "Snail", "XBox", "Playstation", "Nintendo", "Duck", "Pull", "Dinosaur", "Alligator", "Ankle", "Angel", "Acorn", "Bread", "Booty", "Bacon", "Crown", "Donut", "Drill", "Leash", "Magic", "Wizard", "Igloo", "Plant", "Screw", "Rifle", "Puppy", "Stool", "Stamp", "Letter", "Witch", "Zebra", "Wagon", "Compass", "Watch", "Clock", "Time", "Cyclops", "Coconut", "Hang", "Penguin", "Confused", "Bucket", "Lion", "Rubbish", "Spaceship", "Bowl", "Shark", "Pizza", "Pyramid", "Dress", "Pants", "Shorts", "Boots", "Boy", "Girl", "Math", "Sunglasses", "Frog", "Chair", "Cake", "Grapes", "Kiss", "Snorlax", "Earth", "Spaghetti", "Couch", "Family", "Milk", "Blood", "Pig", "Giraffe", "Mouse", "Couch", "Fat", "Chocolate", "Camel", "Cheese", "Beans", "Water", "Chicken", "Cannibal", "Zipper", "Book", "Swimming", "Horse", "Paper", "Toaster", "Television", "Hammer", "Piano", "Sleeping", "Yawn", "Sheep", "Night", "Chest", "Lamp", "Redstone", "Grass", "Plane", "Ocean", "Lake", "Melon", "Pumpkin", "Gift", "Fishing", "Pirate", "Lightning", "Stomach", "Belly Button", "Fishing Rod", "Iron Ore", "Diamonds", "Emeralds", "Nether Portal", "Ender Dragon", "Rabbit", "Harry Potter", "Torch", "Light", "Battery", "Zombie Pigman", "Telephone", "Tent", "Hand", "Traffic Lights", "Anvil", "Tail", "Umbrella", "Piston", "Skeleton", "Spikes", "Bridge", "Bomb", "Spoon", "Rainbow", "Staircase", "Poop", "Dragon", "Fire", "Apple", "Shoe", "Squid", "Cookie", "Tooth", "Camera", "Sock", "Monkey", "Unicorn", "Smile", "Pool", "Rabbit", "Cupcake", "Pancake", "Princess", "Castle", "Flag", "Planet", "Stars", "Camp Fire", "Rose", "Spray", "Pencil", "Ice Cream", "Toilet", "Moose", "Bear", "Beer", "Batman", "Eggs", "Teapot", "Golf Club", "Tennis Racket", "Shield", "Crab", "Pot of Gold", "Cactus", "Television", "Pumpkin Pie", "Chimney", "Stable", "Nether", "Wither", "Beach", "Stop Sign", "Chestplate", "Pokeball", "Christmas Tree", "Present", "Snowflake", "Laptop", "Superman", "Football", "Basketball", "Creeper", "Tetris", "Jump", "Ninja", "Baby", "Troll Face", "Grim Reaper", "Temple", "Explosion", "Vomit", "Ants", "Barn", "Burn", "Baggage", "Frisbee", "Iceberg", "Sleeping", "Dream", "Snorlax", "Balloons", "Elevator", "Alligator", "Bikini", "Butterfly", "Bumblebee", "Pizza", "Jellyfish", "Sideburns", "Speedboat", "Treehouse", "Water Gun", "Drink", "Hook", "Dance", "Fall", "Summer", "Autumn", "Spring", "Winter", "Night Time", "Galaxy", "Sunrise", "Sunset", "Picnic", "Snowflake", "Holding Hands", "America", "Laptop", "Anvil", "Bagel", "Bench", "Cigar", "Darts", "Muffin", "Queen", "Wheat", "Dolphin", "Scarf", "Swing", "Thumb", "Tomato", "Alcohol", "Armor", "Alien", "Beans", "Cheek", "Phone", "Keyboard", "Orange", "Calculator", "Paper", "Desk", "Disco", "Elbow", "Drool", "Giant", "Golem", "Grave", "Llama", "Moose", "Party", "Panda", "Plumber", "Salsa", "Salad", "Skunk", "Skull", "Stump", "Sugar", "Ruler", "Bookcase", "Hamster", "Soup", "Teapot", "Towel", "Waist", "Archer", "Anchor", "Bamboo", "Branch", "Booger", "Carrot", "Cereal", "Coffee", "Wolf", "Crayon", "Finger", "Forest", "Hotdog", "Burger", "Obsidian", "Pillow", "Swing", "YouTube", "Farm", "Rain", "Cloud", "Frozen", "Garbage", "Music", "Twitter", "Facebook", "Santa Hat", "Rope", "Neck", "Sponge", "Sushi", "Noodles", "Soup", "Tower", "Berry", "Capture", "Prison", "Robot", "Trash", "School", "Skype", "Snowman", "Crowd", "Bank", "Mudkip", "Joker", "Lizard", "Tiger", "Royal", "Erupt", "Wizard", "Stain", "Cinema", "Notebook", "Blanket", "Paint", "Guard", "Astronaut" , "Slime" , "Mansion" , "Radar" , "Thorn" , "Tears" , "Tiny" , "Candy" , "Pepsi" , "Flint" , "Draw My Thing" , "Rice" , "Shout" , "Prize" , "Skirt" , "Thief" , "Syrup" , "Kirby" , "Brush" , "Violin",
|
||||
};
|
||||
|
||||
{
|
||||
"Bird", "Volcano", "Sloth", "Love", "Dance", "Hair", "Glasses", "Domino", "Dice", "Computer", "Top Hat", "Beard", "Wind", "Rain", "Minecraft", "Push", "Fighting", "Juggle", "Clown", "Miner", "Creeper", "Ghast", "Spider", "Punch", "Roll", "River", "Desert", "Cold", "Pregnant", "Photo", "Quick", "Mario", "Luigi", "Bridge", "Turtle", "Door Knob", "Mineplex", "Binoculars", "Telescope", "Planet", "Mountain Bike", "Moon", "Comet", "Flower", "Squirrel", "Horse Riding", "Chef", "Elephant", "Yoshi", "Shotgun", "Pistol", "James Bond", "Money", "Salt and Pepper", "Truck", "Helicopter", "Hot Air Balloon", "Sprout", "Yelling", "Muscles", "Skinny", "Zombie", "Lava", "Snake", "Motorbike", "Whale", "Boat", "Letterbox", "Window", "Lollipop", "Handcuffs", "Police", "Uppercut", "Windmill", "Eyepatch", "Campfire", "Rainbow", "Storm", "Pikachu", "Charmander", "Tornado", "Crying", "King", "Hobo", "Worm", "Snail", "XBox", "Playstation", "Nintendo", "Duck", "Pull", "Dinosaur", "Alligator", "Ankle", "Angel", "Acorn", "Bread", "Booty", "Bacon", "Crown", "Donut", "Drill", "Leash", "Magic", "Wizard", "Igloo", "Plant", "Screw", "Rifle", "Puppy", "Stool", "Stamp", "Letter", "Witch", "Zebra", "Wagon", "Compass", "Watch", "Clock", "Time", "Cyclops", "Coconut", "Hang", "Penguin", "Confused", "Bucket", "Lion", "Rubbish", "Spaceship", "Bowl", "Shark", "Pizza", "Pyramid", "Dress", "Pants", "Shorts", "Boots", "Boy", "Girl", "Math", "Sunglasses", "Frog", "Chair", "Cake", "Grapes", "Kiss", "Snorlax", "Earth", "Spaghetti", "Couch", "Family", "Milk", "Blood", "Pig", "Giraffe", "Mouse", "Couch", "Fat", "Chocolate", "Camel", "Cheese", "Beans", "Water", "Chicken", "Cannibal", "Zipper", "Book", "Swimming", "Horse", "Paper", "Toaster", "Television", "Hammer", "Piano", "Sleeping", "Yawn", "Sheep", "Night", "Chest", "Lamp", "Redstone", "Grass", "Plane", "Ocean", "Lake", "Melon", "Pumpkin", "Gift", "Fishing", "Pirate", "Lightning", "Stomach", "Belly Button", "Fishing Rod", "Iron Ore", "Diamonds", "Emeralds", "Nether Portal", "Ender Dragon", "Rabbit", "Harry Potter", "Torch", "Light", "Battery", "Zombie Pigman", "Telephone", "Tent", "Hand", "Traffic Lights", "Anvil", "Tail", "Umbrella", "Piston", "Skeleton", "Spikes", "Bridge", "Bomb", "Spoon", "Rainbow", "Staircase", "Poop", "Dragon", "Fire", "Apple", "Shoe", "Squid", "Cookie", "Tooth", "Camera", "Sock", "Monkey", "Unicorn", "Smile", "Pool", "Rabbit", "Cupcake", "Pancake", "Princess", "Castle", "Flag", "Planet", "Stars", "Camp Fire", "Rose", "Spray", "Pencil", "Ice Cream", "Toilet", "Moose", "Bear", "Beer", "Batman", "Eggs", "Teapot", "Golf Club", "Tennis Racket", "Shield", "Crab", "Pot of Gold", "Cactus", "Television", "Pumpkin Pie", "Chimney", "Stable", "Nether", "Wither", "Beach", "Stop Sign", "Chestplate", "Pokeball", "Christmas Tree", "Present", "Snowflake", "Laptop", "Superman", "Football", "Basketball", "Creeper", "Tetris", "Jump", "Ninja", "Baby", "Troll Face", "Grim Reaper", "Temple", "Explosion", "Vomit", "Ants", "Barn", "Burn", "Baggage", "Frisbee", "Iceberg", "Sleeping", "Dream", "Snorlax", "Balloons", "Elevator", "Alligator", "Bikini", "Butterfly", "Bumblebee", "Pizza", "Jellyfish", "Sideburns", "Speedboat", "Treehouse", "Water Gun", "Drink", "Hook", "Dance", "Fall", "Summer", "Autumn", "Spring", "Winter", "Night Time", "Galaxy", "Sunrise", "Sunset", "Picnic", "Snowflake", "Holding Hands", "America", "Laptop", "Anvil", "Bagel", "Bench", "Cigar", "Darts", "Muffin", "Queen", "Wheat", "Dolphin", "Scarf", "Swing", "Thumb", "Tomato", "Alcohol", "Armor", "Alien", "Beans", "Cheek", "Phone", "Keyboard", "Orange", "Calculator", "Paper", "Desk", "Disco", "Elbow", "Drool", "Giant", "Golem", "Grave", "Llama", "Moose", "Party", "Panda", "Plumber", "Salsa", "Salad", "Skunk", "Skull", "Stump", "Sugar", "Ruler", "Bookcase", "Hamster", "Soup", "Teapot", "Towel", "Waist", "Archer", "Anchor", "Bamboo", "Branch", "Booger", "Carrot", "Cereal", "Coffee", "Wolf", "Crayon", "Finger", "Forest", "Hotdog", "Burger", "Obsidian", "Pillow", "Swing", "YouTube", "Farm", "Rain", "Cloud", "Frozen", "Garbage", "Music", "Twitter", "Facebook", "Santa Hat", "Rope", "Neck", "Sponge", "Sushi", "Noodles", "Soup", "Tower", "Berry", "Capture", "Prison", "Robot", "Trash", "School", "Skype", "Snowman", "Crowd", "Bank", "Mudkip", "Joker", "Lizard", "Tiger", "Royal", "Erupt", "Wizard", "Stain", "Cinema", "Notebook", "Blanket", "Paint", "Guard", "Astronaut" , "Slime" , "Mansion" , "Radar" , "Thorn" , "Tears" , "Tiny" , "Candy" , "Pepsi" , "Flint" , "Draw My Thing" , "Rice" , "Shout" , "Prize" , "Skirt" , "Thief" , "Syrup" , "Kirby" , "Brush" , "Violin", "Car", "Sun", "Eye", "Bow", "Axe", "Face", "Mushroom", "Guitar", "Book",
|
||||
};
|
||||
|
||||
_tools = new HashSet<Tool>();
|
||||
_tools.add(new ToolLine(this));
|
||||
_tools.add(new ToolSquare(this));
|
||||
_tools.add(new ToolCircle(this));
|
||||
|
||||
|
||||
registerStatTrackers(
|
||||
new MrSquiggleStatTracker(this),
|
||||
new KeenEyeStatTracker(this),
|
||||
@ -302,28 +299,48 @@ public class Draw extends SoloGame
|
||||
return;
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (event.getMessage().toLowerCase().contains(_round.Word.toLowerCase()))
|
||||
|
||||
if (_guessers.HasPlayer(player))
|
||||
{
|
||||
if (_guessers.HasPlayer(player))
|
||||
int wordsInMessage = 0;
|
||||
String message = event.getMessage().toLowerCase().replace(_round.Word.toLowerCase(), "");;
|
||||
|
||||
for (String word : _words)
|
||||
{
|
||||
//First Guess
|
||||
if (message.contains(word.toLowerCase()))
|
||||
{
|
||||
message = message.replace(word.toLowerCase(), "");
|
||||
|
||||
if (++wordsInMessage >= 3)
|
||||
{
|
||||
UtilPlayer.message(player, F.main("Game", "Multiple guesses are not allowed!"));
|
||||
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (event.getMessage().toLowerCase().contains(_round.Word.toLowerCase()))
|
||||
{
|
||||
// First Guess
|
||||
int score = 1;
|
||||
if (_round.Guessed.isEmpty())
|
||||
{
|
||||
score = 3;
|
||||
|
||||
//Points for Drawer
|
||||
|
||||
// Points for Drawer
|
||||
AddScore(_round.Drawer, 2);
|
||||
|
||||
|
||||
this.AddGems(_round.Drawer, 2, "Drawings Guessed", true, true);
|
||||
}
|
||||
|
||||
|
||||
if (_round.Guessed(player))
|
||||
{
|
||||
AddScore(player, score);
|
||||
Announce(C.cYellow + C.Bold + "+" + score + " " + C.cGreen + C.Bold + player.getName() + " has guessed the word!");
|
||||
|
||||
Announce(C.cYellow + C.Bold + "+" + score + " " + C.cGreen + C.Bold + player.getName()
|
||||
+ " has guessed the word!");
|
||||
|
||||
if (score == 1)
|
||||
this.AddGems(player, 1, "Words Guessed", true, true);
|
||||
else
|
||||
@ -333,10 +350,10 @@ public class Draw extends SoloGame
|
||||
{
|
||||
UtilPlayer.message(player, F.main("Game", "You have already guessed the word!"));
|
||||
}
|
||||
}
|
||||
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,7 +78,7 @@ import nautilus.game.arcade.managers.GameHostManager;
|
||||
|
||||
public class EventGame extends SoloGame
|
||||
{
|
||||
private GameHostManager _mps;
|
||||
private GameHostManager _mps;
|
||||
|
||||
private String[] _sideText = new String[] {
|
||||
" "," "," "," "," "," "," "," "," "," "," "," "
|
||||
@ -89,7 +89,7 @@ public class EventGame extends SoloGame
|
||||
private NautHashMap<String, Integer> _forcefield = new NautHashMap<String, Integer>();
|
||||
|
||||
private ItemStack[] _kitItems = new ItemStack[6];
|
||||
|
||||
|
||||
private boolean _allowAllGadgets = false;
|
||||
private HashSet<SalesPackageBase> _gadgetWhitelist = new HashSet<SalesPackageBase>();
|
||||
|
||||
@ -176,38 +176,40 @@ public class EventGame extends SoloGame
|
||||
private void commandHelp(Player player)
|
||||
{
|
||||
UtilPlayer.message(player, F.main("Event", "Displaying Commands;"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e settings", "View Settings Help"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e tp <Player>", "Teleport to Target"));
|
||||
UtilPlayer.message(player, F.value("/e tp here <Player>", "Teleport Target to Self"));
|
||||
UtilPlayer.message(player, F.value("/e tp here all", "Teleport Everyone to Self"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e gadget", "Toggle Gadgets"));
|
||||
UtilPlayer.message(player, F.value("/e gadget list", "Lists Gadgets (Shows Whitelist)"));
|
||||
UtilPlayer.message(player, F.value("/e gadget <Gadget>", "Toggles Whitelist for Gadget"));
|
||||
UtilPlayer.message(player, F.value("/e gadget clear", "Clears Gadget Whitelist"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e silence [Time]", "Silence Chat"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e admin [Player]", "Toggle Event Admin"));
|
||||
|
||||
UtilPlayer.message(player, F.value("/e gm [Player]", "Toggle Creative Mode"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e radius [Radius]", "Set Forcefield Radius"));
|
||||
|
||||
UtilPlayer.message(player, F.value("/e give <item> <amount>", "Give Item to Self"));
|
||||
UtilPlayer.message(player, F.value("/e give <player> <item> <amount>", "Give Item to Player"));
|
||||
UtilPlayer.message(player, F.value("/e give <item> <amount>", "Give Item"));
|
||||
UtilPlayer.message(player, F.value("/e give <player> <item> <amount> [e:#,e:#...]", "Give Item"));
|
||||
|
||||
UtilPlayer.message(player, F.value("/e doublejump", "Toggles Double Jump"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e scoreboard <Line #> [Text]", "Sets Scoreboard Text"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e mob <type> [#Amount] n[Name] s[Size] [angry] [baby]", ""));
|
||||
UtilPlayer.message(player, F.value("/e mob kill <type>", "Kill Mobs"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e kit set", "Sets Player Kit to your Hotbar"));
|
||||
UtilPlayer.message(player, F.value("/e kit apply", "Gives Kit to Players"));
|
||||
UtilPlayer.message(player, F.value("/e kit clear", "Gives Kit to Players"));
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.value("/e effect <player> <type> <mult> <seconds>", ""));
|
||||
UtilPlayer.message(player, F.value("/e effect <player> clear", ""));
|
||||
}
|
||||
@ -276,6 +278,10 @@ public class EventGame extends SoloGame
|
||||
{
|
||||
commandSilence(event.getPlayer(), args);
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("admin"))
|
||||
{
|
||||
commandAdmin(event.getPlayer(), args);
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("gm"))
|
||||
{
|
||||
commandGamemode(event.getPlayer(), args);
|
||||
@ -590,7 +596,7 @@ public class EventGame extends SoloGame
|
||||
|
||||
commandHelpSettings(player);
|
||||
}
|
||||
|
||||
|
||||
private void commandTime(Player player, String[] args)
|
||||
{
|
||||
try
|
||||
@ -680,32 +686,32 @@ public class EventGame extends SoloGame
|
||||
Announce(F.main("Inventory", F.value("Allow All Gadgets", F.ed(_allowAllGadgets))));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (args.length >= 2 && args[1].equalsIgnoreCase("clear"))
|
||||
{
|
||||
_gadgetWhitelist.clear();
|
||||
Announce(F.main("Inventory", F.value("Gadget Whitelist", "Cleared.")));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (args.length >= 2 && args[1].equalsIgnoreCase("list"))
|
||||
{
|
||||
ChatColor color = ChatColor.AQUA;
|
||||
|
||||
|
||||
//Gadgets
|
||||
for (GadgetType type : GadgetType.values())
|
||||
{
|
||||
String items = C.Bold + type + " Gadgets> ";
|
||||
|
||||
|
||||
for (Gadget gadget : Manager.getCosmeticManager().getGadgetManager().getGadgets(type))
|
||||
{
|
||||
items += color + gadget.GetName().replaceAll(" ", "") + " ";
|
||||
color = (color == ChatColor.AQUA ? ChatColor.DARK_AQUA : ChatColor.AQUA);
|
||||
}
|
||||
|
||||
|
||||
UtilPlayer.message(player, items);
|
||||
}
|
||||
|
||||
|
||||
//Mounts
|
||||
String mounts = C.Bold + "Mount Gadgets> ";
|
||||
for (Mount<?> mount : Manager.getCosmeticManager().getMountManager().getMounts())
|
||||
@ -714,10 +720,10 @@ public class EventGame extends SoloGame
|
||||
color = (color == ChatColor.AQUA ? ChatColor.DARK_AQUA : ChatColor.AQUA);
|
||||
}
|
||||
UtilPlayer.message(player, mounts);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (args.length >= 2)
|
||||
{
|
||||
//Gadgets
|
||||
@ -737,12 +743,12 @@ public class EventGame extends SoloGame
|
||||
Announce(F.main("Inventory", F.value(gadget.GetName() + " Gadget", F.ed(true))));
|
||||
_gadgetWhitelist.add(gadget);
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Mounts
|
||||
for (Mount mount : Manager.getCosmeticManager().getMountManager().getMounts())
|
||||
{
|
||||
@ -758,16 +764,16 @@ public class EventGame extends SoloGame
|
||||
Announce(F.main("Inventory", F.value(mount.GetName() + " Gadget", F.ed(true))));
|
||||
_gadgetWhitelist.add(mount);
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
UtilPlayer.message(player, F.main("Inventory", args[1] + " is not a valid gadget."));
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
commandHelp(player);
|
||||
}
|
||||
|
||||
@ -804,6 +810,28 @@ public class EventGame extends SoloGame
|
||||
}
|
||||
}
|
||||
|
||||
//Gamemode (Self and Others)
|
||||
private void commandAdmin(Player player, String[] args)
|
||||
{
|
||||
Player target = player;
|
||||
|
||||
if (args.length >= 2)
|
||||
{
|
||||
Player newTarget = UtilPlayer.searchOnline(player, args[1], true);
|
||||
if (newTarget != null)
|
||||
target = newTarget;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Manager.GetGameHostManager().isAdmin(target, false))
|
||||
Manager.GetGameHostManager().giveAdmin(target);
|
||||
else
|
||||
Manager.GetGameHostManager().removeAdmin(target.getName());
|
||||
|
||||
UtilPlayer.message(player, F.main("Event Admin", target.getName() + " Admin: " + F.tf(Manager.GetGameHostManager().isAdmin(target, false))));
|
||||
}
|
||||
|
||||
//Gamemode (Self and Others)
|
||||
private void commandGamemode(Player player, String[] args)
|
||||
{
|
||||
@ -856,13 +884,13 @@ public class EventGame extends SoloGame
|
||||
private void commandGive(Player player, String[] args)
|
||||
{
|
||||
String[] newArgs = new String[args.length-1];
|
||||
|
||||
|
||||
for (int i=0 ; i<newArgs.length ; i++)
|
||||
newArgs[i] = args[i+1];
|
||||
|
||||
Give.Instance.parseInput(player, newArgs);
|
||||
}
|
||||
|
||||
Give.Instance.parseInput(player, newArgs);
|
||||
}
|
||||
|
||||
//Double Jump
|
||||
private void commandDoubleJump(Player player, String[] args)
|
||||
{
|
||||
@ -1245,44 +1273,44 @@ public class EventGame extends SoloGame
|
||||
|
||||
UtilPlayer.message(caller, F.main("Creature", "Killed " + target + ". " + count + " Removed."));
|
||||
}
|
||||
|
||||
|
||||
private void commandKit(Player caller, String[] args)
|
||||
{
|
||||
if (args.length >= 2 && args[1].equalsIgnoreCase("apply"))
|
||||
{
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
giveItems(player);
|
||||
|
||||
|
||||
Announce(F.main("Event Settings", F.value("Player Kit", "Applied to Players")));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (args.length >= 2 && args[1].equalsIgnoreCase("clear"))
|
||||
{
|
||||
_kitItems = new ItemStack[6];
|
||||
Announce(F.main("Event Settings", F.value("Player Kit", "Cleared Kit")));
|
||||
_kitItems = new ItemStack[6];
|
||||
Announce(F.main("Event Settings", F.value("Player Kit", "Cleared Kit")));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (args.length >= 2 && args[1].equalsIgnoreCase("set"))
|
||||
{
|
||||
_kitItems = new ItemStack[6];
|
||||
|
||||
for (int i=0 ; i<6 ; i++)
|
||||
{
|
||||
if (caller.getInventory().getItem(i) != null)
|
||||
_kitItems[i] = caller.getInventory().getItem(i).clone();
|
||||
else
|
||||
_kitItems[i] = null;
|
||||
}
|
||||
|
||||
Announce(F.main("Event Settings", F.value("Player Kit", "Updated Items")));
|
||||
return;
|
||||
_kitItems = new ItemStack[6];
|
||||
|
||||
for (int i=0 ; i<6 ; i++)
|
||||
{
|
||||
if (caller.getInventory().getItem(i) != null)
|
||||
_kitItems[i] = caller.getInventory().getItem(i).clone();
|
||||
else
|
||||
_kitItems[i] = null;
|
||||
}
|
||||
|
||||
Announce(F.main("Event Settings", F.value("Player Kit", "Updated Items")));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
commandHelp(caller);
|
||||
}
|
||||
|
||||
|
||||
private void commandEffect(Player caller, String[] args)
|
||||
{
|
||||
//Clear
|
||||
@ -1302,12 +1330,12 @@ public class EventGame extends SoloGame
|
||||
if (targets.isEmpty())
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
for (Player player : targets)
|
||||
{
|
||||
//Remove all conditions
|
||||
Manager.GetCondition().EndCondition(player, null, null);
|
||||
|
||||
|
||||
//Remove all effects
|
||||
player.removePotionEffect(PotionEffectType.ABSORPTION);
|
||||
player.removePotionEffect(PotionEffectType.BLINDNESS);
|
||||
@ -1333,10 +1361,10 @@ public class EventGame extends SoloGame
|
||||
player.removePotionEffect(PotionEffectType.WEAKNESS);
|
||||
player.removePotionEffect(PotionEffectType.WITHER);
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//Apply
|
||||
if (args.length >= 5)
|
||||
{
|
||||
@ -1354,7 +1382,7 @@ public class EventGame extends SoloGame
|
||||
if (targets.isEmpty())
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//Get Type
|
||||
PotionEffectType type = PotionEffectType.getByName(args[2]);
|
||||
if (type == null)
|
||||
@ -1363,7 +1391,7 @@ public class EventGame extends SoloGame
|
||||
UtilPlayer.message(caller, F.value("Valid Types", "http://minecraft.gamepedia.com/Status_effect"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//Get Multiplier
|
||||
int mult = 0;
|
||||
try
|
||||
@ -1380,7 +1408,7 @@ public class EventGame extends SoloGame
|
||||
UtilPlayer.message(caller, F.main("Effect", "Invalid Effect Level: " + args[3]));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//Get Duration
|
||||
int dur = 0;
|
||||
try
|
||||
@ -1395,25 +1423,25 @@ public class EventGame extends SoloGame
|
||||
UtilPlayer.message(caller, F.main("Effect", "Invalid Effect Duration: " + args[4]));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//Apply
|
||||
PotionEffect effect = new PotionEffect(type, dur*20, mult);
|
||||
for (Player cur : targets)
|
||||
{
|
||||
cur.addPotionEffect(effect);
|
||||
}
|
||||
|
||||
|
||||
if (args[1].equalsIgnoreCase("all"))
|
||||
Announce(F.main("Effect", F.value("Applied Effect", type.getName() + " " + (mult+1) + " for " + dur + "s")));
|
||||
else
|
||||
UtilPlayer.message(caller, F.main("Effect", "Applied " + type.getName() + " " + (mult+1) + " for " + dur + "s for Targets."));
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
commandHelp(caller);
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void doubleJumpTrigger(PlayerToggleFlightEvent event)
|
||||
{
|
||||
@ -1500,7 +1528,7 @@ public class EventGame extends SoloGame
|
||||
|
||||
if (_mps.isAdmin(other, false))
|
||||
continue;
|
||||
|
||||
|
||||
int range = _forcefield.get(player.getName());
|
||||
|
||||
if (UtilMath.offset(other, player) > range)
|
||||
@ -1613,10 +1641,10 @@ public class EventGame extends SoloGame
|
||||
{
|
||||
if (_kitItems[i] == null)
|
||||
continue;
|
||||
|
||||
|
||||
player.getInventory().addItem(_kitItems[i].clone());
|
||||
}
|
||||
|
||||
|
||||
UtilInv.Update(player);
|
||||
}
|
||||
|
||||
@ -1626,13 +1654,13 @@ public class EventGame extends SoloGame
|
||||
if (event.getSpawnReason() != SpawnReason.CUSTOM)
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void gadgetDisable(GadgetActivateEvent event)
|
||||
{
|
||||
if (_allowAllGadgets)
|
||||
return;
|
||||
|
||||
|
||||
if (!_gadgetWhitelist.contains(event.getGadget()))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
@ -1640,13 +1668,13 @@ public class EventGame extends SoloGame
|
||||
//event.getPlayer().closeInventory();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void mountDisable(MountActivateEvent event)
|
||||
{
|
||||
if (_allowAllGadgets)
|
||||
return;
|
||||
|
||||
|
||||
if (!_gadgetWhitelist.contains(event.getMount()))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
@ -1654,7 +1682,7 @@ public class EventGame extends SoloGame
|
||||
//event.getPlayer().closeInventory();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void entityDeathEvent(EntityDeathEvent event)
|
||||
{
|
||||
|
@ -120,6 +120,8 @@ public class Halloween extends SoloGame
|
||||
//this.HungerSet = 20;
|
||||
|
||||
this.WorldBoundaryKill = false;
|
||||
|
||||
this.DontAllowOverfill = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -262,6 +262,8 @@ public class MineStrike extends TeamGame
|
||||
this.JoinInProgress = true;
|
||||
|
||||
this.VersionRequire1_8 = true;
|
||||
|
||||
this.DontAllowOverfill = true;
|
||||
|
||||
_scoreObj = Scoreboard.GetScoreboard().registerNewObjective("HP", "dummy");
|
||||
_scoreObj.setDisplaySlot(DisplaySlot.BELOW_NAME);
|
||||
|
@ -15,11 +15,13 @@ import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.block.BlockDamageEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||
import mineplex.core.common.util.UtilBlock;
|
||||
import mineplex.core.common.util.UtilEvent;
|
||||
import mineplex.core.common.util.UtilGear;
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilWorld;
|
||||
import mineplex.core.common.util.UtilEvent.ActionType;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
@ -46,6 +48,8 @@ public class SnowFight extends TeamGame
|
||||
{
|
||||
"Just like... kill your enemies. with snow."
|
||||
});
|
||||
|
||||
this.HungerSet = 20;
|
||||
}
|
||||
|
||||
|
||||
@ -80,11 +84,12 @@ public class SnowFight extends TeamGame
|
||||
if (!IsSnow(event.getBlock()))
|
||||
return;
|
||||
|
||||
if (player.getInventory().getHeldItemSlot() != 0)
|
||||
|
||||
if (UtilInv.contains(player, Material.SNOW_BALL, (byte)0, 16))
|
||||
return;
|
||||
|
||||
//Item
|
||||
SnowballCount(player, 1);
|
||||
UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
||||
|
||||
//Snow Height
|
||||
SnowDecrease(event.getBlock(), 1);
|
||||
@ -93,83 +98,83 @@ public class SnowFight extends TeamGame
|
||||
event.getBlock().getWorld().playEffect(event.getBlock().getLocation(), Effect.STEP_SOUND, 80);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void InteractSnowball(PlayerInteractEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
// @EventHandler
|
||||
// public void InteractSnowball(PlayerInteractEvent event)
|
||||
// {
|
||||
// Player player = event.getPlayer();
|
||||
//
|
||||
// if (!IsLive())
|
||||
// return;
|
||||
//
|
||||
// if (!IsPlaying(player))
|
||||
// return;
|
||||
//
|
||||
// if (!UtilGear.isMat(player.getItemInHand(), Material.SNOW_BALL))
|
||||
// return;
|
||||
//
|
||||
// event.setCancelled(true);
|
||||
//
|
||||
// if (UtilEvent.isAction(event, ActionType.L))
|
||||
// SnowballThrow(player);
|
||||
//
|
||||
// else if (UtilEvent.isAction(event, ActionType.R_BLOCK))
|
||||
// SnowballPlace(player, event.getClickedBlock(), 1);
|
||||
// }
|
||||
//
|
||||
// private void SnowballPlace(Player player, Block block, int above)
|
||||
// {
|
||||
// if (block.getTypeId() == 78 || UtilBlock.airFoliage(block))
|
||||
// {
|
||||
// //Build
|
||||
// if (block.getTypeId() == 78)
|
||||
// {
|
||||
// block.setTypeIdAndData(78, (byte)(block.getData() + 1), true);
|
||||
//
|
||||
// if (block.getData() >= 7)
|
||||
// block.setTypeIdAndData(80, (byte)0, true);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// block.setTypeIdAndData(78, (byte)0, true);
|
||||
// }
|
||||
//
|
||||
// //Sound
|
||||
// block.getWorld().playSound(block.getLocation(), Sound.STEP_SNOW, 1f, 0.6f);
|
||||
//
|
||||
// //Use Snow
|
||||
// SnowballCount(player, -1);
|
||||
// }
|
||||
// else if ((IsSnow(block) || UtilBlock.solid(block)) && above > 0)
|
||||
// {
|
||||
// SnowballPlace(player, block.getRelative(BlockFace.UP), above - 1);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private void SnowballThrow(Player player)
|
||||
// {
|
||||
// //Throw
|
||||
// player.launchProjectile(Snowball.class);
|
||||
//
|
||||
// //Use Snow
|
||||
// SnowballCount(player, -1);
|
||||
//
|
||||
// //Sound
|
||||
// player.getWorld().playSound(player.getLocation(), Sound.STEP_SNOW, 3f, 1.5f);
|
||||
// }
|
||||
|
||||
if (!IsLive())
|
||||
return;
|
||||
|
||||
if (!IsPlaying(player))
|
||||
return;
|
||||
|
||||
if (!UtilGear.isMat(player.getItemInHand(), Material.SNOW_BALL))
|
||||
return;
|
||||
|
||||
event.setCancelled(true);
|
||||
|
||||
if (UtilEvent.isAction(event, ActionType.L))
|
||||
SnowballThrow(player);
|
||||
|
||||
else if (UtilEvent.isAction(event, ActionType.R_BLOCK))
|
||||
SnowballPlace(player, event.getClickedBlock(), 1);
|
||||
}
|
||||
|
||||
private void SnowballPlace(Player player, Block block, int above)
|
||||
{
|
||||
if (block.getTypeId() == 78 || UtilBlock.airFoliage(block))
|
||||
{
|
||||
//Build
|
||||
if (block.getTypeId() == 78)
|
||||
{
|
||||
block.setTypeIdAndData(78, (byte)(block.getData() + 1), true);
|
||||
|
||||
if (block.getData() >= 7)
|
||||
block.setTypeIdAndData(80, (byte)0, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
block.setTypeIdAndData(78, (byte)0, true);
|
||||
}
|
||||
|
||||
//Sound
|
||||
block.getWorld().playSound(block.getLocation(), Sound.STEP_SNOW, 1f, 0.6f);
|
||||
|
||||
//Use Snow
|
||||
SnowballCount(player, -1);
|
||||
}
|
||||
else if ((IsSnow(block) || UtilBlock.solid(block)) && above > 0)
|
||||
{
|
||||
SnowballPlace(player, block.getRelative(BlockFace.UP), above - 1);
|
||||
}
|
||||
}
|
||||
|
||||
private void SnowballThrow(Player player)
|
||||
{
|
||||
//Throw
|
||||
player.launchProjectile(Snowball.class);
|
||||
|
||||
//Use Snow
|
||||
SnowballCount(player, -1);
|
||||
|
||||
//Sound
|
||||
player.getWorld().playSound(player.getLocation(), Sound.STEP_SNOW, 3f, 1.5f);
|
||||
}
|
||||
|
||||
private void SnowballCount(Player player, int count)
|
||||
{
|
||||
if (player.getInventory().getItem(1) != null)
|
||||
count += player.getInventory().getItem(1).getAmount();
|
||||
|
||||
if (count > 16)
|
||||
count = 16;
|
||||
|
||||
if (count > 0)
|
||||
player.getInventory().setItem(1, ItemStackFactory.Instance.CreateStack(Material.SNOW_BALL, count));
|
||||
else
|
||||
player.getInventory().setItem(1, null);
|
||||
}
|
||||
// private void SnowballCount(Player player, int count)
|
||||
// {
|
||||
// if (player.getInventory().getItem(1) != null)
|
||||
// count += player.getInventory().getItem(1).getAmount();
|
||||
//
|
||||
// if (count > 16)
|
||||
// count = 16;
|
||||
//
|
||||
// if (count > 0)
|
||||
// player.getInventory().setItem(1, ItemStackFactory.Instance.CreateStack(Material.SNOW_BALL, count));
|
||||
// else
|
||||
// player.getInventory().setItem(1, null);
|
||||
// }
|
||||
|
||||
private void SnowDecrease(Block block, int height)
|
||||
{
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -105,13 +105,15 @@ public enum SpellType // ❤
|
||||
0, // Cooldown change per level
|
||||
5, // Item amount in loot
|
||||
|
||||
C.cYellow + C.Bold + "Gust Size: " + C.Bold + C.cWhite + "10 x Spell Level blocks",
|
||||
C.cYellow + C.Bold + "Gust Size: " + C.Bold + C.cWhite + "(Spell Level x 3) + 10 blocks",
|
||||
|
||||
C.cYellow + C.Bold + "Gust Strength: " + C.Bold + C.cWhite + "Spell Level x 30%",
|
||||
|
||||
"",
|
||||
|
||||
"Cast the spell and watch your enemies fly!"),
|
||||
"Cast the spell and watch your enemies fly!",
|
||||
|
||||
"Spell strength decreases with distance"),
|
||||
|
||||
Heal(SpellElement.SUPPORT, // Spell element
|
||||
WandElement.LIFE, // Wand element
|
||||
@ -158,7 +160,7 @@ public enum SpellType // ❤
|
||||
"Ice Shards", // Spell name
|
||||
new ItemStack(Material.GOLDEN_CARROT), // Spell icon
|
||||
SpellIceShards.class, // Spell class
|
||||
5, // Spell max level
|
||||
3, // Spell max level
|
||||
30, // Mana cost
|
||||
20, // Spell cooldown
|
||||
0, // Mana cost change per level
|
||||
@ -264,7 +266,7 @@ public enum SpellType // ❤
|
||||
|
||||
"Creates a ball of fire that grows",
|
||||
|
||||
"the longer it lives. At an large size",
|
||||
"the longer it lives. At a large size",
|
||||
|
||||
"it even burns away nearby blocks!"),
|
||||
|
||||
@ -280,7 +282,7 @@ public enum SpellType // ❤
|
||||
1, // Cooldown change per level
|
||||
10, // Item amount in loot
|
||||
|
||||
C.cYellow + C.Bold + "Damage: " + C.Bold + C.cWhite + "Spell Level + 2",
|
||||
C.cYellow + C.Bold + "Damage: " + C.Bold + C.cWhite + "Spell Level + 1",
|
||||
|
||||
C.cYellow + C.Bold + "Range: " + C.Bold + C.cWhite + "80",
|
||||
|
||||
@ -321,7 +323,7 @@ public enum SpellType // ❤
|
||||
"Rumble", // Spell name
|
||||
new ItemStack(Material.PUMPKIN_SEEDS), // Spell icon
|
||||
SpellRumble.class, // Spell class
|
||||
5, // Spell max level
|
||||
3, // Spell max level
|
||||
30, // Mana cost
|
||||
15, // Spell cooldown
|
||||
0, // Mana cost change per level
|
||||
@ -443,8 +445,6 @@ public enum SpellType // ❤
|
||||
0, // Cooldown change per level
|
||||
3, // Item amount in loot
|
||||
|
||||
C.cYellow + C.Bold + "Damage: " + C.Bold + C.cWhite + "1 heart",
|
||||
|
||||
C.cYellow + C.Bold + "Webs: " + C.Bold + C.cWhite + "Spell Level x 2",
|
||||
|
||||
"",
|
||||
|
@ -20,7 +20,6 @@ import mineplex.core.common.util.UtilEnt;
|
||||
import mineplex.core.common.util.UtilInv;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.common.util.UtilParticle;
|
||||
import mineplex.core.common.util.UtilTextMiddle;
|
||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
@ -92,7 +91,6 @@ import org.bukkit.event.player.PlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerItemHeldEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.inventory.AnvilInventory;
|
||||
@ -313,7 +311,7 @@ public class Wizards extends SoloGame
|
||||
public void onWandHit(CustomDamageEvent event)
|
||||
{
|
||||
// Damager is ENTITY
|
||||
if (event.GetDamagerEntity(true) != null)
|
||||
if (!event.isCancelled() && event.GetDamagerEntity(true) != null)
|
||||
{
|
||||
if (event.GetReason() == null)
|
||||
{
|
||||
@ -325,9 +323,12 @@ public class Wizards extends SoloGame
|
||||
{
|
||||
Wizard wizard = getWizard(damager);
|
||||
|
||||
String reason = damager.getInventory().getHeldItemSlot() < wizard.getWandsOwned() ? "Wand" : "Fist";
|
||||
if (wizard != null)
|
||||
{
|
||||
String reason = damager.getInventory().getHeldItemSlot() < wizard.getWandsOwned() ? "Wand" : "Fist";
|
||||
|
||||
event.AddMod(reason, reason, 0, true);
|
||||
event.AddMod(reason, reason, 0, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -355,19 +356,19 @@ public class Wizards extends SoloGame
|
||||
|
||||
if (name.contains("LEATHER"))
|
||||
{
|
||||
percent = 8;
|
||||
percent = 10;
|
||||
}
|
||||
else if (name.contains("GOLDEN") || name.contains("CHAINMAIL"))
|
||||
{
|
||||
percent = 12;
|
||||
percent = 15;
|
||||
}
|
||||
else if (name.contains("IRON"))
|
||||
{
|
||||
percent = 15;
|
||||
percent = 19;
|
||||
}
|
||||
else if (name.contains("DIAMOND"))
|
||||
{
|
||||
percent = 20;
|
||||
percent = 25;
|
||||
}
|
||||
|
||||
if (name.contains("BOOTS"))
|
||||
@ -683,7 +684,6 @@ public class Wizards extends SoloGame
|
||||
|
||||
_chestLoot.addLoot(Material.WHEAT, 5, 1, 2);
|
||||
_chestLoot.addLoot(Material.WOOD, 5, 1, 10);
|
||||
_chestLoot.addLoot(Material.BOAT, 5, 1, 2);
|
||||
|
||||
_chestLoot.addLoot(Material.GOLD_INGOT, 5, 1, 2);
|
||||
_chestLoot.addLoot(Material.IRON_INGOT, 5, 1, 2);
|
||||
@ -694,10 +694,10 @@ public class Wizards extends SoloGame
|
||||
_chestLoot.addLoot(Material.LEATHER_CHESTPLATE, 6, 1, 1);
|
||||
_chestLoot.addLoot(Material.LEATHER_HELMET, 6, 1, 1);
|
||||
|
||||
_chestLoot.addLoot(Material.CHAINMAIL_BOOTS, 5, 1, 1);
|
||||
_chestLoot.addLoot(Material.CHAINMAIL_CHESTPLATE, 5, 1, 1);
|
||||
_chestLoot.addLoot(Material.CHAINMAIL_HELMET, 5, 1, 1);
|
||||
_chestLoot.addLoot(Material.CHAINMAIL_LEGGINGS, 5, 1, 1);
|
||||
_chestLoot.addLoot(Material.GOLD_BOOTS, 5, 1, 1);
|
||||
_chestLoot.addLoot(Material.GOLD_CHESTPLATE, 5, 1, 1);
|
||||
_chestLoot.addLoot(Material.GOLD_HELMET, 5, 1, 1);
|
||||
_chestLoot.addLoot(Material.GOLD_LEGGINGS, 5, 1, 1);
|
||||
|
||||
_chestLoot.addLoot(Material.IRON_BOOTS, 2, 1, 1);
|
||||
_chestLoot.addLoot(Material.IRON_CHESTPLATE, 2, 1, 1);
|
||||
@ -752,12 +752,9 @@ public class Wizards extends SoloGame
|
||||
progressBar += "▌";
|
||||
}
|
||||
|
||||
// Send to Player
|
||||
for (Player player : players)
|
||||
{
|
||||
UtilTextBottom.display((prefix == null ? "" : prefix + ChatColor.RESET + " ") + progressBar
|
||||
+ (suffix == null ? "" : ChatColor.RESET + " " + suffix), players);
|
||||
}
|
||||
UtilTextBottom.display((prefix == null ? "" : prefix + ChatColor.RESET + " ") + progressBar
|
||||
+ (suffix == null ? "" : ChatColor.RESET + " " + suffix), players);
|
||||
|
||||
}
|
||||
|
||||
public void drawUtilTextBottom(Player player)
|
||||
|
@ -1,6 +1,8 @@
|
||||
package nautilus.game.arcade.game.games.wizards.spells;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import nautilus.game.arcade.game.games.wizards.Spell;
|
||||
@ -20,7 +22,21 @@ public class SpellGust extends Spell implements SpellClick
|
||||
final Vector vector = player.getLocation().getDirection().setY(0).normalize().multiply(1.5).setY(0.3)
|
||||
.multiply(1.2 + (getSpellLevel(player) * 0.4D));
|
||||
|
||||
final HashMap<Player, Double> effected = UtilPlayer.getPlayersInPyramid(player, 45, 10 * getSpellLevel(player));
|
||||
final double gustSize = (getSpellLevel(player) * 3) + 10;
|
||||
|
||||
final HashMap<Player, Double> effected = UtilPlayer.getPlayersInPyramid(player, 45, gustSize);
|
||||
|
||||
Iterator<Entry<Player, Double>> itel = effected.entrySet().iterator();
|
||||
|
||||
while (itel.hasNext())
|
||||
{
|
||||
Entry<Player, Double> entry = itel.next();
|
||||
|
||||
if (!entry.getKey().canSee(player))
|
||||
{
|
||||
itel.remove();
|
||||
}
|
||||
}
|
||||
|
||||
if (!effected.isEmpty())
|
||||
{
|
||||
@ -37,9 +53,11 @@ public class SpellGust extends Spell implements SpellClick
|
||||
continue;
|
||||
}
|
||||
|
||||
Wizards.getArcadeManager().GetCondition().Factory().Falling("Gust", target, player, 10, false, true);
|
||||
Vector vec = vector.clone().multiply(Math.max(0.2, effected.get(target)));
|
||||
|
||||
target.setVelocity(vector);
|
||||
Wizards.getArcadeManager().GetCondition().Factory().Falling("Gust", target, player, 40, false, true);
|
||||
|
||||
target.setVelocity(vec);
|
||||
|
||||
target.getWorld().playSound(target.getLocation(), Sound.BAT_TAKEOFF, 1, 0.7F);
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ public class SpellRainbowBeam extends Spell implements SpellClick
|
||||
p.getEyeLocation().getDirection().normalize()
|
||||
.multiply(0.3 + p.getEyeLocation().distance(((LivingEntity) entityTarget).getEyeLocation())));
|
||||
|
||||
double damage = (getSpellLevel(p) * 2) + 4;
|
||||
double damage = (getSpellLevel(p) * 2) + 2;
|
||||
double dist = loc.distance(p.getLocation()) - (80 * .2D);
|
||||
|
||||
// If target is more than 20% away
|
||||
|
@ -92,10 +92,10 @@ public class SpellWebShot extends Spell implements SpellClick, IThrown
|
||||
}
|
||||
|
||||
// Damage Event
|
||||
Wizards.getArcadeManager()
|
||||
.GetDamage()
|
||||
.NewDamageEvent(target, data.GetThrower(), null, DamageCause.PROJECTILE, 2, false, false, false,
|
||||
"Web Shot", "Web Shot");
|
||||
/* Wizards.getArcadeManager()
|
||||
.GetDamage()
|
||||
.NewDamageEvent(target, data.GetThrower(), null, DamageCause.PROJECTILE, 2, false, false, false,
|
||||
"Web Shot", "Web Shot");*/
|
||||
}
|
||||
|
||||
Web(data, loc);
|
||||
|
@ -32,151 +32,153 @@ import nautilus.game.arcade.gui.spectatorMenu.button.SpectatorButton;
|
||||
|
||||
public class SpectatorPage extends ShopPageBase<CompassAddon, SpectatorShop>
|
||||
{
|
||||
private ArcadeManager _arcadeManager;
|
||||
private ArcadeManager _arcadeManager;
|
||||
|
||||
public SpectatorPage(CompassAddon plugin, ArcadeManager arcadeManager, SpectatorShop shop, CoreClientManager clientManager,
|
||||
DonationManager donationManager, Player player)
|
||||
{
|
||||
super(plugin, shop, clientManager, donationManager, "Spectator Menu", player);
|
||||
_arcadeManager = arcadeManager;
|
||||
buildPage();
|
||||
}
|
||||
public SpectatorPage(CompassAddon plugin, ArcadeManager arcadeManager, SpectatorShop shop, CoreClientManager clientManager,
|
||||
DonationManager donationManager, Player player)
|
||||
{
|
||||
super(plugin, shop, clientManager, donationManager, "Spectator Menu", player);
|
||||
_arcadeManager = arcadeManager;
|
||||
buildPage();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void buildPage()
|
||||
{
|
||||
int playerCount = _arcadeManager.GetGame().GetPlayers(true).size();
|
||||
List<GameTeam> teamList = _arcadeManager.GetGame().GetTeamList();
|
||||
@Override
|
||||
protected void buildPage()
|
||||
{
|
||||
int playerCount = _arcadeManager.GetGame().GetPlayers(true).size();
|
||||
List<GameTeam> teamList = _arcadeManager.GetGame().GetTeamList();
|
||||
|
||||
if (teamList.size() == 1 && playerCount < 28)
|
||||
buildSingleTeam(teamList.get(0), playerCount);
|
||||
else
|
||||
buildMultipleTeams(teamList, playerCount);
|
||||
if (teamList.size() == 1 && playerCount < 28)
|
||||
buildSingleTeam(teamList.get(0), playerCount);
|
||||
else
|
||||
buildMultipleTeams(teamList, playerCount);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void buildSingleTeam(GameTeam team, int playerCount)
|
||||
{
|
||||
setItem(13, getTeamItem(team, playerCount));
|
||||
|
||||
ArrayList<Player> players = team.GetPlayers(true);
|
||||
|
||||
Collections.sort(players, new Comparator<Player>()
|
||||
{
|
||||
private void buildSingleTeam(GameTeam team, int playerCount)
|
||||
{
|
||||
setItem(13, getTeamItem(team, playerCount));
|
||||
|
||||
@Override
|
||||
public int compare(Player o1, Player o2)
|
||||
{
|
||||
return o1.getName().compareToIgnoreCase(o2.getName());
|
||||
}
|
||||
|
||||
});
|
||||
ArrayList<Player> players = team.GetPlayers(true);
|
||||
|
||||
int slot = 19;
|
||||
Collections.sort(players, new Comparator<Player>()
|
||||
{
|
||||
|
||||
for (Player other : players)
|
||||
{
|
||||
addPlayerItem(slot, team, other);
|
||||
@Override
|
||||
public int compare(Player o1, Player o2)
|
||||
{
|
||||
return o1.getName().compareToIgnoreCase(o2.getName());
|
||||
}
|
||||
|
||||
if ((slot + 2) % 9 == 0)
|
||||
slot += 3;
|
||||
else
|
||||
slot++;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
private void buildMultipleTeams(List<GameTeam> teamList, int playerCount)
|
||||
{
|
||||
int currentRow = 0;
|
||||
int slot = 19;
|
||||
|
||||
for (GameTeam team : teamList)
|
||||
{
|
||||
ArrayList<Player> teamPlayers = team.GetPlayers(true);
|
||||
int rowsNeeded = (teamPlayers.size() / 8) + 1;
|
||||
|
||||
Collections.sort(teamPlayers, new Comparator<Player>()
|
||||
{
|
||||
for (Player other : players)
|
||||
{
|
||||
addPlayerItem(slot, team, other);
|
||||
|
||||
@Override
|
||||
public int compare(Player o1, Player o2)
|
||||
{
|
||||
return o1.getName().compareToIgnoreCase(o2.getName());
|
||||
}
|
||||
|
||||
});
|
||||
if ((slot + 2) % 9 == 0)
|
||||
slot += 3;
|
||||
else
|
||||
slot++;
|
||||
}
|
||||
}
|
||||
|
||||
for (int row = 0; row < rowsNeeded; row++)
|
||||
{
|
||||
int woolSlot = (row * 9) + (currentRow * 9);
|
||||
private void buildMultipleTeams(List<GameTeam> teamList, int playerCount)
|
||||
{
|
||||
int currentRow = 0;
|
||||
|
||||
// TODO Need to handle too many players in a better way
|
||||
if (woolSlot >= getSize())
|
||||
continue;
|
||||
for (GameTeam team : teamList)
|
||||
{
|
||||
ArrayList<Player> teamPlayers = team.GetPlayers(true);
|
||||
int rowsNeeded = (int) Math.ceil(teamPlayers.size() / 8.0);
|
||||
|
||||
setItem(woolSlot, getTeamItem(team, teamPlayers.size()));
|
||||
Collections.sort(teamPlayers, new Comparator<Player>()
|
||||
{
|
||||
|
||||
int startPlayerIndex = row * 9;
|
||||
for (int playerIndex = startPlayerIndex; playerIndex < teamPlayers.size() && playerIndex < startPlayerIndex + 9; playerIndex++)
|
||||
{
|
||||
Player other = teamPlayers.get(playerIndex);
|
||||
int slot = woolSlot + 1 + playerIndex;
|
||||
@Override
|
||||
public int compare(Player o1, Player o2)
|
||||
{
|
||||
return o1.getName().compareToIgnoreCase(o2.getName());
|
||||
}
|
||||
|
||||
// TODO Need to handle too many players in a better way
|
||||
if (slot >= getSize())
|
||||
continue;
|
||||
});
|
||||
|
||||
addPlayerItem(slot, team, other);
|
||||
}
|
||||
}
|
||||
for (int row = 0; row < rowsNeeded; row++)
|
||||
{
|
||||
int woolSlot = (row * 9) + (currentRow * 9);
|
||||
|
||||
// Add a line in between teams if the player count is low enough and there are less than 4 teams
|
||||
if (rowsNeeded == 1 && teamList.size() < 4 && playerCount <= 26)
|
||||
currentRow += 2;
|
||||
else
|
||||
currentRow += rowsNeeded;
|
||||
}
|
||||
}
|
||||
// TODO Need to handle too many players in a better way
|
||||
if (woolSlot >= getSize())
|
||||
continue;
|
||||
|
||||
private void addPlayerItem(int slot, GameTeam team, Player other)
|
||||
{
|
||||
ItemStack playerItem = getPlayerItem(team, other);
|
||||
ShopItem shopItem = new ShopItem(playerItem, other.getName(), other.getName(), 1, false, false);
|
||||
addButton(slot, shopItem, new SpectatorButton(_arcadeManager, getPlayer(), other));
|
||||
}
|
||||
setItem(woolSlot, getTeamItem(team, teamPlayers.size()));
|
||||
|
||||
private ItemStack getTeamItem(GameTeam team, int playerCount)
|
||||
{
|
||||
ItemStack item = new ItemStack(Material.WOOL, 1, (short) 0, UtilColor.chatColorToWoolData(team.GetColor()));
|
||||
int startPlayerIndex = row * 8;
|
||||
int count = 0;
|
||||
for (int playerIndex = startPlayerIndex; playerIndex < teamPlayers.size() && count < 8; playerIndex++)
|
||||
{
|
||||
count++;
|
||||
Player other = teamPlayers.get(playerIndex);
|
||||
int slot = woolSlot + 1 + playerIndex;
|
||||
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName(team.GetFormattedName());
|
||||
meta.setLore(Arrays.asList(" ", ChatColor.RESET + C.cYellow + "Players Alive: " + C.cWhite + playerCount));
|
||||
item.setItemMeta(meta);
|
||||
// TODO Need to handle too many players in a better way
|
||||
if (slot >= getSize())
|
||||
continue;
|
||||
|
||||
return item;
|
||||
}
|
||||
addPlayerItem(slot, team, other);
|
||||
}
|
||||
}
|
||||
|
||||
private ItemStack getPlayerItem(GameTeam team, Player other)
|
||||
{
|
||||
ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (byte) 3);
|
||||
// Add a line in between teams if the player count is low enough and there are less than 4 teams
|
||||
if (rowsNeeded == 1 && teamList.size() < 4 && playerCount <= 26)
|
||||
currentRow += 2;
|
||||
else
|
||||
currentRow += rowsNeeded;
|
||||
}
|
||||
}
|
||||
|
||||
double distance = UtilMath.offset(getPlayer(), other);
|
||||
double heightDifference = other.getLocation().getY() - getPlayer().getLocation().getY();
|
||||
private void addPlayerItem(int slot, GameTeam team, Player other)
|
||||
{
|
||||
ItemStack playerItem = getPlayerItem(team, other);
|
||||
ShopItem shopItem = new ShopItem(playerItem, other.getName(), other.getName(), 1, false, false);
|
||||
addButton(slot, shopItem, new SpectatorButton(_arcadeManager, getPlayer(), other));
|
||||
}
|
||||
|
||||
ArrayList<String> lore = new ArrayList<String>();
|
||||
lore.add(" ");
|
||||
lore.add(ChatColor.RESET + C.cYellow + "Kit: " + C.cWhite + _arcadeManager.GetGame().GetKit(other).GetName());
|
||||
lore.add(ChatColor.RESET + C.cYellow + "Distance: " + C.cWhite + UtilMath.trim(1, distance));
|
||||
lore.add(ChatColor.RESET + C.cYellow + "Height Difference: " + C.cWhite + UtilMath.trim(1, heightDifference));
|
||||
lore.add(" ");
|
||||
lore.add(ChatColor.RESET + C.Line + "Click to Spectate");
|
||||
SkullMeta skullMeta = ((SkullMeta) item.getItemMeta());
|
||||
skullMeta.setOwner(other.getName());
|
||||
skullMeta.setDisplayName(team.GetColor() + other.getName());
|
||||
skullMeta.setLore(lore);
|
||||
item.setItemMeta(skullMeta);
|
||||
private ItemStack getTeamItem(GameTeam team, int playerCount)
|
||||
{
|
||||
ItemStack item = new ItemStack(Material.WOOL, 1, (short) 0, UtilColor.chatColorToWoolData(team.GetColor()));
|
||||
|
||||
return item;
|
||||
}
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName(team.GetFormattedName());
|
||||
meta.setLore(Arrays.asList(" ", ChatColor.RESET + C.cYellow + "Players Alive: " + C.cWhite + playerCount));
|
||||
item.setItemMeta(meta);
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
private ItemStack getPlayerItem(GameTeam team, Player other)
|
||||
{
|
||||
ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (byte) 3);
|
||||
|
||||
double distance = UtilMath.offset(getPlayer(), other);
|
||||
double heightDifference = other.getLocation().getY() - getPlayer().getLocation().getY();
|
||||
|
||||
ArrayList<String> lore = new ArrayList<String>();
|
||||
lore.add(" ");
|
||||
lore.add(ChatColor.RESET + C.cYellow + "Kit: " + C.cWhite + _arcadeManager.GetGame().GetKit(other).GetName());
|
||||
lore.add(ChatColor.RESET + C.cYellow + "Distance: " + C.cWhite + UtilMath.trim(1, distance));
|
||||
lore.add(ChatColor.RESET + C.cYellow + "Height Difference: " + C.cWhite + UtilMath.trim(1, heightDifference));
|
||||
lore.add(" ");
|
||||
lore.add(ChatColor.RESET + C.Line + "Click to Spectate");
|
||||
SkullMeta skullMeta = ((SkullMeta) item.getItemMeta());
|
||||
skullMeta.setOwner(other.getName());
|
||||
skullMeta.setDisplayName(team.GetColor() + other.getName());
|
||||
skullMeta.setLore(lore);
|
||||
item.setItemMeta(skullMeta);
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
}
|
@ -108,12 +108,16 @@ public class PerkFletcher extends Perk
|
||||
|
||||
if (!Kit.HasKit(cur))
|
||||
continue;
|
||||
|
||||
|
||||
if (!Manager.GetGame().IsAlive(cur))
|
||||
continue;
|
||||
|
||||
if (UtilPlayer.isChargingBow(cur))
|
||||
continue;
|
||||
|
||||
// Enabling this causes a bug that will sometimes prevent players from getting new arrows
|
||||
// Believe this bug is related to when a player fires an arrow and gets an arrow in their inventory at the same
|
||||
// time which causes their inventory to not be in sync with the server. Best known fix right now
|
||||
// is to remove this check or keep calling UtilInv.update()
|
||||
// if (UtilPlayer.isChargingBow(cur))
|
||||
// continue;
|
||||
|
||||
if (!Recharge.Instance.use(cur, GetName(), _time * 1000, false, false))
|
||||
continue;
|
||||
|
@ -72,11 +72,7 @@ public class GameCreationManager implements Listener
|
||||
|
||||
//Archive Game
|
||||
if (Manager.GetGame() != null)
|
||||
{
|
||||
//Don't End UHC
|
||||
if (Manager.GetGame().GetType() == GameType.UHC)
|
||||
return;
|
||||
|
||||
{
|
||||
if (Manager.GetGame().GetState() == GameState.Dead)
|
||||
{
|
||||
HandlerList.unregisterAll(Manager.GetGame());
|
||||
|
@ -509,7 +509,7 @@ public class GameHostManager implements Listener
|
||||
|
||||
public int getMaxPlayerCap()
|
||||
{
|
||||
if (hasRank(Rank.SNR_MODERATOR) || _hostRank == Rank.YOUTUBE)
|
||||
if (hasRank(Rank.SNR_MODERATOR) || _hostRank == Rank.YOUTUBE || _hostRank == Rank.TWITCH)
|
||||
return 100;
|
||||
else if (hasRank(Rank.LEGEND))
|
||||
return 40;
|
||||
|
@ -35,10 +35,10 @@ import org.bukkit.event.player.PlayerVelocityEvent;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
|
||||
import net.minecraft.server.v1_7_R4.Packet;
|
||||
import net.minecraft.server.v1_7_R4.PacketPlayOutEntityMetadata;
|
||||
import net.minecraft.server.v1_7_R4.WatchableObject;
|
||||
|
||||
import mineplex.core.account.CoreClient;
|
||||
import mineplex.core.common.Rank;
|
||||
import mineplex.core.common.util.C;
|
||||
@ -70,6 +70,7 @@ import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||
import nautilus.game.arcade.game.Game;
|
||||
import nautilus.game.arcade.game.Game.GameState;
|
||||
import nautilus.game.arcade.game.GameTeam;
|
||||
import nautilus.game.arcade.game.games.uhc.UHC;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
import nautilus.game.arcade.kit.KitSorter;
|
||||
@ -110,6 +111,8 @@ public class GameLobbyManager implements Listener, IPacketHandler
|
||||
|
||||
private boolean _handlingPacket = false;
|
||||
private String _serverName;
|
||||
|
||||
private boolean _colorTick = false;
|
||||
|
||||
public GameLobbyManager(ArcadeManager manager, PacketHandler packetHandler)
|
||||
{
|
||||
@ -130,7 +133,7 @@ public class GameLobbyManager implements Listener, IPacketHandler
|
||||
_teamDisplay = new Location(world, 18, 101, 0);
|
||||
|
||||
Manager.getPluginManager().registerEvents(this, Manager.getPlugin());
|
||||
|
||||
|
||||
_serverName = Manager.getPlugin().getConfig().getString("serverstatus.name");
|
||||
_serverName = _serverName.substring(0, Math.min(16, _serverName.length()));
|
||||
}
|
||||
@ -327,50 +330,52 @@ public class GameLobbyManager implements Listener, IPacketHandler
|
||||
//UHC
|
||||
if (game.GetType() == GameType.UHC)
|
||||
{
|
||||
if (game.GetTeamList().size() > 1)
|
||||
{
|
||||
//Text
|
||||
WriteTeamLine("", 0, 159, (byte)15);
|
||||
WriteTeamLine("", 1, 159, (byte)4);
|
||||
|
||||
for (int i=0 ; i<game.GetTeamList().size() ; i++)
|
||||
{
|
||||
GameTeam team = game.GetTeamList().get(i);
|
||||
|
||||
//Circle Math
|
||||
double lead = i * ((2d * Math.PI)/game.GetTeamList().size());
|
||||
double sizeMod = 32;
|
||||
double oX = -Math.sin(lead) * sizeMod;
|
||||
double oZ = Math.cos(lead) * sizeMod;
|
||||
|
||||
//Location
|
||||
Location entLoc = spawn.clone().add(oX, 0, oZ);
|
||||
entLoc.setY(_teamDisplay.getY());
|
||||
|
||||
//Blocks
|
||||
SetKitTeamBlocks(entLoc.clone(), 35, team.GetColorData(), _teamBlocks);
|
||||
|
||||
entLoc.add(0, 1.5, 0);
|
||||
|
||||
entLoc.getChunk().load();
|
||||
|
||||
//NPC
|
||||
Sheep ent = (Sheep)Manager.GetCreature().SpawnEntity(entLoc, EntityType.SHEEP);
|
||||
ent.setRemoveWhenFarAway(false);
|
||||
ent.setCustomNameVisible(false);
|
||||
|
||||
ent.setColor(DyeColor.getByWoolData(team.GetColorData()));
|
||||
|
||||
UtilEnt.Vegetate(ent);
|
||||
|
||||
team.SetTeamEntity(ent);
|
||||
|
||||
_teams.put(ent, new LobbyEnt(ent, entLoc, team));
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
// if (game.GetTeamList().size() > 1)
|
||||
// {
|
||||
// //Text
|
||||
// WriteTeamLine("", 0, 159, (byte)15);
|
||||
// WriteTeamLine("", 1, 159, (byte)4);
|
||||
//
|
||||
// for (int i=0 ; i<game.GetTeamList().size() ; i++)
|
||||
// {
|
||||
// GameTeam team = game.GetTeamList().get(i);
|
||||
//
|
||||
// //Circle Math
|
||||
// double lead = i * ((2d * Math.PI)/game.GetTeamList().size());
|
||||
// double sizeMod = 32;
|
||||
// double oX = -Math.sin(lead) * sizeMod;
|
||||
// double oZ = Math.cos(lead) * sizeMod;
|
||||
//
|
||||
// //Location
|
||||
// Location entLoc = spawn.clone().add(oX, 0, oZ);
|
||||
// entLoc.setY(_teamDisplay.getY());
|
||||
//
|
||||
// //Blocks
|
||||
// SetKitTeamBlocks(entLoc.clone(), 35, team.GetColorData(), _teamBlocks);
|
||||
//
|
||||
// entLoc.add(0, 1.5, 0);
|
||||
//
|
||||
// entLoc.getChunk().load();
|
||||
//
|
||||
// //NPC
|
||||
// Sheep ent = (Sheep)Manager.GetCreature().SpawnEntity(entLoc, EntityType.SHEEP);
|
||||
// ent.setRemoveWhenFarAway(false);
|
||||
// ent.setCustomNameVisible(false);
|
||||
//
|
||||
// ent.setColor(DyeColor.getByWoolData(team.GetColorData()));
|
||||
//
|
||||
// UtilEnt.Vegetate(ent);
|
||||
//
|
||||
// team.SetTeamEntity(ent);
|
||||
//
|
||||
// _teams.put(ent, new LobbyEnt(ent, entLoc, team));
|
||||
// }
|
||||
//
|
||||
// return;
|
||||
//
|
||||
// }
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//Standard
|
||||
@ -912,11 +917,11 @@ public class GameLobbyManager implements Listener, IPacketHandler
|
||||
return;
|
||||
|
||||
if (Manager.GetGame() != null &&
|
||||
(Manager.GetGame().GetState() != GameState.Loading &&
|
||||
Manager.GetGame().GetState() != GameState.Recruit))
|
||||
(Manager.GetGame().GetState() != GameState.Loading &&
|
||||
Manager.GetGame().GetState() != GameState.Recruit))
|
||||
{
|
||||
for (Player player : UtilServer.getPlayers())
|
||||
player.setScoreboard(Manager.GetGame().GetScoreboard().GetScoreboard());
|
||||
player.setScoreboard(Manager.GetGame().GetScoreboard().GetScoreboard()); //XXX
|
||||
}
|
||||
|
||||
else
|
||||
@ -934,8 +939,8 @@ public class GameLobbyManager implements Listener, IPacketHandler
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
||||
//this is called from above
|
||||
public void ScoreboardSet(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
@ -946,6 +951,8 @@ public class GameLobbyManager implements Listener, IPacketHandler
|
||||
return;
|
||||
}
|
||||
|
||||
_colorTick = !_colorTick;
|
||||
|
||||
for (Entry<Player, Scoreboard> entry : _scoreboardMap.entrySet())
|
||||
{
|
||||
Objective objective = entry.getValue().getObjective("§l" + "Lobby");
|
||||
@ -959,7 +966,14 @@ public class GameLobbyManager implements Listener, IPacketHandler
|
||||
}
|
||||
else
|
||||
{
|
||||
objective.setDisplayName(ChatColor.GREEN + "§l" + "Waiting for Players");
|
||||
if (Manager.GetGame() instanceof UHC && !((UHC)Manager.GetGame()).isMapLoaded())
|
||||
{
|
||||
objective.setDisplayName(((UHC)Manager.GetGame()).getMapLoadPercent() + " " + (_colorTick ? ChatColor.GREEN : ChatColor.YELLOW) + "§l" + "Generating Map");
|
||||
}
|
||||
else
|
||||
{
|
||||
objective.setDisplayName(ChatColor.GREEN + "§l" + "Waiting for Players");
|
||||
}
|
||||
}
|
||||
|
||||
int line = 15;
|
||||
@ -1203,21 +1217,42 @@ public class GameLobbyManager implements Listener, IPacketHandler
|
||||
rankName = Rank.ULTRA.Name;
|
||||
}
|
||||
|
||||
teamName = rankName + teamName;
|
||||
String rankTeamName = rankName + teamName;
|
||||
|
||||
for (Scoreboard scoreboard : GetScoreboards())
|
||||
{
|
||||
try
|
||||
{
|
||||
scoreboard.getTeam(teamName).addPlayer(player);
|
||||
scoreboard.getTeam(rankTeamName).addPlayer(player);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.out.println("GameLobbyManager AddPlayerToScoreboard Error");
|
||||
System.out.println("[" + rankName + teamName + "] adding [" + player.getName() + "]");
|
||||
System.out.println("Team is Null [" + (scoreboard.getTeam(rankName + teamName) == null) + "]");
|
||||
//UHC adds people to teams earlier than usual, which can case this
|
||||
if (Manager.GetGame() instanceof UHC)
|
||||
{
|
||||
try
|
||||
{
|
||||
Manager.GetGame().GetScoreboard().GetScoreboard().getTeam(teamName).addPlayer(player);
|
||||
System.out.println("GameLobbyManager UHC Team Assignment Success");
|
||||
break;
|
||||
}
|
||||
catch(Exception f)
|
||||
{
|
||||
System.out.println("GameLobbyManager AddPlayerToScoreboard UHC Error");
|
||||
System.out.println("[" + teamName + "] adding [" + player.getName() + "]");
|
||||
System.out.println("Team is Null [" + (Manager.GetGame().GetScoreboard().GetScoreboard().getTeam(teamName) == null) + "]");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.println("GameLobbyManager AddPlayerToScoreboard Error");
|
||||
System.out.println("[" + rankTeamName + "] adding [" + player.getName() + "]");
|
||||
System.out.println("Team is Null [" + (scoreboard.getTeam(rankTeamName) == null) + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -224,16 +224,8 @@ public class GameManager implements Listener
|
||||
|
||||
public void StateCountdown(Game game, int timer, boolean force)
|
||||
{
|
||||
//Always give time to pick team.
|
||||
if (!game.GetCountdownForce() && !force && !UtilTime.elapsed(game.GetStateTime(), game.GetType() == GameType.UHC ? 150000 : 15000))
|
||||
{
|
||||
if (game.GetType() == GameType.UHC)
|
||||
{
|
||||
((UHC)game).informStartSoon();
|
||||
}
|
||||
|
||||
if (game instanceof UHC && !((UHC)game).isMapLoaded())
|
||||
return;
|
||||
}
|
||||
|
||||
//Disabling Cosmetics
|
||||
if (game.GetCountdown() <= 5 && game.GetCountdown() >= 0 && game.GadgetsDisabled)
|
||||
@ -247,7 +239,7 @@ public class GameManager implements Listener
|
||||
|
||||
if (force)
|
||||
game.SetCountdownForce(true);
|
||||
|
||||
|
||||
//Team Preference
|
||||
TeamPreferenceJoin(game);
|
||||
|
||||
|
@ -50,10 +50,12 @@ public class MiscManager implements Listener
|
||||
Player player = event.getPlayer();
|
||||
|
||||
//BoneMeal
|
||||
if (event.getPlayer().getItemInHand().getType() == Material.INK_SACK && event.getPlayer().getItemInHand().getData().getData() == (byte)15)
|
||||
if (!Manager.GetGame().WorldBoneMeal &&
|
||||
event.getAction() == Action.RIGHT_CLICK_BLOCK &&
|
||||
event.getPlayer().getItemInHand().getType() == Material.INK_SACK &&
|
||||
event.getPlayer().getItemInHand().getData().getData() == (byte)15)
|
||||
{
|
||||
if (event.getAction() == Action.RIGHT_CLICK_BLOCK && Manager.GetGame().GetType() != GameType.UHC && Manager.GetGame().GetType() != GameType.Build)
|
||||
event.setCancelled(true);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
else if (Manager.GetGame().GetState() != GameState.Live)
|
||||
{
|
||||
|
@ -44,7 +44,7 @@ public class ExperienceStatTracker extends StatTracker<Game>
|
||||
for (Player player : event.GetGame().GetPlayers(false))
|
||||
{
|
||||
//Tally Gems
|
||||
double gems = 0;
|
||||
double gemExp = 0;
|
||||
for (String reason : event.GetGame().GetGems(player).keySet())
|
||||
{
|
||||
if (reason.toLowerCase().contains("participation"))
|
||||
@ -52,21 +52,20 @@ public class ExperienceStatTracker extends StatTracker<Game>
|
||||
|
||||
GemData gem = event.GetGame().GetGems(player).get(reason);
|
||||
|
||||
gems += (int)gem.Gems;
|
||||
gemExp += (int)gem.Gems;
|
||||
}
|
||||
|
||||
gems = Math.min(gems, 250);
|
||||
gemExp = Math.min(gemExp, 250) * 6;
|
||||
|
||||
//Game Time
|
||||
double time = (System.currentTimeMillis() - _startTime)/60000d;
|
||||
//Game Time = 1 Exp per 3 Seconds
|
||||
double timeExp = (System.currentTimeMillis() - _startTime)/1500d;
|
||||
|
||||
//Mult
|
||||
double mult = 1;
|
||||
if (!winners.contains(player))
|
||||
mult = 0.25;
|
||||
if (winners.contains(player))
|
||||
mult = 1.5;
|
||||
|
||||
//Exp
|
||||
int expGained = (int)(time*gems*mult);
|
||||
//Exp
|
||||
int expGained = (int)((timeExp + gemExp)*mult);
|
||||
|
||||
//Record Global and per Game
|
||||
addStat(player, "ExpEarned", expGained, false, true);
|
||||
|
@ -17,11 +17,13 @@ import mineplex.core.common.util.WorldUtil;
|
||||
import mineplex.core.common.util.ZipUtil;
|
||||
import mineplex.core.timing.TimingManager;
|
||||
import nautilus.game.arcade.game.Game;
|
||||
import nautilus.game.arcade.game.games.uhc.UHC;
|
||||
import net.minecraft.server.v1_7_R4.ChunkPreLoadEvent;
|
||||
|
||||
import org.bukkit.Difficulty;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.World.Environment;
|
||||
import org.bukkit.WorldCreator;
|
||||
import org.bukkit.event.world.ChunkUnloadEvent;
|
||||
|
||||
@ -80,7 +82,31 @@ public class WorldData
|
||||
{
|
||||
TimingManager.start("WorldData loading world.");
|
||||
//Start World
|
||||
World = WorldUtil.LoadWorld(new WorldCreator(GetFolder()));
|
||||
|
||||
if (Host instanceof UHC)
|
||||
{
|
||||
//Delete Old World
|
||||
File dir = new File(GetFolder() + "/data");
|
||||
FileUtil.DeleteFolder(dir);
|
||||
|
||||
dir = new File(GetFolder() + "/region");
|
||||
FileUtil.DeleteFolder(dir);
|
||||
|
||||
dir = new File(GetFolder() + "/level.dat");
|
||||
if (dir.exists())
|
||||
dir.delete();
|
||||
|
||||
//Create Fresh World with Random Seed
|
||||
WorldCreator creator = new WorldCreator(GetFolder());
|
||||
creator.seed(UtilMath.r(999999999));
|
||||
creator.environment(Environment.NORMAL);
|
||||
creator.generateStructures(true);
|
||||
World = WorldUtil.LoadWorld(creator);
|
||||
}
|
||||
else
|
||||
{
|
||||
World = WorldUtil.LoadWorld(new WorldCreator(GetFolder()));
|
||||
}
|
||||
TimingManager.stop("WorldData loading world.");
|
||||
|
||||
World.setDifficulty(Difficulty.HARD);
|
||||
|
@ -59,10 +59,17 @@
|
||||
|
||||
public List<String> GetAllAccountNamesMatching(string name)
|
||||
{
|
||||
var accounts = new List<String>();
|
||||
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
return repository.GetAll<Account>().Where(c => c.Name == name).Select(y => y.Name).ToList();
|
||||
var account = repository.Where<Account>(x => x.Name == name).OrderByDescending(y => y.LastLogin).FirstOrDefault();
|
||||
|
||||
if (account != null)
|
||||
accounts.Add(account.Name);
|
||||
}
|
||||
|
||||
return accounts;
|
||||
}
|
||||
|
||||
private object getAccountLock(string name)
|
||||
@ -86,9 +93,6 @@
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Uuid == loginToken.Uuid).FirstOrDefault();
|
||||
|
||||
if (account == default(Account))
|
||||
account = repository.Where<Account>(x => x.Name == loginToken.Name).FirstOrDefault();
|
||||
|
||||
if (account == default(Account))
|
||||
account = CreateAccount(loginToken, repository);
|
||||
|
||||
@ -234,7 +238,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).OrderByDescending(x => x.LastLogin).FirstOrDefault();
|
||||
|
||||
if (account == null)
|
||||
return false;
|
||||
@ -261,7 +265,7 @@
|
||||
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).OrderByDescending(x => x.LastLogin).FirstOrDefault();
|
||||
|
||||
if (account == null)
|
||||
return false;
|
||||
@ -280,7 +284,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).OrderByDescending(x => x.LastLogin).FirstOrDefault();
|
||||
|
||||
if (account == null)
|
||||
return false;
|
||||
@ -307,7 +311,7 @@
|
||||
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).OrderByDescending(x => x.LastLogin).FirstOrDefault();
|
||||
|
||||
if (account == null)
|
||||
return false;
|
||||
@ -324,7 +328,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).Include(x => x.Tasks).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == token.Name).OrderByDescending(x => x.LastLogin).Include(x => x.Tasks).FirstOrDefault();
|
||||
|
||||
if (account != null)
|
||||
{
|
||||
@ -349,7 +353,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == punish.Target).Include(x => x.Rank).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == punish.Target).OrderByDescending(x => x.LastLogin).Include(x => x.Rank).FirstOrDefault();
|
||||
|
||||
if (account == null)
|
||||
return PunishmentResponse.AccountDoesNotExist;
|
||||
@ -357,7 +361,7 @@
|
||||
if (!String.Equals(punish.Admin, "Mineplex Enjin Server"))
|
||||
{
|
||||
var punisher =
|
||||
repository.Where<Account>(x => x.Name == punish.Admin).Include(x => x.Rank).FirstOrDefault();
|
||||
repository.Where<Account>(x => x.Name == punish.Admin).OrderByDescending(x => x.LastLogin).Include(x => x.Rank).FirstOrDefault();
|
||||
|
||||
if (punisher == null)
|
||||
return PunishmentResponse.NotPunished;
|
||||
@ -392,7 +396,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == token.Target).Include(x => x.Punishments).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == token.Target).OrderByDescending(x => x.LastLogin).Include(x => x.Punishments).FirstOrDefault();
|
||||
|
||||
if (account == null)
|
||||
return PunishmentResponse.AccountDoesNotExist;
|
||||
@ -429,7 +433,7 @@
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account =
|
||||
repository.Where<Account>(x => x.Name == token.AccountName)
|
||||
repository.Where<Account>(x => x.Name == token.AccountName).OrderByDescending(x => x.LastLogin)
|
||||
.Include(x => x.PvpTransactions)
|
||||
.First();
|
||||
|
||||
@ -489,7 +493,7 @@
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account =
|
||||
repository.Where<Account>(x => x.Name == token.PlayerName).Include(x => x.CustomBuilds).First();
|
||||
repository.Where<Account>(x => x.Name == token.PlayerName).OrderByDescending(x => x.LastLogin).Include(x => x.CustomBuilds).First();
|
||||
|
||||
var customBuild =
|
||||
account.CustomBuilds.FirstOrDefault(
|
||||
@ -531,7 +535,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == accountName).First();
|
||||
var account = repository.Where<Account>(x => x.Name == accountName).OrderByDescending(x => x.LastLogin).First();
|
||||
|
||||
account.IgnoredPlayers.Add(ignoredPlayer);
|
||||
|
||||
@ -543,7 +547,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == accountName).First();
|
||||
var account = repository.Where<Account>(x => x.Name == accountName).OrderByDescending(x => x.LastLogin).First();
|
||||
|
||||
account.IgnoredPlayers.Remove(ignoredPlayer);
|
||||
|
||||
@ -561,6 +565,7 @@
|
||||
{
|
||||
var account =
|
||||
repository.Where<Account>(x => x.Name == token.AccountName)
|
||||
.OrderByDescending(x => x.LastLogin)
|
||||
.Include(x => x.AccountTransactions)
|
||||
.First();
|
||||
|
||||
@ -610,7 +615,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => String.Equals(x.Name, name)).Include(x => x.Rank).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => String.Equals(x.Name, name)).OrderByDescending(x => x.LastLogin).Include(x => x.Rank).FirstOrDefault();
|
||||
account.LoadNavigationProperties(repository.Context);
|
||||
|
||||
addAccountTransaction(repository, account, "Bacon Brawl Bebe Piggles", 0, 0);
|
||||
@ -693,7 +698,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => String.Equals(x.Name, token.Name)).Include(x => x.Rank).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => String.Equals(x.Name, token.Name)).OrderByDescending(x => x.LastLogin).Include(x => x.Rank).FirstOrDefault();
|
||||
rank = repository.Where<Rank>(x => String.Equals(x.Name, token.Rank)).FirstOrDefault();
|
||||
|
||||
if (account == null)
|
||||
@ -717,7 +722,7 @@
|
||||
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => String.Equals(x.Name, token.Name)).Include(x => x.Rank).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => String.Equals(x.Name, token.Name)).OrderByDescending(x => x.LastLogin).Include(x => x.Rank).FirstOrDefault();
|
||||
|
||||
if (token.Retries >= 3)
|
||||
_logger.Log("ERROR", "Applying UpdateRank, retried 3 times and something didn't stick.");
|
||||
@ -740,7 +745,7 @@
|
||||
{
|
||||
using (var repository = _repositoryFactory.CreateRepository())
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == token.Target).Include(x => x.Punishments).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == token.Target).OrderByDescending(x => x.LastLogin).Include(x => x.Punishments).FirstOrDefault();
|
||||
|
||||
if (account == null)
|
||||
return;
|
||||
@ -801,7 +806,7 @@
|
||||
|
||||
protected Account GetAccountByName(string name, IRepository repository)
|
||||
{
|
||||
var account = repository.Where<Account>(x => x.Name == name).FirstOrDefault();
|
||||
var account = repository.Where<Account>(x => x.Name == name).OrderByDescending(y => y.LastLogin).FirstOrDefault();
|
||||
account.LoadNavigationProperties(repository.Context);
|
||||
|
||||
return account;
|
||||
|
@ -7,7 +7,6 @@
|
||||
<file relUrl="Areas/Manage/Views/Skills/Edit.cshtml" publishTime="01/15/2013 14:35:34" />
|
||||
<file relUrl="Content/img/logobtntest.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/System.Web.WebPages.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="bin/StructureMap.xml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/41_64x64.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/nStuff.UpdateControls.dll" publishTime="11/27/2012 17:05:51" />
|
||||
@ -18,7 +17,7 @@
|
||||
<file relUrl="Content/themes/techno/images/slider/03.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/Wiki/iron_axe.jpg" publishTime="04/19/2013 03:56:02" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_home_bg.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.xml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_middle.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/foot_bck.gif" publishTime="11/27/2012 17:05:50" />
|
||||
@ -27,27 +26,27 @@
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Delete.cshtml" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/Wiki/blue_dye.jpg" publishTime="04/19/2013 03:12:46" />
|
||||
<file relUrl="Views/Web.config" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/01.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/NuGet.Core.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/jquery.validate.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/blog.html" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/System.Web.Razor.xml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="bin/System.Web.Abstractions.dll" publishTime="03/18/2010 19:31:26" />
|
||||
<file relUrl="Content/img/glyphicons-halflings-white.png" publishTime="04/19/2013 00:40:10" />
|
||||
<file relUrl="Content/Images/dom1.png" publishTime="04/18/2013 01:20:43" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_menu_divider.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/System.Web.WebPages.Administration.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="bin/System.Web.Razor.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/Details.cshtml" publishTime="02/15/2013 08:29:26" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_06.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/PaypalTest/Receipt.cshtml" publishTime="12/20/2012 21:32:29" />
|
||||
<file relUrl="bin/NuGet.Core.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/img/glyphicons-halflings-white.png" publishTime="04/19/2013 00:40:10" />
|
||||
<file relUrl="Scripts/jquery-ui.min.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.min.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Views/Account/Test.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/Images/Ultra.png" publishTime="04/19/2013 17:45:48" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_04.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/Paypal/Ipn.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/avator.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/css/muffin.css" publishTime="11/27/2012 17:05:50" />
|
||||
@ -61,9 +60,10 @@
|
||||
<file relUrl="Views/Shared/_LogOnPartial.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/03.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/blog/02.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/blog/04.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Web.config" publishTime="07/26/2013 13:16:03" />
|
||||
<file relUrl="Content/themes/techno/images/arrows.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/About/Index.cshtml" publishTime="04/01/2013 08:18:30" />
|
||||
<file relUrl="Content/Images/dom11.png" publishTime="04/18/2013 01:26:08" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/Wiki/Ranger.png" publishTime="04/19/2013 03:35:02" />
|
||||
<file relUrl="Views/Account/ManageRoles.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
@ -78,7 +78,9 @@
|
||||
<file relUrl="Content/themes/techno/js/jquery-1.4.3.min.js" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/th_bck.gif" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/04.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/Stats/Index.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Index.cshtml" publishTime="01/15/2013 16:55:55" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.xml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Edit.cshtml" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/dom6.png" publishTime="04/18/2013 01:23:24" />
|
||||
<file relUrl="Content/Images/Gold.png" publishTime="04/19/2013 17:25:56" />
|
||||
@ -92,12 +94,11 @@
|
||||
<file relUrl="Content/Images/dom8.png" publishTime="04/18/2013 01:45:53" />
|
||||
<file relUrl="Areas/Manage/Views/Web.config" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/Home/Index.cshtml" publishTime="07/03/2013 13:36:56" />
|
||||
<file relUrl="bin/LOC.Website.Common.dll" publishTime="07/26/2013 13:15:46" />
|
||||
<file relUrl="Content/themes/techno/js/prototype.js" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Delete.cshtml" publishTime="01/15/2013 14:32:44" />
|
||||
<file relUrl="Scripts/jquery-1.4.4.min.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/slider/02.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Global.asax" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_01.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/Account/LogOn.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_02.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Scripts/jquery-1.8.2.js" publishTime="11/27/2012 17:05:51" />
|
||||
@ -107,17 +108,17 @@
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Views/_ViewStart.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Index.cshtml" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Web.config" publishTime="07/26/2013 13:16:03" />
|
||||
<file relUrl="Global.asax" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_more.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/js/jquery.nivo.slider.js" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/dom14.png" publishTime="04/18/2013 01:25:51" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.debug.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/blog/03.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Scripts/jquery.min.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="bin/System.Web.Mvc.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Views/Paypal/Receipt.cshtml" publishTime="01/07/2013 22:29:06" />
|
||||
<file relUrl="packages.config" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_01.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/_WriteTransaction.cshtml" publishTime="02/15/2013 08:31:48" />
|
||||
<file relUrl="Areas/Manage/Views/ServerManagement/Index.cshtml" publishTime="04/19/2013 15:51:04" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_header.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/dom4.png" publishTime="04/18/2013 01:22:43" />
|
||||
<file relUrl="Content/Images/Wiki/yellow_dye.jpg" publishTime="04/19/2013 03:12:14" />
|
||||
<file relUrl="bin/Newtonsoft.Json.xml" publishTime="11/27/2012 17:05:51" />
|
||||
@ -125,24 +126,22 @@
|
||||
<file relUrl="Areas/Manage/Views/Shared/_Layout.cshtml" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/WebMatrix.Data.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/img/glyphicons-halflings.png" publishTime="04/19/2013 00:40:10" />
|
||||
<file relUrl="Content/Images/Truck.png" publishTime="04/19/2013 17:26:38" />
|
||||
<file relUrl="Content/themes/base/images/ui-icons_222222_256x240.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/tr_bck.gif" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/_WriteTransaction.cshtml" publishTime="02/15/2013 08:31:48" />
|
||||
<file relUrl="Content/Images/Wiki/blue_dye.jpg" publishTime="04/19/2013 03:12:46" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Details.cshtml" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/Index.cshtml" publishTime="02/15/2013 15:36:57" />
|
||||
<file relUrl="Content/css/bootstrap.css" publishTime="04/19/2013 00:40:10" />
|
||||
<file relUrl="Areas/Manage/Views/GameSalesPackage/Details.cshtml" publishTime="12/04/2012 23:19:27" />
|
||||
<file relUrl="Content/themes/techno/images/blog/04.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/System.Web.Routing.dll" publishTime="03/18/2010 19:31:26" />
|
||||
<file relUrl="bin/Moq.xml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="bin/EntityFramework.xml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/Images/dom1.png" publishTime="04/18/2013 01:20:43" />
|
||||
<file relUrl="Content/Images/dom2.png" publishTime="04/18/2013 01:20:58" />
|
||||
<file relUrl="bin/Intelligencia.UrlRewriter.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/jquery.nivo.slider.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/css/bootstrap.min.css" publishTime="04/19/2013 00:40:10" />
|
||||
<file relUrl="Content/Images/Wiki/Mage.png" publishTime="04/19/2013 03:34:54" />
|
||||
<file relUrl="Views/Stats/Index.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Views/PaypalTest/_WritePackage.cshtml" publishTime="12/20/2012 21:33:50" />
|
||||
<file relUrl="Content/Images/Wiki/Knight.png" publishTime="04/19/2013 03:34:46" />
|
||||
<file relUrl="Content/themes/techno/js/scriptaculous.js" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Index.cshtml" publishTime="11/27/2012 17:05:50" />
|
||||
@ -156,7 +155,7 @@
|
||||
<file relUrl="Views/PaypalTest/Index.cshtml" publishTime="12/20/2012 21:33:42" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_05.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Scripts/jquery.validate-vsdoc.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/Images/dom14.png" publishTime="04/18/2013 01:25:51" />
|
||||
<file relUrl="Views/Account/ChangePassword.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/Images/dom7.png" publishTime="04/18/2013 01:24:10" />
|
||||
<file relUrl="Content/themes/techno/images/twitter.png" publishTime="11/27/2012 17:05:50" />
|
||||
@ -176,8 +175,8 @@
|
||||
<file relUrl="Views/Profile/Index.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="bin/WebMatrix.WebData.xml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/jquery.flot.min.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Views/PaypalTest/_WritePackage.cshtml" publishTime="12/20/2012 21:33:50" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.debug.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/facebook.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/Shared/_Layout.cshtml" publishTime="06/08/2013 00:28:59" />
|
||||
<file relUrl="bin/Moq.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_list.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/dom15.png" publishTime="04/18/2013 01:25:17" />
|
||||
@ -188,13 +187,12 @@
|
||||
<file relUrl="Content/Images/dom13.png" publishTime="04/18/2013 01:26:43" />
|
||||
<file relUrl="Content/Images/dom9.png" publishTime="04/18/2013 01:25:36" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Details.cshtml" publishTime="01/15/2013 14:34:14" />
|
||||
<file relUrl="bin/WebActivator.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/js/bootstrap.js" publishTime="04/19/2013 09:38:28" />
|
||||
<file relUrl="Content/themes/base/images/ui-icons_cd0a0a_256x240.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/Wiki/iron_sword.jpg" publishTime="04/19/2013 03:56:10" />
|
||||
<file relUrl="Content/themes/techno/css/nivo-slider.css" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/WebMatrix.Data.xml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/ddsmoothmenu.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="bin/WebActivator.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/logo.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/css/lightbox.css" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png" publishTime="11/27/2012 17:05:50" />
|
||||
@ -215,16 +213,16 @@
|
||||
<file relUrl="Content/themes/techno/js/effects.js" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/loading.gif" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/Dominate.png" publishTime="04/17/2013 23:26:14" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_04.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_home_header.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/blog/03.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/EntityFramework.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/slider/ss.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/Shared/_Layout.cshtml" publishTime="06/08/2013 00:28:59" />
|
||||
<file relUrl="bin/LOC.Website.Common.dll" publishTime="07/26/2013 13:15:46" />
|
||||
<file relUrl="Content/themes/techno/images/prevlabel.gif" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_bg.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/LOC.Core.dll" publishTime="07/26/2013 12:11:17" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/_CreateOrEdit.cshtml" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/facebook.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Areas/Manage/Views/GameSalesPackage/Details.cshtml" publishTime="12/04/2012 23:19:27" />
|
||||
<file relUrl="Content/themes/base/images/ui-icons_888888_256x240.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/css/templatemo_style.css" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/Forums/Index.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
@ -239,14 +237,15 @@
|
||||
<file relUrl="Content/themes/techno/images/templatemo_slider.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Views/Shared/_basicLayout.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="bin/System.Web.Helpers.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/Images/dom11.png" publishTime="04/18/2013 01:26:08" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/flickr.png" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="bin/EntityFramework.dll" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_header.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Scripts/ddsmoothmenu.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.min.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Content/themes/techno/js/builder.js" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_footer.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/images/blog/01.jpg" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/themes/techno/portfolio.html" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Content/Images/Truck.png" publishTime="04/19/2013 17:26:38" />
|
||||
<file relUrl="Scripts/jquery.validate.min.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Views/Account/Register.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Views/Manage/Index.cshtml" publishTime="11/27/2012 17:05:51" />
|
||||
@ -261,12 +260,14 @@
|
||||
<file relUrl="Views/Store/Index.cshtml" publishTime="04/19/2013 19:18:41" />
|
||||
<file relUrl="Scripts/jquery-1.4.4.js" publishTime="11/27/2012 17:05:51" />
|
||||
<file relUrl="Views/Store/Test.cshtml" publishTime="01/08/2013 01:43:43" />
|
||||
<file relUrl="Content/themes/techno/portfolio.html" publishTime="11/27/2012 17:05:50" />
|
||||
<file relUrl="Areas/Manage/Views/_ViewStart.cshtml" publishTime="11/27/2012 17:05:50" />
|
||||
</publishProfile>
|
||||
<publishProfile publishUrl="ftp://api.mineplex.com/inetpub/wwwroot/MineplexDev" deleteExistingFiles="False" ftpAnonymousLogin="False" ftpPassiveMode="True" msdeploySite="" msdeploySiteID="" msdeployRemoteSitePhysicalPath="" msdeployAllowUntrustedCertificate="False" msdeploySkipExtraFilesOnServer="True" msdeployMarkAsApp="False" profileName="Profile2" publishMethod="FTP" replaceMatchingFiles="True" userName="admin" savePWD="True" userPWD="AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA6apdkDpjJkm/rJXG8gyHjQAAAAACAAAAAAAQZgAAAAEAACAAAAAGkNdd8lgNmLfwB+ReGmVu2bJRAypQ0bMK3WA2+uJeUgAAAAAOgAAAAAIAACAAAACOJR8RhUdVECJLYGt4VpFAPb/NJ7Xl2DPX2BRond2iaDAAAADPMCWTWRpKbuB5QlXBrxeannQ6wktW57e1yxem+TvI503DUxckTn1ybnJq17J9549AAAAAYUIT1IUnPQ8b11cZw/bil51oVGxVAuBCAn7LETvQ2+0EmXKqNVMZ3DSrQ6bNmgg7ZWbHQzH6cIB5GKFAWJ9byQ==" SelectedForPublish="False">
|
||||
<file relUrl="Content/Images/Wiki/SkillBook.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/_CreateOrEdit.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftAjax.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/StructureMap.pdb" publishTime="11/02/2013 13:30:02" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Edit.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/img/logobtntest.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.dll" publishTime="11/02/2013 13:30:01" />
|
||||
@ -280,27 +281,28 @@
|
||||
<file relUrl="Content/themes/techno/images/slider/03.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/iron_axe.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_home_bg.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_middle.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Shared/_Layout.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Classes/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Account/ChangePasswordSuccess.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Delete.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Delete.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/01.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/NuGet.Core.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/blog.html" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Razor.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Abstractions.dll" publishTime="03/18/2010 17:31:26" />
|
||||
<file relUrl="Content/Images/dom1.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/img/glyphicons-halflings-white.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_menu_divider.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.Administration.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Razor.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/Details.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_06.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Receipt.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/img/glyphicons-halflings-white.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/NuGet.Core.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Delete.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Account/Test.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Ultra.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -319,7 +321,6 @@
|
||||
<file relUrl="Content/themes/techno/images/blog/02.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Web.config" publishTime="02/13/2014 00:29:18" />
|
||||
<file relUrl="Content/themes/techno/images/arrows.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom14.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom8.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Helpers.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -335,8 +336,6 @@
|
||||
<file relUrl="Content/themes/techno/images/th_bck.gif" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/04.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Forums/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/EntityFramework.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Edit.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom6.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Gold.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -348,7 +347,6 @@
|
||||
<file relUrl="Content/themes/techno/images/portfolio/02.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/lightbox.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Manage/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/css/bootstrap-responsive.css" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Web.config" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Home/Index.cshtml" publishTime="01/29/2014 15:07:56" />
|
||||
@ -365,17 +363,20 @@
|
||||
<file relUrl="Content/Images/Wiki/red_dye.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/_ViewStart.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/ddsmoothmenu.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Global.asax" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_more.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/jquery.nivo.slider.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.debug.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom14.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/GameSalesPackage/Delete.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Mvc.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Shared/_FrontLayout.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Paypal/Receipt.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="packages.config" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/_WriteTransaction.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/ServerManagement/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_header.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/yellow_dye.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Newtonsoft.Json.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Gamemodes.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -388,16 +389,17 @@
|
||||
<file relUrl="Content/Images/Wiki/blue_dye.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Details.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Customization.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/css/bootstrap.css" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Moq.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/ss.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom1.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom2.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Intelligencia.UrlRewriter.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.nivo.slider.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/css/bootstrap.min.css" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/Mage.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Shared/_FrontLayout.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Stats/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/Knight.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/scriptaculous.js" publishTime="11/02/2013 13:30:01" />
|
||||
@ -409,7 +411,7 @@
|
||||
<file relUrl="Content/js/bootstrap.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/youtube.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/01.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/02.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_05.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.dll" publishTime="11/02/2013 13:30:01" />
|
||||
@ -437,10 +439,9 @@
|
||||
<file relUrl="Content/themes/techno/images/blog/01.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Profile/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/WebMatrix.WebData.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.flot.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/PaypalTest/_WritePackage.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Shared/_Layout.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.debug.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery-1.8.2.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_list.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom15.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -448,7 +449,6 @@
|
||||
<file relUrl="bin/WebMatrix.WebData.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Single.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom13.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom11.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery-ui.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Details.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
@ -461,13 +461,13 @@
|
||||
<file relUrl="Content/themes/techno/images/logo.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/css/lightbox.css" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/StructureMap.pdb" publishTime="11/02/2013 13:30:02" />
|
||||
<file relUrl="Scripts/jquery.validate-vsdoc.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Pvp.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/ss.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/blog_post.html" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/contact.html" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Create.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Customization.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.Razor.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Details.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/ss3.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -481,7 +481,7 @@
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_04.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_home_header.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/blog/03.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/ddsmoothmenu.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/ss.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/LOC.Website.Common.dll" publishTime="02/13/2014 00:31:40" />
|
||||
<file relUrl="Content/themes/techno/images/prevlabel.gif" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_bg.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
@ -500,9 +500,9 @@
|
||||
<file relUrl="Content/themes/techno/images/templatemo_slider.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Shared/_basicLayout.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom5.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom11.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/flickr.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_header.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/EntityFramework.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Web.config" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/builder.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_footer.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
@ -516,7 +516,7 @@
|
||||
<file relUrl="Content/Images/Dominate.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/close.gif" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/WebMatrix.Data.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate-vsdoc.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_logo.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Moq.dll" publishTime="11/02/2013 13:30:01" />
|
||||
@ -526,10 +526,11 @@
|
||||
<file relUrl="Views/Store/Test.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/_ViewStart.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
</publishProfile>
|
||||
<publishProfile publishUrl="ftp://accounts.mineplex.com/inetpub/wwwroot/MineplexTemp" deleteExistingFiles="False" ftpAnonymousLogin="False" ftpPassiveMode="True" msdeploySite="" msdeploySiteID="" msdeployRemoteSitePhysicalPath="" msdeployAllowUntrustedCertificate="False" msdeploySkipExtraFilesOnServer="True" msdeployMarkAsApp="False" profileName="Profile3" publishMethod="FTP" replaceMatchingFiles="True" userName="Administrator" savePWD="True" userPWD="AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAjy4vYc63REGh3NxYB7ZfZwAAAAACAAAAAAAQZgAAAAEAACAAAABzsXRgHlD/ztEP1z65atNceHHTx+veoDHjU2nSzLuCcQAAAAAOgAAAAAIAACAAAABEob8dAnRbbRlW7KO/PryS/gxn+EuMgoOPYnQPXWAujiAAAACZzi93dhU4nFy2EhZn7Hfi+kcYr6jZwywctf82P/gPHkAAAADWPD90fuzFy7XpEcd/kmybmjNr+K7ixpjYPNmzq3rw32RlQfbZ25fXXu+LVW5BUuz0gvWWQJ/12Ax0PBRQ2vVp" SelectedForPublish="True">
|
||||
<publishProfile publishUrl="ftp://10.33.53.11/inetpub/wwwroot/MineplexTemp" deleteExistingFiles="False" ftpAnonymousLogin="False" ftpPassiveMode="True" msdeploySite="" msdeploySiteID="" msdeployRemoteSitePhysicalPath="" msdeployAllowUntrustedCertificate="False" msdeploySkipExtraFilesOnServer="True" msdeployMarkAsApp="False" profileName="Profile3" publishMethod="FTP" replaceMatchingFiles="True" userName="Administrator" savePWD="True" userPWD="AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAjy4vYc63REGh3NxYB7ZfZwAAAAACAAAAAAAQZgAAAAEAACAAAABzsXRgHlD/ztEP1z65atNceHHTx+veoDHjU2nSzLuCcQAAAAAOgAAAAAIAACAAAABEob8dAnRbbRlW7KO/PryS/gxn+EuMgoOPYnQPXWAujiAAAACZzi93dhU4nFy2EhZn7Hfi+kcYr6jZwywctf82P/gPHkAAAADWPD90fuzFy7XpEcd/kmybmjNr+K7ixpjYPNmzq3rw32RlQfbZ25fXXu+LVW5BUuz0gvWWQJ/12Ax0PBRQ2vVp" SelectedForPublish="True">
|
||||
<file relUrl="Content/Images/Wiki/SkillBook.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/_CreateOrEdit.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftAjax.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/StructureMap.pdb" publishTime="11/02/2013 10:30:02" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Edit.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/img/logobtntest.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.dll" publishTime="11/02/2013 10:30:01" />
|
||||
@ -543,28 +544,29 @@
|
||||
<file relUrl="Content/themes/techno/images/slider/03.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/iron_axe.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_home_bg.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_middle.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Classes/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Account/ChangePasswordSuccess.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Delete.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/blog_post.html" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/blue_dye.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Delete.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/01.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/blog.html" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.Razor.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.Abstractions.dll" publishTime="03/18/2010 19:31:26" />
|
||||
<file relUrl="Content/Images/dom1.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/img/glyphicons-halflings-white.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_menu_divider.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.Administration.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.Razor.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/Details.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_06.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Receipt.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/img/glyphicons-halflings-white.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/NuGet.Core.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Delete.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.min.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Account/Test.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
@ -582,7 +584,7 @@
|
||||
<file relUrl="Content/Images/dom4.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/03.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/blog/02.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Web.config" publishTime="11/04/2014 01:38:13" />
|
||||
<file relUrl="Web.config" publishTime="05/06/2015 20:38:01" />
|
||||
<file relUrl="Content/themes/techno/images/arrows.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom8.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.Helpers.dll" publishTime="11/02/2013 10:30:01" />
|
||||
@ -599,8 +601,6 @@
|
||||
<file relUrl="Content/themes/techno/images/th_bck.gif" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/04.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Forums/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/EntityFramework.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Edit.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom6.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Gold.png" publishTime="11/02/2013 10:30:01" />
|
||||
@ -611,10 +611,10 @@
|
||||
<file relUrl="bin/Newtonsoft.Json.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/02.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Manage/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/css/bootstrap-responsive.css" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Web.config" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Home/Index.cshtml" publishTime="03/18/2014 23:41:15" />
|
||||
<file relUrl="bin/LOC.Website.Common.dll" publishTime="05/07/2015 10:01:33" />
|
||||
<file relUrl="Content/themes/techno/js/prototype.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery-1.4.4.min.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Double.png" publishTime="11/02/2013 10:30:01" />
|
||||
@ -622,24 +622,23 @@
|
||||
<file relUrl="Views/Account/LogOn.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/Ranger.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_02.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/LOC.Website.Common.pdb" publishTime="11/17/2014 12:03:52" />
|
||||
<file relUrl="bin/LOC.Core.pdb" publishTime="11/04/2014 03:14:27" />
|
||||
<file relUrl="bin/LOC.Website.Common.pdb" publishTime="05/07/2015 10:01:33" />
|
||||
<file relUrl="bin/LOC.Core.pdb" publishTime="05/06/2015 20:25:26" />
|
||||
<file relUrl="Content/Images/Wiki/red_dye.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/_ViewStart.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/ddsmoothmenu.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Global.asax" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_more.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/jquery.nivo.slider.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.debug.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom14.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.min.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.min.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/GameSalesPackage/Delete.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.Mvc.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Paypal/Receipt.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="packages.config" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/_WriteTransaction.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/ServerManagement/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_header.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/yellow_dye.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/Newtonsoft.Json.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Gamemodes.png" publishTime="11/02/2013 10:30:01" />
|
||||
@ -649,13 +648,15 @@
|
||||
<file relUrl="Content/Images/Truck.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-icons_222222_256x240.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/tr_bck.gif" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/blue_dye.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/_WriteTransaction.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Details.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Customization.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/css/bootstrap.css" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/blog/04.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/Moq.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/EntityFramework.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom1.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom2.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/Intelligencia.UrlRewriter.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.nivo.slider.js" publishTime="11/02/2013 10:30:01" />
|
||||
@ -673,13 +674,13 @@
|
||||
<file relUrl="Content/js/bootstrap.min.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/youtube.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/01.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/02.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_05.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/ss1.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom9.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom14.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.nivo.slider.pack.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Account/ChangePassword.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom7.png" publishTime="11/02/2013 10:30:01" />
|
||||
@ -694,16 +695,15 @@
|
||||
<file relUrl="Views/Store/_WritePackage.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/css/bootstrap-responsive.min.css" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Servers/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/LOC.Website.Web.dll" publishTime="11/17/2014 12:03:53" />
|
||||
<file relUrl="bin/LOC.Website.Web.dll" publishTime="05/07/2015 10:01:33" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/LOC.Website.Web.pdb" publishTime="11/17/2014 12:03:53" />
|
||||
<file relUrl="bin/LOC.Website.Web.pdb" publishTime="05/07/2015 10:01:33" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Profile/Index.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/WebMatrix.WebData.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.flot.min.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/PaypalTest/_WritePackage.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Shared/_Layout.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.debug.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery-1.8.2.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_list.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom15.png" publishTime="11/02/2013 10:30:01" />
|
||||
@ -711,7 +711,6 @@
|
||||
<file relUrl="bin/WebMatrix.WebData.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Single.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom13.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom11.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery-ui.min.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Details.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
@ -724,13 +723,13 @@
|
||||
<file relUrl="Content/themes/techno/images/logo.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/css/lightbox.css" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/StructureMap.pdb" publishTime="11/02/2013 10:30:02" />
|
||||
<file relUrl="Scripts/jquery.validate-vsdoc.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Pvp.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/ss.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/NuGet.Core.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/blog_post.html" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/contact.html" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Create.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/Customization.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.Razor.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Details.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/ss3.png" publishTime="11/02/2013 10:30:01" />
|
||||
@ -744,11 +743,12 @@
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_04.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_home_header.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/blog/03.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/ddsmoothmenu.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/ss.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/LOC.Website.Common.dll" publishTime="11/17/2014 12:03:52" />
|
||||
<file relUrl="Views/Shared/_Layout.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/prevlabel.gif" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_bg.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/LOC.Core.dll" publishTime="11/04/2014 03:14:27" />
|
||||
<file relUrl="bin/LOC.Core.dll" publishTime="05/06/2015 20:25:26" />
|
||||
<file relUrl="Content/themes/techno/images/facebook.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-icons_888888_256x240.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/css/templatemo_style.css" publishTime="11/02/2013 10:30:01" />
|
||||
@ -763,9 +763,9 @@
|
||||
<file relUrl="Content/themes/techno/images/templatemo_slider.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Shared/_basicLayout.cshtml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom5.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/Images/dom11.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/flickr.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_header.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/EntityFramework.dll" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Views/Web.config" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/builder.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_footer.jpg" publishTime="11/02/2013 10:30:01" />
|
||||
@ -779,7 +779,7 @@
|
||||
<file relUrl="Content/Images/Dominate.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/close.gif" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/WebMatrix.Data.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate-vsdoc.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.xml" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/lightbox.js" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_logo.png" publishTime="11/02/2013 10:30:01" />
|
||||
<file relUrl="bin/Moq.dll" publishTime="11/02/2013 10:30:01" />
|
||||
@ -793,6 +793,7 @@
|
||||
<file relUrl="Content/Images/Wiki/SkillBook.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/_CreateOrEdit.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftAjax.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/StructureMap.pdb" publishTime="11/02/2013 13:30:02" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Edit.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/img/logobtntest.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.dll" publishTime="11/02/2013 13:30:01" />
|
||||
@ -806,28 +807,29 @@
|
||||
<file relUrl="Content/themes/techno/images/slider/03.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/iron_axe.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_home_bg.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_middle.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Classes/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Account/ChangePasswordSuccess.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Delete.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/blog_post.html" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/blue_dye.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Delete.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/01.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/blog.html" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Razor.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Abstractions.dll" publishTime="03/18/2010 19:31:26" />
|
||||
<file relUrl="Content/Images/dom1.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/img/glyphicons-halflings-white.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_menu_divider.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.Administration.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Razor.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/Details.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_06.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Receipt.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/img/glyphicons-halflings-white.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/NuGet.Core.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Delete.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Account/Test.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
@ -862,8 +864,6 @@
|
||||
<file relUrl="Content/themes/techno/images/th_bck.gif" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/04.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Forums/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/EntityFramework.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Edit.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom6.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Gold.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -874,10 +874,10 @@
|
||||
<file relUrl="bin/Newtonsoft.Json.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/portfolio/02.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Manage/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/css/bootstrap-responsive.css" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Web.config" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Home/Index.cshtml" publishTime="01/29/2014 15:07:56" />
|
||||
<file relUrl="bin/LOC.Website.Common.dll" publishTime="02/01/2014 08:59:35" />
|
||||
<file relUrl="Content/themes/techno/js/prototype.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery-1.4.4.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Double.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -890,19 +890,18 @@
|
||||
<file relUrl="Content/Images/Wiki/red_dye.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/_ViewStart.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/ddsmoothmenu.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Global.asax" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_more.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/jquery.nivo.slider.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.debug.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom14.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/GameSalesPackage/Delete.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.Mvc.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Paypal/Receipt.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="packages.config" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/_WriteTransaction.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/ServerManagement/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_header.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/yellow_dye.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Newtonsoft.Json.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Gamemodes.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -912,13 +911,15 @@
|
||||
<file relUrl="Content/Images/Truck.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-icons_222222_256x240.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/tr_bck.gif" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Wiki/blue_dye.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/_WriteTransaction.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Log/Details.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Payments/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Customization.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/css/bootstrap.css" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/blog/04.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Moq.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/EntityFramework.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom1.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom2.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Intelligencia.UrlRewriter.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.nivo.slider.js" publishTime="11/02/2013 13:30:01" />
|
||||
@ -936,13 +937,13 @@
|
||||
<file relUrl="Content/js/bootstrap.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/youtube.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/01.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/PaypalTest/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/02.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_05.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Microsoft.Web.Infrastructure.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/ss1.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom9.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom14.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.unobtrusive-ajax.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.nivo.slider.pack.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Account/ChangePassword.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom7.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -963,10 +964,9 @@
|
||||
<file relUrl="Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Profile/Index.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/WebMatrix.WebData.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.flot.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/PaypalTest/_WritePackage.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Shared/_Layout.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/MicrosoftMvcValidation.debug.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery-1.8.2.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_list.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom15.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -974,7 +974,6 @@
|
||||
<file relUrl="bin/WebMatrix.WebData.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Single.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom13.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom11.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery-ui.min.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Skills/Details.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
@ -987,13 +986,13 @@
|
||||
<file relUrl="Content/themes/techno/images/logo.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/css/lightbox.css" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/StructureMap.pdb" publishTime="11/02/2013 13:30:02" />
|
||||
<file relUrl="Scripts/jquery.validate-vsdoc.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Pvp.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/ss.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/NuGet.Core.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/blog_post.html" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/contact.html" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Create.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/Customization.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.Razor.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Areas/Manage/Views/Accounts/Details.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/ss3.png" publishTime="11/02/2013 13:30:01" />
|
||||
@ -1007,8 +1006,9 @@
|
||||
<file relUrl="Content/themes/techno/images/templatemo_image_04.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_home_header.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/blog/03.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/ddsmoothmenu.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/slider/ss.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/LOC.Website.Common.dll" publishTime="02/01/2014 08:59:35" />
|
||||
<file relUrl="Views/Shared/_Layout.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/prevlabel.gif" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_bg.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/LOC.Core.dll" publishTime="01/20/2014 07:35:15" />
|
||||
@ -1026,9 +1026,9 @@
|
||||
<file relUrl="Content/themes/techno/images/templatemo_slider.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Shared/_basicLayout.cshtml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom5.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate.unobtrusive.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/Images/dom11.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/flickr.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_subpage_header.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/EntityFramework.dll" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Views/Web.config" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/builder.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_footer.jpg" publishTime="11/02/2013 13:30:01" />
|
||||
@ -1042,7 +1042,7 @@
|
||||
<file relUrl="Content/Images/Dominate.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/close.gif" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/WebMatrix.Data.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Scripts/jquery.validate-vsdoc.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/System.Web.WebPages.xml" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/js/lightbox.js" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="Content/themes/techno/images/templatemo_logo.png" publishTime="11/02/2013 13:30:01" />
|
||||
<file relUrl="bin/Moq.dll" publishTime="11/02/2013 13:30:01" />
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user