package me.tenten8401.TCore; import java.util.ArrayList; import java.util.Arrays; import java.util.Random; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Color; import org.bukkit.Effect; import org.bukkit.FireworkEffect; import org.bukkit.FireworkEffect.Type; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.World; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Arrow; import org.bukkit.entity.Entity; import org.bukkit.entity.Firework; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Zombie; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.util.Vector; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.entity.ProjectileHitEvent; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.inventory.EntityEquipment; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.FireworkMeta; import org.bukkit.inventory.meta.ItemMeta; public class TCore extends JavaPlugin implements Listener { public static Material[] swordlist = { Material.DIAMOND_SWORD, Material.GOLD_SWORD, Material.IRON_SWORD, Material.STONE_SWORD, Material.WOOD_SWORD, Material.DIAMOND_AXE, Material.GOLD_AXE, Material.IRON_AXE, Material.STONE_AXE, Material.WOOD_AXE }; public void onEnable() { getConfig().options().copyDefaults(true); saveConfig(); PluginManager pm = Bukkit.getPluginManager(); pm.registerEvents(this, this); getLogger().info(ChatColor.BLUE + "TCore Plugin by tenten8401 Enabled"); } public void onDisable() { getLogger().info(ChatColor.BLUE + "TCore Plugin by tenten8401 Disabled"); } //Respawn Armor @EventHandler(priority = EventPriority.HIGH) public void onPlayerRespawn(final PlayerRespawnEvent e) { Bukkit.getScheduler().runTaskLater(this, new Runnable() { @Override public void run() { Player player = e.getPlayer(); player.getInventory().setHelmet(new ItemStack(Material.LEATHER_HELMET, 1)); player.getInventory().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE, 1)); player.getInventory().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS, 1)); player.getInventory().setBoots(new ItemStack(Material.LEATHER_BOOTS, 1)); player.sendMessage(ChatColor.GRAY + "You wake up, all your items are missing, but there is one difference, you have leather armor on now."); } }, 2); } //Hub 2 Spawn public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(sender instanceof Player) { Player player = (Player) sender; if(cmd.getName().equalsIgnoreCase("hub")) { String hub = "spawn " + player.getName(); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), hub); player.sendMessage("§9[§bTC§9] §bReturning to hub..."); } } return false; } //On Join Firework @EventHandler public void onPlayerJoin (final PlayerJoinEvent pje) { Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() { public void run() { Firework f = (Firework) pje.getPlayer().getWorld().spawn(pje.getPlayer().getLocation(), Firework.class); FireworkMeta fm = f.getFireworkMeta(); fm.addEffect(FireworkEffect.builder() .flicker(false) .trail(true) .with(Type.BALL) .with(Type.BALL_LARGE) .with(Type.STAR) .withColor(Color.BLUE) .withFade(Color.RED) .build()); fm.setPower(2); f.setFireworkMeta(fm); } }, 15); } //Sword Sounds @EventHandler(priority = EventPriority.NORMAL) public void onEntityDamageByEntity(final EntityDamageByEntityEvent event) { Entity damager = event.getDamager(); if (event.getEntity() instanceof Player) { Player player = (Player) damager; if (damager instanceof Player) { for(Material sword : swordlist) { if(player.getItemInHand().getType() == sword) { Sound sound = org.bukkit.Sound.ANVIL_LAND; Location loc = player.getLocation(); player.playSound(loc, sound, 25, 1); } } } } } //AntiSwear @EventHandler public void onPlayerChat(AsyncPlayerChatEvent e) { for(String word : e.getMessage().split(" ")) { if(getConfig().getStringList("bannedwords").contains(word)) { e.setCancelled(true); e.getPlayer().sendMessage("§4[§fAnti§cSwear§4] §fDo not use that kind of launguage!"); } } } //Guns ArrayList cooldown = new ArrayList(); public enum Items { Railgun; } public ItemStack getRailgun(Items item) { ItemStack is = null; ItemMeta im; ArrayList lore; switch (item) { case Railgun: is = new ItemStack(Material.IRON_HOE, 1); im = is.getItemMeta(); im.setDisplayName("Railgun"); lore = new ArrayList(); lore.add(ChatColor.AQUA + "Right click to shoot splodey darts!"); im.setLore(lore); is.setItemMeta(im); } return is; } @EventHandler public void onPlayerInteract(PlayerInteractEvent e) { if (!(e.getAction() == Action.RIGHT_CLICK_AIR)) return; if (!(e.getItem().getType() == Material.IRON_HOE)) return; if (cooldown.contains(e.getPlayer())) { } else { final Player player = e.getPlayer(); player.sendMessage(ChatColor.BLUE + "Guns are disabled in spawn! :P"); Arrow a = e.getPlayer().launchProjectile(Arrow.class); a.setVelocity(a.getVelocity().multiply(2.5)); Sound sound = org.bukkit.Sound.EXPLODE; World world = player.getWorld(); Location loc = player.getLocation(); Location smokeloc = loc.add(0, 1, 0); world.playEffect(smokeloc,Effect.MOBSPAWNER_FLAMES,31); Vector dir = player.getLocation().getDirection(); Vector vec = new Vector(dir.getX() * -0.7D, 0.3D, dir.getZ() * -0.7D); player.setVelocity(vec); player.playSound(loc, sound, 25, 1); cooldown.add(player); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() { public void run() { cooldown.remove(player); } }, 30); } } @EventHandler public void onEntityDamage(EntityDamageByEntityEvent e) { if (e.getDamager() instanceof Arrow) { Arrow a = (Arrow) e.getDamager(); if (a.getShooter() instanceof Player) { Player shooter = (Player) a.getShooter(); if (shooter.getItemInHand().getType() == Material.IRON_HOE) { e.setDamage(7.0); } } } } }