Merge remote-tracking branch 'refs/remotes/origin/develop' into feature/moba
This commit is contained in:
commit
17bfe9ee0a
@ -0,0 +1,65 @@
|
||||
package mineplex.game.clans.core;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Chunk;
|
||||
|
||||
public class ClaimLocation
|
||||
{
|
||||
public final String _worldName;
|
||||
public final int _chunkX;
|
||||
public final int _chunkZ;
|
||||
|
||||
private ClaimLocation(String worldName, int chunkX, int chunkZ)
|
||||
{
|
||||
_worldName = worldName;
|
||||
_chunkX = chunkX;
|
||||
_chunkZ = chunkZ;
|
||||
}
|
||||
|
||||
public static ClaimLocation of(String worldName, int chunkX, int chunkZ)
|
||||
{
|
||||
return new ClaimLocation(worldName, chunkX, chunkZ);
|
||||
}
|
||||
|
||||
public static ClaimLocation of(Chunk chunk)
|
||||
{
|
||||
return new ClaimLocation(chunk.getWorld().getName(), chunk.getX(), chunk.getZ());
|
||||
}
|
||||
|
||||
public static ClaimLocation fromStoredString(String storedFormat) // TODO: change stored format for next season
|
||||
{
|
||||
// Current format: world,x,z
|
||||
String[] split = storedFormat.split(",");
|
||||
return new ClaimLocation(split[0], Integer.parseInt(split[1]), Integer.parseInt(split[2]));
|
||||
}
|
||||
|
||||
public String toStoredString() // TODO: change stored format for next season
|
||||
{
|
||||
return _worldName + "," + _chunkX + "," + _chunkZ;
|
||||
}
|
||||
|
||||
public Chunk toChunk()
|
||||
{
|
||||
return Bukkit.getWorld(_worldName).getChunkAt(_chunkX, _chunkZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
return Objects.hash(_worldName, _chunkX, _chunkZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object other)
|
||||
{
|
||||
if (!(other instanceof ClaimLocation))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
ClaimLocation that = (ClaimLocation) other;
|
||||
return Objects.equals(_worldName, that._worldName) && Objects.equals(_chunkX, that._chunkX) && Objects.equals(_chunkZ, that._chunkZ);
|
||||
}
|
||||
}
|
@ -9,9 +9,21 @@ import java.sql.Timestamp;
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.jooq.DSLContext;
|
||||
|
||||
import mineplex.core.common.util.Callback;
|
||||
import mineplex.core.common.util.NautHashMap;
|
||||
import mineplex.core.database.MinecraftRepository;
|
||||
import mineplex.database.tables.records.ClansRecord;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanAllianceToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanMemberToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanTerritoryToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanWarToken;
|
||||
import mineplex.game.clans.core.repository.tokens.SimpleClanToken;
|
||||
import mineplex.game.clans.core.war.ClanWarData;
|
||||
import mineplex.serverdata.database.DBPool;
|
||||
import mineplex.serverdata.database.RepositoryBase;
|
||||
import mineplex.serverdata.database.ResultSetCallable;
|
||||
@ -20,22 +32,11 @@ import mineplex.serverdata.database.column.ColumnBoolean;
|
||||
import mineplex.serverdata.database.column.ColumnInt;
|
||||
import mineplex.serverdata.database.column.ColumnTimestamp;
|
||||
import mineplex.serverdata.database.column.ColumnVarChar;
|
||||
import mineplex.database.tables.records.ClansRecord;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanAllianceToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanMemberToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanTerritoryToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanToken;
|
||||
import mineplex.game.clans.core.repository.tokens.SimpleClanToken;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import mineplex.game.clans.core.repository.tokens.ClanWarToken;
|
||||
import mineplex.game.clans.core.war.ClanWarData;
|
||||
import org.jooq.DSLContext;
|
||||
|
||||
import static mineplex.database.Tables.*;
|
||||
import static org.jooq.impl.DSL.*;
|
||||
import static mineplex.database.Tables.accountClan;
|
||||
import static mineplex.database.Tables.accounts;
|
||||
import static mineplex.database.Tables.clans;
|
||||
import static org.jooq.impl.DSL.select;
|
||||
|
||||
public class ClanRepository extends RepositoryBase
|
||||
{
|
||||
@ -150,7 +151,6 @@ public class ClanRepository extends RepositoryBase
|
||||
* alliances, enemies, teritory claims and homes set on
|
||||
* originating server.
|
||||
* @param clanId - the id of the clan to move
|
||||
* @param serverId - the id of the destination server being moved to
|
||||
*/
|
||||
public void moveClanServer(final int clanId, String serverName, final Callback<Boolean> callback)
|
||||
{
|
||||
@ -472,12 +472,12 @@ public class ClanRepository extends RepositoryBase
|
||||
executeUpdate(DELETE_CLAN_ALLIANCE, new ColumnInt("clanid", clanId), new ColumnInt("otherClanId", otherClanId));
|
||||
}
|
||||
|
||||
public boolean addTerritoryClaim(int clanId, String chunk, boolean safe)
|
||||
public boolean addTerritoryClaim(int clanId, ClaimLocation chunk, boolean safe)
|
||||
{
|
||||
return executeUpdate(ADD_CLAN_TERRITORY, new ColumnInt("clanId", clanId), new ColumnVarChar("chunk", 100, chunk), new ColumnBoolean("safe", safe)) == 1;
|
||||
return executeUpdate(ADD_CLAN_TERRITORY, new ColumnInt("clanId", clanId), new ColumnVarChar("chunk", 100, chunk.toStoredString()), new ColumnBoolean("safe", safe)) == 1;
|
||||
}
|
||||
|
||||
public boolean addTerritoryClaims(int clanId, boolean safe, String... chunks)
|
||||
public boolean addTerritoryClaims(int clanId, boolean safe, ClaimLocation... chunks)
|
||||
{
|
||||
int affectedRows = 0;
|
||||
int size = chunks.length;
|
||||
@ -498,8 +498,9 @@ public class ClanRepository extends RepositoryBase
|
||||
Column<?> safeCol = new ColumnBoolean("safe", safe);
|
||||
|
||||
int i = 0;
|
||||
for (String chunk : chunks)
|
||||
for (ClaimLocation claim : chunks)
|
||||
{
|
||||
String chunk = claim.toStoredString();
|
||||
Column<?> chunkCol = new ColumnVarChar("chunk", 100, chunk);
|
||||
clanIdCol.setValue(preparedStatement, i + 1);
|
||||
chunkCol.setValue(preparedStatement, i + 2);
|
||||
@ -539,9 +540,9 @@ public class ClanRepository extends RepositoryBase
|
||||
// executeUpdate(ADD_CLAN_ENEMY, new ColumnInt("clanId", clanId), new ColumnInt("otherClanId", otherClanId));
|
||||
// }
|
||||
|
||||
public void removeTerritoryClaim(int clanId, String chunk)
|
||||
public void removeTerritoryClaim(int clanId, ClaimLocation chunk)
|
||||
{
|
||||
executeUpdate(DELETE_CLAN_TERRITORY, new ColumnInt("clanId", clanId), new ColumnVarChar("chunk", 100, chunk));
|
||||
executeUpdate(DELETE_CLAN_TERRITORY, new ColumnInt("clanId", clanId), new ColumnVarChar("chunk", 100, chunk.toStoredString()));
|
||||
}
|
||||
|
||||
public void removeTerritoryClaims(int clanId)
|
||||
@ -574,8 +575,8 @@ public class ClanRepository extends RepositoryBase
|
||||
> 0;
|
||||
}
|
||||
|
||||
public void updateTerritoryClaim(String chunk, boolean safe)
|
||||
public void updateTerritoryClaim(ClaimLocation chunk, boolean safe)
|
||||
{
|
||||
executeUpdate(UPDATE_CLAN_TERRITORY, new ColumnBoolean("safe", safe), new ColumnVarChar("chunk", 100, chunk));
|
||||
executeUpdate(UPDATE_CLAN_TERRITORY, new ColumnBoolean("safe", safe), new ColumnVarChar("chunk", 100, chunk.toStoredString()));
|
||||
}
|
||||
}
|
||||
|
@ -2,22 +2,21 @@ package mineplex.game.clans.core.repository;
|
||||
|
||||
import org.bukkit.Location;
|
||||
|
||||
import mineplex.game.clans.core.repository.tokens.ClanTerritoryToken;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
|
||||
public class ClanTerritory
|
||||
{
|
||||
public ClanTerritory() { }
|
||||
|
||||
public ClanTerritory(ClanTerritoryToken territoryToken)
|
||||
public ClanTerritory(ClaimLocation loc, String owner, boolean safe)
|
||||
{
|
||||
Owner = territoryToken.ClanName;
|
||||
Safe = territoryToken.Safe;
|
||||
Chunk = territoryToken.Chunk;
|
||||
ClaimLocation = loc;
|
||||
Owner = owner;
|
||||
Safe = safe;
|
||||
}
|
||||
|
||||
public boolean Safe;
|
||||
public String Owner = "";
|
||||
public String Chunk = "";
|
||||
public ClaimLocation ClaimLocation;
|
||||
|
||||
public boolean isSafe(Location location)
|
||||
{
|
||||
|
@ -1,8 +1,6 @@
|
||||
package mineplex.game.clans.clans;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
@ -10,6 +8,7 @@ import mineplex.core.account.CoreClientManager;
|
||||
import mineplex.core.common.util.Callback;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.donation.DonationManager;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.shop.energy.EnergyShop;
|
||||
|
||||
public class ClanEnergyManager extends MiniPlugin implements Runnable
|
||||
@ -45,7 +44,7 @@ public class ClanEnergyManager extends MiniPlugin implements Runnable
|
||||
|
||||
if (currentEnergy < energyPerMinute)
|
||||
{
|
||||
for (String chunk : clanInfo.getClaimSet())
|
||||
for (ClaimLocation chunk : clanInfo.getClaimSet())
|
||||
{
|
||||
_clansManager.getClanDataAccess().unclaimSilent(chunk, true);
|
||||
}
|
||||
|
@ -9,6 +9,8 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import net.minecraft.server.v1_8_R3.Material;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -25,13 +27,13 @@ import mineplex.core.common.util.UtilTime.TimeUnit;
|
||||
import mineplex.core.common.util.UtilWorld;
|
||||
import mineplex.game.clans.clans.ClansUtility.ClanRelation;
|
||||
import mineplex.game.clans.clans.tntGenerator.TntGenerator;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanAllianceToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanMemberToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanTerritoryToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanToken;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanWarToken;
|
||||
import mineplex.game.clans.core.war.ClanWarData;
|
||||
import net.minecraft.server.v1_8_R3.Material;
|
||||
|
||||
public class ClanInfo
|
||||
{
|
||||
@ -59,7 +61,7 @@ public class ClanInfo
|
||||
// Loaded from Client
|
||||
private NautHashMap<UUID, ClansPlayer> _memberMap = new NautHashMap<UUID, ClansPlayer>();
|
||||
private NautHashMap<String, Boolean> _allyMap = new NautHashMap<String, Boolean>();
|
||||
private Set<String> _claimSet = new HashSet<String>();
|
||||
private Set<ClaimLocation> _claimSet = new HashSet<>();
|
||||
|
||||
// Wars Initiated By Others
|
||||
private HashMap<String, ClanWarData> _warIn = new HashMap<String, ClanWarData>();
|
||||
@ -134,7 +136,7 @@ public class ClanInfo
|
||||
|
||||
for (ClanTerritoryToken territoryToken : token.Territories)
|
||||
{
|
||||
_claimSet.add(territoryToken.Chunk);
|
||||
_claimSet.add(ClaimLocation.fromStoredString(territoryToken.Chunk));
|
||||
}
|
||||
|
||||
for (ClanAllianceToken allianceToken : token.Alliances)
|
||||
@ -378,10 +380,7 @@ public class ClanInfo
|
||||
|
||||
stringList.add(F.main("Clans", getName() + " Territory;"));
|
||||
|
||||
for (String cur : getClaimSet())
|
||||
{
|
||||
stringList.add(cur);
|
||||
}
|
||||
getClaimSet().stream().map(ClaimLocation::toStoredString).forEach(stringList::add);
|
||||
|
||||
return stringList;
|
||||
}
|
||||
@ -439,7 +438,7 @@ public class ClanInfo
|
||||
return _memberMap;
|
||||
}
|
||||
|
||||
public Set<String> getClaimSet()
|
||||
public Set<ClaimLocation> getClaimSet()
|
||||
{
|
||||
return _claimSet;
|
||||
}
|
||||
|
@ -2,6 +2,9 @@ package mineplex.game.clans.clans;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import mineplex.core.common.Rank;
|
||||
import mineplex.core.common.util.Callback;
|
||||
import mineplex.core.common.util.F;
|
||||
@ -9,13 +12,11 @@ import mineplex.core.common.util.UtilInput;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.common.util.UtilWorld;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.core.repository.ClanTerritory;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanToken;
|
||||
import mineplex.game.clans.core.war.ClanWarData;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ClansAdmin
|
||||
{
|
||||
private ClansManager Clans;
|
||||
@ -761,7 +762,7 @@ public class ClansAdmin
|
||||
if (clientClan == null)
|
||||
return;
|
||||
|
||||
String chunk = UtilWorld.chunkToStr(caller.getLocation().getChunk());
|
||||
ClaimLocation chunk = ClaimLocation.of(caller.getLocation().getChunk());
|
||||
ClanInfo ownerClan = Clans.getClanUtility().getOwner(caller.getLocation());
|
||||
|
||||
//Already Claimed
|
||||
@ -800,7 +801,7 @@ public class ClansAdmin
|
||||
if (clientClan == null)
|
||||
return;
|
||||
|
||||
String chunk = UtilWorld.chunkToStr(caller.getLocation().getChunk());
|
||||
ClaimLocation chunk = ClaimLocation.of(caller.getLocation().getChunk());
|
||||
ClanInfo ownerClan = Clans.getClanUtility().getOwner(caller.getLocation());
|
||||
|
||||
//Not Claimed
|
||||
@ -826,12 +827,12 @@ public class ClansAdmin
|
||||
return;
|
||||
|
||||
//Unclaim
|
||||
ArrayList<String> toUnclaim = new ArrayList<String>();
|
||||
ArrayList<ClaimLocation> toUnclaim = new ArrayList<>();
|
||||
|
||||
for (String chunk : clientClan.getClaimSet())
|
||||
for (ClaimLocation chunk : clientClan.getClaimSet())
|
||||
toUnclaim.add(chunk);
|
||||
|
||||
for (String chunk : toUnclaim)
|
||||
for (ClaimLocation chunk : toUnclaim)
|
||||
Clans.getClanDataAccess().unclaim(chunk, caller.getName(), true);
|
||||
|
||||
//Inform
|
||||
@ -861,7 +862,7 @@ public class ClansAdmin
|
||||
return;
|
||||
}
|
||||
|
||||
if (!clan.getClaimSet().contains(UtilWorld.chunkToStr(clan.getHome().getChunk())))
|
||||
if (!clan.getClaimSet().contains(ClaimLocation.of(clan.getHome().getChunk())))
|
||||
{
|
||||
UtilPlayer.message(caller, F.main("Clans Admin", "Your Clan has lost its Home Territory."));
|
||||
return;
|
||||
|
@ -23,6 +23,7 @@ import mineplex.game.clans.clans.event.ClanLeaveEvent;
|
||||
import mineplex.game.clans.clans.event.ClanSetHomeEvent;
|
||||
import mineplex.game.clans.clans.scoreboard.ClansScoreboardManager;
|
||||
import mineplex.game.clans.clans.tntGenerator.TntGenerator;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.core.repository.ClanRepository;
|
||||
import mineplex.game.clans.core.repository.ClanTerritory;
|
||||
import mineplex.game.clans.core.repository.tokens.ClanToken;
|
||||
@ -71,7 +72,7 @@ public class ClansDataAccessLayer
|
||||
public void deleteLocally(ClanInfo clan)
|
||||
{
|
||||
// Territory Unclaim
|
||||
for (String cur : clan.getClaimSet())
|
||||
for (ClaimLocation cur : clan.getClaimSet())
|
||||
{
|
||||
_manager.getClaimMap().remove(cur);
|
||||
}
|
||||
@ -454,14 +455,14 @@ public class ClansDataAccessLayer
|
||||
_manager.log("Added Neutral between [" + cA.getName() + "] and [" + cB.getName() + "] by [" + player + "].");
|
||||
}
|
||||
|
||||
public boolean claimAll(final String name, final String player, final boolean safe, final String... chunks)
|
||||
public boolean claimAll(final String name, final String player, final boolean safe, final ClaimLocation... chunks)
|
||||
{
|
||||
if (!_manager.getClanMap().containsKey(name)) return false;
|
||||
|
||||
final ClanInfo clan = _manager.getClanMap().get(name);
|
||||
|
||||
// Unclaim
|
||||
for (String chunk : chunks)
|
||||
for (ClaimLocation chunk : chunks)
|
||||
{
|
||||
if (_manager.getClaimMap().containsKey(chunk))
|
||||
{
|
||||
@ -469,9 +470,7 @@ public class ClansDataAccessLayer
|
||||
}
|
||||
|
||||
// Memory
|
||||
ClanTerritory claim = new ClanTerritory();
|
||||
claim.Owner = name;
|
||||
claim.Safe = safe;
|
||||
ClanTerritory claim = new ClanTerritory(chunk, name, safe);
|
||||
clan.getClaimSet().add(chunk);
|
||||
_manager.getClaimMap().put(chunk, claim);
|
||||
}
|
||||
@ -493,7 +492,7 @@ public class ClansDataAccessLayer
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean claim(String name, final String chunk, String player, final boolean safe)
|
||||
public boolean claim(String name, final ClaimLocation chunk, String player, final boolean safe)
|
||||
{
|
||||
if (!_manager.getClanMap().containsKey(name)) return false;
|
||||
|
||||
@ -503,10 +502,7 @@ public class ClansDataAccessLayer
|
||||
if (_manager.getClaimMap().containsKey(chunk)) unclaim(chunk, player, false);
|
||||
|
||||
// Memory
|
||||
ClanTerritory claim = new ClanTerritory();
|
||||
claim.Owner = name;
|
||||
claim.Safe = safe;
|
||||
claim.Chunk = chunk;
|
||||
ClanTerritory claim = new ClanTerritory(chunk, name, safe);
|
||||
clan.getClaimSet().add(chunk);
|
||||
_manager.getClaimMap().put(chunk, claim);
|
||||
|
||||
@ -521,7 +517,7 @@ public class ClansDataAccessLayer
|
||||
});
|
||||
|
||||
// Visual
|
||||
Chunk c = UtilWorld.strToChunk(chunk);
|
||||
Chunk c = chunk.toChunk();
|
||||
if (!clan.isAdmin())
|
||||
{
|
||||
for (int x = 0; x < 16; x++)
|
||||
@ -544,7 +540,7 @@ public class ClansDataAccessLayer
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean unclaim(final String chunk, String player, boolean sql)
|
||||
public boolean unclaim(final ClaimLocation chunk, String player, boolean sql)
|
||||
{
|
||||
ClanTerritory claim = _manager.getClaimMap().remove(chunk);
|
||||
|
||||
@ -577,7 +573,7 @@ public class ClansDataAccessLayer
|
||||
});
|
||||
|
||||
// Restore any glowstone blocks
|
||||
Chunk c = UtilWorld.strToChunk(chunk);
|
||||
Chunk c = chunk.toChunk();
|
||||
if (!clan.isAdmin())
|
||||
{
|
||||
for (int x = 0; x < 16; x++)
|
||||
@ -615,7 +611,7 @@ public class ClansDataAccessLayer
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean unclaimSilent(String chunk, boolean sql)
|
||||
public boolean unclaimSilent(ClaimLocation chunk, boolean sql)
|
||||
{
|
||||
return unclaim(chunk, null, sql);
|
||||
}
|
||||
@ -790,12 +786,12 @@ public class ClansDataAccessLayer
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
_repository.updateTerritoryClaim(claim.Chunk, claim.Safe);
|
||||
_repository.updateTerritoryClaim(claim.ClaimLocation, claim.Safe);
|
||||
}
|
||||
});
|
||||
|
||||
// Log
|
||||
_manager.log("Safe Zone at [" + claim.Chunk + "] set to [" + claim.Safe + "] by [" + player + "].");
|
||||
_manager.log("Safe Zone at [" + claim.ClaimLocation.toStoredString() + "] set to [" + claim.Safe + "] by [" + player + "].");
|
||||
}
|
||||
|
||||
public void retrieveClan(final String clanName, final Callback<ClanToken> callback)
|
||||
|
@ -23,6 +23,7 @@ import mineplex.game.clans.clans.ClansUtility.ClanRelation;
|
||||
import mineplex.game.clans.clans.event.PlayerEnterTerritoryEvent;
|
||||
import mineplex.game.clans.clans.nether.NetherManager;
|
||||
import mineplex.game.clans.clans.worldevent.WorldEventManager;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.core.repository.ClanTerritory;
|
||||
|
||||
public class ClansDisplay extends MiniPlugin
|
||||
@ -112,7 +113,7 @@ public class ClansDisplay extends MiniPlugin
|
||||
if (claim != null)
|
||||
{
|
||||
// Relation
|
||||
ClanRelation relation = _clansManager.getClanUtility().relPT(player, claim.Chunk);
|
||||
ClanRelation relation = _clansManager.getClanUtility().relPT(player, claim.ClaimLocation);
|
||||
|
||||
// Name
|
||||
ownerString = _clansManager.getClanUtility().mRel(relation, claim.Owner, false);
|
||||
@ -201,8 +202,8 @@ public class ClansDisplay extends MiniPlugin
|
||||
}
|
||||
|
||||
// Get Data
|
||||
ClanInfo curOwner = _clansManager.getClanUtility().getOwner(UtilWorld.chunkToStr(curChunk));
|
||||
ClanTerritory curClaim = _clansManager.getClanUtility().getClaim(UtilWorld.chunkToStr(curChunk));
|
||||
ClanInfo curOwner = _clansManager.getClanUtility().getOwner(ClaimLocation.of(curChunk));
|
||||
ClanTerritory curClaim = _clansManager.getClanUtility().getClaim(ClaimLocation.of(curChunk));
|
||||
|
||||
// Add Icon
|
||||
if (i == chunk.getX() && j == chunk.getZ())
|
||||
|
@ -115,6 +115,7 @@ import mineplex.game.clans.clans.playtime.Playtime;
|
||||
import mineplex.game.clans.clans.potato.PotatoManager;
|
||||
import mineplex.game.clans.clans.redis.ClanDeleteCommandHandler;
|
||||
import mineplex.game.clans.clans.redis.ClanLoadCommandHandler;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.clans.regions.ClansRegions;
|
||||
import mineplex.game.clans.clans.scoreboard.ClansScoreboardManager;
|
||||
import mineplex.game.clans.clans.siege.SiegeManager;
|
||||
@ -245,8 +246,8 @@ public class ClansManager extends MiniClientPlugin<ClientClan>implements IRelati
|
||||
// NautHashMap<String, ClanInfo>();
|
||||
private NautHashMap<UUID, ClanInfo> _clanMemberUuidMap = new NautHashMap<UUID, ClanInfo>();
|
||||
private NautHashMap<UUID, Pair<ClanInfo, Long>> _clanMemberLeftMap = new NautHashMap<>();
|
||||
private NautHashMap<String, ClanTerritory> _claimMap = new NautHashMap<String, ClanTerritory>();
|
||||
private NautHashMap<String, Long> _unclaimMap = new NautHashMap<String, Long>();
|
||||
private NautHashMap<ClaimLocation, ClanTerritory> _claimMap = new NautHashMap<>();
|
||||
private NautHashMap<ClaimLocation, Long> _unclaimMap = new NautHashMap<>();
|
||||
|
||||
public String UserDataDir = UtilServer.getServer().getWorlds().get(0).getWorldFolder().getPath() + File.separator + ".." + File.separator + "CLANS_USER_DATA" + File.separator;
|
||||
|
||||
@ -507,7 +508,11 @@ public class ClansManager extends MiniClientPlugin<ClientClan>implements IRelati
|
||||
}
|
||||
|
||||
for (ClanTerritoryToken territoryToken : clanToken.Territories)
|
||||
_claimMap.put(territoryToken.Chunk, new ClanTerritory(territoryToken));
|
||||
{
|
||||
String[] split = territoryToken.Chunk.split(",");
|
||||
ClaimLocation location = ClaimLocation.of(split[0], Integer.parseInt(split[1]), Integer.parseInt(split[2]));
|
||||
_claimMap.put(location, new ClanTerritory(ClaimLocation.fromStoredString(territoryToken.Chunk), territoryToken.ClanName, territoryToken.Safe));
|
||||
}
|
||||
|
||||
if (loadBanner)
|
||||
_bannerManager.loadBanner(clan);
|
||||
@ -651,7 +656,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan>implements IRelati
|
||||
return getClan(clanName) != null;
|
||||
}
|
||||
|
||||
public NautHashMap<String, ClanTerritory> getClaimMap()
|
||||
public NautHashMap<ClaimLocation, ClanTerritory> getClaimMap()
|
||||
{
|
||||
return _claimMap;
|
||||
}
|
||||
@ -1130,7 +1135,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan>implements IRelati
|
||||
return _clanDisplay;
|
||||
}
|
||||
|
||||
public NautHashMap<String, Long> getUnclaimMap()
|
||||
public NautHashMap<ClaimLocation, Long> getUnclaimMap()
|
||||
{
|
||||
return _unclaimMap;
|
||||
}
|
||||
|
@ -23,6 +23,7 @@ import mineplex.game.clans.clans.event.ClanDisbandedEvent;
|
||||
import mineplex.game.clans.clans.event.PlayerClaimTerritoryEvent;
|
||||
import mineplex.game.clans.clans.event.PlayerPreClaimTerritoryEvent;
|
||||
import mineplex.game.clans.clans.event.PlayerUnClaimTerritoryEvent;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.core.repository.ClanTerritory;
|
||||
import mineplex.game.clans.spawn.Spawn;
|
||||
|
||||
@ -300,10 +301,10 @@ public class ClansUtility
|
||||
// PlayerList#updatePlayers -> iterator -> PlayerVelocityEvent -> getChunk -> loadChunk -> loadPersistentEntities -> addTracker -> ITERATE ON SAME SET
|
||||
int chunkX = loc.getBlockX() >> 4;
|
||||
int chunkZ = loc.getBlockZ() >> 4;
|
||||
String chunkStr = UtilWorld.chunkToStr(loc.getWorld().getName(), chunkX, chunkZ);
|
||||
if (!_clansManager.getClaimMap().containsKey(chunkStr)) return false;
|
||||
ClaimLocation claim = ClaimLocation.of(loc.getWorld().getName(), chunkX, chunkZ);
|
||||
if (!_clansManager.getClaimMap().containsKey(claim)) return false;
|
||||
|
||||
return _clansManager.getClaimMap().get(chunkStr).isSafe(loc);
|
||||
return _clansManager.getClaimMap().get(claim).isSafe(loc);
|
||||
}
|
||||
|
||||
public boolean isChunkHome(ClanInfo clan, Chunk chunk)
|
||||
@ -317,7 +318,7 @@ public class ClansUtility
|
||||
|
||||
public ClanTerritory getClaim(Chunk chunk)
|
||||
{
|
||||
String chunkTag = UtilWorld.chunkToStr(chunk);
|
||||
ClaimLocation chunkTag = ClaimLocation.of(chunk);
|
||||
return _clansManager.getClaimMap().get(chunkTag);
|
||||
}
|
||||
|
||||
@ -334,12 +335,12 @@ public class ClansUtility
|
||||
return getClaim(loc.getChunk());
|
||||
}
|
||||
|
||||
public ClanTerritory getClaim(String chunk)
|
||||
public ClanTerritory getClaim(ClaimLocation location)
|
||||
{
|
||||
return _clansManager.getClaimMap().get(chunk);
|
||||
return _clansManager.getClaimMap().get(location);
|
||||
}
|
||||
|
||||
public ClanInfo getOwner(String chunk)
|
||||
public ClanInfo getOwner(ClaimLocation chunk)
|
||||
{
|
||||
ClanTerritory claim = getClaim(chunk);
|
||||
|
||||
@ -365,7 +366,7 @@ public class ClansUtility
|
||||
{
|
||||
if (xOffset == 0 && zOffset == 0) continue;
|
||||
|
||||
String other = UtilWorld.chunkToStr(location.getWorld().getChunkAt(location.getChunk().getX() + xOffset, location.getChunk().getZ() + zOffset));
|
||||
ClaimLocation other = ClaimLocation.of(location.getWorld().getChunkAt(location.getChunk().getX() + xOffset, location.getChunk().getZ() + zOffset));
|
||||
|
||||
ClanInfo adjClan = getOwner(other);
|
||||
|
||||
@ -395,13 +396,13 @@ public class ClansUtility
|
||||
|
||||
public String getOwnerStringRel(Location loc, Player player)
|
||||
{
|
||||
ClanRelation rel = relPT(player, UtilWorld.chunkToStr(loc.getChunk()));
|
||||
ClanRelation rel = relPT(player, ClaimLocation.of(loc.getChunk()));
|
||||
return mRel(rel, getOwnerString(loc), true);
|
||||
}
|
||||
|
||||
public boolean isClaimed(Location loc)
|
||||
{
|
||||
String chunk = UtilWorld.chunkToStr(loc.getChunk());
|
||||
ClaimLocation chunk = ClaimLocation.of(loc.getChunk());
|
||||
|
||||
return _clansManager.getClaimMap().containsKey(chunk);
|
||||
}
|
||||
@ -478,7 +479,7 @@ public class ClansUtility
|
||||
}
|
||||
|
||||
// Territory Territory
|
||||
public ClanRelation relTT(String tA, String tB)
|
||||
public ClanRelation relTT(ClaimLocation tA, ClaimLocation tB)
|
||||
{
|
||||
return rel(getOwner(tA), getOwner(tB));
|
||||
}
|
||||
@ -496,7 +497,7 @@ public class ClansUtility
|
||||
}
|
||||
|
||||
// Player Territory
|
||||
public ClanRelation relPT(Player player, String territory)
|
||||
public ClanRelation relPT(Player player, ClaimLocation territory)
|
||||
{
|
||||
ClanTerritory claim = getClaim(territory);
|
||||
if (claim != null && claim.isSafe(player.getLocation()))
|
||||
@ -508,7 +509,7 @@ public class ClansUtility
|
||||
}
|
||||
|
||||
// Clan Territory
|
||||
public ClanRelation relCT(String cA, String tB)
|
||||
public ClanRelation relCT(String cA, ClaimLocation tB)
|
||||
{
|
||||
ClanTerritory claim = getClaim(tB);
|
||||
if (claim != null) if (claim.Safe) return ClanRelation.SAFE;
|
||||
@ -792,7 +793,7 @@ public class ClansUtility
|
||||
return false;
|
||||
}
|
||||
|
||||
String chunk = UtilWorld.chunkToStr(caller.getLocation().getChunk());
|
||||
ClaimLocation chunk = ClaimLocation.of(caller.getLocation().getChunk());
|
||||
ClanInfo ownerClan = getOwner(caller.getLocation());
|
||||
|
||||
// Try to Steal
|
||||
@ -829,7 +830,7 @@ public class ClansUtility
|
||||
continue;
|
||||
}
|
||||
|
||||
String other = UtilWorld.chunkToStr(caller.getWorld().getChunkAt(caller.getLocation().getChunk().getX() + x, caller.getLocation().getChunk().getZ() + z));
|
||||
ClaimLocation other = ClaimLocation.of(caller.getWorld().getChunkAt(caller.getLocation().getChunk().getX() + x, caller.getLocation().getChunk().getZ() + z));
|
||||
|
||||
ClanInfo adjClan = getOwner(other);
|
||||
|
||||
@ -928,10 +929,10 @@ public class ClansUtility
|
||||
int boxed = 0;
|
||||
|
||||
// This is bad. I know. But the other way doesn't seem to work.
|
||||
String down = UtilWorld.chunkToStr(chunk.getWorld().getChunkAt(chunk.getX() + 0, chunk.getZ() + 1));
|
||||
String up = UtilWorld.chunkToStr(chunk.getWorld().getChunkAt(chunk.getX(), chunk.getZ() - 1));
|
||||
String right = UtilWorld.chunkToStr(chunk.getWorld().getChunkAt(chunk.getX() + 1, chunk.getZ()));
|
||||
String left = UtilWorld.chunkToStr(chunk.getWorld().getChunkAt(chunk.getX() - 1, chunk.getZ()));
|
||||
ClaimLocation down = ClaimLocation.of(chunk.getWorld().getChunkAt(chunk.getX() + 0, chunk.getZ() + 1));
|
||||
ClaimLocation up = ClaimLocation.of(chunk.getWorld().getChunkAt(chunk.getX(), chunk.getZ() - 1));
|
||||
ClaimLocation right = ClaimLocation.of(chunk.getWorld().getChunkAt(chunk.getX() + 1, chunk.getZ()));
|
||||
ClaimLocation left = ClaimLocation.of(chunk.getWorld().getChunkAt(chunk.getX() - 1, chunk.getZ()));
|
||||
|
||||
ClanInfo downClan = getOwner(down);
|
||||
ClanInfo upClan = getOwner(up);
|
||||
@ -960,7 +961,7 @@ public class ClansUtility
|
||||
UtilServer.broadcast(F.main("Clans", F.elem(clientClan.getName()) + " unclaimed from " + F.elem(ownerClan.getName()) + " at " + F.elem(UtilWorld.locToStrClean(caller.getLocation())) + "."));
|
||||
|
||||
// Unclaim
|
||||
_clansManager.getClanDataAccess().unclaim(UtilWorld.chunkToStr(caller.getLocation().getChunk()), caller.getName(), true);
|
||||
_clansManager.getClanDataAccess().unclaim(ClaimLocation.of(caller.getLocation().getChunk()), caller.getName(), true);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -1132,7 +1133,7 @@ public class ClansUtility
|
||||
return false;
|
||||
}
|
||||
|
||||
String chunk = UtilWorld.chunkToStr(c);
|
||||
ClaimLocation chunk = ClaimLocation.of(c);
|
||||
ClanInfo ownerClan = getOwner(caller.getLocation());
|
||||
|
||||
// Try to Steal
|
||||
@ -1189,14 +1190,14 @@ public class ClansUtility
|
||||
}
|
||||
|
||||
// Unclaim
|
||||
ArrayList<String> toUnclaim = new ArrayList<String>();
|
||||
ArrayList<ClaimLocation> toUnclaim = new ArrayList<>();
|
||||
|
||||
for (String chunk : clan.getClaimSet())
|
||||
for (ClaimLocation chunk : clan.getClaimSet())
|
||||
{
|
||||
toUnclaim.add(chunk);
|
||||
}
|
||||
|
||||
for (String chunk : toUnclaim)
|
||||
for (ClaimLocation chunk : toUnclaim)
|
||||
{
|
||||
_clansManager.getClanDataAccess().unclaim(chunk, caller.getName(), true);
|
||||
}
|
||||
|
@ -4,6 +4,8 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.server.v1_8_R3.EnumDirection;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Location;
|
||||
@ -25,7 +27,6 @@ import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.common.util.UtilWorld;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.game.clans.clans.ClanInfo;
|
||||
@ -33,9 +34,8 @@ import mineplex.game.clans.clans.ClansManager;
|
||||
import mineplex.game.clans.clans.claimview.commands.ClaimVisualizeCommand;
|
||||
import mineplex.game.clans.clans.event.ClanDisbandedEvent;
|
||||
import mineplex.game.clans.clans.event.ClanLeaveEvent;
|
||||
import mineplex.game.clans.clans.event.PlayerClaimTerritoryEvent;
|
||||
import mineplex.game.clans.clans.event.PlayerUnClaimTerritoryEvent;
|
||||
import net.minecraft.server.v1_8_R3.EnumDirection;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
|
||||
public class ClaimVisualizer extends MiniPlugin
|
||||
{
|
||||
@ -43,7 +43,7 @@ public class ClaimVisualizer extends MiniPlugin
|
||||
|
||||
private List<String> _visualizing;
|
||||
|
||||
private NautHashMap<ClanInfo, NautHashMap<String, VisualizedChunkData>> _calculated;
|
||||
private NautHashMap<ClanInfo, NautHashMap<ClaimLocation, VisualizedChunkData>> _calculated;
|
||||
|
||||
public ClaimVisualizer(JavaPlugin plugin, ClansManager clansManager)
|
||||
{
|
||||
@ -55,7 +55,7 @@ public class ClaimVisualizer extends MiniPlugin
|
||||
|
||||
for (ClanInfo clan : _clansManager.getClanMap().values())
|
||||
{
|
||||
_calculated.put(clan, new NautHashMap<String, VisualizedChunkData>());
|
||||
_calculated.put(clan, new NautHashMap<>());
|
||||
}
|
||||
}
|
||||
|
||||
@ -76,11 +76,11 @@ public class ClaimVisualizer extends MiniPlugin
|
||||
_calculated.clear();
|
||||
for (ClanInfo clan : _clansManager.getClanMap().values())
|
||||
{
|
||||
_calculated.put(clan, new NautHashMap<String, VisualizedChunkData>());
|
||||
_calculated.put(clan, new NautHashMap<>());
|
||||
|
||||
for (String serialized : clan.getClaimSet())
|
||||
for (ClaimLocation chunk : clan.getClaimSet())
|
||||
{
|
||||
calculate(clan, serialized);
|
||||
calculate(clan, chunk);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -106,11 +106,11 @@ public class ClaimVisualizer extends MiniPlugin
|
||||
|
||||
private void visualize(Player player)
|
||||
{
|
||||
for (String serialized : _clansManager.getClan(player).getClaimSet())
|
||||
for (ClaimLocation claim : _clansManager.getClan(player).getClaimSet())
|
||||
{
|
||||
if (!_calculated.get(_clansManager.getClan(player)).containsKey(serialized))
|
||||
if (!_calculated.get(_clansManager.getClan(player)).containsKey(claim))
|
||||
{
|
||||
calculate(_clansManager.getClan(player), serialized);
|
||||
calculate(_clansManager.getClan(player), claim);
|
||||
}
|
||||
}
|
||||
|
||||
@ -153,35 +153,35 @@ public class ClaimVisualizer extends MiniPlugin
|
||||
}
|
||||
}
|
||||
|
||||
private void calculate(ClanInfo clan, String serialized)
|
||||
private void calculate(ClanInfo clan, ClaimLocation claim)
|
||||
{
|
||||
Chunk chunk = UtilWorld.strToChunk(serialized);
|
||||
Chunk chunk = claim.toChunk();
|
||||
|
||||
List<EnumDirection> dirs = new ArrayList<>();
|
||||
|
||||
if (!clan.getClaimSet().contains(UtilWorld.chunkToStr(chunk.getWorld().getChunkAt(chunk.getX(), chunk.getZ() - 1))))
|
||||
if (!clan.getClaimSet().contains(ClaimLocation.of(chunk.getWorld().getChunkAt(chunk.getX(), chunk.getZ() - 1))))
|
||||
{
|
||||
dirs.add(EnumDirection.NORTH);
|
||||
}
|
||||
|
||||
if (!clan.getClaimSet().contains(UtilWorld.chunkToStr(chunk.getWorld().getChunkAt(chunk.getX() + 1, chunk.getZ()))))
|
||||
if (!clan.getClaimSet().contains(ClaimLocation.of(chunk.getWorld().getChunkAt(chunk.getX() + 1, chunk.getZ()))))
|
||||
{
|
||||
dirs.add(EnumDirection.EAST);
|
||||
}
|
||||
|
||||
if (!clan.getClaimSet().contains(UtilWorld.chunkToStr(chunk.getWorld().getChunkAt(chunk.getX(), chunk.getZ() + 1))))
|
||||
if (!clan.getClaimSet().contains(ClaimLocation.of(chunk.getWorld().getChunkAt(chunk.getX(), chunk.getZ() + 1))))
|
||||
{
|
||||
dirs.add(EnumDirection.SOUTH);
|
||||
}
|
||||
|
||||
if (!clan.getClaimSet().contains(UtilWorld.chunkToStr(chunk.getWorld().getChunkAt(chunk.getX() - 1, chunk.getZ()))))
|
||||
if (!clan.getClaimSet().contains(ClaimLocation.of(chunk.getWorld().getChunkAt(chunk.getX() - 1, chunk.getZ()))))
|
||||
{
|
||||
dirs.add(EnumDirection.WEST);
|
||||
}
|
||||
|
||||
VisualizedChunkData cached = new VisualizedChunkData(chunk, dirs);
|
||||
|
||||
_calculated.get(clan).put(serialized, cached);
|
||||
_calculated.get(clan).put(claim, cached);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@ -228,9 +228,9 @@ public class ClaimVisualizer extends MiniPlugin
|
||||
{
|
||||
_calculated.clear();
|
||||
|
||||
for (String serialized : clan.getClaimSet())
|
||||
for (ClaimLocation claim : clan.getClaimSet())
|
||||
{
|
||||
calculate(clan, serialized);
|
||||
calculate(clan, claim);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,8 @@ package mineplex.game.clans.clans.commands;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.server.v1_8_R3.EnumDirection;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Location;
|
||||
@ -37,9 +39,9 @@ import mineplex.game.clans.clans.ClientClan;
|
||||
import mineplex.game.clans.clans.event.ClanJoinEvent;
|
||||
import mineplex.game.clans.clans.event.ClansCommandExecutedEvent;
|
||||
import mineplex.game.clans.clans.event.ClansCommandPreExecutedEvent;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.core.repository.ClanTerritory;
|
||||
import mineplex.game.clans.spawn.Spawn;
|
||||
import net.minecraft.server.v1_8_R3.EnumDirection;
|
||||
|
||||
public class ClansCommand extends CommandBase<ClansManager>
|
||||
{
|
||||
@ -967,7 +969,7 @@ public class ClansCommand extends CommandBase<ClansManager>
|
||||
UtilServer.broadcast(F.main("Clans", F.elem(clientClan.getName()) + " unclaimed from " + F.elem(ownerClan.getName()) + " at " + F.elem(UtilWorld.locToStrClean(caller.getLocation())) + "."));
|
||||
|
||||
// Unclaim
|
||||
Plugin.getClanDataAccess().unclaim(UtilWorld.chunkToStr(caller.getLocation().getChunk()), caller.getName(), true);
|
||||
Plugin.getClanDataAccess().unclaim(ClaimLocation.of(caller.getLocation().getChunk()), caller.getName(), true);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -1025,7 +1027,7 @@ public class ClansCommand extends CommandBase<ClansManager>
|
||||
return;
|
||||
}
|
||||
|
||||
if (!clan.getClaimSet().contains(UtilWorld.chunkToStr(clan.getHome().getChunk())))
|
||||
if (!clan.getClaimSet().contains(ClaimLocation.of(clan.getHome().getChunk())))
|
||||
{
|
||||
UtilPlayer.message(caller, F.main("Clans", "Your Clan has lost its Home Territory."));
|
||||
return;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package mineplex.game.clans.clans.map;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.*;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
@ -18,6 +18,7 @@ import mineplex.game.clans.clans.ClansUtility;
|
||||
import mineplex.game.clans.clans.worldevent.WorldEventManager;
|
||||
import mineplex.game.clans.clans.worldevent.api.EventState;
|
||||
import mineplex.game.clans.clans.worldevent.api.WorldEvent;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.tutorial.TutorialManager;
|
||||
|
||||
public class ItemMapRenderer extends MapRenderer
|
||||
@ -107,7 +108,7 @@ public class ItemMapRenderer extends MapRenderer
|
||||
blockX *= zoom;
|
||||
blockZ *= zoom;
|
||||
|
||||
String chunk = "world," + (int) Math.floor(blockX / 16D) + "," + (int) Math.floor(blockZ / 16D);
|
||||
ClaimLocation chunk = ClaimLocation.of("world", (int) Math.floor(blockX / 16D), (int) Math.floor(blockZ / 16D));
|
||||
|
||||
ClanInfo owningClan = _manager.getClansUtility().getOwner(chunk);
|
||||
|
||||
@ -196,19 +197,19 @@ public class ItemMapRenderer extends MapRenderer
|
||||
|
||||
((chunkBX == 0 || zoom == 13) &&
|
||||
|
||||
owningClan != _manager.getClansUtility().getOwner("world," + (chunkX1 - 1) + "," + chunkZ1))
|
||||
owningClan != _manager.getClansUtility().getOwner(ClaimLocation.of("world", chunkX1 - 1, chunkZ1)))
|
||||
|
||||
|| ((chunkBZ == 0 || zoom == 13) &&
|
||||
|
||||
owningClan != _manager.getClansUtility().getOwner("world," + chunkX1 + "," + (chunkZ1 - 1)))
|
||||
owningClan != _manager.getClansUtility().getOwner(ClaimLocation.of("world", chunkX1, chunkZ1 - 1)))
|
||||
|
||||
|| ((chunkBX + zoom > 15 || zoom == 13) &&
|
||||
|
||||
owningClan != _manager.getClansUtility().getOwner("world," + (chunkX1 + 1) + "," + chunkZ1))
|
||||
owningClan != _manager.getClansUtility().getOwner(ClaimLocation.of("world", chunkX1 + 1, chunkZ1)))
|
||||
|
||||
|| ((chunkBZ + zoom > 15 || zoom == 13) &&
|
||||
|
||||
owningClan != _manager.getClansUtility().getOwner("world," + chunkX1 + "," + (chunkZ1 + 1))))
|
||||
owningClan != _manager.getClansUtility().getOwner(ClaimLocation.of("world", chunkX1, chunkZ1 + 1))))
|
||||
{
|
||||
Color cColor = MapPalette.getColor(color);
|
||||
double clans = colorAll ? 1 : 0.8;// 0.65;
|
||||
|
@ -3,13 +3,6 @@ package mineplex.game.clans.clans.regions;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.common.util.Callback;
|
||||
import mineplex.game.clans.clans.ClanInfo;
|
||||
import mineplex.game.clans.clans.ClansManager;
|
||||
import mineplex.game.clans.spawn.Spawn;
|
||||
import mineplex.minecraft.game.classcombat.Skill.event.SkillTeleportEvent;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
@ -17,6 +10,14 @@ import org.bukkit.WorldBorder;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import mineplex.core.MiniPlugin;
|
||||
import mineplex.core.common.util.Callback;
|
||||
import mineplex.game.clans.clans.ClanInfo;
|
||||
import mineplex.game.clans.clans.ClansManager;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.spawn.Spawn;
|
||||
import mineplex.minecraft.game.classcombat.Skill.event.SkillTeleportEvent;
|
||||
|
||||
public class ClansRegions extends MiniPlugin
|
||||
{
|
||||
public final static String DEFAULT_WORLD_NAME = "world";
|
||||
@ -103,7 +104,7 @@ public class ClansRegions extends MiniPlugin
|
||||
|
||||
System.out.println("Clearing claims for " + name + " with clan id " + clan + "!");
|
||||
|
||||
for (String chunk : clan.getClaimSet())
|
||||
for (ClaimLocation chunk : clan.getClaimSet())
|
||||
{
|
||||
_manager.getClaimMap().remove(chunk);
|
||||
}
|
||||
@ -168,7 +169,7 @@ public class ClansRegions extends MiniPlugin
|
||||
{
|
||||
int chunkX = location.getChunk().getX();
|
||||
int chunkZ = location.getChunk().getZ();
|
||||
Set<String> chunks = new HashSet<String>();
|
||||
Set<ClaimLocation> chunks = new HashSet<>();
|
||||
|
||||
int start = addNegative ? -chunkRadius - 1 : -chunkRadius;
|
||||
|
||||
@ -178,7 +179,7 @@ public class ClansRegions extends MiniPlugin
|
||||
{
|
||||
int x = chunkX + xOffset;
|
||||
int z = chunkZ + zOffset;
|
||||
String chunkStr = location.getWorld().getName() + "," + x + "," + z;
|
||||
ClaimLocation chunk = ClaimLocation.of(location.getWorld().getName(), x, z);
|
||||
|
||||
if (addNegative)
|
||||
{
|
||||
@ -192,19 +193,19 @@ public class ClansRegions extends MiniPlugin
|
||||
continue;
|
||||
}
|
||||
|
||||
if (_manager.getClaimMap().containsKey(chunkStr))
|
||||
if (_manager.getClaimMap().containsKey(chunk))
|
||||
{
|
||||
// System.out.println("get claim map contains " + chunkStr); // this is really really slowing server startup down. just saying.
|
||||
continue;
|
||||
}
|
||||
|
||||
chunks.add(chunkStr);
|
||||
chunks.add(chunk);
|
||||
}
|
||||
}
|
||||
|
||||
if (chunks.size() > 0)
|
||||
{
|
||||
_manager.getClanDataAccess().claimAll(clan.getName(), "ClansRegions", safe, chunks.toArray(new String[0]));
|
||||
_manager.getClanDataAccess().claimAll(clan.getName(), "ClansRegions", safe, chunks.toArray(new ClaimLocation[chunks.size()]));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,10 @@ package mineplex.game.clans.clans.scoreboard.elements;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.thereallyoldscoreboardapiweshouldremove.ScoreboardManager;
|
||||
import mineplex.core.thereallyoldscoreboardapiweshouldremove.elements.ScoreboardElement;
|
||||
@ -9,10 +13,6 @@ import mineplex.game.clans.clans.ClansManager;
|
||||
import mineplex.game.clans.clans.ClansUtility;
|
||||
import mineplex.game.clans.core.repository.ClanTerritory;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
public class ScoreboardElementPlayer implements ScoreboardElement
|
||||
{
|
||||
private ClansManager _clansManager;
|
||||
@ -37,7 +37,7 @@ public class ScoreboardElementPlayer implements ScoreboardElement
|
||||
if (claim != null)
|
||||
{
|
||||
//Relation
|
||||
ClansUtility.ClanRelation relation = _clansManager.getClanUtility().relPT(player, claim.Chunk);
|
||||
ClansUtility.ClanRelation relation = _clansManager.getClanUtility().relPT(player, claim.ClaimLocation);
|
||||
|
||||
//Name
|
||||
regionString = _clansManager.getClanUtility().mRel(relation, claim.Owner, false);
|
||||
|
@ -1,5 +1,11 @@
|
||||
package mineplex.game.clans.items.legendaries;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.LineFormat;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
@ -11,17 +17,11 @@ import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||
import mineplex.core.common.util.UtilServer;
|
||||
import mineplex.core.common.util.UtilText;
|
||||
import mineplex.core.common.util.UtilTextBottom;
|
||||
import mineplex.core.common.util.UtilWorld;
|
||||
import mineplex.game.clans.clans.ClansManager;
|
||||
import mineplex.game.clans.core.ClaimLocation;
|
||||
import mineplex.game.clans.core.repository.ClanTerritory;
|
||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class MagneticMaul extends LegendaryItem
|
||||
{
|
||||
private static final double PULL_RANGE = 10d;
|
||||
@ -42,7 +42,7 @@ public class MagneticMaul extends LegendaryItem
|
||||
public void update(Player wielder)
|
||||
{
|
||||
Location loc = wielder.getLocation();
|
||||
ClanTerritory territory = ClansManager.getInstance().getClaimMap().get(UtilWorld.chunkToStr(loc));
|
||||
ClanTerritory territory = ClansManager.getInstance().getClaimMap().get(ClaimLocation.of(loc.getChunk()));
|
||||
if (territory != null && territory.isSafe(loc))
|
||||
{
|
||||
return;
|
||||
@ -95,9 +95,9 @@ public class MagneticMaul extends LegendaryItem
|
||||
if (otherTargetDistance < targetDistance && otherDistance <= PULL_RANGE)
|
||||
{
|
||||
// If entity is in safe zone, don't allow pulling of that entity.
|
||||
if (ClansManager.getInstance().getClaimMap().containsKey(UtilWorld.chunkToStr(entity.getLocation())))
|
||||
if (ClansManager.getInstance().getClaimMap().containsKey(ClaimLocation.of(entity.getLocation().getChunk())))
|
||||
{
|
||||
if (ClansManager.getInstance().getClaimMap().get(UtilWorld.chunkToStr(entity.getLocation())).isSafe(entity.getLocation()))
|
||||
if (ClansManager.getInstance().getClaimMap().get(ClaimLocation.of(entity.getLocation().getChunk())).isSafe(entity.getLocation()))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
@ -464,7 +464,7 @@ public class ClansMainTutorial extends Tutorial
|
||||
// }
|
||||
// });
|
||||
|
||||
if (!_taskManager.hasCompletedTask(event.getPlayer(), getTaskIdentifier()))
|
||||
/*if (!_taskManager.hasCompletedTask(event.getPlayer(), getTaskIdentifier()))
|
||||
{
|
||||
ClanInfo clan = ClansManager.getInstance().getClan(event.getPlayer());
|
||||
if (clan == null)
|
||||
@ -476,7 +476,7 @@ public class ClansMainTutorial extends Tutorial
|
||||
UtilPlayer.message(event.getPlayer(), F.main("Clans", "It seems you already have a clan here, so we can skip the tutorial"));
|
||||
}
|
||||
}
|
||||
else if (!event.getPlayer().hasPlayedBefore() || !event.getPlayer().getLocation().getWorld().equals(Spawn.getSpawnWorld()))
|
||||
else */if (!event.getPlayer().hasPlayedBefore() || !event.getPlayer().getLocation().getWorld().equals(Spawn.getSpawnWorld()))
|
||||
{
|
||||
Spawn.getInstance().teleport(event.getPlayer(), Spawn.getInstance().getSpawnLocation(), 2);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user