- Some fixes
This commit is contained in:
parent
3a1acb9f37
commit
05f47be864
|
@ -45,6 +45,7 @@ import net.minecraft.server.v1_7_R4.PacketPlayOutEntityEquipment;
|
||||||
import net.minecraft.server.v1_7_R4.PacketPlayOutSetSlot;
|
import net.minecraft.server.v1_7_R4.PacketPlayOutSetSlot;
|
||||||
import net.minecraft.server.v1_7_R4.PacketPlayOutWindowItems;
|
import net.minecraft.server.v1_7_R4.PacketPlayOutWindowItems;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
@ -268,6 +269,7 @@ public class CaptureTheFlag extends TeamGame
|
||||||
|
|
||||||
/*ItemDropAllow.add(Material.REDSTONE_BLOCK.getId());
|
/*ItemDropAllow.add(Material.REDSTONE_BLOCK.getId());
|
||||||
ItemDropAllow.add(Material.LAPIS_BLOCK.getId());*/
|
ItemDropAllow.add(Material.LAPIS_BLOCK.getId());*/
|
||||||
|
CreatureAllowOverride = true;
|
||||||
|
|
||||||
for (GameTeam team : GetTeamList())
|
for (GameTeam team : GetTeamList())
|
||||||
{
|
{
|
||||||
|
@ -281,8 +283,6 @@ public class CaptureTheFlag extends TeamGame
|
||||||
|
|
||||||
if (this instanceof ChampionsCTF)
|
if (this instanceof ChampionsCTF)
|
||||||
{
|
{
|
||||||
CreatureAllowOverride = true;
|
|
||||||
|
|
||||||
for (int i = 0; i < GetKits().length && i < WorldData.GetDataLocs("LIGHT_BLUE").size() && i < WorldData.GetDataLocs("PINK").size(); i++)
|
for (int i = 0; i < GetKits().length && i < WorldData.GetDataLocs("LIGHT_BLUE").size() && i < WorldData.GetDataLocs("PINK").size(); i++)
|
||||||
{
|
{
|
||||||
Entity ent = GetKits()[i].SpawnEntity(WorldData.GetDataLocs("PINK").get(i));
|
Entity ent = GetKits()[i].SpawnEntity(WorldData.GetDataLocs("PINK").get(i));
|
||||||
|
@ -291,9 +291,14 @@ public class CaptureTheFlag extends TeamGame
|
||||||
ent = GetKits()[i].SpawnEntity(WorldData.GetDataLocs("LIGHT_BLUE").get(i));
|
ent = GetKits()[i].SpawnEntity(WorldData.GetDataLocs("LIGHT_BLUE").get(i));
|
||||||
Manager.GetLobby().AddKitLocation(ent, GetKits()[i], WorldData.GetDataLocs("LIGHT_BLUE").get(i));
|
Manager.GetLobby().AddKitLocation(ent, GetKits()[i], WorldData.GetDataLocs("LIGHT_BLUE").get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
CreatureAllowOverride = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Bukkit.getScheduler().runTaskLater(getArcadeManager().getPlugin(), new Runnable(){
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
CreatureAllowOverride = false;
|
||||||
|
}}, 20 * 5);
|
||||||
|
|
||||||
//End kit spawning
|
//End kit spawning
|
||||||
}
|
}
|
||||||
|
@ -784,4 +789,13 @@ public class CaptureTheFlag extends TeamGame
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void flagDamage(CustomDamageEvent event)
|
||||||
|
{
|
||||||
|
if (event.GetDamageeEntity() != null)
|
||||||
|
for (Flag f : _flags)
|
||||||
|
if (f.isFlagEntity(event.GetDamageeEntity()))
|
||||||
|
event.SetCancelled("Flag Entity");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import mineplex.core.common.util.UtilTextBottom;
|
||||||
import mineplex.core.common.util.UtilTextMiddle;
|
import mineplex.core.common.util.UtilTextMiddle;
|
||||||
import mineplex.core.common.util.UtilTime;
|
import mineplex.core.common.util.UtilTime;
|
||||||
import mineplex.core.disguise.disguises.DisguiseArmorStand;
|
import mineplex.core.disguise.disguises.DisguiseArmorStand;
|
||||||
|
import mineplex.core.disguise.disguises.DisguiseBase;
|
||||||
import mineplex.core.hologram.Hologram;
|
import mineplex.core.hologram.Hologram;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
import nautilus.game.arcade.game.GameTeam;
|
import nautilus.game.arcade.game.GameTeam;
|
||||||
|
@ -19,6 +20,7 @@ import org.bukkit.FireworkEffect;
|
||||||
import org.bukkit.FireworkEffect.Type;
|
import org.bukkit.FireworkEffect.Type;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -48,6 +50,7 @@ public class Flag
|
||||||
private String _displayName;
|
private String _displayName;
|
||||||
|
|
||||||
private LivingEntity _flagEntity;
|
private LivingEntity _flagEntity;
|
||||||
|
private DisguiseBase _disguise;
|
||||||
|
|
||||||
public Flag (CaptureTheFlag host, Location spawn, GameTeam team)
|
public Flag (CaptureTheFlag host, Location spawn, GameTeam team)
|
||||||
{
|
{
|
||||||
|
@ -71,7 +74,7 @@ public class Flag
|
||||||
_name = new Hologram(Host.getArcadeManager().getHologramManager(), spawn, team.GetColor() + team.GetName() + "'s Flag".replace("s's", "s'"));
|
_name = new Hologram(Host.getArcadeManager().getHologramManager(), spawn, team.GetColor() + team.GetName() + "'s Flag".replace("s's", "s'"));
|
||||||
_time = new Hologram(Host.getArcadeManager().getHologramManager(), spawn, "");
|
_time = new Hologram(Host.getArcadeManager().getHologramManager(), spawn, "");
|
||||||
|
|
||||||
SpawnFlag(spawn, team.GetColor() == ChatColor.RED);
|
SpawnFlag(spawn, team.GetColor() == ChatColor.RED, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public GameTeam getTeam()
|
public GameTeam getTeam()
|
||||||
|
@ -105,6 +108,12 @@ public class Flag
|
||||||
return _displayName;
|
return _displayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isFlagEntity(Entity e)
|
||||||
|
{
|
||||||
|
if (_flagEntity == null) return false;
|
||||||
|
return _flagEntity.getEntityId() == e.getEntityId();
|
||||||
|
}
|
||||||
|
|
||||||
private void AnnounceSteal(Player cap, boolean steal)
|
private void AnnounceSteal(Player cap, boolean steal)
|
||||||
{
|
{
|
||||||
if (steal)
|
if (steal)
|
||||||
|
@ -130,6 +139,9 @@ public class Flag
|
||||||
|
|
||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
|
if (_holding == null && _disguise != null)
|
||||||
|
Host.getArcadeManager().GetDisguise().updateDisguise(_disguise);
|
||||||
|
|
||||||
if (_moved)
|
if (_moved)
|
||||||
{
|
{
|
||||||
if (_dropped)
|
if (_dropped)
|
||||||
|
@ -148,7 +160,7 @@ public class Flag
|
||||||
|
|
||||||
_moved = false;
|
_moved = false;
|
||||||
_dropped = false;
|
_dropped = false;
|
||||||
SpawnFlag(_spawn, _team.GetColor() == ChatColor.RED);
|
SpawnFlag(_spawn, _team.GetColor() == ChatColor.RED, false);
|
||||||
|
|
||||||
AnnounceReturn();
|
AnnounceReturn();
|
||||||
|
|
||||||
|
@ -192,15 +204,18 @@ public class Flag
|
||||||
return ChatColor.RED;
|
return ChatColor.RED;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SpawnFlag(Location loc, boolean red)
|
public void SpawnFlag(Location loc, boolean red, boolean initial)
|
||||||
{
|
{
|
||||||
|
if (!initial) Host.CreatureAllowOverride = true;
|
||||||
_current = loc;
|
_current = loc;
|
||||||
_flagEntity = (LivingEntity) Host.getArcadeManager().GetCreature().SpawnEntity(loc, EntityType.CHICKEN);
|
_flagEntity = (LivingEntity) Host.getArcadeManager().GetCreature().SpawnEntity(loc, EntityType.CHICKEN);
|
||||||
UtilEnt.Vegetate(_flagEntity);
|
UtilEnt.Vegetate(_flagEntity);
|
||||||
DisguiseArmorStand disguise = new DisguiseArmorStand(_flagEntity);
|
DisguiseArmorStand disguise = new DisguiseArmorStand(_flagEntity);
|
||||||
disguise.setInvisible(true);
|
disguise.setInvisible(true);
|
||||||
disguise.setHelmet(_representation);
|
disguise.setBoots(_representation);
|
||||||
Host.getArcadeManager().GetDisguise().disguise(disguise, UtilServer.getPlayers());
|
Host.getArcadeManager().GetDisguise().disguise(disguise, UtilServer.getPlayers());
|
||||||
|
_disguise = disguise;
|
||||||
|
if (!initial) Host.CreatureAllowOverride = false;
|
||||||
|
|
||||||
if (!_moved)
|
if (!_moved)
|
||||||
{
|
{
|
||||||
|
@ -222,6 +237,7 @@ public class Flag
|
||||||
private void DeleteFlag()
|
private void DeleteFlag()
|
||||||
{
|
{
|
||||||
Host.getArcadeManager().GetDisguise().undisguise(_flagEntity);
|
Host.getArcadeManager().GetDisguise().undisguise(_flagEntity);
|
||||||
|
_disguise = null;
|
||||||
_flagEntity.remove();
|
_flagEntity.remove();
|
||||||
_current = null;
|
_current = null;
|
||||||
_flagEntity = null;
|
_flagEntity = null;
|
||||||
|
@ -292,7 +308,7 @@ public class Flag
|
||||||
{
|
{
|
||||||
Recharge.Instance.recharge(player, "Flag Pickup");
|
Recharge.Instance.recharge(player, "Flag Pickup");
|
||||||
Recharge.Instance.use(player, "Flag Pickup", 3000, false, false);
|
Recharge.Instance.use(player, "Flag Pickup", 3000, false, false);
|
||||||
SpawnFlag(player.getLocation(), _team.GetColor() == ChatColor.RED);
|
SpawnFlag(player.getLocation(), _team.GetColor() == ChatColor.RED, false);
|
||||||
AnnounceDrop(player);
|
AnnounceDrop(player);
|
||||||
_holding = null;
|
_holding = null;
|
||||||
_dropped = true;
|
_dropped = true;
|
||||||
|
@ -333,7 +349,7 @@ public class Flag
|
||||||
_dropped = false;
|
_dropped = false;
|
||||||
_dropTime = 0;
|
_dropTime = 0;
|
||||||
_holding = null;
|
_holding = null;
|
||||||
SpawnFlag(_spawn, _team.GetColor() == ChatColor.RED);
|
SpawnFlag(_spawn, _team.GetColor() == ChatColor.RED, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue