Merge branch 'develop'

This commit is contained in:
Shaun Bennett 2015-12-29 03:21:03 -06:00
commit 55cdf4148a
20 changed files with 170 additions and 45 deletions

View File

@ -56,7 +56,8 @@ public class MotdManager implements Listener, Runnable
//String motdLine = "§f§l◄ §c§lMaintenance§f§l ►";
//String motdLine = "§f§l◄ §a§lCarl the Creeper§f§l ►";
// String motdLine = " §2§l§n M O N S T E R M A Z E B E T A §f";
String motdLine = " §f❄ §2§lNew Game §f❄ §2§lType Wars §f❄";
String motdLine = " §f❄ §2§lMerry Christmas §f❄ §2§lElf Presents §f❄";
// String motdLine = " §f❄ §2§lServer Maintenance §f❄ §2§lBe Back Soon §f❄";
//String motdLine = " §d§lRank Sale §a§l40% Off");
//String motdLine = " §f§l◄§c§lMAINTENANCE§f§l►");

View File

@ -1,4 +1,4 @@
package mineplex.game.clans.items.generation;
package mineplex.core.common.weight;
public class Weight<T>
{

View File

@ -1,4 +1,4 @@
package mineplex.game.clans.items.generation;
package mineplex.core.common.weight;
import java.util.Collection;
import java.util.HashSet;

View File

@ -124,7 +124,7 @@ public class ExclusivePreferencesPage extends ShopPageBase<PreferencesManager, E
buildPreference(indices[1], Material.PAPER, "Mac Reports", userPreferences.ShowMacReports, _toggleMacReports);
buildPreference(indices[2], Material.SADDLE, "Hub Ignore Velocity", userPreferences.IgnoreVelocity, _toggleHubIgnoreVelocity);
}
else if (rank == Rank.YOUTUBE || rank == Rank.TWITCH)
else if (rank == Rank.YOUTUBE || rank == Rank.TWITCH || rank == Rank.YOUTUBE_SMALL)
{
int[] indices = UtilUI.getIndicesFor(3, 0, 2);

View File

@ -231,7 +231,7 @@ public class PreferencesPage extends ShopPageBase<PreferencesManager, Preference
if (rank.has(Rank.ULTRA))
buildPreference(indices[8], Material.BARRIER, "Disable Ads", userPreferences.DisableAds, _toggleDisableAds);
if (rank.has(Rank.MODERATOR) || rank == Rank.YOUTUBE || rank == Rank.TWITCH)
if (rank.has(Rank.MODERATOR) || rank == Rank.YOUTUBE || rank == Rank.TWITCH || rank == Rank.YOUTUBE_SMALL)
{
addButton(53, new ShopItem(Material.DIAMOND, (byte) 0, C.cAqua + "Exclusive Preferences", new String[]{C.cGold + "This will open a page of preferences", C.cGold + "that are only available to you."}, 1, false, false), new IButton()
{

View File

@ -29,6 +29,7 @@ import mineplex.core.portal.Portal;
import mineplex.core.preferences.PreferencesManager;
import mineplex.core.punish.Punish;
import mineplex.core.recharge.Recharge;
import mineplex.core.resourcepack.ResourcePackManager;
import mineplex.core.serverConfig.ServerConfiguration;
import mineplex.core.spawn.Spawn;
import mineplex.core.stats.StatsManager;
@ -114,7 +115,9 @@ public class Clans extends JavaPlugin
new Explosion(this, blockRestore);
new FriendManager(this, _clientManager, preferenceManager, portal);
new InventoryManager(this, _clientManager);
ResourcePackManager resourcePackManager = new ResourcePackManager(this, portal);
resourcePackManager.setResourcePack("http://file.mineplex.com/ResClans.zip", true);
// Enable custom-gear related managers
PacketHandler packetHandler = new PacketHandler(this);
new CustomTagFix(this, packetHandler);

View File

@ -6,7 +6,7 @@ import org.bukkit.inventory.ItemStack;
import mineplex.game.clans.economy.GoldManager;
import mineplex.game.clans.items.GearManager;
import mineplex.game.clans.items.generation.WeightSet;
import mineplex.core.common.weight.WeightSet;
public class LootManager
{

View File

@ -60,8 +60,8 @@ import mineplex.core.recharge.Recharge;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.game.clans.clans.ClansManager;
import mineplex.game.clans.items.generation.Weight;
import mineplex.game.clans.items.generation.WeightSet;
import mineplex.core.common.weight.Weight;
import mineplex.core.common.weight.WeightSet;
import mineplex.minecraft.game.classcombat.Class.ClientClass;
import mineplex.minecraft.game.classcombat.Class.IPvpClass.ClassType;
import mineplex.minecraft.game.classcombat.Skill.event.BlockTossEvent;

View File

@ -53,8 +53,8 @@ import mineplex.game.clans.items.attributes.weapon.JaggedAttribute;
import mineplex.game.clans.items.attributes.weapon.SharpAttribute;
import mineplex.game.clans.items.commands.GearCommand;
import mineplex.game.clans.items.economy.GoldToken;
import mineplex.game.clans.items.generation.Weight;
import mineplex.game.clans.items.generation.WeightSet;
import mineplex.core.common.weight.Weight;
import mineplex.core.common.weight.WeightSet;
import mineplex.game.clans.items.legendaries.AlligatorsTooth;
import mineplex.game.clans.items.legendaries.GiantsBroadsword;
import mineplex.game.clans.items.legendaries.HyperAxe;
@ -67,7 +67,6 @@ import mineplex.serverdata.serialization.RuntimeTypeAdapterFactory;
import net.minecraft.server.v1_8_R3.NBTTagCompound;
import net.minecraft.server.v1_8_R3.Packet;
import net.minecraft.server.v1_8_R3.PacketPlayOutChat;
import net.minecraft.server.v1_8_R3.PacketPlayOutSetSlot;
import net.minecraft.server.v1_8_R3.PacketPlayOutWindowItems;

View File

@ -1,11 +1,5 @@
package mineplex.game.clans.items;
import com.google.common.collect.Sets;
import mineplex.game.clans.items.generation.WeightSet;
import mineplex.game.clans.items.legendaries.AlligatorsTooth;
import mineplex.game.clans.items.legendaries.WindBlade;
public enum ItemType
{
LEGENDARY,

View File

@ -16,7 +16,6 @@ import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockFromToEvent;
@ -33,7 +32,6 @@ import org.bukkit.event.player.PlayerVelocityEvent;
import org.bukkit.plugin.java.JavaPlugin;
import mineplex.core.MiniPlugin;
import mineplex.core.common.Rank;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilPlayer;
@ -44,7 +42,7 @@ import mineplex.core.common.util.UtilTime.TimeUnit;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.game.clans.clans.ClansManager;
import mineplex.game.clans.items.generation.WeightSet;
import mineplex.core.common.weight.WeightSet;
import mineplex.minecraft.game.classcombat.Skill.event.SkillTriggerEvent;
import mineplex.minecraft.game.classcombat.item.event.WebTossEvent;
import mineplex.minecraft.game.core.condition.Condition.ConditionType;

View File

@ -74,6 +74,7 @@ import mineplex.hub.commands.GadgetToggle;
import mineplex.hub.commands.GameModeCommand;
import mineplex.hub.commands.NewsCommand;
import mineplex.hub.modules.ForcefieldManager;
import mineplex.hub.modules.HolidayGiftManager;
import mineplex.hub.modules.HubVisibilityManager;
import mineplex.hub.modules.JumpManager;
import mineplex.hub.modules.KothManager;
@ -246,6 +247,8 @@ public class HubManager extends MiniClientPlugin<HubClient>
new BonusManager(plugin, clientManager, serverStatusManager, donationManager, pollManager , npcManager, hologramManager, statsManager, _inventoryManager, petManager, giveawayManager);
// _halloweenManager = new HalloweenSpookinessManager(this);
new HolidayGiftManager(plugin, clientManager, donationManager, inventoryManager, taskManager);
// NotificationManager notificationManager = new NotificationManager(plugin, clientManager, donationManager);
// new MailManager(_plugin, notificationManager);

View File

@ -0,0 +1,118 @@
package mineplex.hub.modules;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Villager;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import mineplex.core.MiniPlugin;
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.weight.WeightSet;
import mineplex.core.donation.DonationManager;
import mineplex.core.inventory.InventoryManager;
import mineplex.core.recharge.Recharge;
import mineplex.core.reward.Reward;
import mineplex.core.reward.RewardRarity;
import mineplex.core.reward.RewardType;
import mineplex.core.reward.rewards.GemReward;
import mineplex.core.reward.rewards.InventoryReward;
import mineplex.core.task.TaskManager;
import mineplex.core.treasure.TreasureType;
public class HolidayGiftManager extends MiniPlugin
{
private final String IDENTIFIER = "the elf";
private boolean _enabled = true;
private WeightSet<Reward> _rewards;
private TaskManager _taskManager;
public HolidayGiftManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager, InventoryManager inventoryManager, TaskManager taskManager)
{
super("Holiday Gift", plugin);
_taskManager = taskManager;
_rewards = new WeightSet<>();
_rewards.add(100, new GemReward(donationManager, 50, 300, 1, 1, RewardRarity.UNCOMMON));
_rewards.add(100, new InventoryReward(inventoryManager, "Coal", "Coal", 10, 50, new ItemStack(Material.COAL), RewardRarity.UNCOMMON, 10, 0));
_rewards.add(50, new InventoryReward(inventoryManager, "Old Chest", TreasureType.OLD.getItemName(), 1, 1, new ItemStack(Material.CHEST), RewardRarity.RARE, 1, 1));
_rewards.add(50, new InventoryReward(inventoryManager, "Ancient Chest", TreasureType.ANCIENT.getItemName(), 1, 1, new ItemStack(Material.CHEST), RewardRarity.RARE, 1, 1));
_rewards.add(20, new InventoryReward(inventoryManager, "Winter Holiday Chest", TreasureType.CHRISTMAS.getItemName(), 1, 1, new ItemStack(Material.CHEST), RewardRarity.RARE, 1, 1));
_rewards.add(20, new InventoryReward(inventoryManager, "Mythical Chest", TreasureType.MYTHICAL.getItemName(), 1, 1, new ItemStack(Material.CHEST), RewardRarity.RARE, 1, 1));
}
@EventHandler
public void onInteract(PlayerInteractEntityEvent event)
{
if (!_enabled)
return;
if (!(event.getRightClicked() instanceof Villager))
return;
Villager villager = ((Villager) event.getRightClicked());
String colorLess = ChatColor.stripColor(villager.getCustomName());
String parsedName = colorLess.toLowerCase();
String elfName = parsedName.split(" ")[0];
if (!parsedName.endsWith(IDENTIFIER))
return;
if (!Recharge.Instance.use(event.getPlayer(), parsedName, 2000, false, false))
return;
String taskName = getTaskName(elfName);
if (taskName == null)
return;
if (!_taskManager.hasCompletedTask(event.getPlayer(), taskName))
{
_taskManager.completedTask(completed -> {
if (completed)
{
Reward reward = _rewards.generateRandom();
reward.giveReward(RewardType.GameLoot, event.getPlayer(), rewardData -> {
UtilPlayer.message(event.getPlayer(), F.main("Gift", F.elem(colorLess) + " searches for your gift..."));
UtilPlayer.message(event.getPlayer(), F.main("Gift", "You received " + rewardData.getFriendlyName() + C.mBody + "!"));
});
}
else
{
UtilPlayer.message(event.getPlayer(), F.main("Gift", F.elem(colorLess) + " had trouble finding a gift for you"));
UtilPlayer.message(event.getPlayer(), F.main("Gift", "Please try again later!"));
}
}, event.getPlayer(), taskName);
}
else
{
UtilPlayer.message(event.getPlayer(), F.main("Gift", F.elem(colorLess) + " has no more gifts for you!"));
}
}
private String getTaskName(String elfName)
{
if (elfName == null || elfName.length() == 0)
return null;
return "ChristmasGift.2015." + elfName;
}
public boolean isEnabled()
{
return _enabled;
}
public void setEnabled(boolean enabled)
{
_enabled = enabled;
}
}

View File

@ -1,5 +1,7 @@
package mineplex.hub.server;
import mineplex.core.common.Rank;
public class ServerInfo
{
public String Name;
@ -9,7 +11,7 @@ public class ServerInfo
public String Map;
public String ServerType;
public String Game;
public boolean HostedByStaff;
public Rank HostRank = Rank.ALL;
public int getAvailableSlots()
{

View File

@ -435,7 +435,25 @@ public class ServerManager extends MiniPlugin
serverInfo.MOTD = args.length > 0 ? args[0] : serverStatus.getMotd();
serverInfo.CurrentPlayers = serverStatus.getPlayerCount();
serverInfo.MaxPlayers = serverStatus.getMaxPlayerCount();
serverInfo.HostedByStaff = serverStatus.getMotd().contains("StaffHosted");
for (String arg : args)
{
if (arg != null && arg.startsWith("HostRank.") && arg.length() > "HostRank.".length())
{
String rankEnum = arg.split("\\.")[1];
try
{
serverInfo.HostRank = Rank.valueOf(rankEnum);
}
catch (Exception e)
{
// Ignore
}
break;
}
}
if (args.length > 1)
serverInfo.ServerType = args[1];

View File

@ -237,7 +237,7 @@ public class ServerNpcPage extends ShopPageInventory<ServerManager, ServerNpcSho
if (serverInfo.MaxPlayers - serverInfo.CurrentPlayers <= 0)
continue;
if (serverInfo.HostedByStaff && staffSlot < 9)
if (serverInfo.HostRank != null && serverInfo.HostRank.has(Rank.TWITCH) && staffSlot < 9)
{
addButton(staffSlot, getPrivateItem(serverInfo), new JoinServerButton(this, getPlugin(), serverInfo, getPlayer()));
staffSlot++;
@ -375,10 +375,10 @@ public class ServerNpcPage extends ShopPageInventory<ServerManager, ServerNpcSho
if (serverInfo.Map != null)
lore.add(ChatColor.RESET + C.cYellow + "Map: " + C.cWhite + serverInfo.Map);
if (serverInfo.HostedByStaff)
if (serverInfo.HostRank != null && serverInfo.HostRank.has(Rank.TWITCH))
{
lore.add(" ");
lore.add(ChatColor.RESET + C.cGreen + "Hosted by a Staff Member");
lore.add(ChatColor.RESET + "Host Rank: " + serverInfo.HostRank.getTag(true, false));
}
ShopItem shopItem = new ShopItem(material, data, server, lore.toArray(new String[0]), 1, false, false);

View File

@ -3,15 +3,11 @@ package nautilus.game.arcade;
import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map.Entry;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.Sound;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Entity;
@ -31,14 +27,10 @@ import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerResourcePackStatusEvent;
import org.bukkit.event.player.PlayerResourcePackStatusEvent.Status;
import org.bukkit.event.server.ServerListPingEvent;
import org.bukkit.potion.PotionEffect;
import org.bukkit.util.Vector;
import com.google.common.base.Objects;
import mineplex.core.MiniPlugin;
import mineplex.core.account.CoreClientManager;
import mineplex.core.achievement.AchievementManager;
@ -47,18 +39,14 @@ import mineplex.core.blood.Blood;
import mineplex.core.bonuses.BonusManager;
import mineplex.core.chat.Chat;
import mineplex.core.common.Rank;
import mineplex.core.common.jsonchat.ClickEvent;
import mineplex.core.common.jsonchat.JsonMessage;
import mineplex.core.common.util.C;
import mineplex.core.common.util.Callback;
import mineplex.core.common.util.F;
import mineplex.core.common.util.NautHashMap;
import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilGear;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilTime;
import mineplex.core.cosmetic.CosmeticManager;
import mineplex.core.creature.Creature;
import mineplex.core.customdata.CustomDataManager;
@ -91,7 +79,6 @@ import mineplex.core.task.TaskManager;
import mineplex.core.teleport.Teleport;
import mineplex.core.timing.TimingManager;
import mineplex.core.titangiveaway.TitanGiveawayManager;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.classcombat.Class.ClassManager;
import mineplex.minecraft.game.classcombat.Condition.SkillConditionManager;
import mineplex.minecraft.game.classcombat.Skill.SkillFactory;
@ -623,8 +610,8 @@ public class ArcadeManager extends MiniPlugin implements IRelation
String extrainformation = "|" + _serverConfig.ServerType + "|" + (_game == null ? "Unknown" : _game.GetName())
+ "|" + ((_game == null || _game.WorldData == null) ? "Unknown" : _game.WorldData.MapName);
if (_gameHostManager.isPrivateServer() && _gameHostManager.hasRank(Rank.MODERATOR))
extrainformation += "|StaffHosted";
if (_gameHostManager.isPrivateServer() && _gameHostManager.hasRank(Rank.TWITCH))
extrainformation += "|HostRank." + _gameHostManager.getHostRank().toString();
//Always Joinable
// if (_game != null && _game.JoinInProgress)

View File

@ -10,9 +10,9 @@ import org.bukkit.inventory.ItemStack;
public enum MinionSize
{
EASY("Easy", 2, ItemStackFactory.Instance.CreateStack(Material.MONSTER_EGG, (byte) 0, 1, (short) 55, "", new String[]{}), 1, 1),
MEDIUM("Medium", 4, ItemStackFactory.Instance.CreateStack(Material.MONSTER_EGG, (byte) 0, 1, (short) 61, "", new String[]{}), 1, 2),
HARD("Hard", 6, ItemStackFactory.Instance.CreateStack(Material.MONSTER_EGG, (byte) 0, 1, (short) 52, "", new String[]{}), 1, 4),
EASY("Easy", 2, ItemStackFactory.Instance.CreateStack(Material.MONSTER_EGG, (byte) 0, 1, (short) 55, "", new String[]{}), 1, 0),
MEDIUM("Medium", 4, ItemStackFactory.Instance.CreateStack(Material.MONSTER_EGG, (byte) 0, 1, (short) 61, "", new String[]{}), 1, 1),
HARD("Hard", 6, ItemStackFactory.Instance.CreateStack(Material.MONSTER_EGG, (byte) 0, 1, (short) 52, "", new String[]{}), 1, 2),
FREAK("Freak", 10000, new ItemStack(Material.MONSTER_EGG), 1, 999999),
BOSS("Boss", 10000, new ItemStack(Material.MONSTER_EGG), 7, 999999999);

View File

@ -957,7 +957,7 @@ public class TypeWars extends TeamGame
for(MinionSize size : MinionSize.values())
{
if(size == MinionSize.BOSS || size == MinionSize.FREAK)
if(size == MinionSize.BOSS || size == MinionSize.FREAK || size == MinionSize.EASY)
continue;
AddGems(player, getSpawnedMinions(player, size) * size.getGemReward(), getSpawnedMinions(player, size) + " " + size.getDisplayName() + " Minions spawned", false, true);

View File

@ -698,6 +698,8 @@ public class GameHostManager implements Listener
{
if (hasRank(Rank.SNR_MODERATOR) || _hostRank == Rank.YOUTUBE || _hostRank == Rank.TWITCH)
return 100;
else if (_hostRank == Rank.YOUTUBE_SMALL)
return 60;
else if (hasRank(Rank.LEGEND))
return 40;
else if (hasRank(Rank.HERO))