From 42a0354c9e808e04a93922dfdfcec3d5ad317594 Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Mon, 7 Dec 2015 18:28:05 -0500 Subject: [PATCH 1/7] Now Playing, Preference to disable ads --- .../core/notifier/NotificationManager.java | 21 ++++++++++---- .../core/preferences/PreferencesManager.java | 2 +- .../preferences/PreferencesRepository.java | 9 ++++-- .../core/preferences/UserPreferences.java | 1 + .../core/preferences/ui/PreferencesPage.java | 28 +++++++++++++++++-- .../src/mineplex/hub/HubManager.java | 13 +++++++-- .../nautilus/game/arcade/ArcadeManager.java | 4 +-- .../game/arcade/managers/GameManager.java | 5 +--- 8 files changed, 62 insertions(+), 21 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/notifier/NotificationManager.java b/Plugins/Mineplex.Core/src/mineplex/core/notifier/NotificationManager.java index 6c218986e..8e4cb3dc7 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/notifier/NotificationManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/notifier/NotificationManager.java @@ -13,6 +13,7 @@ import mineplex.core.common.util.C; import mineplex.core.common.util.F; import mineplex.core.common.util.UtilPlayer; import mineplex.core.common.util.UtilServer; +import mineplex.core.preferences.PreferencesManager; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; @@ -21,6 +22,7 @@ public class NotificationManager extends MiniPlugin private boolean _enabled = true; private CoreClientManager _clientManager; + private PreferencesManager _preferencesManager; private String _summerLine = C.cYellow + "█" + C.cBlack + "█" + C.cYellow + "█" + C.cBlack + "█" + C.cYellow + "█" + C.cBlack + "█" + @@ -30,11 +32,12 @@ public class NotificationManager extends MiniPlugin C.cYellow + "█" + C.cBlack + "█" + C.cYellow + "█" + C.cBlack + "█" + C.cYellow + "█" + C.cBlack + "█" + C.cYellow + "█" + C.cBlack + "█" + C.cYellow + "█" + C.cBlack + "█" + C.cYellow + "█"; - public NotificationManager(JavaPlugin plugin, CoreClientManager client) + public NotificationManager(JavaPlugin plugin, CoreClientManager client, PreferencesManager preferencesManager) { super("Notification Manager", plugin); _clientManager = client; + _preferencesManager = preferencesManager; } @EventHandler @@ -55,11 +58,17 @@ public class NotificationManager extends MiniPlugin private void christmasSale() { - Bukkit.broadcastMessage(C.cWhite + " "); - Bukkit.broadcastMessage(C.cRedB + " MASSIVE WINTER SALE"); - Bukkit.broadcastMessage(C.cWhiteB + " 50% OFF ALL RANKS"); - Bukkit.broadcastMessage(" " + C.cGreen + C.Line + "www.mineplex.com/shop"); - Bukkit.broadcastMessage(C.cWhite + " "); + for (Player player : UtilServer.getPlayers()) + { + if (!_preferencesManager.Get(player).DisableAds) + { + player.sendMessage(C.cWhite + " "); + player.sendMessage(C.cRedB + " MASSIVE WINTER SALE"); + player.sendMessage(C.cWhiteB + " 50% OFF ALL RANKS"); + player.sendMessage(" " + C.cGreen + C.Line + "www.mineplex.com/shop"); + player.sendMessage(C.cWhite + " "); + } + } } private void sale() diff --git a/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesManager.java b/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesManager.java index 23d067d8f..ae7f67755 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesManager.java @@ -136,6 +136,6 @@ public class PreferencesManager extends MiniDbClientPlugin @Override public String getQuery(int accountId, String uuid, String name) { - return "SELECT games, visibility, showChat, friendChat, privateMessaging, partyRequests, invisibility, forcefield, showMacReports, ignoreVelocity, pendingFriendRequests, friendDisplayInventoryUI, clanTips, hubMusic FROM accountPreferences WHERE accountPreferences.uuid = '" + uuid + "' LIMIT 1;"; + return "SELECT games, visibility, showChat, friendChat, privateMessaging, partyRequests, invisibility, forcefield, showMacReports, ignoreVelocity, pendingFriendRequests, friendDisplayInventoryUI, clanTips, hubMusic, disableAds FROM accountPreferences WHERE accountPreferences.uuid = '" + uuid + "' LIMIT 1;"; } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesRepository.java b/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesRepository.java index 895555da6..957785cb4 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesRepository.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/preferences/PreferencesRepository.java @@ -24,7 +24,7 @@ public class PreferencesRepository extends RepositoryBase // DEFAULT 0, showMacReports BOOL NOT NULL DEFAULT 0, ignoreVelocity BOOL // NOT NULL DEFAULT 0, PRIMARY KEY (id), UNIQUE INDEX uuid_index (uuid));"; private static String INSERT_ACCOUNT = "INSERT INTO accountPreferences (uuid) VALUES (?) ON DUPLICATE KEY UPDATE uuid=uuid;"; - private static String UPDATE_ACCOUNT_PREFERENCES = "UPDATE accountPreferences SET games = ?, visibility = ?, showChat = ?, friendChat = ?, privateMessaging = ?, partyRequests = ?, invisibility = ?, forcefield = ?, showMacReports = ?, ignoreVelocity = ?, pendingFriendRequests = ?, friendDisplayInventoryUI = ?, clanTips = ?, hubMusic = ? WHERE uuid=?;"; + private static String UPDATE_ACCOUNT_PREFERENCES = "UPDATE accountPreferences SET games = ?, visibility = ?, showChat = ?, friendChat = ?, privateMessaging = ?, partyRequests = ?, invisibility = ?, forcefield = ?, showMacReports = ?, ignoreVelocity = ?, pendingFriendRequests = ?, friendDisplayInventoryUI = ?, clanTips = ?, hubMusic = ?, disableAds = ? WHERE uuid=?;"; public PreferencesRepository(JavaPlugin plugin) { @@ -62,8 +62,9 @@ public class PreferencesRepository extends RepositoryBase preparedStatement.setBoolean(12, entry.getValue().friendDisplayInventoryUI); preparedStatement.setBoolean(13, entry.getValue().ClanTips); preparedStatement.setBoolean(14, entry.getValue().HubMusic); + preparedStatement.setBoolean(15, entry.getValue().DisableAds); System.out.println(">> " + entry.getValue().ClanTips); - preparedStatement.setString(15, entry.getKey()); + preparedStatement.setString(16, entry.getKey()); preparedStatement.addBatch(); } @@ -91,8 +92,9 @@ public class PreferencesRepository extends RepositoryBase preparedStatement.setBoolean(12, entry.getValue().friendDisplayInventoryUI); preparedStatement.setBoolean(13, entry.getValue().ClanTips); preparedStatement.setBoolean(14, entry.getValue().HubMusic); + preparedStatement.setBoolean(15, entry.getValue().DisableAds); System.out.println(">> " + entry.getValue().ClanTips); - preparedStatement.setString(15, entry.getKey()); + preparedStatement.setString(16, entry.getKey()); preparedStatement.execute(); } @@ -125,6 +127,7 @@ public class PreferencesRepository extends RepositoryBase preferences.friendDisplayInventoryUI = resultSet.getBoolean(12); preferences.ClanTips = resultSet.getBoolean(13); preferences.HubMusic = resultSet.getBoolean(14); + preferences.DisableAds = resultSet.getBoolean(15); System.out.println("<< " + resultSet.getBoolean(13)); } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/preferences/UserPreferences.java b/Plugins/Mineplex.Core/src/mineplex/core/preferences/UserPreferences.java index 4036b494f..ee8e1ca3b 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/preferences/UserPreferences.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/preferences/UserPreferences.java @@ -17,4 +17,5 @@ public class UserPreferences public boolean friendDisplayInventoryUI = true; public boolean ClanTips = true; public volatile boolean HubMusic = true; + public boolean DisableAds = false; } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/preferences/ui/PreferencesPage.java b/Plugins/Mineplex.Core/src/mineplex/core/preferences/ui/PreferencesPage.java index 27e20e3d6..a6ae4f518 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/preferences/ui/PreferencesPage.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/preferences/ui/PreferencesPage.java @@ -26,6 +26,7 @@ public class PreferencesPage extends ShopPageBase _achievementManager.setGiveInterfaceItem(true); _packetHandler = packetHandler; - new NotificationManager(getPlugin(), clientManager); + new NotificationManager(getPlugin(), clientManager, preferences); new BotSpamManager(plugin, clientManager, punish); ((CraftWorld)Bukkit.getWorlds().get(0)).getHandle().pvpMode = true; @@ -290,6 +291,14 @@ public class HubManager extends MiniClientPlugin NoteSong song = _songs.get(index); if (song != null) { + for (Player player : UtilServer.getPlayers()) + { + if (_preferences.Get(player).HubMusic) + { + UtilTextBottom.display(C.cWhite + "Now Playing " + C.cYellow + song.getName(), player); + } + } + new NotePlayer(_plugin, song, new INoteVerifier() { @Override @@ -1003,7 +1012,7 @@ public class HubManager extends MiniClientPlugin { if (event.getGadget() != null && event.getGadget().getGadgetType() == GadgetType.MusicDisc) { - UtilPlayer.message(event.getPlayer(), F.main("Hub", "Music Discs are disabled right now")); + UtilPlayer.message(event.getPlayer(), F.main("Hub", "Music Discs are disabled right now!")); event.setCancelled(true); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java index 8a852224a..21e3ea398 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java @@ -308,8 +308,8 @@ public class ArcadeManager extends MiniPlugin implements IRelation new SoupAddon(plugin, this); new TeamArmorAddon(plugin, this); - new NotificationManager(getPlugin(), clientManager); - +// new NotificationManager(getPlugin(), clientManager); + new BonusManager(plugin, clientManager, serverStatusManager, donationManager, pollManager , npcManager, hologramManager, statsManager, _inventoryManager, petManager, giveawayManager); //Champions Modules diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java index ce83a8995..0c7481f59 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameManager.java @@ -68,11 +68,8 @@ public class GameManager implements Listener if (event.getType() != UpdateType.MIN_08) return; - if (Manager.GetGame() == null) - return; - for (Player player : UtilServer.getPlayers()) - if (!Manager.GetGame().IsAlive(player)) + if ((Manager.getName() == null || !Manager.GetGame().IsAlive(player)) && !Manager.getPreferences().Get(player).DisableAds) { player.sendMessage(C.cWhite + " "); player.sendMessage(C.cRedB + " MASSIVE WINTER SALE"); From fba88ec231a1aa2a68868faa7e6436c4448da0b5 Mon Sep 17 00:00:00 2001 From: Cheese Date: Wed, 9 Dec 2015 08:19:55 +1100 Subject: [PATCH 2/7] mount stuff is fixed --- .../mineplex/core/mount/types/MountCart.java | 2 +- .../mineplex/core/mount/types/MountSlime.java | 98 ++++++++++--------- 2 files changed, 51 insertions(+), 49 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/mount/types/MountCart.java b/Plugins/Mineplex.Core/src/mineplex/core/mount/types/MountCart.java index 3abbf00e0..f5aa7f809 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/mount/types/MountCart.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/mount/types/MountCart.java @@ -75,7 +75,7 @@ public class MountCart extends Mount> if (event.getRightClicked() == null) return; - SingleEntityMountData mount = GetActive().get(event.getPlayer()); + SingleEntityMountData mount = getMountData(event.getRightClicked()); if(mount == null) return; diff --git a/Plugins/Mineplex.Core/src/mineplex/core/mount/types/MountSlime.java b/Plugins/Mineplex.Core/src/mineplex/core/mount/types/MountSlime.java index 2a0b3831a..e8a1bd649 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/mount/types/MountSlime.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/mount/types/MountSlime.java @@ -30,11 +30,11 @@ public class MountSlime extends Mount> { super(manager, "Slime Mount", Material.SLIME_BALL, (byte)0, new String[] { - ChatColor.RESET + "Bounce around on your very", - ChatColor.RESET + "own personal slime friend!", + ChatColor.RESET + "Bounce around on your very", + ChatColor.RESET + "own personal slime friend!", }, 15000); - + KnownPackage = false; } @@ -42,153 +42,155 @@ public class MountSlime extends Mount> { player.leaveVehicle(); player.eject(); - + //Remove other mounts Manager.DeregisterAll(player); - + SingleEntityMountData mount = new SingleEntityMountData(player, player.getWorld().spawn(player.getLocation(), Slime.class)); mount.getEntity().setSize(2); - + mount.getEntity().setCustomName(player.getName() + "'s " + GetName()); //Inform UtilPlayer.message(player, F.main("Mount", "You spawned " + F.elem(GetName()) + ".")); - + //Store _active.put(player, mount); } - + public void Disable(Player player) { SingleEntityMountData mount = _active.remove(player); if (mount != null) { mount.remove(); - + //Inform UtilPlayer.message(player, F.main("Mount", "You despawned " + F.elem(GetName()) + ".")); - + Manager.removeActive(player); } } - + @EventHandler public void interactMount(PlayerInteractEntityEvent event) { if (event.getRightClicked() == null) return; - - if (!GetActive().containsKey(event.getPlayer())) - return; - - if(!GetActive().get(event.getPlayer()).ownsMount(event.getPlayer())) - return; - + + SingleEntityMountData data = GetActive().get(event.getPlayer()); + + if(data == null) return; + + if(!data.ownsMount(event.getPlayer())) return; + + if(!data.isPartOfMount(event.getRightClicked())) return; + event.getPlayer().leaveVehicle(); event.getPlayer().eject(); - + event.getRightClicked().setPassenger(event.getPlayer()); } - + @EventHandler public void target(EntityTargetEvent event) { if (!GetActive().containsKey(event.getTarget())) return; - + if (!GetActive().get(event.getTarget()).equals(event.getEntity())) event.setCancelled(true); } - + @EventHandler public void updateBounce(UpdateEvent event) { if (event.getType() != UpdateType.TICK) return; - + //Bounce for (SingleEntityMountData slimeData : GetActive().values()) { Slime slime = slimeData.getEntity(); - + if (slime.getPassenger() == null) { UtilEnt.setFakeHead(slime, false); continue; } - + if (!UtilEnt.isGrounded(slime)) continue; - + if (!(slime.getPassenger() instanceof Player)) continue; - + Player player = (Player)slime.getPassenger(); - + if (!Recharge.Instance.use(player, GetName(), 200, false, false)) continue; Vector dir = slime.getPassenger().getLocation().getDirection(); - + UtilAction.velocity(slime, dir, 1, true, 0, 0.4, 1, true); - + UtilEnt.CreatureForceLook(slime, 0, UtilAlg.GetYaw(dir)); - + slime.getWorld().playSound(slime.getLocation(), Sound.SLIME_WALK, 1f, 0.75f); } - + //Collide for (SingleEntityMountData slimeData : GetActive().values()) { Slime slime = slimeData.getEntity(); if (slime.getPassenger() == null) continue; - + if (!(slime.getPassenger() instanceof Player)) continue; - + Player player = (Player)slime.getPassenger(); - + if (!Recharge.Instance.usable(player, GetName() + " Collide")) continue; - + for (SingleEntityMountData otherSlime : GetActive().values()) { Slime other = otherSlime.getEntity(); - + if (other.equals(slime)) continue; - + if (other.getPassenger() == null) continue; - + if (!(other.getPassenger() instanceof Player)) continue; - + Player otherPlayer = (Player)other.getPassenger(); - + if (!Recharge.Instance.usable(otherPlayer, GetName() + " Collide")) continue; - + //Collide if (UtilMath.offset(slime, other) > 2) continue; - + Recharge.Instance.useForce(player, GetName() + " Collide", 500); Recharge.Instance.useForce(otherPlayer, GetName() + " Collide", 500); - + UtilAction.velocity(slime, UtilAlg.getTrajectory(other, slime), 1.2, false, 0, 0.8, 10, true); UtilAction.velocity(other, UtilAlg.getTrajectory(slime, other), 1.2, false, 0, 0.8, 10, true); - + slime.getWorld().playSound(slime.getLocation(), Sound.SLIME_ATTACK, 1f, 0.5f); slime.getWorld().playSound(slime.getLocation(), Sound.SLIME_WALK, 1f, 0.5f); other.getWorld().playSound(other.getLocation(), Sound.SLIME_WALK, 1f, 0.5f); - + slime.playEffect(EntityEffect.HURT); other.playEffect(EntityEffect.HURT); } } } - - + + } From 26c5c419f8ee1c75357063822608f525bfab438a Mon Sep 17 00:00:00 2001 From: Cheese Date: Wed, 9 Dec 2015 08:38:05 +1100 Subject: [PATCH 3/7] fixed a bug where old displayName would be used after name was updated. --- .../src/nautilus/game/arcade/game/Game.java | 18 ++++++++++++++++++ .../nautilus/game/arcade/game/GameTeam.java | 9 ++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java index 7616b98ad..edf144f5e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/Game.java @@ -36,6 +36,7 @@ import org.bukkit.event.entity.FoodLevelChangeEvent; import org.bukkit.event.entity.ItemSpawnEvent; import org.bukkit.event.hanging.HangingBreakEvent; import org.bukkit.event.hanging.HangingPlaceEvent; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerQuitEvent; @@ -1723,4 +1724,21 @@ public abstract class Game implements Listener } } } + + @EventHandler + public void debug(PlayerCommandPreprocessEvent event) + { + if (event.getMessage().equals("/debugteams")) + { + for (GameTeam team : GetTeamList()) + { + event.getPlayer().sendMessage(team.GetFormattedName()); + + for (Player player : team.GetPlayers(false)) + { + event.getPlayer().sendMessage(player.getName() + ": " + team.IsAlive(player)); + } + } + } + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/GameTeam.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/GameTeam.java index ddbd4f68c..7d8264b88 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/GameTeam.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/GameTeam.java @@ -79,7 +79,7 @@ public class GameTeam { Host = host; - _displayName = name; + _displayName = null; _name = name; _color = color; _spawns = spawns; @@ -178,7 +178,7 @@ public class GameTeam { _players.put(player, in ? PlayerState.IN : PlayerState.OUT); - UtilPlayer.message(player, F.main("Team", _color + C.Bold + "You joined " + _displayName + " Team.")); + UtilPlayer.message(player, F.main("Team", _color + C.Bold + "You joined " + getDisplayName() + " Team.")); VisibilityManager.Instance.refreshPlayerToAll(player); } @@ -192,7 +192,7 @@ public class GameTeam other.getScoreboard().getTeam(Host.Manager.GetClients().Get(player).GetRank().Name + _name.toUpperCase()).removePlayer(player); other.getScoreboard().getTeam(Host.Manager.GetClients().Get(player).GetRank().Name).addPlayer(player); } - UtilPlayer.message(player, F.main("Team", _color + C.Bold + _displayName + " Team was disbanded.")); + UtilPlayer.message(player, F.main("Team", _color + C.Bold + getDisplayName() + " Team was disbanded.")); } _players.clear(); @@ -323,6 +323,9 @@ public class GameTeam public String getDisplayName() { + if (_displayName == null) + return _name; + return _displayName; } From 2e496110355bf265705015b054b63e9c85f75af2 Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Tue, 8 Dec 2015 17:45:27 -0500 Subject: [PATCH 4/7] LinkedHashMaps, Buttons --- .../hub/server/ui/ServerGameMenu.java | 6 +++-- .../hub/server/ui/button/SelectBHButton.java | 23 +++++++++++++++++++ .../hub/server/ui/button/SelectMSButton.java | 23 +++++++++++++++++++ .../nautilus/game/arcade/world/WorldData.java | 8 +++---- 4 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/button/SelectBHButton.java create mode 100644 Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/button/SelectMSButton.java diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/ServerGameMenu.java b/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/ServerGameMenu.java index 3cafbb8bf..4e3bc8320 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/ServerGameMenu.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/ServerGameMenu.java @@ -14,12 +14,14 @@ 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.SelectBHButton; import mineplex.hub.server.ui.button.SelectBLDButton; import mineplex.hub.server.ui.button.SelectBRButton; import mineplex.hub.server.ui.button.SelectCSButton; 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.SelectSKYButton; @@ -193,9 +195,9 @@ public class ServerGameMenu extends ShopPageBase getButtonMap().put(8, new SelectWIZButton(this)); getButtonMap().put(18, new SelectCSButton(this)); -// getButtonMap().put(20, new SelectBHButton(this)); + getButtonMap().put(20, new SelectBHButton(this)); getButtonMap().put(22, new SelectSSMButton(this)); -// getButtonMap().put(24, new SelectMSButton(this)); + getButtonMap().put(24, new SelectMSButton(this)); getButtonMap().put(26, new SelectDMTButton(this)); getButtonMap().put(36, new SelectDOMButton(this)); getButtonMap().put(38, new SelectTDMButton(this)); diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/button/SelectBHButton.java b/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/button/SelectBHButton.java new file mode 100644 index 000000000..fea9423b6 --- /dev/null +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/button/SelectBHButton.java @@ -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 SelectBHButton implements IButton +{ + private ServerGameMenu _menu; + + public SelectBHButton(ServerGameMenu menu) + { + _menu = menu; + } + + @Override + public void onClick(Player player, ClickType clickType) + { + _menu.OpenBH(player); + } +} diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/button/SelectMSButton.java b/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/button/SelectMSButton.java new file mode 100644 index 000000000..ca500cb25 --- /dev/null +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/server/ui/button/SelectMSButton.java @@ -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 SelectMSButton implements IButton +{ + private ServerGameMenu _menu; + + public SelectMSButton(ServerGameMenu menu) + { + _menu = menu; + } + + @Override + public void onClick(Player player, ClickType clickType) + { + _menu.openMS(player); + } +} diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/world/WorldData.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/world/WorldData.java index 068035b74..74242f538 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/world/WorldData.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/world/WorldData.java @@ -54,10 +54,10 @@ public class WorldData public GameType Game = null; - public HashMap> SpawnLocs = new HashMap>(); - private HashMap> DataLocs = new HashMap>(); - private HashMap> CustomLocs = new HashMap>(); - private final Map _dataEntries = new HashMap<>(); + public HashMap> SpawnLocs = new LinkedHashMap>(); + private HashMap> DataLocs = new LinkedHashMap>(); + private HashMap> CustomLocs = new LinkedHashMap>(); + private final Map _dataEntries = new LinkedHashMap<>(); public WorldData(Game game) { From fabf3dab5919f4cae2bcc256689b84e1b97240af Mon Sep 17 00:00:00 2001 From: Cheese Date: Thu, 10 Dec 2015 13:12:01 +1100 Subject: [PATCH 5/7] updated blocksearch --- .../src/mineplex/core/common/util/UtilBlock.java | 7 +++++-- Plugins/Nautilus.Game.Arcade/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 6 +++--- .../src/nautilus/game/arcade/ArcadeManager.java | 2 -- .../nautilus/game/arcade/game/games/event/EventGame.java | 2 -- .../game/arcade/game/games/monsterleague/Ball.java | 2 -- 6 files changed, 9 insertions(+), 12 deletions(-) diff --git a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilBlock.java b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilBlock.java index 8f3b37176..c0a7f5f3b 100644 --- a/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilBlock.java +++ b/Plugins/Mineplex.Core.Common/src/mineplex/core/common/util/UtilBlock.java @@ -835,7 +835,7 @@ public class UtilBlock return getBedHead(bed.getBlock()) != null && getBedFoot(bed.getBlock()) != null; } - public static HashSet findConnectedBlocks(Block block, HashSet blocks, int limit) + public static HashSet findConnectedBlocks(Block source, Block block, HashSet blocks, int limit, double range) { if (blocks == null) blocks = new HashSet(); @@ -852,10 +852,13 @@ public class UtilBlock { if (neighbour.getType() == Material.AIR) continue; + + if (UtilMath.offset(source.getLocation(), neighbour.getLocation()) > range) + continue; //If neighbour hasn't been searched, recursively search it! if (!blocks.contains(neighbour)) - findConnectedBlocks(neighbour, blocks, limit); + findConnectedBlocks(source, neighbour, blocks, limit, range); } return blocks; diff --git a/Plugins/Nautilus.Game.Arcade/.classpath b/Plugins/Nautilus.Game.Arcade/.classpath index 0c832983c..315ba497a 100644 --- a/Plugins/Nautilus.Game.Arcade/.classpath +++ b/Plugins/Nautilus.Game.Arcade/.classpath @@ -1,7 +1,7 @@ - + diff --git a/Plugins/Nautilus.Game.Arcade/.settings/org.eclipse.jdt.core.prefs b/Plugins/Nautilus.Game.Arcade/.settings/org.eclipse.jdt.core.prefs index 70732762e..bfbbfb4d1 100644 --- a/Plugins/Nautilus.Game.Arcade/.settings/org.eclipse.jdt.core.prefs +++ b/Plugins/Nautilus.Game.Arcade/.settings/org.eclipse.jdt.core.prefs @@ -1,14 +1,14 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=next_line org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java index 21e3ea398..fbf22d621 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java @@ -308,8 +308,6 @@ public class ArcadeManager extends MiniPlugin implements IRelation new SoupAddon(plugin, this); new TeamArmorAddon(plugin, this); -// new NotificationManager(getPlugin(), clientManager); - new BonusManager(plugin, clientManager, serverStatusManager, donationManager, pollManager , npcManager, hologramManager, statsManager, _inventoryManager, petManager, giveawayManager); //Champions Modules diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/event/EventGame.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/event/EventGame.java index 31e1a164a..03499db01 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/event/EventGame.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/event/EventGame.java @@ -77,8 +77,6 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; -import com.sun.xml.internal.ws.resources.UtilMessages; - public class EventGame extends Game { private GameHostManager _mps; diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monsterleague/Ball.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monsterleague/Ball.java index 5b901bc62..65af10219 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monsterleague/Ball.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/monsterleague/Ball.java @@ -30,8 +30,6 @@ import org.bukkit.entity.Projectile; import org.bukkit.entity.Slime; import org.bukkit.util.Vector; -import sun.rmi.runtime.Log; - public class Ball { private MonsterLeague _host; From eaf393700400e4367576541879353573352e07b1 Mon Sep 17 00:00:00 2001 From: libraryaddict Date: Thu, 10 Dec 2015 20:02:12 +1300 Subject: [PATCH 6/7] Fix the damage while walking on falling block --- .../src/nautilus/game/arcade/game/games/runner/Runner.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java index 59c1a8896..1cd250deb 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/runner/Runner.java @@ -302,6 +302,11 @@ public class Runner extends SoloGame implements IThrown { return; } + + if (target.getLocation().getY() > data.GetThrown().getLocation().getY() + 0.5) + { + return; + } } //Damage Event From 851b613d2e6a9e2db6ba71d19a12729888b5fe3f Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Thu, 10 Dec 2015 17:04:15 -0500 Subject: [PATCH 7/7] Now playing fix --- .../mineplex/core/noteblock/NBSReader.java | 7 +- .../mineplex/core/noteblock/NotePlayer.java | 94 +++++++++++-------- .../src/mineplex/hub/HubManager.java | 2 +- 3 files changed, 62 insertions(+), 41 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/noteblock/NBSReader.java b/Plugins/Mineplex.Core/src/mineplex/core/noteblock/NBSReader.java index 1ca887ede..e7844c9d1 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/noteblock/NBSReader.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/noteblock/NBSReader.java @@ -16,10 +16,10 @@ public class NBSReader { public static NoteSong loadSong(String fileName) throws FileNotFoundException { - return loadSong(new DataInputStream(new FileInputStream(new File(fileName)))); + return loadSong(new DataInputStream(new FileInputStream(new File(fileName))), fileName); } - public static NoteSong loadSong(DataInputStream stream) + public static NoteSong loadSong(DataInputStream stream, String defaultName) { try { @@ -41,6 +41,9 @@ public class NBSReader int blocksRemoved = readInt(stream); String midiFileName = readString(stream); + if ((name == null || name.length() == 0) && defaultName != null) + name = defaultName; + HashMap layerMap = new HashMap(); // Note Block Information diff --git a/Plugins/Mineplex.Core/src/mineplex/core/noteblock/NotePlayer.java b/Plugins/Mineplex.Core/src/mineplex/core/noteblock/NotePlayer.java index 70e5a8c1f..941bc1dd9 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/noteblock/NotePlayer.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/noteblock/NotePlayer.java @@ -1,10 +1,7 @@ package mineplex.core.noteblock; import java.util.ArrayList; -import java.util.Collection; import java.util.List; -import java.util.Objects; -import java.util.stream.Stream; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; @@ -43,38 +40,49 @@ public class NotePlayer private void startThread() { - Thread thread = new Thread(() -> { - while (!_finished) + Thread thread = new Thread(new Runnable() + { + @Override + public void run() { - _tick++; - if (_tick > _song.getLength()) + long startTime = System.currentTimeMillis(); + while (!_finished) { - if (_loop) + _tick++; + if (_tick > _song.getLength()) { - _tick = 1; + if (_loop) + { + _tick = 1; + } + else + { + _finished = true; + + _plugin.getServer().getScheduler().runTask(_plugin, new Runnable() + { + @Override + public void run() + { + SongFinishEvent event = new SongFinishEvent(_song); + _plugin.getServer().getPluginManager().callEvent(event); + } + }); + + return; + } } - else + + playTick(_tick); + + try { - _finished = true; - - _plugin.getServer().getScheduler().runTask(_plugin, () -> { - SongFinishEvent event = new SongFinishEvent(_song); - _plugin.getServer().getPluginManager().callEvent(event); - }); - - return; + Thread.sleep(_sleepMs); + } + catch (InterruptedException e) + { + e.printStackTrace(); } - } - - playTick(_tick); - - try - { - Thread.sleep(_sleepMs); - } - catch (InterruptedException e) - { - e.printStackTrace(); } } }); @@ -82,18 +90,28 @@ public class NotePlayer thread.start(); } - private void playNote(Note note, float volume, Collection players) - { - players.stream().filter(_verifier::shouldPlay).forEach((player) -> - player.playSound(player.getEyeLocation(), UtilNote.getInstrumentSound(note.getInstrument()), volume, (float) UtilNote.getPitch(note.getNote() - 33))); - } - private void playTick(int tick) { - Collection players = UtilServer.getPlayersCollection(); + Player[] playerArray = UtilServer.getPlayers(); + List players = new ArrayList<>(playerArray.length); + for (Player player : playerArray) + { + if (_verifier.shouldPlay(player)) + players.add(player); + } - float volume = _volumeMult * 1F; - _song.getLayers().stream().map(layer -> layer.getNote(tick)).filter(Objects::nonNull).forEach((note) -> playNote(note, volume, players)); + for (NoteLayer layer : _song.getLayers()) + { + Note note = layer.getNote(tick); + if (note != null) + { + float volume = _volumeMult * (layer.getVolume() / 100F); + for (Player player : players) + { + player.playSound(player.getEyeLocation(), UtilNote.getInstrumentSound(note.getInstrument()), volume, (float) UtilNote.getPitch(note.getNote() - 33)); + } + } + } } public void cancel() diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java index 78bf6f694..2dd2823cb 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/HubManager.java @@ -261,7 +261,7 @@ public class HubManager extends MiniClientPlugin if (file.getName().endsWith(".nbs")) { System.out.println("Loading Song " + file.getPath()); - NoteSong song = NBSReader.loadSong(new DataInputStream(new FileInputStream(file))); + NoteSong song = NBSReader.loadSong(new DataInputStream(new FileInputStream(file)), file.getName().replace("_", " ").replace(".nbs", "")); if (song != null) { _songs.add(song);