diff --git a/src/main/java/me/Travja/HungerArena/BlockStorage.java b/src/main/java/me/Travja/HungerArena/BlockStorage.java index ff6b675..589581b 100644 --- a/src/main/java/me/Travja/HungerArena/BlockStorage.java +++ b/src/main/java/me/Travja/HungerArena/BlockStorage.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import java.util.List; diff --git a/src/main/java/me/Travja/HungerArena/Blocks.java b/src/main/java/me/Travja/HungerArena/Blocks.java index e50333f..c4081c8 100644 --- a/src/main/java/me/Travja/HungerArena/Blocks.java +++ b/src/main/java/me/Travja/HungerArena/Blocks.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.ChatColor; import org.bukkit.entity.Player; diff --git a/src/main/java/me/Travja/HungerArena/ChatListener.java b/src/main/java/me/Travja/HungerArena/ChatListener.java index 6a762b0..bb64d81 100644 --- a/src/main/java/me/Travja/HungerArena/ChatListener.java +++ b/src/main/java/me/Travja/HungerArena/ChatListener.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import java.util.List; diff --git a/src/main/java/me/Travja/HungerArena/Chests.java b/src/main/java/me/Travja/HungerArena/Chests.java index eec2f8b..25dae27 100644 --- a/src/main/java/me/Travja/HungerArena/Chests.java +++ b/src/main/java/me/Travja/HungerArena/Chests.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import java.util.List; @@ -74,7 +74,10 @@ public class Chests implements Listener { plugin.getConfig().options().copyDefaults(true); plugin.saveConfig(); p.sendMessage("Chest Removed!"); - } + } else { + event.setCancelled(true); + p.sendMessage(ChatColor.RED + "[HungerArena] That's a storage chest! You don't have permission to break it!"); + } } } } diff --git a/src/main/java/me/Travja/HungerArena/CommandBlock.java b/src/main/java/me/Travja/HungerArena/CommandBlock.java index adccfda..9e4ccfb 100644 --- a/src/main/java/me/Travja/HungerArena/CommandBlock.java +++ b/src/main/java/me/Travja/HungerArena/CommandBlock.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.ChatColor; import org.bukkit.entity.Player; diff --git a/src/main/java/me/Travja/HungerArena/DeathListener.java b/src/main/java/me/Travja/HungerArena/DeathListener.java index b86fa6d..388163e 100644 --- a/src/main/java/me/Travja/HungerArena/DeathListener.java +++ b/src/main/java/me/Travja/HungerArena/DeathListener.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.*; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/java/me/Travja/HungerArena/FreezeListener.java b/src/main/java/me/Travja/HungerArena/FreezeListener.java index fc4f480..e8465dd 100644 --- a/src/main/java/me/Travja/HungerArena/FreezeListener.java +++ b/src/main/java/me/Travja/HungerArena/FreezeListener.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/me/Travja/HungerArena/HaCommands.java b/src/main/java/me/Travja/HungerArena/HaCommands.java index 10ffc88..42e353b 100644 --- a/src/main/java/me/Travja/HungerArena/HaCommands.java +++ b/src/main/java/me/Travja/HungerArena/HaCommands.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import java.util.List; import org.bukkit.Bukkit; @@ -58,7 +58,7 @@ public class HaCommands implements CommandExecutor { sender.sendMessage(c + "/ha rlist - See who's ready!"); sender.sendMessage(c + "/startpoint [1,2,3,4,etc] - Sets the starting points of tributes!"); sender.sendMessage(ChatColor.GREEN + "----------------------"); - return false; + return true; }else if(args[0].equalsIgnoreCase("List")){ if(p.hasPermission("HungerArena.GameMaker")){ sender.sendMessage(ChatColor.AQUA + "-----People Playing-----"); @@ -66,13 +66,16 @@ public class HaCommands implements CommandExecutor { for(String playernames: plugin.Playing){ Player players = plugin.getServer().getPlayerExact(playernames); p.sendMessage(ChatColor.GREEN + playernames + " Life: " + players.getHealth() + "/20"); + return true; } }else if(plugin.Playing.isEmpty()){ p.sendMessage(ChatColor.GRAY + "No one is playing!"); } p.sendMessage(ChatColor.AQUA + "----------------------"); + return true; }else{ p.sendMessage(ChatColor.RED + "You don't have permission!"); + return true; } }else if(args[0].equalsIgnoreCase("rList")){ if(p.hasPermission("HungerArena.GameMaker")){ @@ -86,8 +89,10 @@ public class HaCommands implements CommandExecutor { p.sendMessage(ChatColor.GRAY + "No one is ready!"); } p.sendMessage(ChatColor.AQUA + "---------------------"); + return true; }else{ p.sendMessage(ChatColor.RED + "You don't have permission!"); + return true; } }else if(args[0].equalsIgnoreCase("SetSpawn")){ if(p.hasPermission("HungerArena.SetSpawn")){ @@ -99,26 +104,35 @@ public class HaCommands implements CommandExecutor { plugin.config.set("Spawns_set", "true"); plugin.saveConfig(); p.sendMessage(ChatColor.AQUA + "You have set the spawn for dead tributes!"); + return true; }else{ p.sendMessage(ChatColor.RED + "You don't have permission!"); + return true; } }else if(args[0].equalsIgnoreCase("Join")){ if(p.hasPermission("HungerArena.Join")){ if(plugin.Playing.contains(pname)){ p.sendMessage(ChatColor.RED + "You are already playing!"); + return true; }else if(plugin.Dead.contains(pname) || plugin.Quit.contains(pname)){ p.sendMessage(ChatColor.RED + "You DIED/QUIT! You can't join again!"); + return true; }else if(plugin.Playing.size()== 24){ p.sendMessage(ChatColor.RED + "There are already 24 Tributes!"); + return true; }else if(plugin.canjoin== true){ p.sendMessage(ChatColor.RED + "The game is in progress!"); + return true; }else if(plugin.config.getString("Spawns_set").equalsIgnoreCase("false")){ p.sendMessage(ChatColor.RED + "/ha setspawn hasn't been run!"); + return true; }else if(plugin.NeedConfirm.contains(pname)){ p.sendMessage(ChatColor.RED + "You need to do /ha confirm"); + return true; }else if(plugin.config.getString("Need_Confirm").equalsIgnoreCase("true")){ plugin.NeedConfirm.add(pname); p.sendMessage(ChatColor.GOLD + "You're inventory will be cleared! Type /ha confirm to procede"); + return true; }else{ plugin.Playing.add(pname); p.getInventory().clear(); @@ -130,9 +144,11 @@ public class HaCommands implements CommandExecutor { if(plugin.Playing.size()== 24){ p.performCommand("ha warpall"); } + return true; } }else{ p.sendMessage(ChatColor.RED + "You don't have permission!"); + return true; } }else if(args[0].equalsIgnoreCase("Confirm")){ if(plugin.NeedConfirm.contains(pname)){ @@ -148,26 +164,32 @@ public class HaCommands implements CommandExecutor { if(plugin.Playing.size()== 24){ p.performCommand("ha warpall"); } + return true; } }else if(args[0].equalsIgnoreCase("Ready")){ if(plugin.Playing.contains(pname)){ if(plugin.Ready.contains(pname)){ p.sendMessage(ChatColor.RED + "You're already ready!"); + return true; }else if(plugin.Playing.size()== 1){ p.sendMessage(ChatColor.RED + "You can't be ready when no one else is playing!"); + return true; }else{ plugin.Ready.add(pname); p.sendMessage(ChatColor.AQUA + "You have marked yourself as READY!"); if(plugin.Playing.size()-4== plugin.Ready.size()){ Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha warpall"); + return true; } } }else if(!plugin.Playing.contains(pname)){ p.sendMessage(ChatColor.RED + "You aren't playing!"); + return true; } }else if(args[0].equalsIgnoreCase("Leave")){ if(!plugin.Playing.contains(pname)){ p.sendMessage(ChatColor.RED + "You aren't playing!"); + return true; }else if(plugin.canjoin== false){ plugin.Playing.remove(pname); p.sendMessage(ChatColor.AQUA + "You have left the game!"); @@ -181,6 +203,7 @@ public class HaCommands implements CommandExecutor { if(plugin.Frozen.contains(pname)){ plugin.Frozen.remove(pname); } + return true; }else{ plugin.Playing.remove(pname); plugin.Quit.add(pname); @@ -208,6 +231,7 @@ public class HaCommands implements CommandExecutor { winner.getInventory().setHelmet(null); winner.getInventory().setLeggings(null); winner.getInventory().addItem(plugin.Reward); + Bukkit.getServer().getPluginManager().callEvent(new PlayerWinGamesEvent(winner)); plugin.Playing.clear(); //Show spectators String s = plugin.Watching.get(i++); @@ -221,6 +245,7 @@ public class HaCommands implements CommandExecutor { Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart"); } } + return true; } }else if(args[0].equalsIgnoreCase("Watch")){ if(sender.hasPermission("HungerArena.Watch")){ @@ -231,10 +256,13 @@ public class HaCommands implements CommandExecutor { } p.setAllowFlight(true); p.sendMessage(ChatColor.AQUA + "You can now spectate!"); + return true; }else if(plugin.canjoin== false){ p.sendMessage(ChatColor.RED + "The game isn't in progress!"); + return true; }else if(plugin.Playing.contains(pname)){ p.sendMessage(ChatColor.RED + "You can't watch while you're playing!"); + return true; }else if(plugin.Watching.contains(pname)){ plugin.Watching.remove(pname); for(Player online:plugin.getServer().getOnlinePlayers()){ @@ -242,12 +270,17 @@ public class HaCommands implements CommandExecutor { } p.teleport(Spawn); p.setAllowFlight(false); - p.sendMessage(ChatColor.AQUA + "You are not spectating anymore"); + p.sendMessage(ChatColor.AQUA + "You are not spectating any more"); + return true; } }else{ p.sendMessage(ChatColor.RED + "You don't have permission!"); + return true; } }else if(args[0].equalsIgnoreCase("Kick")){ + if (args.length != 2) { + return false; + } Player target = plugin.getServer().getPlayer(args[1]); if(sender.hasPermission("HungerArena.Kick")){ if(plugin.Playing.contains(target.getName())){ @@ -272,6 +305,7 @@ public class HaCommands implements CommandExecutor { winner.getInventory().setHelmet(null); winner.getInventory().setLeggings(null); winner.getInventory().addItem(plugin.Reward); + Bukkit.getServer().getPluginManager().callEvent(new PlayerWinGamesEvent(winner)); plugin.Playing.clear(); if(!plugin.Watching.isEmpty()){ String s = plugin.Watching.get(i++); @@ -863,6 +897,7 @@ public class HaCommands implements CommandExecutor { winner.getInventory().setHelmet(null); winner.getInventory().setLeggings(null); winner.getInventory().addItem(plugin.Reward); + Bukkit.getServer().getPluginManager().callEvent(new PlayerWinGamesEvent(winner)); plugin.Playing.clear(); //Make spectators visible if(!plugin.Watching.isEmpty()){ diff --git a/src/main/java/me/Travja/HungerArena/JoinAndQuitListener.java b/src/main/java/me/Travja/HungerArena/JoinAndQuitListener.java index 21577c2..80c145e 100644 --- a/src/main/java/me/Travja/HungerArena/JoinAndQuitListener.java +++ b/src/main/java/me/Travja/HungerArena/JoinAndQuitListener.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.Bukkit; import org.bukkit.ChatColor; diff --git a/src/main/java/me/Travja/HungerArena/Main.java b/src/main/java/me/Travja/HungerArena/Main.java index dcb96b3..cc65221 100644 --- a/src/main/java/me/Travja/HungerArena/Main.java +++ b/src/main/java/me/Travja/HungerArena/Main.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import java.util.ArrayList; import java.util.HashSet; @@ -65,15 +65,24 @@ public class Main extends JavaPlugin{ getCommand("Startpoint").setExecutor(SpawnsCommand); if (setupEconomy()) { log.info(ChatColor.AQUA + "[HungerArena] Found Vault! Hooking in for economy!"); - vault = true; } - if (config.getBoolean("Economy_Support", true)) { + if (config.getDouble("config.version") != 1.3) { + config.set("config.version", 1.3); + config.set("eco.enabled", false); + config.set("eco.reward", 100); + } + if (config.getBoolean("eco.enabled", true)) { if (vault == true) { log.info(ChatColor.AQUA + "Economy hook deployed."); } else { log.info(ChatColor.RED + "You want economy support... yet you don't have Vault. Sorry, can't give you it."); } } + if (config.getBoolean("eco.enabled", false)) { + if (vault == true) { + log.info(ChatColor.GREEN + "We see that you have Vault on your server. To set economy support to true, enable it in the config."); + } + } Reward = new ItemStack(config.getInt("Reward.ID"), config.getInt("Reward.Amount")); Cost = new ItemStack(config.getInt("Sponsor_Cost.ID"), config.getInt("Sponsor_Cost.Amount")); } @@ -91,6 +100,7 @@ public class Main extends JavaPlugin{ return false; } econ = rsp.getProvider(); + vault = true; return econ != null; } } diff --git a/src/main/java/me/Travja/HungerArena/PlayerWinGamesEvent.java b/src/main/java/me/Travja/HungerArena/PlayerWinGamesEvent.java index f40ba78..246f93d 100644 --- a/src/main/java/me/Travja/HungerArena/PlayerWinGamesEvent.java +++ b/src/main/java/me/Travja/HungerArena/PlayerWinGamesEvent.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; diff --git a/src/main/java/me/Travja/HungerArena/PvP.java b/src/main/java/me/Travja/HungerArena/PvP.java index 5e538ba..d6228ab 100644 --- a/src/main/java/me/Travja/HungerArena/PvP.java +++ b/src/main/java/me/Travja/HungerArena/PvP.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; diff --git a/src/main/java/me/Travja/HungerArena/Signs.java b/src/main/java/me/Travja/HungerArena/Signs.java index d31fb97..a74ef7e 100644 --- a/src/main/java/me/Travja/HungerArena/Signs.java +++ b/src/main/java/me/Travja/HungerArena/Signs.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.ChatColor; import org.bukkit.Material; diff --git a/src/main/java/me/Travja/HungerArena/SpawnsCommand.java b/src/main/java/me/Travja/HungerArena/SpawnsCommand.java index 9d99ae4..9e21cbd 100644 --- a/src/main/java/me/Travja/HungerArena/SpawnsCommand.java +++ b/src/main/java/me/Travja/HungerArena/SpawnsCommand.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.ChatColor; import org.bukkit.command.Command; diff --git a/src/main/java/me/Travja/HungerArena/SpectatorListener.java b/src/main/java/me/Travja/HungerArena/SpectatorListener.java index d60d95c..76faceb 100644 --- a/src/main/java/me/Travja/HungerArena/SpectatorListener.java +++ b/src/main/java/me/Travja/HungerArena/SpectatorListener.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -29,7 +29,17 @@ public class SpectatorListener implements Listener { } } @EventHandler - public void SpectatorInteractions(PlayerInteractEvent event){ + public void SpectatorInteractBlock(PlayerInteractEvent event){ + Player p = event.getPlayer(); + String pname = p.getName(); + if(plugin.Watching.contains(pname)){ + event.setCancelled(true); + p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!"); + } + } + + @EventHandler + public void SpectatorInteractEntity(PlayerInteractEntityEvent event){ Player p = event.getPlayer(); String pname = p.getName(); if(plugin.Watching.contains(pname)){ diff --git a/src/main/java/me/Travja/HungerArena/SponsorCommands.java b/src/main/java/me/Travja/HungerArena/SponsorCommands.java index 499582b..e1d3e76 100644 --- a/src/main/java/me/Travja/HungerArena/SponsorCommands.java +++ b/src/main/java/me/Travja/HungerArena/SponsorCommands.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.Bukkit; import org.bukkit.ChatColor; diff --git a/src/main/java/me/Travja/HungerArena/WinGamesListener.java b/src/main/java/me/Travja/HungerArena/WinGamesListener.java index 826a45a..b68f95f 100644 --- a/src/main/java/me/Travja/HungerArena/WinGamesListener.java +++ b/src/main/java/me/Travja/HungerArena/WinGamesListener.java @@ -1,4 +1,4 @@ -package me.Travja.HungerArena; +package me.travja.hungerarena; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -18,6 +18,7 @@ public class WinGamesListener implements Listener { @EventHandler public void onWin(PlayerWinGamesEvent evt) { Player p = evt.getPlayer(); + plugin.econ.depositPlayer(p.getName(), plugin.config.getDouble("EcoReward")); } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 9ac206c..f01ab54 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,4 +1,7 @@ # default config.yml +#config version for us devs. DONT CHANGE THIS, or it will screw up some things PRETTY badly. +config: + version: 1.3 # Message to display when the games start Start_Message: '&bLet The Games Begin!' # If the games should automatically restart at the end @@ -19,7 +22,7 @@ Sponsor_Cost: Countdown: 'true' Spawn_coords: 100,100,100,world # If players will only talk to close players of the whole server -ChatClose: 'true' +ChatClose: 'false' # How close the players have to be to talk to them ChatClose_Radius: 10 # Whether or not players can break blocks while playing @@ -55,9 +58,9 @@ Tribute_twentyfour_spawn: 100,100,100 # If /ha setspawn has been run Spawn_set: 'false' # True means give money to winner, false means don't. -Economy_Support: 'false' +eco: + enabled: false + reward: 100 # How much money to give the winner. -Economy_Reward: - Amount: 100 # Leave this. :) Blocks_Destroyed: \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index d435cfa..21fcc45 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,8 @@ name: HungerArena -main: me.Travja.HungerArena.Main +main: me.travja.hungerarena.Main version: 1.3alpha description: A lightweight and powerful plugin to help with playing The Hunger Games! +softdepend: [Vault] commands: Ha: description: Base command for HungerArena!