Scoreboard changes, Fix region values, add 1.8 Border for map

This commit is contained in:
Shaun Bennett 2015-06-24 22:44:41 -05:00
parent 2735c81205
commit a0d97d5d99
4 changed files with 62 additions and 21 deletions

View File

@ -188,7 +188,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
}
// Initialize default region factions and territory (spawn/fields/borderlands)
_clanRegions = new ClansRegions(this);
_clanRegions = new ClansRegions(plugin, this);
_clanRegions.initializeRegions();
new ClansScoreboardManager(plugin, this, clientManager, donationManager);

View File

@ -6,33 +6,43 @@ import org.bukkit.Bukkit;
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.plugin.java.JavaPlugin;
import mineplex.core.MiniPlugin;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilWorld;
import mineplex.core.packethandler.PacketPlayOutWorldBorder;
import mineplex.game.clans.clans.ClanInfo;
import mineplex.game.clans.clans.ClansDataAccessLayer;
import mineplex.game.clans.clans.ClansManager;
import mineplex.game.clans.spawn.Spawn;
public class ClansRegions
public class ClansRegions extends MiniPlugin
{
public final static String DEFAULT_WORLD_NAME = "world";
public final static int SPAWN_RADIUS = 2; // Radius of spawn claim area (measured in chunks)
public final static int SHOP_RADIUS = 1; // Radius of shop claim area (measured in chunks)
public final static int FIELDS_RADIUS = 7; // Radius of fields claim area (measured in chunks)
public final static int BORDERLANDS_RADIUS = 75; // Radius of borderlands claim area (measured in chunks)
public final static int BORDERLANDS_RADIUS = 41; // Radius of borderlands claim area (measured in chunks)
public static final int BORDER_RADIUS = 512;
private ClansManager _manager;
private World _world;
public ClansRegions(ClansManager manager, String worldName)
public ClansRegions(JavaPlugin plugin, ClansManager manager, String worldName)
{
super("Clans Regions - " + worldName, plugin);
_manager = manager;
_world = Bukkit.getWorld(worldName);
}
public ClansRegions(ClansManager manager)
public ClansRegions(JavaPlugin plugin, ClansManager manager)
{
this(manager, DEFAULT_WORLD_NAME);
this(plugin, manager, DEFAULT_WORLD_NAME);
}
public void initializeRegions()
@ -48,7 +58,7 @@ public class ClansRegions
// Initialize Fields and Borderlands factions and claims
claimArea("Fields", FIELDS_RADIUS, 0, false, worldCenter);
claimArea("Borderlands", BORDERLANDS_RADIUS, 50, false, worldCenter);
claimArea("Borderlands", BORDERLANDS_RADIUS, 26, false, worldCenter);
}
/**
@ -99,9 +109,40 @@ public class ClansRegions
}
}
}
private void log(String message)
private void sendBorder(Player player)
{
_manager.log(message);
PacketPlayOutWorldBorder packet = new PacketPlayOutWorldBorder();
packet.worldBorderType = 3;
packet.centerX = 0;
packet.centerZ = 0;
packet.newRadius = BORDER_RADIUS;
packet.oldRadius = BORDER_RADIUS;
packet.warningBlocks = -10;
packet.warningTime = -10;
if (UtilPlayer.is1_8(player))
{
UtilPlayer.sendPacket(player, packet);
System.out.println("Sent border to " + player);
}
}
@EventHandler
public void onJoin(PlayerJoinEvent event)
{
if (event.getPlayer().getWorld().equals(_world))
sendBorder(event.getPlayer());
}
@EventHandler public void onTeleport(PlayerTeleportEvent event)
{
Location from = event.getFrom();
Location to = event.getTo();
if (!from.getWorld().equals(to.getWorld()) && to.getWorld().equals(_world))
sendBorder(event.getPlayer());
}
}

View File

@ -15,35 +15,32 @@ import mineplex.game.clans.clans.scoreboard.elements.ScoreboardElementClan;
import mineplex.game.clans.clans.scoreboard.elements.ScoreboardElementPlayer;
import mineplex.game.clans.clans.scoreboard.elements.ScoreboardElementWar;
public class ClansScoreboardManager extends MiniPlugin
public class ClansScoreboardManager extends ScoreboardManager
{
private ScoreboardManager _scoreboardManager;
private ClansManager _clansManager;
public ClansScoreboardManager(JavaPlugin plugin, ClansManager clansManager, CoreClientManager clientManager, DonationManager donationManager)
{
super("Clans Scoreboard", plugin);
super(plugin, clientManager, donationManager);
_scoreboardManager = new ScoreboardManager(plugin, clientManager, donationManager);
_clansManager = clansManager;
init();
}
private void init()
{
_scoreboardManager.setTitle(" MINEPLEX CLANS ");
setTitle(" MINEPLEX CLANS ");
ScoreboardData data = _scoreboardManager.getData("default", true);
ScoreboardData data = getData("default", true);
data.writeEmpty();
data.writeElement(new ScoreboardElementClan(_clansManager));
data.writeEmpty();
data.writeEmpty();
data.writeElement(new ScoreboardElementWar(_clansManager, _clansManager.getWarManager()));
data.writeEmpty();
data.writeElement(new ScoreboardElementPlayer(_clansManager));
data.writeEmpty();
data.writeElement(new ScoreboardElementPlayer(_clansManager));
data.writeElement(_clansManager.getWorldEvent());
}
@ -52,6 +49,6 @@ public class ClansScoreboardManager extends MiniPlugin
public void drawUpdate(UpdateEvent event)
{
if (event.getType() == UpdateType.FAST)
_scoreboardManager.draw();
draw();
}
}

View File

@ -193,7 +193,10 @@ public class WorldEventManager extends MiniPlugin implements ScoreboardElement
ArrayList<String> output = new ArrayList<String>();
if (_events.size() > 0)
{
output.add(" ");
output.add(C.cAqua + C.Bold + "Event");
}
Iterator<WorldEvent> iterator = _events.iterator();
while (iterator.hasNext())