Merge branch 'clans-beta' of ssh://184.154.0.242:7999/min/Mineplex into clans-beta
This commit is contained in:
commit
e5fa59b8da
@ -1097,4 +1097,28 @@ public class ClansUtility
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void invite(Player caller, ClanInfo clan, Player target)
|
||||||
|
{
|
||||||
|
if (clan.getMembers().get(caller.getUniqueId()).getRole() != ClanRole.LEADER && clan.getMembers().get(caller.getUniqueId()).getRole() != ClanRole.ADMIN)
|
||||||
|
{
|
||||||
|
UtilPlayer.message(caller, F.main("Clans", "Only the Clan Leader and Admins can send invites."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (target.getName().equals(caller.getName()))
|
||||||
|
{
|
||||||
|
UtilPlayer.message(caller, F.main("Clans", "You cannot invite yourself."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Inform
|
||||||
|
clan.inform(F.name(caller.getName()) + " invited " + F.name(target.getName()) + " to join your Clan.", caller.getName());
|
||||||
|
UtilPlayer.message(caller, F.main("Clans", "You invited " + F.name(target.getName()) + " to join your Clan."));
|
||||||
|
UtilPlayer.message(target, F.main("Clans", F.name(caller.getName()) + " invited you to join " + F.elem("Clan " + clan.getName()) + "."));
|
||||||
|
UtilPlayer.message(target, F.main("Clans", "Type " + F.elem("/c join " + clan.getName()) + " to accept!"));
|
||||||
|
|
||||||
|
// Task
|
||||||
|
Clans.getClanDataAccess().invite(clan, target.getName(), caller.getName());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -17,10 +17,12 @@ import mineplex.core.common.util.UtilServer;
|
|||||||
import mineplex.core.common.util.UtilTime;
|
import mineplex.core.common.util.UtilTime;
|
||||||
import mineplex.core.common.util.UtilTime.TimeUnit;
|
import mineplex.core.common.util.UtilTime.TimeUnit;
|
||||||
import mineplex.core.common.util.UtilWorld;
|
import mineplex.core.common.util.UtilWorld;
|
||||||
|
import mineplex.game.clans.Clans;
|
||||||
import mineplex.game.clans.clans.ClanInfo;
|
import mineplex.game.clans.clans.ClanInfo;
|
||||||
import mineplex.game.clans.clans.ClanRole;
|
import mineplex.game.clans.clans.ClanRole;
|
||||||
import mineplex.game.clans.clans.ClansBlacklist;
|
import mineplex.game.clans.clans.ClansBlacklist;
|
||||||
import mineplex.game.clans.clans.ClansManager;
|
import mineplex.game.clans.clans.ClansManager;
|
||||||
|
import mineplex.game.clans.clans.ClansUtility;
|
||||||
import mineplex.game.clans.clans.ClientClan;
|
import mineplex.game.clans.clans.ClientClan;
|
||||||
import mineplex.game.clans.clans.event.ClansCommandExecutedEvent;
|
import mineplex.game.clans.clans.event.ClansCommandExecutedEvent;
|
||||||
import mineplex.game.clans.tutorials.TutorialManager;
|
import mineplex.game.clans.tutorials.TutorialManager;
|
||||||
@ -299,12 +301,6 @@ public class ClansCommand extends CommandBase<ClansManager>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clan.getMembers().get(caller.getUniqueId()).getRole() != ClanRole.LEADER && clan.getMembers().get(caller.getUniqueId()).getRole() != ClanRole.ADMIN)
|
|
||||||
{
|
|
||||||
UtilPlayer.message(caller, F.main("Clans", "Only the Clan Leader and Admins can send invites."));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args.length < 2)
|
if (args.length < 2)
|
||||||
{
|
{
|
||||||
UtilPlayer.message(caller, F.main("Clans", "You did not input an invitee."));
|
UtilPlayer.message(caller, F.main("Clans", "You did not input an invitee."));
|
||||||
@ -314,20 +310,7 @@ public class ClansCommand extends CommandBase<ClansManager>
|
|||||||
Player target = UtilPlayer.searchOnline(caller, args[1], true);
|
Player target = UtilPlayer.searchOnline(caller, args[1], true);
|
||||||
if (target == null) return;
|
if (target == null) return;
|
||||||
|
|
||||||
if (target.getName().equals(caller.getName()))
|
Plugin.getClanUtility().invite(caller, clan, target);
|
||||||
{
|
|
||||||
UtilPlayer.message(caller, F.main("Clans", "You cannot invite yourself."));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inform
|
|
||||||
clan.inform(F.name(caller.getName()) + " invited " + F.name(target.getName()) + " to join your Clan.", caller.getName());
|
|
||||||
UtilPlayer.message(caller, F.main("Clans", "You invited " + F.name(target.getName()) + " to join your Clan."));
|
|
||||||
UtilPlayer.message(target, F.main("Clans", F.name(caller.getName()) + " invited you to join " + F.elem("Clan " + clan.getName()) + "."));
|
|
||||||
UtilPlayer.message(target, F.main("Clans", "Type " + F.elem("/c join " + clan.getName()) + " to accept!"));
|
|
||||||
|
|
||||||
// Task
|
|
||||||
Plugin.getClanDataAccess().invite(clan, target.getName(), caller.getName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void join(final Player caller, String[] args)
|
public void join(final Player caller, String[] args)
|
||||||
|
@ -43,7 +43,7 @@ public class ClanInvitePage extends ClanPageBase
|
|||||||
{
|
{
|
||||||
if (index <= 54 && getPlugin().getClan(player) == null)
|
if (index <= 54 && getPlugin().getClan(player) == null)
|
||||||
{
|
{
|
||||||
addPlayerButton(index, player);
|
addPlayerButton(index, player, clanInfo);
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -59,22 +59,22 @@ public class ClanInvitePage extends ClanPageBase
|
|||||||
addBackButton();
|
addBackButton();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addPlayerButton(int slot, Player player)
|
private void addPlayerButton(int slot, final Player target, final ClanInfo clan)
|
||||||
{
|
{
|
||||||
String itemName = C.cGreenB + player.getName();
|
String itemName = C.cGreenB + target.getName();
|
||||||
ArrayList<String> lore = new ArrayList<String>(5);
|
ArrayList<String> lore = new ArrayList<String>(5);
|
||||||
lore.add(" ");
|
lore.add(" ");
|
||||||
lore.add(" ");
|
lore.add(" ");
|
||||||
lore.add(ChatColor.RESET + C.cGray + "Left Click " + C.cWhite + "Invite Player");
|
lore.add(ChatColor.RESET + C.cGray + "Left Click " + C.cWhite + "Invite Player");
|
||||||
|
|
||||||
ItemStack item = UtilSkull.getPlayerHead(player.getName(), itemName, lore);
|
ItemStack item = UtilSkull.getPlayerHead(target.getName(), itemName, lore);
|
||||||
|
|
||||||
addButton(slot, item, new IButton()
|
addButton(slot, item, new IButton()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void onClick(Player player, ClickType clickType)
|
public void onClick(Player player, ClickType clickType)
|
||||||
{
|
{
|
||||||
|
getPlugin().getClanUtility().invite(getPlayer(), clan, target);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -49,14 +49,14 @@ public class ClansRegions extends MiniPlugin
|
|||||||
Location worldCenter = new Location(_world, 0, 0, 0);
|
Location worldCenter = new Location(_world, 0, 0, 0);
|
||||||
|
|
||||||
// Initialize Spawn faction and claims
|
// Initialize Spawn faction and claims
|
||||||
claimArea("Spawn", SPAWN_RADIUS, 0, false, new Location[]{Spawn.getEastSpawn(), Spawn.getWestSpawn()});
|
claimArea("Spawn", SPAWN_RADIUS, 0, false, true, new Location[]{Spawn.getEastSpawn(), Spawn.getWestSpawn()});
|
||||||
|
|
||||||
claimArea("Shops", SHOP_RADIUS, 1, false, new Location[]{Spawn.getNorthTownCenter(), Spawn.getSouthTownCenter()});
|
claimArea("Shops", SHOP_RADIUS, 2, false, false, new Location[]{Spawn.getNorthTownCenter(), Spawn.getSouthTownCenter()});
|
||||||
claimArea("Shops", SHOP_RADIUS, 0, true, new Location[]{Spawn.getNorthTownCenter(), Spawn.getSouthTownCenter()});
|
claimArea("Shops", SHOP_RADIUS, 0, true, false, new Location[]{Spawn.getNorthTownCenter(), Spawn.getSouthTownCenter()});
|
||||||
|
|
||||||
// Initialize Fields and Borderlands factions and claims
|
// Initialize Fields and Borderlands factions and claims
|
||||||
claimArea("Fields", FIELDS_RADIUS, 0, false, worldCenter);
|
claimArea("Fields", FIELDS_RADIUS, 0, false, true, worldCenter);
|
||||||
claimArea("Borderlands", BORDERLANDS_RADIUS, 32, false, worldCenter);
|
claimArea("Borderlands", BORDERLANDS_RADIUS, 32, false, true, worldCenter);
|
||||||
|
|
||||||
//debugClan("Spawn");
|
//debugClan("Spawn");
|
||||||
//debugClan("Shops");
|
//debugClan("Shops");
|
||||||
@ -120,7 +120,7 @@ public class ClansRegions extends MiniPlugin
|
|||||||
* @param claimOffset - the initial offset in claim (creating a 'hole' with chunk offset radius)
|
* @param claimOffset - the initial offset in claim (creating a 'hole' with chunk offset radius)
|
||||||
* @param safe - whether the chunk claimed is considered a 'safe' (pvp-free) region.
|
* @param safe - whether the chunk claimed is considered a 'safe' (pvp-free) region.
|
||||||
*/
|
*/
|
||||||
private void claimArea(final String clanName, final int chunkRadius, final int claimOffset, final boolean safe, final Location... locations)
|
private void claimArea(final String clanName, final int chunkRadius, final int claimOffset, final boolean safe, final boolean addNegative, final Location... locations)
|
||||||
{
|
{
|
||||||
final ClanInfo clan = _manager.getClan(clanName);
|
final ClanInfo clan = _manager.getClan(clanName);
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ public class ClansRegions extends MiniPlugin
|
|||||||
{
|
{
|
||||||
for (Location location : locations)
|
for (Location location : locations)
|
||||||
{
|
{
|
||||||
claimArea(data, location, chunkRadius, claimOffset, safe);
|
claimArea(data, location, chunkRadius, claimOffset, addNegative, safe);
|
||||||
log(String.format("Initialized %s faction territory and creation!", clanName));
|
log(String.format("Initialized %s faction territory and creation!", clanName));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ public class ClansRegions extends MiniPlugin
|
|||||||
{
|
{
|
||||||
for (Location location : locations)
|
for (Location location : locations)
|
||||||
{
|
{
|
||||||
claimArea(clan, location, chunkRadius, claimOffset, safe);
|
claimArea(clan, location, chunkRadius, claimOffset, addNegative, safe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -163,24 +163,34 @@ public class ClansRegions extends MiniPlugin
|
|||||||
claimArea(clanName, chunkRadius, claimOffset, 0, safe, locations);
|
claimArea(clanName, chunkRadius, claimOffset, 0, safe, locations);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
private void claimArea(ClanInfo clan, Location location, int chunkRadius, int claimOffset, boolean safe)
|
private void claimArea(ClanInfo clan, Location location, int chunkRadius, int claimOffset, boolean addNegative, boolean safe)
|
||||||
{
|
{
|
||||||
int chunkX = location.getChunk().getX();
|
int chunkX = location.getChunk().getX();
|
||||||
int chunkZ = location.getChunk().getZ();
|
int chunkZ = location.getChunk().getZ();
|
||||||
Set<String> chunks = new HashSet<String>();
|
Set<String> chunks = new HashSet<String>();
|
||||||
|
|
||||||
for (int xOffset = -chunkRadius - 1; xOffset <= chunkRadius; xOffset++)
|
int start = addNegative ? -chunkRadius - 1 : -chunkRadius;
|
||||||
|
|
||||||
|
for (int xOffset = start; xOffset <= chunkRadius; xOffset++)
|
||||||
{
|
{
|
||||||
for (int zOffset = -chunkRadius - 1; zOffset <= chunkRadius; zOffset++)
|
for (int zOffset = start; zOffset <= chunkRadius; zOffset++)
|
||||||
{
|
{
|
||||||
int x = chunkX + xOffset;
|
int x = chunkX + xOffset;
|
||||||
int z = chunkZ + zOffset;
|
int z = chunkZ + zOffset;
|
||||||
Chunk chunk = location.getWorld().getChunkAt(x, z);
|
Chunk chunk = location.getWorld().getChunkAt(x, z);
|
||||||
String chunkStr = UtilWorld.chunkToStr(chunk);
|
String chunkStr = UtilWorld.chunkToStr(chunk);
|
||||||
|
|
||||||
if (((xOffset < 0 && Math.abs(xOffset) < (claimOffset + 1)) || (xOffset >= 0 && xOffset < claimOffset)) &&
|
if (addNegative)
|
||||||
((zOffset < 0 && Math.abs(zOffset) < (claimOffset + 1)) || (zOffset >= 0 && zOffset < claimOffset)))
|
{
|
||||||
continue;
|
if (((xOffset < 0 && Math.abs(xOffset) < (claimOffset + 1)) || (xOffset >= 0 && xOffset < claimOffset)) &&
|
||||||
|
((zOffset < 0 && Math.abs(zOffset) < (claimOffset + 1)) || (zOffset >= 0 && zOffset < claimOffset)))
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ((Math.abs(xOffset) < claimOffset) && (Math.abs(zOffset) < claimOffset))
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (_manager.getClaimMap().containsKey(chunkStr))
|
if (_manager.getClaimMap().containsKey(chunkStr))
|
||||||
{
|
{
|
||||||
|
@ -409,7 +409,7 @@ public class Spawn extends MiniPlugin
|
|||||||
|
|
||||||
public static Location getNorthTownCenter()
|
public static Location getNorthTownCenter()
|
||||||
{
|
{
|
||||||
return new Location(getSpawnWorld(), 6, 75, -311);
|
return new Location(getSpawnWorld(), 7, 75, -311);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Location getEastSpawn()
|
public static Location getEastSpawn()
|
||||||
|
Loading…
Reference in New Issue
Block a user