Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GameEvents implements Listener {
- public static ItemStack air = new ItemStack(Material.AIR);
- public static ArrayList<Player> respawnTimer = new ArrayList<Player>();
- public static CrownTimer crownTimer;
- public static void setupCrownTimer(Plugin pl) {
- crownTimer = new CrownTimer(pl);
- }
- @EventHandler
- public void crownPlace(BlockPlaceEvent e) {
- if (!GameState.isState(GameState.IN_GAME)) {
- e.setCancelled(true);
- return;
- }
- if (e.getBlockPlaced().getType().equals(Material.SKULL)) {
- e.setCancelled(true);
- }
- }
- @EventHandler
- public void weather(WeatherChangeEvent e) {
- e.setCancelled(true);
- e.getWorld().setStorm(false);
- }
- @EventHandler
- public void playerInteractWithArmorStand(PlayerInteractAtEntityEvent e) {
- Player p = e.getPlayer();
- PlayerStats pStats = Skykings.playerStats.get(p);
- if (e.getRightClicked() instanceof ArmorStand) {
- e.setCancelled(true);
- ArmorStand a = (ArmorStand) e.getRightClicked();
- if (a.equals(GameManager.kingStand)
- && a.getHelmet().equals(Locations.kingsCrown)) {
- StringUtils.announcement(p.getName() + " has taken the crown!");
- StringUtils.announcement(p.getName() + " is on the "
- + pStats.getTeam().getName() + " team");
- a.setHelmet(air);
- p.getInventory().addItem(Locations.kingsCrown);
- return;
- }
- for (Teams team : Teams.values()) {
- if (team.getStand().equals(a)
- && p.getInventory().contains(Locations.kingsCrown)
- && a.getHelmet().equals(air)
- && pStats.getTeam().equals(team)) {
- a.setHelmet(Locations.kingsCrown);
- p.getInventory().remove(Locations.kingsCrown);
- StringUtils
- .announcement(p.getName()
- + " has captured the crown get it back! (30 Seconds to take it back)");
- StringUtils.announcement(p.getName() + " is on the "
- + pStats.getTeam().getName() + " team");
- crownTimer.startTimer(a, pStats);
- return;
- } else if (team.getStand().equals(a)
- && a.getHelmet().equals(Locations.kingsCrown)
- && !pStats.getTeam().equals(team)) {
- a.setHelmet(air);
- p.getInventory().addItem(Locations.kingsCrown);
- StringUtils.announcement(p.getName()
- + " has taken the crown from " + team.getName()
- + " team!");
- crownTimer.stopTimer();
- }
- }
- }
- }
- @EventHandler
- public void PlayerThrowCrown(ItemSpawnEvent e) {
- if (e.getEntity().getItemStack().equals(Locations.kingsCrown)) {
- e.setCancelled(true);
- e.getEntity().setItemStack(new ItemStack(Material.AIR));
- GameManager.kingStand.setHelmet(Locations.kingsCrown);
- StringUtils.announcement("Crown was dropped and has been reset!");
- }
- }
- @EventHandler
- public void playerDamage(EntityDamageEvent e) {
- if (e.getEntityType().equals(EntityType.ARMOR_STAND)) {
- e.setCancelled(true);
- return;
- }
- if (!GameState.isState(GameState.IN_GAME)) {
- e.setCancelled(true);
- return;
- }
- if (e.getEntity() instanceof Player) {
- Player p = (Player) e.getEntity();
- if (respawnTimer.contains(p)) {
- e.setCancelled(true);
- return;
- }
- }
- }
- public static void addSpawnTimer() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- respawnTimer.add(p);
- }
- Bukkit.getServer()
- .getScheduler()
- .scheduleSyncDelayedTask(Skykings.getInstance(),
- new Runnable() {
- @Override
- public void run() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- respawnTimer.remove(p);
- }
- }
- }, 100);
- }
- @EventHandler
- public void playerKill(PlayerDeathEvent e) {
- if (e.getEntity() instanceof Player) {
- Player killed = e.getEntity();
- if (killed.getInventory().contains(Locations.kingsCrown)) {
- killed.getInventory().remove(Locations.kingsCrown);
- GameManager.kingStand.setHelmet(Locations.kingsCrown);
- StringUtils
- .announcement("Crown was dropped and has been reset!");
- }
- e.setKeepInventory(true);
- PlayerStats killedStats = Skykings.playerStats.get(killed);
- killedStats.addDeath();
- if (killed.getLastDamageCause() instanceof EntityDamageByEntityEvent) {
- EntityDamageByEntityEvent event = (EntityDamageByEntityEvent) killed
- .getLastDamageCause();
- if (event.getDamager() instanceof Player) {
- Player killer = (Player) event.getDamager();
- PlayerStats killerStats = Skykings.playerStats.get(killer);
- killerStats.addKill();
- killerStats.addCoins(5);
- }
- } else {
- return;
- }
- }
- }
- @SuppressWarnings("deprecation")
- @EventHandler
- public void respawn(PlayerRespawnEvent e) {
- if (GameState.isState(GameState.IN_GAME)) {
- final Player p = e.getPlayer();
- respawnTimer.add(p);
- Bukkit.getServer()
- .getScheduler()
- .scheduleAsyncDelayedTask(Skykings.getInstance(),
- new Runnable() {
- @Override
- public void run() {
- respawnTimer.remove(p);
- }
- }, 20 * 5);
- final PlayerStats pStats = Skykings.playerStats.get(p);
- Bukkit.getServer()
- .getScheduler()
- .scheduleSyncDelayedTask(Skykings.getInstance(),
- new Runnable() {
- @Override
- public void run() {
- p.teleport(pStats.getTeam().getSpawn());
- }
- }, 3);
- }
- }
- @EventHandler
- public void onHungerLevel(FoodLevelChangeEvent e) {
- if (!GameState.isState(GameState.IN_GAME)) {
- e.setCancelled(true);
- }
- }
- @EventHandler
- public void EntityDeath(EntityDeathEvent e){
- net.minecraft.server.v1_8_R3.Entity Crafte = ((CraftEntity) e
- .getEntity()).getHandle();
- if(Crafte instanceof Skeletron){
- e.setDroppedExp(0);
- e.getDrops().clear();
- ItemStack item = new ItemStack(Material.DIAMOND_SWORD);
- item.addEnchantment(Enchantment.DAMAGE_ALL, 1);
- e.getEntity().getWorld().dropItem(e.getEntity().getEyeLocation(), item);
- }
- }
- @EventHandler
- public void entitySpawn(EntitySpawnEvent e) {
- net.minecraft.server.v1_8_R3.Entity Crafte = ((CraftEntity) e
- .getEntity()).getHandle();
- if (Crafte instanceof Skeletron) {
- }else if(e.getEntity() instanceof Player){
- }else if(e.getEntity() instanceof ArmorStand){
- }else if(e.getEntity() instanceof Item){
- }else{
- e.setCancelled(true);
- }
- }
- @EventHandler
- public void combust(EntityCombustEvent e){
- if(!(e.getEntity() instanceof Player)){
- e.setCancelled(true);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement