set hub to christmas
removed snowball pickup disabled arrows sticking into players from ALL projectiles
This commit is contained in:
parent
e01d30b920
commit
5aabd00972
@ -119,7 +119,7 @@ import org.bukkit.scoreboard.Scoreboard;
|
|||||||
public class HubManager extends MiniClientPlugin<HubClient>
|
public class HubManager extends MiniClientPlugin<HubClient>
|
||||||
{
|
{
|
||||||
// ☃❅ Snowman!
|
// ☃❅ Snowman!
|
||||||
public HubType Type = HubType.Normal;
|
public HubType Type = HubType.Christmas;
|
||||||
|
|
||||||
private BlockRestore _blockRestore;
|
private BlockRestore _blockRestore;
|
||||||
private CoreClientManager _clientManager;
|
private CoreClientManager _clientManager;
|
||||||
@ -267,50 +267,6 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void SnowballPickup(BlockDamageEvent event)
|
|
||||||
{
|
|
||||||
if (Type != HubType.Christmas)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (event.getBlock().getType() != Material.SNOW)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Player player = event.getPlayer();
|
|
||||||
|
|
||||||
_gadgetManager.RemoveItem(player);
|
|
||||||
|
|
||||||
player.getInventory().setItem(3, new ItemStack(Material.SNOW_BALL, 16));
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void SnowballHit(CustomDamageEvent event)
|
|
||||||
{
|
|
||||||
if (Type != HubType.Christmas)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Projectile proj = event.GetProjectile();
|
|
||||||
if (proj == null) return;
|
|
||||||
|
|
||||||
if (!(proj instanceof Snowball))
|
|
||||||
return;
|
|
||||||
|
|
||||||
event.SetCancelled("Snowball Cancel");
|
|
||||||
|
|
||||||
if (BumpDisabled(event.GetDamageeEntity()))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (BumpDisabled(event.GetDamagerEntity(true)))
|
|
||||||
return;
|
|
||||||
|
|
||||||
UtilAction.velocity(event.GetDamageeEntity(), UtilAlg.getTrajectory2d(event.GetDamagerEntity(true), event.GetDamageeEntity()),
|
|
||||||
0.4, false, 0, 0.2, 1, false);
|
|
||||||
|
|
||||||
//No Portal
|
|
||||||
SetPortalDelay(event.GetDamageeEntity());
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void redirectStopCommand(PlayerCommandPreprocessEvent event)
|
public void redirectStopCommand(PlayerCommandPreprocessEvent event)
|
||||||
{
|
{
|
||||||
@ -663,39 +619,6 @@ public class HubManager extends MiniClientPlugin<HubClient>
|
|||||||
if (_scoreboardTick != 0)
|
if (_scoreboardTick != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// int bestPig = 0;
|
|
||||||
// for (Player player : UtilServer.getPlayers())
|
|
||||||
// {
|
|
||||||
// if (player.getVehicle() != null)
|
|
||||||
// continue;
|
|
||||||
//
|
|
||||||
// int count = 0;
|
|
||||||
//
|
|
||||||
// Entity ent = player;
|
|
||||||
// while (ent.getPassenger() != null)
|
|
||||||
// {
|
|
||||||
// ent = ent.getPassenger();
|
|
||||||
// count++;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// if (count > bestPig)
|
|
||||||
// {
|
|
||||||
// _pigStacker = player.getName();
|
|
||||||
// bestPig = count;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (bestPig == 0)
|
|
||||||
// {
|
|
||||||
// _pigStacker = "0 - Nobody";
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// _pigStacker = bestPig + " - " + _pigStacker;
|
|
||||||
//
|
|
||||||
// if (_pigStacker.length() > 16)
|
|
||||||
// _pigStacker = _pigStacker.substring(0, 16);
|
|
||||||
// }
|
|
||||||
|
|
||||||
for (Player player : UtilServer.getPlayers())
|
for (Player player : UtilServer.getPlayers())
|
||||||
{
|
{
|
||||||
//Dont Waste Time
|
//Dont Waste Time
|
||||||
|
@ -378,7 +378,7 @@ public class DamageManager extends MiniPlugin
|
|||||||
event.GetDamageeEntity().playEffect(EntityEffect.HURT);
|
event.GetDamageeEntity().playEffect(EntityEffect.HURT);
|
||||||
|
|
||||||
//Sticky Arrow
|
//Sticky Arrow
|
||||||
if (event.GetCause() == DamageCause.PROJECTILE)
|
if (event.GetCause() == DamageCause.PROJECTILE && event.GetProjectile() != null && event.GetProjectile() instanceof Arrow)
|
||||||
((CraftLivingEntity)event.GetDamageeEntity()).getHandle().o(((CraftLivingEntity)event.GetDamageeEntity()).getHandle().bv() + 1);
|
((CraftLivingEntity)event.GetDamageeEntity()).getHandle().o(((CraftLivingEntity)event.GetDamageeEntity()).getHandle().bv() + 1);
|
||||||
|
|
||||||
//Knockback
|
//Knockback
|
||||||
|
@ -13,15 +13,11 @@ import mineplex.core.common.util.UtilMath;
|
|||||||
import mineplex.core.common.util.UtilParticle;
|
import mineplex.core.common.util.UtilParticle;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.common.util.UtilServer;
|
import mineplex.core.common.util.UtilServer;
|
||||||
import mineplex.core.common.util.UtilSound;
|
|
||||||
import mineplex.core.common.util.UtilText;
|
|
||||||
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.common.util.UtilWorld;
|
import mineplex.core.common.util.UtilWorld;
|
||||||
import mineplex.core.common.util.UtilParticle.ParticleType;
|
import mineplex.core.common.util.UtilParticle.ParticleType;
|
||||||
import mineplex.core.common.util.UtilParticle.ViewDist;
|
import mineplex.core.common.util.UtilParticle.ViewDist;
|
||||||
import mineplex.core.explosion.ExplosionEvent;
|
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
|
||||||
import mineplex.core.updater.UpdateType;
|
import mineplex.core.updater.UpdateType;
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
@ -35,8 +31,6 @@ import nautilus.game.arcade.game.games.snowfight.kits.KitTactician;
|
|||||||
import nautilus.game.arcade.game.games.snowfight.kits.KitMedic;
|
import nautilus.game.arcade.game.games.snowfight.kits.KitMedic;
|
||||||
import nautilus.game.arcade.game.games.snowfight.kits.KitSportsman;
|
import nautilus.game.arcade.game.games.snowfight.kits.KitSportsman;
|
||||||
import nautilus.game.arcade.kit.Kit;
|
import nautilus.game.arcade.kit.Kit;
|
||||||
import nautilus.game.arcade.kit.SmashKit;
|
|
||||||
import net.minecraft.server.v1_8_R3.EntityFireball;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@ -48,10 +42,7 @@ import org.bukkit.World;
|
|||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftFireball;
|
|
||||||
import org.bukkit.entity.Egg;
|
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
|
||||||
import org.bukkit.entity.FallingBlock;
|
import org.bukkit.entity.FallingBlock;
|
||||||
import org.bukkit.entity.Fireball;
|
import org.bukkit.entity.Fireball;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -59,31 +50,23 @@ import org.bukkit.entity.Projectile;
|
|||||||
import org.bukkit.entity.Snowball;
|
import org.bukkit.entity.Snowball;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.block.Action;
|
|
||||||
import org.bukkit.event.block.BlockDamageEvent;
|
import org.bukkit.event.block.BlockDamageEvent;
|
||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
import org.bukkit.event.block.BlockPlaceEvent;
|
||||||
import org.bukkit.event.entity.EntityChangeBlockEvent;
|
import org.bukkit.event.entity.EntityChangeBlockEvent;
|
||||||
import org.bukkit.event.entity.EntityRegainHealthEvent;
|
import org.bukkit.event.entity.EntityRegainHealthEvent;
|
||||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
|
||||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
|
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.metadata.FixedMetadataValue;
|
import org.bukkit.metadata.FixedMetadataValue;
|
||||||
import org.bukkit.potion.Potion;
|
|
||||||
import org.bukkit.potion.PotionEffect;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
import org.bukkit.potion.PotionType;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;
|
|
||||||
|
|
||||||
public class SnowFight extends TeamGame
|
public class SnowFight extends TeamGame
|
||||||
{
|
{
|
||||||
|
|
||||||
private HashMap<Player, Integer> _tiles;
|
private HashMap<Player, Integer> _tiles;
|
||||||
private boolean _meteoroids;
|
private boolean _meteors;
|
||||||
private boolean _peace;
|
private boolean _peace;
|
||||||
|
|
||||||
public SnowFight(ArcadeManager manager)
|
public SnowFight(ArcadeManager manager)
|
||||||
@ -99,8 +82,8 @@ public class SnowFight extends TeamGame
|
|||||||
|
|
||||||
new String[]
|
new String[]
|
||||||
{
|
{
|
||||||
"Just like... kill your enemies. with snow.",
|
"Defeat your foes with Snowballs",
|
||||||
"Be careful if you are on Ice your body will freeze"
|
"Last team alive wins!"
|
||||||
});
|
});
|
||||||
|
|
||||||
this.HungerSet = 20;
|
this.HungerSet = 20;
|
||||||
@ -111,7 +94,7 @@ public class SnowFight extends TeamGame
|
|||||||
this.BlockPlace = true;
|
this.BlockPlace = true;
|
||||||
this.BlockBreakAllow = new HashSet<>(Arrays.asList(Material.FENCE.getId()));
|
this.BlockBreakAllow = new HashSet<>(Arrays.asList(Material.FENCE.getId()));
|
||||||
this._tiles = new HashMap<Player, Integer>();
|
this._tiles = new HashMap<Player, Integer>();
|
||||||
this._meteoroids = false;
|
this._meteors = false;
|
||||||
this._peace = false;
|
this._peace = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,39 +143,42 @@ public class SnowFight extends TeamGame
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void Meteor(UpdateEvent event) {
|
public void Meteor(UpdateEvent event)
|
||||||
if(event.getType() != UpdateType.TWOSEC)
|
{
|
||||||
|
if(event.getType() != UpdateType.FAST)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!IsLive())
|
if (!IsLive())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(System.currentTimeMillis() <= getGameLiveTime() + (15 * 1000))
|
if (System.currentTimeMillis() <= getGameLiveTime() + 10000)
|
||||||
|
{
|
||||||
|
UtilTextMiddle.display(C.cGreen + "Prepare", "Battle in " + UtilTime.MakeStr((getGameLiveTime() + 10000) - System.currentTimeMillis()), 0, 60, 20, UtilServer.getPlayers());
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!_peace)
|
if (!_peace)
|
||||||
{
|
{
|
||||||
for(Player player : GetPlayers(false))
|
for(Player player : GetPlayers(false))
|
||||||
{
|
|
||||||
player.playSound(player.getLocation(), Sound.ENDERDRAGON_GROWL, 1F, 1F);
|
player.playSound(player.getLocation(), Sound.ENDERDRAGON_GROWL, 1F, 1F);
|
||||||
UtilTextMiddle.display(C.cGold + C.Bold + "Peace Phase ended", "Kill your enemies", player);
|
|
||||||
}
|
UtilTextMiddle.display(C.cRed + "FIGHT", "Throw your Snowballs!", 0, 60, 20, UtilServer.getPlayers());
|
||||||
this.Announce(C.cRed + C.Bold + "ALERT: " + ChatColor.RESET + C.Bold + "Peace Phase ended");
|
|
||||||
_peace = true;
|
_peace = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(System.currentTimeMillis() <= getGameLiveTime() + (195 * 1000))
|
if(System.currentTimeMillis() <= getGameLiveTime() + (195 * 1000))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(!_meteoroids)
|
if(!_meteors)
|
||||||
{
|
{
|
||||||
for(Player player : GetPlayers(false))
|
for(Player player : GetPlayers(false))
|
||||||
{
|
{
|
||||||
player.playSound(player.getLocation(), Sound.ENDERDRAGON_GROWL, 1F, 1F);
|
player.playSound(player.getLocation(), Sound.ENDERDRAGON_GROWL, 1F, 1F);
|
||||||
UtilTextMiddle.display(C.cGold + C.Bold + "ICE METEOROIDS!!!", "Avoid the Ice Fields", player);
|
UtilTextMiddle.display(C.cAqua + C.Bold + "Ice Meteors", "Avoid the Ice Fields!", player);
|
||||||
}
|
}
|
||||||
this.Announce(C.cRed + C.Bold + "ALERT: " + ChatColor.RESET + C.Bold + "METEOROIDS START FALLING!");
|
|
||||||
_meteoroids = true;
|
_meteors = true;
|
||||||
}
|
}
|
||||||
makeMeteor();
|
makeMeteor();
|
||||||
}
|
}
|
||||||
@ -345,12 +331,12 @@ public class SnowFight extends TeamGame
|
|||||||
// Lower
|
// Lower
|
||||||
if (height >= snowLevel)
|
if (height >= snowLevel)
|
||||||
{
|
{
|
||||||
block.setTypeIdAndData(0, (byte) 0, true);
|
block.setTypeIdAndData(0, (byte) 0, false);
|
||||||
SnowDecrease(block.getRelative(BlockFace.DOWN), height - snowLevel);
|
SnowDecrease(block.getRelative(BlockFace.DOWN), height - snowLevel);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
block.setTypeIdAndData(78, (byte) (snowLevel - height - 1), true);
|
block.setTypeIdAndData(78, (byte) (snowLevel - height - 1), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,7 +442,7 @@ public class SnowFight extends TeamGame
|
|||||||
|
|
||||||
if (i++ % 6 == 0)
|
if (i++ % 6 == 0)
|
||||||
{
|
{
|
||||||
fallingblock.getWorld().playSound(fallingblock.getLocation(), Sound.CAT_HISS, 1.3F, 0F);
|
fallingblock.getWorld().playSound(fallingblock.getLocation(), Sound.CAT_HISS, 0.7F, 0F);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -498,10 +484,11 @@ public class SnowFight extends TeamGame
|
|||||||
explosion.setDropItems(false);
|
explosion.setDropItems(false);
|
||||||
explosion.setBlocksDamagedEqually(true);
|
explosion.setBlocksDamagedEqually(true);
|
||||||
|
|
||||||
UtilParticle.PlayParticle(ParticleType.LARGE_EXPLODE, projectile.getLocation(), 1.0F, 1.0F, 1.0F, 1, 3, ViewDist.MAX, UtilServer.getPlayers());
|
//Effect
|
||||||
for(Player player : UtilServer.getPlayers()) {
|
UtilParticle.PlayParticle(ParticleType.LARGE_EXPLODE, projectile.getLocation(), 0.5f, 0.5f, 0.5f, 0, 5, ViewDist.MAX, UtilServer.getPlayers());
|
||||||
|
for(Player player : UtilServer.getPlayers())
|
||||||
player.playSound(projectile.getLocation(), Sound.EXPLODE, 1, 1);
|
player.playSound(projectile.getLocation(), Sound.EXPLODE, 1, 1);
|
||||||
}
|
|
||||||
|
|
||||||
boolean fall = true;
|
boolean fall = true;
|
||||||
|
|
||||||
@ -510,7 +497,7 @@ public class SnowFight extends TeamGame
|
|||||||
if(player instanceof Player)
|
if(player instanceof Player)
|
||||||
{
|
{
|
||||||
Player damagee = (Player) player;
|
Player damagee = (Player) player;
|
||||||
Bukkit.getPluginManager().callEvent(new CustomDamageEvent(damagee, null, null, null, DamageCause.CUSTOM, damage, false, true, true, "Ice Meteoroid", "Ice Meteoroid", false));
|
Bukkit.getPluginManager().callEvent(new CustomDamageEvent(damagee, null, null, null, DamageCause.CUSTOM, damage, false, true, true, "Ice Meteor", "Ice Meteor", false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -519,6 +506,7 @@ public class SnowFight extends TeamGame
|
|||||||
if(block.getType() != Material.AIR)
|
if(block.getType() != Material.AIR)
|
||||||
{
|
{
|
||||||
block.setType(Material.ICE);
|
block.setType(Material.ICE);
|
||||||
|
|
||||||
if(block.getRelative(BlockFace.DOWN).getType() == Material.AIR)
|
if(block.getRelative(BlockFace.DOWN).getType() == Material.AIR)
|
||||||
{
|
{
|
||||||
// to reduce lag
|
// to reduce lag
|
||||||
@ -611,7 +599,7 @@ public class SnowFight extends TeamGame
|
|||||||
for (GameTeam team : this.GetTeamList())
|
for (GameTeam team : this.GetTeamList())
|
||||||
{
|
{
|
||||||
Scoreboard.Write(team.GetColor() + C.Bold + team.GetName());
|
Scoreboard.Write(team.GetColor() + C.Bold + team.GetName());
|
||||||
Scoreboard.Write(team.GetColor() + "Alive " + team.GetPlayers(true).size());
|
Scoreboard.Write(team.GetColor() + "" + team.GetPlayers(true).size() + " Alive");
|
||||||
Scoreboard.WriteBlank();
|
Scoreboard.WriteBlank();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -620,13 +608,13 @@ public class SnowFight extends TeamGame
|
|||||||
|
|
||||||
if (time > 0)
|
if (time > 0)
|
||||||
{
|
{
|
||||||
Scoreboard.Write(C.cYellow + C.Bold + "Meteoroids:");
|
Scoreboard.Write(C.cYellow + C.Bold + "Meteors");
|
||||||
if(IsLive())
|
if(IsLive())
|
||||||
Scoreboard.Write(UtilTime.MakeStr(time, 0));
|
Scoreboard.Write(UtilTime.MakeStr(time, 0));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Scoreboard.Write(C.cGold + C.Bold + "Meteoroids!");
|
Scoreboard.Write(C.cGold + C.Bold + "Meteors!");
|
||||||
}
|
}
|
||||||
|
|
||||||
Scoreboard.Draw();
|
Scoreboard.Draw();
|
||||||
|
Loading…
Reference in New Issue
Block a user