Fix NPE on Volley Pig

This commit is contained in:
Thanos paravantis 2016-04-19 18:25:04 +03:00
parent 50175f9453
commit 11aef273ba
2 changed files with 36 additions and 7 deletions

View File

@ -88,7 +88,7 @@ public class ChallengeMiniOneInTheQuiver extends Challenge
} }
else if ((absX <= getArenaSize() - 1 || absZ <= getArenaSize() - 1)) else if ((absX <= getArenaSize() - 1 || absZ <= getArenaSize() - 1))
{ {
if (((absX == getArenaSize() - 2 || absZ == getArenaSize() - 2) || (absX == getArenaSize() - 4 || absZ == getArenaSize() - 4)) && UtilMath.r(7) == 0 && canPlaceBarrier(block.getRelative(BlockFace.UP)) && !Data.isSpawnLocation(block.getLocation())) if (((absX == getArenaSize() - 2 || absZ == getArenaSize() - 2) || (absX == getArenaSize() - 4 || absZ == getArenaSize() - 4)) && UtilMath.r(8) == 0 && canPlaceBarrier(block.getRelative(BlockFace.UP)) && !Data.isSpawnLocation(block.getLocation()))
{ {
generateBarrier(block); generateBarrier(block);
} }

View File

@ -17,6 +17,7 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause; import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
@ -76,7 +77,9 @@ public class ChallengeVolleyPig extends Challenge
for (int z = -9; z <= 9; z++) for (int z = -9; z <= 9; z++)
{ {
if (z == 0) if (z == 0)
{
continue; continue;
}
spawns.add(getCenter().add(x + 0.5, 1.1, z + 0.5)); spawns.add(getCenter().add(x + 0.5, 1.1, z + 0.5));
} }
@ -106,7 +109,6 @@ public class ChallengeVolleyPig extends Challenge
} }
} }
} }
} }
@Override @Override
@ -116,8 +118,8 @@ public class ChallengeVolleyPig extends Challenge
spawnPig(); spawnPig();
addPlayersOnTeam(); addPlayersOnTeam();
equipKnockbackStick();
equipTeamHelmets(); equipTeamHelmets();
startMainTask(); startMainTask();
} }
@ -126,7 +128,10 @@ public class ChallengeVolleyPig extends Challenge
{ {
Host.DamagePvE = false; Host.DamagePvE = false;
_pig.remove(); if (_pig != null)
{
_pig.remove();
}
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
@ -224,7 +229,22 @@ public class ChallengeVolleyPig extends Challenge
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
private void addPlayersOnTeam() private void addPlayersOnTeam()
{ {
ItemStack stick = new ItemBuilder(Material.STICK).addEnchantment(Enchantment.KNOCKBACK, 1).build(); // int half = getPlayersAlive().size() / 2;
// int current = 0;
//
// for (Player player : getPlayersAlive())
// {
// if (current < half)
// {
// _blueTeam.add(player);
// }
// else
// {
// _redTeam.add(player);
// }
//
// current++;
// }
for (Player player : getPlayersAlive()) for (Player player : getPlayersAlive())
{ {
@ -242,8 +262,6 @@ public class ChallengeVolleyPig extends Challenge
_redTeam.add(player); _redTeam.add(player);
} }
} }
player.getInventory().setItem(Settings.getLockedSlot(), stick);
} }
} }
@ -267,6 +285,17 @@ public class ChallengeVolleyPig extends Challenge
{ {
player.getInventory().setHelmet(helmet); player.getInventory().setHelmet(helmet);
} }
}
private void equipKnockbackStick()
{
ItemStack stick = new ItemBuilder(Material.STICK)
.addEnchantment(Enchantment.KNOCKBACK, 1)
.addItemFlags(ItemFlag.HIDE_ENCHANTS)
.build();
setItem(Settings.getLockedSlot(), stick);
} }
private void knockback(Player player) private void knockback(Player player)