Sheep Quest
Double Gem Weekend
This commit is contained in:
parent
b776c1bf60
commit
7cf6391ddd
2
.gitignore
vendored
2
.gitignore
vendored
@ -15,3 +15,5 @@ MagicMC
|
||||
update
|
||||
|
||||
Reference
|
||||
|
||||
/Plugins/Test
|
||||
|
@ -528,7 +528,7 @@ public class UtilEnt
|
||||
|
||||
EntityCreature ec = ((CraftCreature)ent).getHandle();
|
||||
Navigation nav = ec.getNavigation();
|
||||
|
||||
|
||||
if (UtilMath.offset(ent.getLocation(), target) > 24)
|
||||
{
|
||||
Location newTarget = ent.getLocation();
|
||||
|
@ -24,9 +24,13 @@ public class GemCommand extends CommandBase<DonationManager>
|
||||
return;
|
||||
}
|
||||
|
||||
//Try Online
|
||||
final Player target = UtilPlayer.searchOnline(caller, args[0], true);
|
||||
if (target == null) return;
|
||||
|
||||
if (target == null)
|
||||
return;
|
||||
|
||||
//Give Gems to Target
|
||||
try
|
||||
{
|
||||
final int gems = Integer.parseInt(args[1]);
|
||||
|
@ -582,84 +582,10 @@ public class ArcadeManager extends MiniPlugin implements IRelation
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
//@EventHandler
|
||||
@EventHandler
|
||||
public void MobSpawn(CreatureSpawnEvent event)
|
||||
{
|
||||
if (_game == null)
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler//XXX
|
||||
public void TEST(PlayerCommandPreprocessEvent event)
|
||||
{
|
||||
if (event.getMessage().equals("/test1"))
|
||||
{
|
||||
Chicken chicken = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chicken.setBaby();
|
||||
Entity a = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 42, (byte)0);
|
||||
Entity b = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 41, (byte)0);
|
||||
|
||||
chicken.setPassenger(a);
|
||||
a.setPassenger(b);
|
||||
}
|
||||
|
||||
if (event.getMessage().equals("/test2"))
|
||||
{
|
||||
Chicken chicken = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chicken.setBaby();
|
||||
Entity a = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 42, (byte)0);
|
||||
Entity b = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 41, (byte)0);
|
||||
|
||||
Chicken chickenb = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chickenb.setBaby();
|
||||
chickenb.setCustomName("Dinnerbone");
|
||||
|
||||
chicken.setPassenger(chickenb);
|
||||
chickenb.setPassenger(a);
|
||||
a.setPassenger(b);
|
||||
}
|
||||
|
||||
if (event.getMessage().equals("/test3"))
|
||||
{
|
||||
Chicken chicken = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chicken.setBaby();
|
||||
Chicken chickenb = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chickenb.setBaby();
|
||||
Chicken chickenc = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chickenc.setBaby();
|
||||
Entity a = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 42, (byte)0);
|
||||
Entity b = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 41, (byte)0);
|
||||
|
||||
|
||||
|
||||
chicken.setPassenger(chickenb);
|
||||
chickenb.setPassenger(chickenc);
|
||||
chickenc.setPassenger(a);
|
||||
a.setPassenger(b);
|
||||
}
|
||||
|
||||
if (event.getMessage().equals("/test4"))
|
||||
{
|
||||
Chicken chicken = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chicken.setBaby();
|
||||
Chicken chickenb = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chickenb.setBaby();
|
||||
Chicken chickenc = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chickenc.setBaby();
|
||||
Chicken chickend = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Chicken.class);
|
||||
chickend.setBaby();
|
||||
Entity a = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 42, (byte)0);
|
||||
Entity b = event.getPlayer().getWorld().spawnFallingBlock(event.getPlayer().getLocation().add(0, 5, 0), 44, (byte)0);
|
||||
Entity iron = event.getPlayer().getWorld().spawn(event.getPlayer().getLocation(), Skeleton.class);
|
||||
|
||||
|
||||
|
||||
chicken.setPassenger(chickenb);
|
||||
chickenb.setPassenger(chickenc);
|
||||
chickenc.setPassenger(chickend);
|
||||
chickend.setPassenger(a);
|
||||
a.setPassenger(iron);
|
||||
iron.setPassenger(b);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ import nautilus.game.arcade.game.games.milkcow.MilkCow;
|
||||
import nautilus.game.arcade.game.games.mineware.MineWare;
|
||||
import nautilus.game.arcade.game.games.quiver.Quiver;
|
||||
import nautilus.game.arcade.game.games.runner.Runner;
|
||||
import nautilus.game.arcade.game.games.sheep.SheepGame;
|
||||
import nautilus.game.arcade.game.games.smash.SuperSmash;
|
||||
import nautilus.game.arcade.game.games.snake.Snake;
|
||||
import nautilus.game.arcade.game.games.snowfight.SnowFight;
|
||||
@ -69,6 +70,7 @@ public class GameFactory
|
||||
else if (gameType == GameType.Quiver) return new Quiver(_manager);
|
||||
else if (gameType == GameType.Runner) return new Runner(_manager);
|
||||
else if (gameType == GameType.SnowFight) return new SnowFight(_manager);
|
||||
else if (gameType == GameType.Sheep) return new SheepGame(_manager);
|
||||
else if (gameType == GameType.Smash) return new SuperSmash(_manager);
|
||||
else if (gameType == GameType.Snake) return new Snake(_manager);
|
||||
else if (gameType == GameType.Spleef) return new Spleef(_manager);
|
||||
|
@ -15,6 +15,7 @@ public enum GameType
|
||||
Dragons("Dragons"),
|
||||
Draw("Draw My Thing"),
|
||||
Evolution("Evolution"),
|
||||
FlappyBird("Flappy Bird"),
|
||||
Gravity("Gravity"),
|
||||
Halloween("Halloween Horror"),
|
||||
HideSeek("Block Hunt"),
|
||||
@ -25,6 +26,7 @@ public enum GameType
|
||||
Paintball("Super Paintball"),
|
||||
Quiver("One in the Quiver"),
|
||||
Runner("Runner"),
|
||||
Sheep("Sheep Quest"),
|
||||
Smash("Super Smash Mobs"),
|
||||
Snake("Snake"),
|
||||
SnowFight("Snow Fight"),
|
||||
|
@ -14,6 +14,7 @@ import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Creature;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
@ -267,6 +268,25 @@ public class GameTeam
|
||||
if (GetColor() == ChatColor.RED) return (byte)14;
|
||||
else return (byte)15;
|
||||
}
|
||||
|
||||
public Color GetColorBase()
|
||||
{
|
||||
if (GetColor() == ChatColor.WHITE) return Color.WHITE;
|
||||
if (GetColor() == ChatColor.GOLD) return Color.ORANGE;
|
||||
if (GetColor() == ChatColor.LIGHT_PURPLE) return Color.PURPLE;
|
||||
if (GetColor() == ChatColor.AQUA) return Color.AQUA;
|
||||
if (GetColor() == ChatColor.YELLOW) return Color.YELLOW;
|
||||
if (GetColor() == ChatColor.GREEN) return Color.GREEN;
|
||||
if (GetColor() == ChatColor.DARK_GRAY) return Color.GRAY;
|
||||
if (GetColor() == ChatColor.GRAY) return Color.GRAY;
|
||||
if (GetColor() == ChatColor.DARK_AQUA) return Color.AQUA;
|
||||
if (GetColor() == ChatColor.DARK_PURPLE) return Color.PURPLE;
|
||||
if (GetColor() == ChatColor.BLUE) return Color.BLUE;
|
||||
if (GetColor() == ChatColor.DARK_BLUE) return Color.BLUE;
|
||||
if (GetColor() == ChatColor.DARK_GREEN) return Color.GREEN;
|
||||
if (GetColor() == ChatColor.RED) return Color.RED;
|
||||
else return Color.WHITE;
|
||||
}
|
||||
|
||||
public void SetTeamEntity(Creature ent)
|
||||
{
|
||||
|
@ -0,0 +1,201 @@
|
||||
package nautilus.game.arcade.game.games.sheep;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilAlg;
|
||||
import mineplex.core.common.util.UtilEnt;
|
||||
import mineplex.core.common.util.UtilFirework;
|
||||
import mineplex.core.common.util.UtilMath;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilTime;
|
||||
import nautilus.game.arcade.game.GameTeam;
|
||||
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.FireworkEffect.Type;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Sheep;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class SheepData
|
||||
{
|
||||
public SheepGame Host;
|
||||
|
||||
public Sheep Sheep;
|
||||
|
||||
public long LastMoved = 0;
|
||||
|
||||
public Player Holder = null;
|
||||
public GameTeam HolderTeam = null;
|
||||
|
||||
public GameTeam Owner = null;
|
||||
public ArrayList<Block> OwnerPen = null;
|
||||
public Location OwnerPenMiddle = null;
|
||||
|
||||
public Location StuckLocation = null;
|
||||
public long StuckTime = System.currentTimeMillis();
|
||||
|
||||
public Location Target = null;
|
||||
|
||||
public SheepData(SheepGame host, Sheep sheep)
|
||||
{
|
||||
Host = host;
|
||||
Sheep = sheep;
|
||||
|
||||
LastMoved = System.currentTimeMillis();
|
||||
|
||||
StuckLocation = Sheep.getLocation();
|
||||
StuckTime = System.currentTimeMillis();
|
||||
|
||||
UtilEnt.Vegetate(Sheep);
|
||||
UtilEnt.ghost(Sheep, true, false);
|
||||
}
|
||||
|
||||
public void SetHolder(Player player)
|
||||
{
|
||||
Holder = player;
|
||||
HolderTeam = Host.GetTeam(player);
|
||||
}
|
||||
|
||||
public void SetOwner(GameTeam team, ArrayList<Block> locs)
|
||||
{
|
||||
//Holding sheep in an enemies base.
|
||||
if (Sheep.getVehicle() != null)
|
||||
if (HolderTeam != null && !HolderTeam.equals(team))
|
||||
return;
|
||||
|
||||
Sheep.leaveVehicle();
|
||||
|
||||
Target = null;
|
||||
|
||||
//Already owned, dont do all the stuff
|
||||
if (Owner != null && Owner.equals(team))
|
||||
return;
|
||||
|
||||
Owner = team;
|
||||
OwnerPen = locs;
|
||||
|
||||
//Middle
|
||||
Vector vec = new Vector(0,0,0);
|
||||
for (Block block : locs)
|
||||
vec.add(block.getLocation().toVector());
|
||||
vec.multiply(1d/(double)locs.size());
|
||||
OwnerPenMiddle = vec.toLocation(OwnerPen.get(0).getWorld());
|
||||
OwnerPenMiddle.add(0.5, 0, 0.5);
|
||||
|
||||
Sheep.setColor(DyeColor.getByWoolData(team.GetColorData()));
|
||||
|
||||
StuckLocation = Sheep.getLocation();
|
||||
StuckTime = System.currentTimeMillis();
|
||||
|
||||
//Effect
|
||||
Sheep.getWorld().playSound(Sheep.getLocation(), Sound.SHEEP_IDLE, 2f, 1.5f);
|
||||
UtilFirework.playFirework(Sheep.getLocation().add(0, 0.5, 0), FireworkEffect.builder().flicker(false).withColor(team.GetColorBase()).with(Type.BALL).trail(false).build());
|
||||
|
||||
//Reward
|
||||
if (Holder != null && HolderTeam != null)
|
||||
{
|
||||
Host.AddGems(Holder, 3, "Sheep Captured", true);
|
||||
|
||||
UtilPlayer.message(Holder, F.main("Game", "You captured a Sheep!"));
|
||||
}
|
||||
|
||||
Holder = null;
|
||||
HolderTeam = null;
|
||||
}
|
||||
|
||||
public boolean Update()
|
||||
{
|
||||
if (!Sheep.isValid())
|
||||
return true;
|
||||
|
||||
Host.GetTeamPen(this);
|
||||
|
||||
if (Sheep.getVehicle() != null)
|
||||
return false;
|
||||
|
||||
//No Team - Not picked up for a long time
|
||||
if (Owner == null || OwnerPen == null)
|
||||
{
|
||||
if (UtilMath.offset(Sheep.getLocation(), Host.GetSheepSpawn()) > 14)
|
||||
{
|
||||
UtilEnt.CreatureMoveFast(Sheep, Host.GetSheepSpawn(), 1.2f);
|
||||
|
||||
if (UtilMath.offset(Sheep.getLocation(), StuckLocation) > 1)
|
||||
{
|
||||
StuckLocation = Sheep.getLocation();
|
||||
StuckTime = System.currentTimeMillis();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (UtilTime.elapsed(StuckTime, 1000))
|
||||
{
|
||||
UtilAction.velocity(Sheep, 0.3, 0.3, 0.7, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (IsInsideOwnPen())
|
||||
{
|
||||
LastMoved = System.currentTimeMillis();
|
||||
|
||||
//Roam Around in Pen
|
||||
if (Target == null)
|
||||
Target = UtilAlg.Random(OwnerPen).getLocation().add(0.5, 0, 0.5);
|
||||
|
||||
if (UtilMath.offset(Sheep.getLocation(), Target) < 1)
|
||||
Target = UtilAlg.Random(OwnerPen).getLocation().add(0.5, 0, 0.5);
|
||||
|
||||
UtilEnt.CreatureMoveFast(Sheep, Target, 0.8f);
|
||||
}
|
||||
else
|
||||
{
|
||||
UtilEnt.CreatureMoveFast(Sheep, OwnerPenMiddle, 1.2f);
|
||||
|
||||
if (UtilMath.offset(Sheep.getLocation(), StuckLocation) > 1)
|
||||
{
|
||||
StuckLocation = Sheep.getLocation();
|
||||
StuckTime = System.currentTimeMillis();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (UtilTime.elapsed(StuckTime, 1000))
|
||||
{
|
||||
UtilAction.velocity(Sheep, 0.3, 0.3, 0.7, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public Block SheepBlock()
|
||||
{
|
||||
Entity ent = Sheep;
|
||||
|
||||
while (ent.getVehicle() != null)
|
||||
{
|
||||
ent = ent.getVehicle();
|
||||
}
|
||||
|
||||
|
||||
return ent.getLocation().getBlock();
|
||||
}
|
||||
|
||||
public boolean IsInsideOwnPen()
|
||||
{
|
||||
if (OwnerPen == null)
|
||||
return false;
|
||||
|
||||
return OwnerPen.contains(Sheep.getLocation().getBlock());
|
||||
}
|
||||
}
|
@ -0,0 +1,545 @@
|
||||
package nautilus.game.arcade.game.games.sheep;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.FireworkEffect.Type;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Sheep;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.entity.PlayerLeashEntityEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||
import org.bukkit.event.player.PlayerToggleSneakEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.UtilAlg;
|
||||
import mineplex.core.common.util.UtilDisplay;
|
||||
import mineplex.core.common.util.UtilEnt;
|
||||
import mineplex.core.common.util.UtilFirework;
|
||||
import mineplex.core.common.util.UtilPlayer;
|
||||
import mineplex.core.common.util.UtilTime;
|
||||
import mineplex.core.common.util.UtilTime.TimeUnit;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||
import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.GameType;
|
||||
import nautilus.game.arcade.events.GameStateChangeEvent;
|
||||
import nautilus.game.arcade.game.GameTeam;
|
||||
import nautilus.game.arcade.game.TeamGame;
|
||||
import nautilus.game.arcade.game.games.sheep.kits.*;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
|
||||
public class SheepGame extends TeamGame
|
||||
{
|
||||
private ArrayList<String> _lastScoreboard = new ArrayList<String>();
|
||||
|
||||
private HashMap<GameTeam, Integer> _teamScore = new HashMap<GameTeam, Integer>();
|
||||
|
||||
private HashMap<GameTeam, ArrayList<Block>> _sheepPens = new HashMap<GameTeam, ArrayList<Block>>();
|
||||
|
||||
private ArrayList<Location> _sheepSpawns;
|
||||
private HashMap<Sheep, SheepData> _sheep = new HashMap<Sheep, SheepData>();
|
||||
private long _sheepTimer = System.currentTimeMillis();
|
||||
private long _sheepDelay = 20000;
|
||||
|
||||
private long _gameTime = 300000;
|
||||
private long _gameEndAnnounce = 0;
|
||||
|
||||
public SheepGame(ArcadeManager manager)
|
||||
{
|
||||
super(manager, GameType.Sheep,
|
||||
|
||||
new Kit[]
|
||||
{
|
||||
new KitBeserker(manager),
|
||||
new KitArcher(manager)
|
||||
},
|
||||
|
||||
new String[]
|
||||
{
|
||||
"Right-Click with Saddle to Grab",
|
||||
"Push Drop to Drop Sheep",
|
||||
"Bring Sheep to your Team Pen!",
|
||||
"Most sheep at 5 minutes wins!"
|
||||
});
|
||||
|
||||
this.DeathOut = false;
|
||||
this.DeathSpectateSecs = 8;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ParseData()
|
||||
{
|
||||
for (GameTeam team : this.GetTeamList())
|
||||
{
|
||||
ArrayList<Location> locs = null;
|
||||
|
||||
if (team.GetColor() == ChatColor.RED)
|
||||
locs = this.WorldData.GetDataLocs("RED");
|
||||
else if (team.GetColor() == ChatColor.AQUA)
|
||||
locs = this.WorldData.GetDataLocs("BLUE");
|
||||
else if (team.GetColor() == ChatColor.YELLOW)
|
||||
locs = this.WorldData.GetDataLocs("YELLOW");
|
||||
else if (team.GetColor() == ChatColor.GREEN)
|
||||
locs = this.WorldData.GetDataLocs("GREEN");
|
||||
|
||||
if (locs == null)
|
||||
{
|
||||
System.out.println("ERROR! Could not find Sheep Pen for Team " + team.GetColor().toString());
|
||||
return;
|
||||
}
|
||||
|
||||
ArrayList<Block> blocks = new ArrayList<Block>();
|
||||
for (Location loc : locs)
|
||||
blocks.add(loc.getBlock());
|
||||
|
||||
_sheepPens.put(team, blocks);
|
||||
}
|
||||
|
||||
_sheepSpawns = this.WorldData.GetDataLocs("WHITE");
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void SheepSpawnStart(GameStateChangeEvent event)
|
||||
{
|
||||
if (event.GetState() == GameState.Live)
|
||||
for (int i=0 ; i<4 ; i++)
|
||||
SheepSpawn();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void SheepSpawnUpdate(UpdateEvent event)
|
||||
{
|
||||
if (!IsLive())
|
||||
return;
|
||||
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
if (!UtilTime.elapsed(_sheepTimer, _sheepDelay))
|
||||
return;
|
||||
|
||||
SheepSpawn();
|
||||
}
|
||||
|
||||
public void SheepSpawn()
|
||||
{
|
||||
//Spawn Sheep
|
||||
this.CreatureAllowOverride = true;
|
||||
Sheep sheep = _sheepSpawns.get(0).getWorld().spawn(UtilAlg.Random(_sheepSpawns), Sheep.class);
|
||||
sheep.setAdult();
|
||||
sheep.setMaxHealth(9999);
|
||||
sheep.setHealth(9999);
|
||||
this.CreatureAllowOverride = false;
|
||||
|
||||
_sheep.put(sheep, new SheepData(this, sheep));
|
||||
|
||||
_sheepTimer = System.currentTimeMillis();
|
||||
|
||||
//Effect
|
||||
sheep.getWorld().playSound(sheep.getLocation(), Sound.SHEEP_IDLE, 2f, 1.5f);
|
||||
UtilFirework.playFirework(sheep.getLocation().add(0, 0.5, 0), FireworkEffect.builder().flicker(false).withColor(Color.WHITE).with(Type.BALL).trail(false).build());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void Stack(PlayerInteractEntityEvent event)
|
||||
{
|
||||
if (!IsLive())
|
||||
return;
|
||||
|
||||
if (!(event.getRightClicked() instanceof Sheep))
|
||||
return;
|
||||
|
||||
if (event.getRightClicked().getVehicle() != null)
|
||||
return;
|
||||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
if (player.getItemInHand() != null && player.getItemInHand().getType() != Material.SADDLE)
|
||||
return;
|
||||
|
||||
if (event.getPlayer().getGameMode() != GameMode.SURVIVAL)
|
||||
return;
|
||||
|
||||
if (!IsAlive(event.getPlayer()))
|
||||
return;
|
||||
|
||||
//Holding too many
|
||||
int count = 0;
|
||||
Entity top = player;
|
||||
while (top.getPassenger() != null)
|
||||
{
|
||||
top = top.getPassenger();
|
||||
count++;
|
||||
}
|
||||
|
||||
if (count >= 3)
|
||||
{
|
||||
UtilPlayer.message(event.getPlayer(), F.main("Game", "You cannot hold more than 3 Sheep!"));
|
||||
return;
|
||||
}
|
||||
|
||||
for (SheepData data : _sheep.values())
|
||||
{
|
||||
if (data.Sheep.equals(event.getRightClicked()))
|
||||
{
|
||||
if (data.Owner != null && data.Owner.equals(GetTeam(event.getPlayer())) && data.IsInsideOwnPen())
|
||||
{
|
||||
UtilPlayer.message(event.getPlayer(), F.main("Game", "You have already captured this Sheep!"));
|
||||
return;
|
||||
}
|
||||
|
||||
data.SetHolder(event.getPlayer());
|
||||
}
|
||||
}
|
||||
|
||||
//Effect
|
||||
event.getRightClicked().getWorld().playEffect(event.getRightClicked().getLocation(), Effect.STEP_SOUND, 35);
|
||||
|
||||
//Stack
|
||||
top.setPassenger(event.getRightClicked());
|
||||
|
||||
//Audio
|
||||
player.playSound(player.getLocation(), Sound.SHEEP_IDLE, 2f, 3f);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void Drop(PlayerDropItemEvent event)
|
||||
{
|
||||
boolean hadSheep = false;
|
||||
|
||||
Entity top = event.getPlayer();
|
||||
while (top.getVehicle() != null)
|
||||
{
|
||||
top = top.getVehicle();
|
||||
top.eject();
|
||||
|
||||
hadSheep = true;
|
||||
}
|
||||
|
||||
if (hadSheep)
|
||||
UtilDisplay.displayTextBar(Manager.GetPlugin(), event.getPlayer(), 0f, C.cWhite + C.Bold + "You dropped your Sheep!");
|
||||
|
||||
event.getPlayer().setExp(0f);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void SheepUpdate(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.TICK)
|
||||
return;
|
||||
|
||||
Iterator<Sheep> sheepIterator = _sheep.keySet().iterator();
|
||||
|
||||
while (sheepIterator.hasNext())
|
||||
{
|
||||
Sheep sheep = sheepIterator.next();
|
||||
SheepData data = _sheep.get(sheep);
|
||||
|
||||
if (data.Update())
|
||||
{
|
||||
sheep.remove();
|
||||
sheepIterator.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void CarryingEffect(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
for (Player player : GetPlayers(true))
|
||||
{
|
||||
int count = 0;
|
||||
|
||||
Entity top = player;
|
||||
while (top.getPassenger() != null)
|
||||
{
|
||||
top = top.getPassenger();
|
||||
count++;
|
||||
}
|
||||
|
||||
player.setExp(0.33f * (float)count);
|
||||
|
||||
if (count == 0)
|
||||
continue;
|
||||
|
||||
Manager.GetCondition().Factory().Slow("Sheep Slow", player, player, 3, count-1, false, false, false, true);
|
||||
|
||||
UtilDisplay.displayTextBar(Manager.GetPlugin(), player, (float)count/3f, C.Bold + "Return the Sheep to your Team Pen!");
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void DamagePasson(CustomDamageEvent event)
|
||||
{
|
||||
if (event.IsCancelled())
|
||||
return;
|
||||
|
||||
if (event.GetDamageeEntity().getVehicle() == null)
|
||||
return;
|
||||
|
||||
LivingEntity bottom = event.GetDamageeEntity();
|
||||
while (bottom.getVehicle() != null && bottom.getVehicle() instanceof LivingEntity)
|
||||
bottom = (LivingEntity) bottom.getVehicle();
|
||||
|
||||
event.SetCancelled("Damage Passdown");
|
||||
|
||||
//Damage Event
|
||||
Manager.GetDamage().NewDamageEvent(bottom, event.GetDamagerEntity(true), event.GetProjectile(),
|
||||
event.GetCause(), event.GetDamageInitial(), true, false, false,
|
||||
UtilEnt.getName(event.GetDamagerEntity(true)), GetName());
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR)
|
||||
public void DamageUnstack(CustomDamageEvent event)
|
||||
{
|
||||
if (event.IsCancelled())
|
||||
return;
|
||||
|
||||
if (event.GetCause() != DamageCause.ENTITY_ATTACK && event.GetCause() != DamageCause.PROJECTILE && event.GetCause() != DamageCause.CUSTOM)
|
||||
return;
|
||||
|
||||
Player player = event.GetDamageePlayer();
|
||||
if (player == null) return;
|
||||
|
||||
boolean hadSheep = false;
|
||||
|
||||
Entity rider = player.getPassenger();
|
||||
while (rider != null)
|
||||
{
|
||||
rider.leaveVehicle();
|
||||
rider.setVelocity(new Vector(0.25 - Math.random()/2, Math.random()/2, 0.25 - Math.random()/2));
|
||||
rider = rider.getPassenger();
|
||||
|
||||
hadSheep = true;
|
||||
}
|
||||
|
||||
if (hadSheep)
|
||||
UtilDisplay.displayTextBar(Manager.GetPlugin(), player, 0f, C.cRed + C.Bold + "You dropped your Sheep!");
|
||||
|
||||
player.setExp(0f);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void InventoryClick(InventoryClickEvent event)
|
||||
{
|
||||
event.setCancelled(true);
|
||||
event.getWhoClicked().closeInventory();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void ScoreboardTimer(UpdateEvent event)
|
||||
{
|
||||
if (GetState() != GameState.Live)
|
||||
return;
|
||||
|
||||
if (event.getType() != UpdateType.TICK)
|
||||
return;
|
||||
|
||||
long time = _gameTime
|
||||
- (System.currentTimeMillis() - this.GetStateTime());
|
||||
|
||||
if (time > 0)
|
||||
GetObjectiveSide().setDisplayName(
|
||||
ChatColor.WHITE + "§lTime Left " + C.cGreen + "§l"
|
||||
+ UtilTime.MakeStr(time));
|
||||
else
|
||||
GetObjectiveSide().setDisplayName(
|
||||
ChatColor.WHITE + "§lTime Up!");
|
||||
}
|
||||
|
||||
@Override
|
||||
@EventHandler
|
||||
public void ScoreboardUpdate(UpdateEvent event)
|
||||
{
|
||||
if (event.getType() != UpdateType.FAST)
|
||||
return;
|
||||
|
||||
if (!InProgress())
|
||||
return;
|
||||
|
||||
//Wipe Last
|
||||
for (String string : _lastScoreboard)
|
||||
GetScoreboard().resetScores(Bukkit.getOfflinePlayer(string));
|
||||
_lastScoreboard.clear();
|
||||
|
||||
//Write New
|
||||
String out;
|
||||
|
||||
for (GameTeam team : _sheepPens.keySet())
|
||||
{
|
||||
int score = 0;
|
||||
|
||||
for (Sheep sheep : _sheep.keySet())
|
||||
{
|
||||
if (_sheepPens.get(team).contains(sheep.getLocation().getBlock()))
|
||||
{
|
||||
score++;
|
||||
}
|
||||
}
|
||||
|
||||
out = score + " " + team.GetColor() + team.GetName();
|
||||
|
||||
if (out.length() >= 16)
|
||||
out = out.substring(0, 15);
|
||||
|
||||
_lastScoreboard.add(out);
|
||||
|
||||
if (score == 0)
|
||||
score = -1;
|
||||
|
||||
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(score);
|
||||
|
||||
_teamScore.put(team, score);
|
||||
}
|
||||
|
||||
if (!IsLive())
|
||||
return;
|
||||
|
||||
//Space
|
||||
out = " ";
|
||||
_lastScoreboard.add(out);
|
||||
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(-2);
|
||||
|
||||
//Timer
|
||||
out = C.Bold + "Next Sheep;";
|
||||
if (out.length() >= 16)
|
||||
out = out.substring(0, 15);
|
||||
_lastScoreboard.add(out);
|
||||
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(-3);
|
||||
|
||||
out = C.cGreen + C.Bold + (int)UtilTime.convert(_sheepDelay - (System.currentTimeMillis() - _sheepTimer), 0, TimeUnit.FIT) + " Seconds";
|
||||
if (out.length() >= 16)
|
||||
out = out.substring(0, 15);
|
||||
_lastScoreboard.add(out);
|
||||
GetObjectiveSide().getScore(Bukkit.getOfflinePlayer(out)).setScore(-4);
|
||||
}
|
||||
|
||||
public void GetTeamPen(SheepData data)
|
||||
{
|
||||
for (GameTeam team : _sheepPens.keySet())
|
||||
{
|
||||
if (_sheepPens.get(team).contains(data.SheepBlock()))
|
||||
{
|
||||
data.SetOwner(team, _sheepPens.get(team));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Location GetSheepSpawn()
|
||||
{
|
||||
return UtilAlg.Random(_sheepSpawns);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void EndCheck()
|
||||
{
|
||||
if (!IsLive())
|
||||
return;
|
||||
|
||||
ArrayList<GameTeam> teamsAlive = new ArrayList<GameTeam>();
|
||||
|
||||
for (GameTeam team : this.GetTeamList())
|
||||
if (team.GetPlayers(true).size() > 0)
|
||||
teamsAlive.add(team);
|
||||
|
||||
if (teamsAlive.size() <= 1)
|
||||
{
|
||||
//Announce
|
||||
if (teamsAlive.size() > 0)
|
||||
AnnounceEnd(teamsAlive.get(0));
|
||||
|
||||
for (GameTeam team : GetTeamList())
|
||||
{
|
||||
if (WinnerTeam != null && team.equals(WinnerTeam))
|
||||
{
|
||||
for (Player player : team.GetPlayers(false))
|
||||
AddGems(player, 10, "Winning Team", false);
|
||||
}
|
||||
|
||||
for (Player player : team.GetPlayers(false))
|
||||
if (player.isOnline())
|
||||
AddGems(player, 10, "Participation", false);
|
||||
}
|
||||
|
||||
//End
|
||||
SetState(GameState.End);
|
||||
}
|
||||
|
||||
//Actual Game End
|
||||
if (_gameTime - (System.currentTimeMillis() - this.GetStateTime()) <= 0)
|
||||
{
|
||||
GameTeam bestTeam = null;
|
||||
int bestScore = -1;
|
||||
int duplicate = 0;
|
||||
|
||||
//Get Highest
|
||||
for (GameTeam team : _teamScore.keySet())
|
||||
{
|
||||
if (bestTeam == null || _teamScore.get(team) > bestScore)
|
||||
{
|
||||
bestTeam = team;
|
||||
bestScore = _teamScore.get(team);
|
||||
duplicate = 0;
|
||||
}
|
||||
else if (_teamScore.get(team) == bestScore)
|
||||
{
|
||||
duplicate++;
|
||||
}
|
||||
}
|
||||
|
||||
if (duplicate > 0)
|
||||
{
|
||||
if (UtilTime.elapsed(_gameEndAnnounce, 10000))
|
||||
{
|
||||
this.Announce(C.cGold + C.Bold + "First team to take the lead will win the game!");
|
||||
|
||||
_gameEndAnnounce = System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AnnounceEnd(bestTeam);
|
||||
|
||||
for (GameTeam team : GetTeamList())
|
||||
{
|
||||
if (WinnerTeam != null && team.equals(WinnerTeam))
|
||||
{
|
||||
for (Player player : team.GetPlayers(false))
|
||||
AddGems(player, 10, "Winning Team", false);
|
||||
}
|
||||
|
||||
for (Player player : team.GetPlayers(false))
|
||||
if (player.isOnline())
|
||||
AddGems(player, 10, "Participation", false);
|
||||
}
|
||||
|
||||
//End
|
||||
SetState(GameState.End);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
package nautilus.game.arcade.game.games.sheep.kits;
|
||||
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
import nautilus.game.arcade.kit.perks.*;
|
||||
|
||||
public class KitArcher extends Kit
|
||||
{
|
||||
public KitArcher(ArcadeManager manager)
|
||||
{
|
||||
super(manager, "Archer", KitAvailability.Free,
|
||||
|
||||
new String[]
|
||||
{
|
||||
"Highly trained with a bow, probably an elf or something..."
|
||||
},
|
||||
|
||||
new Perk[]
|
||||
{
|
||||
new PerkFletcher(2, 5, true),
|
||||
new PerkBarrage(5, 250, true, false),
|
||||
},
|
||||
EntityType.ZOMBIE,
|
||||
new ItemStack(Material.BOW));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void GiveItems(Player player)
|
||||
{
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.WOOD_SWORD));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.BOW));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.SADDLE));
|
||||
|
||||
ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
|
||||
LeatherArmorMeta metaHelm = (LeatherArmorMeta)helm.getItemMeta();
|
||||
metaHelm.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
helm.setItemMeta(metaHelm);
|
||||
player.getInventory().setHelmet(helm);
|
||||
|
||||
ItemStack armor = new ItemStack(Material.LEATHER_CHESTPLATE);
|
||||
LeatherArmorMeta meta = (LeatherArmorMeta)armor.getItemMeta();
|
||||
meta.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
armor.setItemMeta(meta);
|
||||
player.getInventory().setChestplate(armor);
|
||||
|
||||
ItemStack legs = new ItemStack(Material.LEATHER_LEGGINGS);
|
||||
LeatherArmorMeta metaLegs = (LeatherArmorMeta)armor.getItemMeta();
|
||||
metaLegs.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
legs.setItemMeta(metaLegs);
|
||||
player.getInventory().setLeggings(legs);
|
||||
|
||||
ItemStack boots = new ItemStack(Material.LEATHER_BOOTS);
|
||||
LeatherArmorMeta metaBoots = (LeatherArmorMeta)armor.getItemMeta();
|
||||
metaBoots.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
boots.setItemMeta(metaBoots);
|
||||
player.getInventory().setBoots(boots);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void SpawnCustom(LivingEntity ent)
|
||||
{
|
||||
ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
|
||||
ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
|
||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||
}
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
package nautilus.game.arcade.game.games.sheep.kits;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
import nautilus.game.arcade.kit.perks.*;
|
||||
|
||||
public class KitBeserker extends Kit
|
||||
{
|
||||
public KitBeserker(ArcadeManager manager)
|
||||
{
|
||||
super(manager, "Beserker", KitAvailability.Free,
|
||||
|
||||
new String[]
|
||||
{
|
||||
"Agile warrior trained in the ways axe combat."
|
||||
},
|
||||
|
||||
new Perk[]
|
||||
{
|
||||
new PerkLeap("Beserker Leap", 1.2, 1.2, 8000)
|
||||
},
|
||||
EntityType.ZOMBIE,
|
||||
new ItemStack(Material.IRON_AXE));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void GiveItems(Player player)
|
||||
{
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.IRON_AXE));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.SADDLE));
|
||||
|
||||
ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
|
||||
LeatherArmorMeta metaHelm = (LeatherArmorMeta)helm.getItemMeta();
|
||||
metaHelm.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
helm.setItemMeta(metaHelm);
|
||||
player.getInventory().setHelmet(helm);
|
||||
|
||||
ItemStack armor = new ItemStack(Material.LEATHER_CHESTPLATE);
|
||||
LeatherArmorMeta meta = (LeatherArmorMeta)armor.getItemMeta();
|
||||
meta.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
armor.setItemMeta(meta);
|
||||
player.getInventory().setChestplate(armor);
|
||||
|
||||
ItemStack legs = new ItemStack(Material.LEATHER_LEGGINGS);
|
||||
LeatherArmorMeta metaLegs = (LeatherArmorMeta)armor.getItemMeta();
|
||||
metaLegs.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
legs.setItemMeta(metaLegs);
|
||||
player.getInventory().setLeggings(legs);
|
||||
|
||||
ItemStack boots = new ItemStack(Material.LEATHER_BOOTS);
|
||||
LeatherArmorMeta metaBoots = (LeatherArmorMeta)armor.getItemMeta();
|
||||
metaBoots.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
boots.setItemMeta(metaBoots);
|
||||
player.getInventory().setBoots(boots);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void SpawnCustom(LivingEntity ent)
|
||||
{
|
||||
ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
|
||||
ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
|
||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||
}
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
package nautilus.game.arcade.game.games.sheep.kits;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import nautilus.game.arcade.ArcadeManager;
|
||||
import nautilus.game.arcade.kit.Kit;
|
||||
import nautilus.game.arcade.kit.KitAvailability;
|
||||
import nautilus.game.arcade.kit.Perk;
|
||||
import nautilus.game.arcade.kit.perks.*;
|
||||
|
||||
public class KitBrute extends Kit
|
||||
{
|
||||
public KitBrute(ArcadeManager manager)
|
||||
{
|
||||
super(manager, "Brute", KitAvailability.Free,
|
||||
|
||||
new String[]
|
||||
{
|
||||
"Can throw sheep at enemies!"
|
||||
},
|
||||
|
||||
new Perk[]
|
||||
{
|
||||
new PerkLeap("Beserker Leap", 1.2, 1.2, 8000)
|
||||
},
|
||||
EntityType.ZOMBIE,
|
||||
new ItemStack(Material.IRON_AXE));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void GiveItems(Player player)
|
||||
{
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.IRON_AXE));
|
||||
player.getInventory().addItem(ItemStackFactory.Instance.CreateStack(Material.SADDLE));
|
||||
|
||||
ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
|
||||
LeatherArmorMeta metaHelm = (LeatherArmorMeta)helm.getItemMeta();
|
||||
metaHelm.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
helm.setItemMeta(metaHelm);
|
||||
player.getInventory().setHelmet(helm);
|
||||
|
||||
ItemStack armor = new ItemStack(Material.LEATHER_CHESTPLATE);
|
||||
LeatherArmorMeta meta = (LeatherArmorMeta)armor.getItemMeta();
|
||||
meta.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
armor.setItemMeta(meta);
|
||||
player.getInventory().setChestplate(armor);
|
||||
|
||||
ItemStack legs = new ItemStack(Material.LEATHER_LEGGINGS);
|
||||
LeatherArmorMeta metaLegs = (LeatherArmorMeta)armor.getItemMeta();
|
||||
metaLegs.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
legs.setItemMeta(metaLegs);
|
||||
player.getInventory().setLeggings(legs);
|
||||
|
||||
ItemStack boots = new ItemStack(Material.LEATHER_BOOTS);
|
||||
LeatherArmorMeta metaBoots = (LeatherArmorMeta)armor.getItemMeta();
|
||||
metaBoots.setColor(Manager.GetGame().GetTeam(player).GetColorBase());
|
||||
boots.setItemMeta(metaBoots);
|
||||
player.getInventory().setBoots(boots);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void SpawnCustom(LivingEntity ent)
|
||||
{
|
||||
ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
|
||||
ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
|
||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
package nautilus.game.arcade.game.games.shootinggallery;
|
||||
|
||||
public class ShootingGallery
|
||||
{
|
||||
|
||||
}
|
@ -29,6 +29,8 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
||||
public class GameGemManager implements Listener
|
||||
{
|
||||
ArcadeManager Manager;
|
||||
|
||||
boolean DoubleGem = true;
|
||||
|
||||
public GameGemManager(ArcadeManager manager)
|
||||
{
|
||||
@ -145,8 +147,9 @@ public class GameGemManager implements Listener
|
||||
else if (Manager.GetClients().Get(player).GetRank().Has(Rank.ULTRA) || Manager.GetDonation().Get(player.getName()).OwnsUnknownPackage(Manager.GetServerConfig().ServerType + " ULTRA"))
|
||||
total = total * 2;
|
||||
|
||||
|
||||
|
||||
if (DoubleGem)
|
||||
total = total * 2;
|
||||
|
||||
total = (int) (total * gameMult);
|
||||
|
||||
Manager.GetDonation().RewardGems(null, "Earned " + game.GetName(), player.getName(), total);
|
||||
@ -196,6 +199,13 @@ public class GameGemManager implements Listener
|
||||
UtilPlayer.message(player, F.elem(C.cGreen + "+" + earnedGems + " Gems") + " for " + F.elem(C.cAqua + "Ultra Rank 2x Gems"));
|
||||
earnedGems = earnedGems * 2;
|
||||
}
|
||||
|
||||
//Double Gem
|
||||
if (DoubleGem)
|
||||
{
|
||||
UtilPlayer.message(player, F.elem(C.cGreen + "+" + (earnedGems) + " Gems") + " for " + F.elem(C.cDGreen + "Double Gem Weekend"));
|
||||
earnedGems = earnedGems * 2;
|
||||
}
|
||||
|
||||
//Inform
|
||||
UtilPlayer.message(player, "");
|
||||
|
Loading…
Reference in New Issue
Block a user