This commit is contained in:
Ty Sayers 2015-05-16 13:13:53 -04:00
commit e8d5d50162
89 changed files with 3342 additions and 1506 deletions

View File

@ -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"/>

View File

@ -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);

View File

@ -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),

View File

@ -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();

View File

@ -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)
{

View File

@ -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)

View File

@ -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);
}

View File

@ -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)

View File

@ -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;

View File

@ -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"},

View File

@ -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);
}
}

View File

@ -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");
}

View File

@ -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)

View File

@ -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();

View File

@ -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);

View File

@ -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;

View File

@ -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>
{

View File

@ -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>
{

View File

@ -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>
{

View File

@ -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))
{

View File

@ -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

View File

@ -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

View File

@ -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

View 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;
}
}

View File

@ -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);
}
}
}
}

View File

@ -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;
}
}
}

View 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;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -4,4 +4,6 @@ public class ClientMessage
{
public String LastTo;
public String LastAdminTo;
public long LastToTime;
public int SpamCounter;
}

View File

@ -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;
}

View File

@ -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;
}
}

View File

@ -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)

View File

@ -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();
}
}
}

View File

@ -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);

View File

@ -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);

View File

@ -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)

View File

@ -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);
}
}

View File

@ -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)
{

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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)

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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)
{

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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

View File

@ -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);

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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();
}
});

View File

@ -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 dont 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;
}
}

View File

@ -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();
}
}

View File

@ -0,0 +1,8 @@
package nautilus.game.arcade.game.games.cards;
public enum RoundState
{
PlaceCards,
Judge,
View,
}

View File

@ -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());
}
}

View File

@ -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)
{
}
}

View File

@ -66,6 +66,8 @@ public class ChampionsDominate extends Domination
EloRanking = false;
EloStart = 1000;
this.DontAllowOverfill = true;
this.DisableKillCommand = false;
registerStatTrackers(

View File

@ -65,6 +65,8 @@ public class ChampionsTDM extends TeamDeathmatch
InventoryOpenChest = true;
this.DisableKillCommand = false;
this.DontAllowOverfill = true;
registerStatTrackers(
new WinWithoutLosingTeammateStatTracker(this, "FlawlessVictory"),

View File

@ -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;
}
}
}

View File

@ -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)
{

View File

@ -120,6 +120,8 @@ public class Halloween extends SoloGame
//this.HungerSet = 20;
this.WorldBoundaryKill = false;
this.DontAllowOverfill = true;
}
@Override

View File

@ -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);

View File

@ -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)
{

View File

@ -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",
"",

View File

@ -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)

View File

@ -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);
}

View File

@ -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

View File

@ -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);

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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());

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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)
{

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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.