Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.kevinatoranator.AGTV;
- /* Official AGTV server plugin
- * Open Source feel free to use any code for your plugins
- *
- * Developed by Kevinatoranator
- * Ideas from those at AGTV
- *
- * Also join us on AGTV @ 206.217.141.228.25565
- */
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.Map.Entry;
- import java.util.logging.Logger;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.World;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.ShapedRecipe;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- public class AGTV extends JavaPlugin {
- private Logger log = Logger.getLogger("AGTV");
- public static AGTV plugin;
- private File hFolder;
- private final String Homes_File = "homelist.txt";
- private HashMap<String, Location> pHome = new HashMap<String, Location>();
- public static boolean XPon;
- private int votes;
- private String reason;
- private boolean isVotekicking=false;
- HashSet <String> hasvoted = new HashSet <String>();
- public void onDisable(){
- log.info("All systems offline");
- try {
- save(clearInv.clearWorlds ,"clearWorlds.txt");
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- watersave(deepWater.DeepWaterWorlds, "DeepWaterWorlds.txt");
- } catch (Exception e) {
- // TODO
- e.printStackTrace();
- }
- }
- @SuppressWarnings("unchecked")
- public void onEnable(){
- log.info("Welcome to AGTV");
- hFolder= getDataFolder();
- PluginManager pm = getServer().getPluginManager();
- pm.registerEvents(new Playerjoiner(this), this);
- pm.registerEvents(new fireArrow(this), this);
- pm.registerEvents(new clearInv(), this);
- pm.registerEvents(new harderEnemies(this), this);
- pm.registerEvents(new plantBiomes(this), this);
- pm.registerEvents(new deepWater(this), this);
- pm.registerEvents(new miner(this), this);
- final FileConfiguration config = this.getConfig();
- config.options().copyDefaults(true);
- saveConfig();
- try {
- clearInv.clearWorlds = (HashSet<String>)load("clearWorlds.txt");
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- try {
- deepWater.DeepWaterWorlds = (ArrayList<String>) waterload("DeepWaterWorlds.txt");
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- ShapedRecipe firechRecipe = new ShapedRecipe(new ItemStack(385, 1));
- firechRecipe.shape(new String[] {"BA"});
- firechRecipe.setIngredient('B', Material.FLINT_AND_STEEL);
- firechRecipe.setIngredient('A', Material.SULPHUR);
- getServer().addRecipe(firechRecipe);
- ShapedRecipe saddlerRecipe = new ShapedRecipe(new ItemStack(329,1));
- saddlerRecipe.shape(new String[] {"BBB","ACA"});
- saddlerRecipe.setIngredient('A', Material.STRING);
- saddlerRecipe.setIngredient('B', Material.LEATHER);
- getServer().addRecipe(saddlerRecipe);
- ShapedRecipe chainhat = new ShapedRecipe(new ItemStack(Material.CHAINMAIL_HELMET ,1));
- chainhat.shape(new String[] {"BAB", "BCB"});
- chainhat.setIngredient('A', Material.LEATHER);
- chainhat.setIngredient('B', Material.IRON_INGOT);
- getServer().addRecipe(chainhat);
- ShapedRecipe chainshirt = new ShapedRecipe(new ItemStack(Material.CHAINMAIL_CHESTPLATE, 1));
- chainshirt.shape(new String[] {"ACA","BBB","BBB"});
- chainshirt.setIngredient('B', Material.IRON_INGOT);
- chainshirt.setIngredient('A', Material.LEATHER);
- getServer().addRecipe(chainshirt);
- ShapedRecipe chainpants = new ShapedRecipe(new ItemStack(Material.CHAINMAIL_LEGGINGS, 1));
- chainpants.shape(new String[] {"BAB", "BCB", "BCB"});
- chainpants.setIngredient('A', Material.LEATHER);
- chainpants.setIngredient('B', Material.IRON_INGOT);
- getServer().addRecipe(chainpants);
- ShapedRecipe chainboots = new ShapedRecipe(new ItemStack(Material.CHAINMAIL_BOOTS, 1));
- chainboots.shape(new String[] {"ACA","BCB"});
- chainboots.setIngredient('A', Material.LEATHER);
- chainboots.setIngredient('B', Material.IRON_INGOT);
- getServer().addRecipe(chainboots);
- ShapedRecipe spideyweb = new ShapedRecipe(new ItemStack(Material.WEB,2));
- spideyweb.shape(new String[]{"ABA", "BAB", "ABA"});
- spideyweb.setIngredient('A', Material.STRING);
- getServer().addRecipe(spideyweb);
- ShapedRecipe mossyR = new ShapedRecipe(new ItemStack(Material.MOSSY_COBBLESTONE,1));
- mossyR.shape(new String[]{"AAA", "ABA", "AAA"});
- mossyR.setIngredient('A', Material.VINE);
- mossyR.setIngredient('B', Material.COBBLESTONE);
- getServer().addRecipe(mossyR);
- ShapedRecipe nbrickR = new ShapedRecipe(new ItemStack(Material.NETHER_BRICK,1));
- nbrickR.shape(new String[]{"AA", "AA"});
- nbrickR.setIngredient('A', Material.NETHERRACK);
- getServer().addRecipe(nbrickR);
- if(!hFolder.exists()){
- hFolder.mkdir();
- log.info("Config made");
- }
- File ListoHomes = new File(hFolder.getAbsolutePath() + File.separator+ Homes_File);
- if(!ListoHomes.exists()){
- try {
- ListoHomes.createNewFile();
- log.info("Created homelist file");
- } catch (IOException e) {
- log.info("Failed to create home file");
- }
- }
- if(loadSettings()){
- log.info("AGTV-homes enabled");
- }
- }
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
- Player player= (Player)sender;
- if(cmd.getName().equalsIgnoreCase("c")
- && player.hasPermission("gamemode.cr")){
- if(args.length==0){
- player.setGameMode(GameMode.CREATIVE);
- player.sendMessage(ChatColor.GRAY + "Gamemode-Creative");
- log.info(player.getName()+ " entered creative mode");
- Bukkit.getServer().broadcastMessage(player.getName() +" has entered creative mode");
- }else if(args.length==1){
- if(player.hasPermission("gamemode.cro")){
- Player target = Bukkit.getPlayer(args[0]);
- target.setGameMode(GameMode.CREATIVE);
- target.sendMessage(ChatColor.GRAY + player.getName() + " has set you in Creative mode");
- log.info(target.getName()+ " entered creative mode");
- Bukkit.getServer().broadcastMessage(player.getName() +" has set "+ target.getName()+" creative mode");
- }
- }else if(args.length>1){
- player.sendMessage(ChatColor.GRAY + "Too many arguments. /c or /c <playername>");
- }
- }
- if(cmd.getName().equalsIgnoreCase("s")
- && player.hasPermission("gamemode.sr")){
- if(args.length==0){
- player.setGameMode(GameMode.SURVIVAL);
- player.sendMessage(ChatColor.GRAY + "Gamemode-Survival");
- log.info(player.getName()+ " entered survival mode");
- Bukkit.getServer().broadcastMessage(player.getName() +" has entered survival mode");
- }else if(args.length==1){
- if(player.hasPermission("gamemode.sro")){
- Player target = Bukkit.getPlayer(args[0]);
- target.setGameMode(GameMode.SURVIVAL);
- target.sendMessage(ChatColor.GRAY + player.getName() + " has set you in Survival mode");
- log.info(target.getName()+ " entered survival mode");
- Bukkit.getServer().broadcastMessage(player.getName() +" has set "+ target.getName()+" creative mode");
- }
- }else if(args.length>1){
- player.sendMessage(ChatColor.GRAY + "Too many arguments. /s or /s <playername>");
- }
- }
- if(commandLabel.equalsIgnoreCase("SetaHome")
- && player.hasPermission("homes.sethome")){
- pHome.put(player.getName(), player.getLocation());
- player.sendMessage(ChatColor.GRAY + "You have set your home");
- saveSettings();
- }
- if(commandLabel.equalsIgnoreCase("home")
- && player.hasPermission("homes.home")){
- Location playerhome = pHome.get(player.getName());
- if(playerhome !=null){
- player.teleport(playerhome);
- }
- else{
- player.sendMessage(ChatColor.GRAY+ "Home not set");
- }
- }
- if(cmd.getName().equalsIgnoreCase("votekick")
- && player.hasPermission("votekick.start")){
- Player target = Bukkit.getServer().getPlayer(args[0]);
- if(Bukkit.getServer().getOnlinePlayers().length>getConfig().getInt("PlayerNumforVK")-1){
- if(args.length!=2){
- player.sendMessage("Usage: /votekick <playername> <reason>");
- }
- if(args.length == 2){
- if(isVotekicking == false){
- reason=args[1];
- isVotekicking =true;
- Bukkit.getServer().broadcastMessage(player.getName() + " started a votekick against " + target.getName() + " for reason "+ reason);
- log.info(player.getName() + " started a votekick against " + target.getName() + " for reason "+ reason);
- }else{
- player.sendMessage("A votekick is already in progress");
- }
- }
- }else{
- player.sendMessage("Not enough players to start votekick");
- }
- }
- if(cmd.getName().equalsIgnoreCase("vote")
- && player.hasPermission("votekick.vote")){
- if(args.length>0){
- player.sendMessage("Usage: /vote <playername>");
- }
- if(args.length == 1){
- if(isVotekicking==true){
- if(!hasvoted.contains(player.getName())){
- votes++;
- hasvoted.add(player.getName());
- final Player target = Bukkit.getServer().getPlayer(args[0]);
- if(Bukkit.getServer().getOnlinePlayers().length>getConfig().getInt("VKkick")-1){
- if((Bukkit.getServer().getOnlinePlayers().length)/getConfig().getInt("percentvoteKick")<votes){
- target.kickPlayer(target.getName());
- }
- }
- if(Bukkit.getServer().getOnlinePlayers().length>getConfig().getInt("VKban")-1){
- if((Bukkit.getServer().getOnlinePlayers().length)/getConfig().getInt("percentvoteBan")<votes){
- target.setBanned(true);
- isVotekicking=false;
- votes=0;
- hasvoted.removeAll(hasvoted);
- }
- }
- plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
- public void run() {
- Bukkit.getServer().broadcastMessage("Votekick for "+ target.getName() + " has ended");
- isVotekicking=false;
- votes=0;
- hasvoted.removeAll(hasvoted);
- }
- }, 6000);
- }else{
- player.sendMessage("You have already voted for this votekick");
- }
- }else{
- player.sendMessage("No votekick in progress");
- }
- }else{
- player.sendMessage("Usage: /vote <playername>");
- }
- }
- if(commandLabel.equalsIgnoreCase("endvk")
- && player.hasPermission("votekick.end")){
- isVotekicking=false;
- votes=0;
- hasvoted.removeAll(hasvoted);
- Bukkit.getServer().broadcastMessage(player.getName() + "ended the votekick");
- log.info(player.getName() + "ended the votekick");
- }
- if(commandLabel.equalsIgnoreCase("addclearworld")
- && player.hasPermission("world.addclear")){
- clearInv.clearWorlds.add(player.getWorld().getName());
- player.sendMessage(player.getWorld().getName() + " has become a clear inventory world");
- log.info(player.getName()+" has made " +player.getWorld().getName() + " a clear inventory world");
- }
- if(commandLabel.equalsIgnoreCase("removeclearworld")
- && player.hasPermission("world.removeclear")){
- clearInv.clearWorlds.remove(player.getWorld().getName());
- player.sendMessage(player.getWorld().getName() + " is no longer a clear inventory world");
- log.info(player.getName()+" has made " +player.getWorld().getName() + " a non clear inventory world");
- }
- if(commandLabel.equalsIgnoreCase("listclearworld")
- && player.hasPermission("world.listclear")){
- if(clearInv.clearWorlds.isEmpty()){
- player.sendMessage("There are no clear inventory worlds");
- }else
- player.sendMessage(clearInv.clearWorlds.toString());
- }
- if(commandLabel.equalsIgnoreCase("motd")
- && player.hasPermission("server.motd")){
- player.sendMessage(ChatColor.WHITE + getConfig().getString("motd"));
- }
- if(commandLabel.equalsIgnoreCase("reloadConfig")
- && player.hasPermission("server.reloadconfig")){
- this.reloadConfig();
- player.sendMessage("The AGTV config.yml has been reloaded from file");
- }
- if(commandLabel.equalsIgnoreCase("addwaterworld")
- && player.hasPermission("world.addwater")){
- deepWater.DeepWaterWorlds.add(player.getWorld().getName());
- player.sendMessage(player.getWorld().getName() + " has become a deep water world");
- log.info(player.getName()+" has made " +player.getWorld().getName() + " a deep water world");
- }
- if(commandLabel.equalsIgnoreCase("removewaterworld")
- && player.hasPermission("world.removewater")){
- deepWater.DeepWaterWorlds.remove(player.getWorld().getName());
- player.sendMessage(player.getWorld().getName() + " is no longer a deep water world");
- log.info(player.getName()+" has made " +player.getWorld().getName() + " a non deep water world");
- }
- if(commandLabel.equalsIgnoreCase("listwaterworld")
- && player.hasPermission("world.listwater")){
- if(deepWater.DeepWaterWorlds.isEmpty()){
- player.sendMessage("There are no deep water worlds");
- }else
- player.sendMessage(deepWater.DeepWaterWorlds.toString());
- }
- //if(commandLabel.equalsIgnoreCase("addDarkWorld")
- // && player.hasPermission("dark.add")){
- // isDarkness.darkWorldsEnabled.add(player.getWorld());
- // player.sendMessage(player.getWorld().getName()+" is now DarkWorld Enabled");
- // log.info(player.getName() + " has enabled DarkWorld for "+ player.getWorld().getName());
- //}
- //if(commandLabel.equalsIgnoreCase("removeDarkWorld")
- // && player.hasPermission("dark.remove")){
- // isDarkness.darkWorldsEnabled.remove(player.getWorld());
- // player.sendMessage(player.getWorld().getName()+" is now DarkWorld Disabled");
- // log.info(player.getName() + " has disabled DarkWorld for "+ player.getWorld().getName());
- //}
- //if(commandLabel.equalsIgnoreCase("listDarkWorld")
- // && player.hasPermission("dark.list")){
- // player.sendMessage(isDarkness.darkWorldsEnabled.toString());
- //}
- return false;
- }
- private boolean saveSettings() {
- try{
- BufferedWriter writer = new BufferedWriter(new FileWriter((hFolder.getAbsolutePath()+ File.separator + Homes_File)));
- for(Entry <String,Location> entry : pHome.entrySet()){
- Location PlHome = entry.getValue();
- if( PlHome != null){
- writer.write(entry.getKey() + ";" + PlHome.getX()+";"+PlHome.getY()+";"+PlHome.getZ()+";"+ PlHome.getPitch()+";"+PlHome.getYaw()+";"+PlHome.getWorld().getName());
- writer.newLine();
- }
- }
- writer.close();
- return true;
- }
- catch(Exception ex){
- return false;
- }
- }
- private boolean loadSettings(){
- try{
- BufferedReader breader = new BufferedReader(new FileReader((hFolder.getAbsolutePath() + File.separator+"homelist.txt")));
- String line = breader.readLine();
- while (line != null){
- String[] values = line.split(";");
- if(values.length==7){
- double homeX = Double.parseDouble(values[1]);
- double homeY = Double.parseDouble(values[2]);
- double HomeZ = Double.parseDouble(values[3]);
- float HomeP = Float.parseFloat(values[4]);
- float HomeYa = Float.parseFloat(values[5]);
- World homeW = getServer().getWorld(values[6]);
- if(homeW != null)
- pHome.put(values[0], new Location(homeW, homeX, homeY, HomeZ,HomeYa, HomeP));
- }
- line = breader.readLine();
- }
- return true;
- }
- catch (Exception ex){
- return false;
- }
- }
- public static void save(Object obj,String path) throws Exception
- {
- ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("clearWorlds.txt"));
- oos.writeObject(obj);
- oos.flush();
- oos.close();
- }
- public static Object load(String path) throws Exception
- {
- ObjectInputStream ois = new ObjectInputStream(new FileInputStream("clearWorlds.txt"));
- Object result = ois.readObject();
- ois.close();
- return result;
- }
- public static void watersave(Object obj, String path) throws Exception
- {
- ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("DeepWaterWorlds.txt"));
- oos.writeObject(obj);
- oos.flush();
- oos.close();
- }
- public static Object waterload(String path) throws Exception
- {
- ObjectInputStream ois = new ObjectInputStream(new FileInputStream("DeepWaterWorlds.txt"));
- Object result = ois.readObject();
- ois.close();
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement