snwo fight changes
This commit is contained in:
parent
6f16eeead7
commit
b2a595b01b
@ -201,27 +201,29 @@ public class SnowFight extends TeamGame
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// Item
|
// Item
|
||||||
|
//
|
||||||
if (!_tiles.containsKey(player))
|
// if (!_tiles.containsKey(player))
|
||||||
{
|
// {
|
||||||
_tiles.put(player, 0);
|
// _tiles.put(player, 0);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if (GetKit(player) instanceof KitSportsman)
|
// if (GetKit(player) instanceof KitSportsman)
|
||||||
UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
// UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
||||||
|
//
|
||||||
|
//
|
||||||
int tiles = _tiles.get(player);
|
// int tiles = _tiles.get(player);
|
||||||
_tiles.put(player, tiles + 1);
|
// _tiles.put(player, tiles + 1);
|
||||||
|
//
|
||||||
if (!(GetKit(player) instanceof KitSportsman))
|
// if (!(GetKit(player) instanceof KitSportsman))
|
||||||
{
|
// {
|
||||||
if (_tiles.get(player) == 2)
|
// if (_tiles.get(player) == 2)
|
||||||
{
|
// {
|
||||||
UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
// UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
||||||
_tiles.put(player, 0);
|
// _tiles.put(player, 0);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
UtilInv.insert(player, new ItemStack(Material.SNOW_BALL));
|
||||||
|
|
||||||
// Snow Height
|
// Snow Height
|
||||||
SnowDecrease(event.getBlock(), 1);
|
SnowDecrease(event.getBlock(), 1);
|
||||||
@ -606,16 +608,19 @@ public class SnowFight extends TeamGame
|
|||||||
|
|
||||||
long time = 1000 * 195 - (System.currentTimeMillis() - this.GetStateTime());
|
long time = 1000 * 195 - (System.currentTimeMillis() - this.GetStateTime());
|
||||||
|
|
||||||
if (time > 0)
|
if(IsLive())
|
||||||
{
|
{
|
||||||
Scoreboard.Write(C.cYellow + C.Bold + "Meteors");
|
if (time > 0)
|
||||||
if(IsLive())
|
{
|
||||||
|
Scoreboard.Write(C.cYellow + C.Bold + "Meteors in");
|
||||||
Scoreboard.Write(UtilTime.MakeStr(time, 0));
|
Scoreboard.Write(UtilTime.MakeStr(time, 0));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Scoreboard.Write(C.cGold + C.Bold + "Meteors!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
Scoreboard.Write(C.cGold + C.Bold + "Meteors!");
|
|
||||||
}
|
|
||||||
|
|
||||||
Scoreboard.Draw();
|
Scoreboard.Draw();
|
||||||
}
|
}
|
||||||
|
@ -1,30 +1,17 @@
|
|||||||
package nautilus.game.arcade.game.games.snowfight.kits;
|
package nautilus.game.arcade.game.games.snowfight.kits;
|
||||||
|
|
||||||
import mineplex.core.common.util.UtilInv;
|
|
||||||
import mineplex.core.common.util.UtilMath;
|
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
import mineplex.core.updater.UpdateType;
|
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
|
||||||
import nautilus.game.arcade.ArcadeManager;
|
import nautilus.game.arcade.ArcadeManager;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.kit.KitAvailability;
|
import nautilus.game.arcade.kit.KitAvailability;
|
||||||
import nautilus.game.arcade.kit.Perk;
|
import nautilus.game.arcade.kit.Perk;
|
||||||
|
import nautilus.game.arcade.kit.perks.PerkPotionGenerator;
|
||||||
|
|
||||||
import org.bukkit.Color;
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Egg;
|
|
||||||
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;
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
|
||||||
import org.bukkit.event.entity.PotionSplashEvent;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
|
||||||
import org.bukkit.potion.Potion;
|
|
||||||
import org.bukkit.potion.PotionEffect;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
import org.bukkit.potion.PotionType;
|
import org.bukkit.potion.PotionType;
|
||||||
|
|
||||||
public class KitMedic extends Kit
|
public class KitMedic extends Kit
|
||||||
@ -36,20 +23,12 @@ public class KitMedic extends Kit
|
|||||||
|
|
||||||
new String[]
|
new String[]
|
||||||
{
|
{
|
||||||
"To the rescue...!",
|
"Throw warmth potions to heal allies!",
|
||||||
" ",
|
|
||||||
"Gets 1 Snowball every second tile.",
|
|
||||||
"Left-Click Snow to pick up Snowballs (Max. 16)",
|
|
||||||
"Right-Click Snowballs to throw them.",
|
|
||||||
" ",
|
|
||||||
"Gets 1 Healing Potion every 32 seconds [max. 1]",
|
|
||||||
"Slowness II when hit.",
|
|
||||||
" ",
|
|
||||||
"Supports all nearby allies with REGENERATION."
|
|
||||||
},
|
},
|
||||||
|
|
||||||
new Perk[]
|
new Perk[]
|
||||||
{
|
{
|
||||||
|
new PerkPotionGenerator("Warmth Potions", 30, 1, PotionType.INSTANT_HEAL, true, "Warmth Potion", false)
|
||||||
},
|
},
|
||||||
EntityType.SKELETON,
|
EntityType.SKELETON,
|
||||||
new ItemStack(Material.POTION));
|
new ItemStack(Material.POTION));
|
||||||
@ -62,6 +41,8 @@ public class KitMedic extends Kit
|
|||||||
{
|
{
|
||||||
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
|
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
|
player.getInventory().setItem(5, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -72,69 +53,4 @@ public class KitMedic extends Kit
|
|||||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void Aura(UpdateEvent event)
|
|
||||||
{
|
|
||||||
if (event.getType() != UpdateType.FAST)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
|
||||||
{
|
|
||||||
if (!HasKit(player))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
for (Player other : Manager.GetGame().GetPlayers(true))
|
|
||||||
{
|
|
||||||
if (other.equals(player))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (UtilMath.offset(player, other) > 4)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if( Manager.GetGame().GetTeam(player).equals(Manager.GetGame().GetTeam(other)))
|
|
||||||
Manager.GetCondition().Factory().Regen("Aura", other, player, 1.9, 0, false, false, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void KitItems(UpdateEvent event)
|
|
||||||
{
|
|
||||||
if(!Manager.GetGame().IsLive())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (event.getType() == UpdateType.SLOWEST)
|
|
||||||
{
|
|
||||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
|
||||||
{
|
|
||||||
if (!HasKit(player))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
Potion potion = new Potion(PotionType.INSTANT_HEAL);
|
|
||||||
potion.setSplash(true);
|
|
||||||
player.getInventory().setItem(1, potion.toItemStack(1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void Splash(PotionSplashEvent event)
|
|
||||||
{
|
|
||||||
if(event.getEntity().getShooter() instanceof Player)
|
|
||||||
{
|
|
||||||
if(!HasKit((Player) event.getEntity().getShooter()))
|
|
||||||
return;
|
|
||||||
|
|
||||||
for(Entity entity : event.getAffectedEntities())
|
|
||||||
{
|
|
||||||
if(entity instanceof Player)
|
|
||||||
{
|
|
||||||
Manager.GetCondition().Factory().Slow("Heal Potion", (Player)entity, (Player)event.getEntity().getShooter(), 5.0, 1, false, false, false, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ import nautilus.game.arcade.ArcadeManager;
|
|||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.kit.KitAvailability;
|
import nautilus.game.arcade.kit.KitAvailability;
|
||||||
import nautilus.game.arcade.kit.Perk;
|
import nautilus.game.arcade.kit.Perk;
|
||||||
|
import nautilus.game.arcade.kit.perks.PerkDoubleJump;
|
||||||
import nautilus.game.arcade.kit.perks.PerkFallDamage;
|
import nautilus.game.arcade.kit.perks.PerkFallDamage;
|
||||||
|
|
||||||
public class KitSportsman extends Kit
|
public class KitSportsman extends Kit
|
||||||
@ -31,17 +32,13 @@ public class KitSportsman extends Kit
|
|||||||
new String[]
|
new String[]
|
||||||
{
|
{
|
||||||
"Trained to be the fastest on snow and ice.",
|
"Trained to be the fastest on snow and ice.",
|
||||||
"",
|
|
||||||
"Gets 1 Snowball every tile",
|
|
||||||
"Left-Click Snow to pick up Snowballs (Max. 16)",
|
|
||||||
"Right-Click Snowballs to throw them.",
|
|
||||||
"",
|
|
||||||
"Supports all nearby allies with SPEED."
|
|
||||||
},
|
},
|
||||||
|
|
||||||
new Perk[]
|
new Perk[]
|
||||||
{
|
{
|
||||||
new PerkFallDamage(3)
|
new PerkDoubleJump("Snow Jump", 1, 0.8, true, 8000, true),
|
||||||
|
new PerkFallDamage(2),
|
||||||
},
|
},
|
||||||
EntityType.SKELETON,
|
EntityType.SKELETON,
|
||||||
new ItemStack(Material.SNOW_BALL));
|
new ItemStack(Material.SNOW_BALL));
|
||||||
@ -53,6 +50,8 @@ public class KitSportsman extends Kit
|
|||||||
{
|
{
|
||||||
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
|
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
|
player.getInventory().setItem(5, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -63,30 +62,4 @@ public class KitSportsman extends Kit
|
|||||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void Aura(UpdateEvent event)
|
|
||||||
{
|
|
||||||
if (event.getType() != UpdateType.FAST)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
|
||||||
{
|
|
||||||
if (!HasKit(player))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
for (Player other : Manager.GetGame().GetPlayers(true))
|
|
||||||
{
|
|
||||||
if (other.equals(player))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (UtilMath.offset(player, other) > 4)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if( Manager.GetGame().GetTeam(player).equals(Manager.GetGame().GetTeam(other)))
|
|
||||||
Manager.GetCondition().Factory().Speed("Aura", other, player, 1.9, 0, false, false, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,27 +1,18 @@
|
|||||||
package nautilus.game.arcade.game.games.snowfight.kits;
|
package nautilus.game.arcade.game.games.snowfight.kits;
|
||||||
|
|
||||||
import mineplex.core.common.util.UtilInv;
|
|
||||||
import mineplex.core.common.util.UtilMath;
|
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
import mineplex.core.updater.UpdateType;
|
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
|
||||||
import mineplex.minecraft.game.core.condition.Condition.ConditionType;
|
|
||||||
import nautilus.game.arcade.ArcadeManager;
|
import nautilus.game.arcade.ArcadeManager;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.kit.KitAvailability;
|
import nautilus.game.arcade.kit.KitAvailability;
|
||||||
import nautilus.game.arcade.kit.Perk;
|
import nautilus.game.arcade.kit.Perk;
|
||||||
import nautilus.game.arcade.kit.perks.PerkFallDamage;
|
import nautilus.game.arcade.kit.perks.PerkConstructor;
|
||||||
|
import nautilus.game.arcade.kit.perks.PerkIronSkin;
|
||||||
|
|
||||||
import org.bukkit.Color;
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
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;
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
|
||||||
import org.bukkit.potion.PotionType;
|
|
||||||
|
|
||||||
public class KitTactician extends Kit
|
public class KitTactician extends Kit
|
||||||
{
|
{
|
||||||
@ -32,18 +23,11 @@ public class KitTactician extends Kit
|
|||||||
new String[]
|
new String[]
|
||||||
{
|
{
|
||||||
"No Snowfight is complete without a tactical game!",
|
"No Snowfight is complete without a tactical game!",
|
||||||
" ",
|
|
||||||
"Gets 1 Snowball every second tile.",
|
|
||||||
"Left-Click Snow to pick up Snowballs (Max. 16)",
|
|
||||||
"Right-Click Snowballs to throw them.",
|
|
||||||
" ",
|
|
||||||
"Gets 1 Barrier every 32 seconds [max. 2]",
|
|
||||||
"Place Barriers to improve your defense.",
|
|
||||||
"You cant place Barriers above Ice, Packed Ice or Fences.",
|
|
||||||
" ",
|
|
||||||
"Supports all nearby allies with RESISTANCE."
|
|
||||||
}, new Perk[]
|
}, new Perk[]
|
||||||
{
|
{
|
||||||
|
new PerkConstructor("Barrier", 30, 1, Material.FENCE, "Warmth Potion", false),
|
||||||
|
new PerkIronSkin(0.25)
|
||||||
},
|
},
|
||||||
EntityType.SKELETON,
|
EntityType.SKELETON,
|
||||||
new ItemStack(Material.FENCE));
|
new ItemStack(Material.FENCE));
|
||||||
@ -55,6 +39,8 @@ public class KitTactician extends Kit
|
|||||||
{
|
{
|
||||||
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
player.getInventory().setItem(2, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
player.getInventory().setItem(3, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
|
player.getInventory().setItem(4, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
|
player.getInventory().setItem(5, ItemStackFactory.Instance.CreateStack(Material.MUSHROOM_SOUP));
|
||||||
player.getInventory().setItem(7, ItemStackFactory.Instance.CreateStack(Material.COMPASS.getId(), (byte) 0, 1, "§a§lTracking Compass"));
|
player.getInventory().setItem(7, ItemStackFactory.Instance.CreateStack(Material.COMPASS.getId(), (byte) 0, 1, "§a§lTracking Compass"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,53 +52,4 @@ public class KitTactician extends Kit
|
|||||||
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
ent.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
|
||||||
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
ent.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void Aura(UpdateEvent event)
|
|
||||||
{
|
|
||||||
if (event.getType() != UpdateType.FAST)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
|
||||||
{
|
|
||||||
if (!HasKit(player))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
for (Player other : Manager.GetGame().GetPlayers(true))
|
|
||||||
{
|
|
||||||
if (other.equals(player))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (UtilMath.offset(player, other) > 4)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if( Manager.GetGame().GetTeam(player).equals(Manager.GetGame().GetTeam(other)))
|
|
||||||
Manager.GetCondition().Factory().Protection("Aura", other, player, 1.9, 0, false, false, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void KitItems(UpdateEvent event)
|
|
||||||
{
|
|
||||||
if(!Manager.GetGame().IsLive())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (event.getType() == UpdateType.SLOWEST)
|
|
||||||
{
|
|
||||||
for (Player player : Manager.GetGame().GetPlayers(true))
|
|
||||||
{
|
|
||||||
if (!HasKit(player))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
int amount = 0;
|
|
||||||
if (player.getInventory().getItem(1) != null && UtilInv.contains(player, Material.FENCE, (byte) 0, 1))
|
|
||||||
amount = 2;
|
|
||||||
else
|
|
||||||
amount = 1;
|
|
||||||
player.getInventory().setItem(1, ItemStackFactory.Instance.CreateStack(Material.FENCE, (byte) 0, amount, "Barrier"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,84 @@
|
|||||||
|
package nautilus.game.arcade.kit.perks;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.C;
|
||||||
|
import mineplex.core.common.util.UtilInv;
|
||||||
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.recharge.Recharge;
|
||||||
|
import mineplex.core.updater.UpdateType;
|
||||||
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
|
import nautilus.game.arcade.kit.Perk;
|
||||||
|
import nautilus.game.arcade.kit.perks.event.PerkConstructorEvent;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.bukkit.potion.Potion;
|
||||||
|
import org.bukkit.potion.PotionType;
|
||||||
|
|
||||||
|
public class PerkPotionGenerator extends Perk
|
||||||
|
{
|
||||||
|
private int _max = 0;
|
||||||
|
private double _time = 0;
|
||||||
|
|
||||||
|
private PotionType _type;
|
||||||
|
private boolean _splash;
|
||||||
|
private String _name;
|
||||||
|
|
||||||
|
public PerkPotionGenerator(String perkName, double time, int max, PotionType type, boolean splash, String name, boolean visible)
|
||||||
|
{
|
||||||
|
super(perkName, new String[]
|
||||||
|
{
|
||||||
|
C.cGray + "Receive 1 " + name + " every " + time + " seconds. Maximum of " + max + ".",
|
||||||
|
}, visible);
|
||||||
|
|
||||||
|
_time = time;
|
||||||
|
_splash = splash;
|
||||||
|
|
||||||
|
_name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void Construct(UpdateEvent event)
|
||||||
|
{
|
||||||
|
if (event.getType() != UpdateType.FAST)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (Player cur : UtilServer.getPlayers())
|
||||||
|
{
|
||||||
|
if (!Kit.HasKit(cur))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!Manager.GetGame().IsAlive(cur))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (Manager.isSpectator(cur))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!Recharge.Instance.use(cur, GetName(), (long) (_time * 1000), false, false))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Potion potion = new Potion(_type);
|
||||||
|
potion.setSplash(_splash);
|
||||||
|
ItemStack stack = potion.toItemStack(1);
|
||||||
|
ItemMeta meta = stack.getItemMeta();
|
||||||
|
meta.setDisplayName(_name);
|
||||||
|
|
||||||
|
if (UtilInv.contains(cur, stack.getType(), (byte)0, _max))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
PerkConstructorEvent cE = new PerkConstructorEvent(cur);
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(cE);
|
||||||
|
|
||||||
|
if (cE.isCancelled())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
//Add
|
||||||
|
cur.getInventory().addItem(stack);
|
||||||
|
|
||||||
|
cur.playSound(cur.getLocation(), Sound.ITEM_PICKUP, 2f, 1f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user