Merged
This commit is contained in:
commit
fe0bec9ac9
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
22
config.yml
22
config.yml
@ -1,4 +1,10 @@
|
||||
# default config.yml
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
#config version for us devs. DONT CHANGE THIS, or it will screw up some things PRETTY badly.
|
||||
config:
|
||||
version: 1.3
|
||||
>>>>>>> de44f825be59d96da77136bf1dd2b26fc23d09b7
|
||||
# Message to display when the games start
|
||||
Start_Message: '&bLet The Games Begin!'
|
||||
# If the games should automatically restart at the end
|
||||
@ -7,8 +13,11 @@ Auto_Restart: 'false'
|
||||
Auto_Start: 'false'
|
||||
# If tributes need to type /ha confirm to join
|
||||
Need_Confirm: 'true'
|
||||
<<<<<<< HEAD
|
||||
# Not yet implemented
|
||||
iConomy_Support: 'false'
|
||||
=======
|
||||
>>>>>>> de44f825be59d96da77136bf1dd2b26fc23d09b7
|
||||
# What the reward for winning is
|
||||
Reward:
|
||||
ID: 264
|
||||
@ -21,7 +30,11 @@ Sponsor_Cost:
|
||||
Countdown: 'true'
|
||||
Spawn_coords: 100,100,100,world
|
||||
# If players will only talk to close players of the whole server
|
||||
<<<<<<< HEAD
|
||||
ChatClose: 'true'
|
||||
=======
|
||||
ChatClose: 'false'
|
||||
>>>>>>> de44f825be59d96da77136bf1dd2b26fc23d09b7
|
||||
# How close the players have to be to talk to them
|
||||
ChatClose_Radius: 10
|
||||
# Whether or not players can break blocks while playing
|
||||
@ -56,4 +69,13 @@ Tribute_twentythree_spawn: 100,100,100
|
||||
Tribute_twentyfour_spawn: 100,100,100
|
||||
# If /ha setspawn has been run
|
||||
Spawn_set: 'false'
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
# True means give money to winner, false means don't.
|
||||
eco:
|
||||
enabled: false
|
||||
reward: 100
|
||||
# How much money to give the winner.
|
||||
# Leave this. :)
|
||||
>>>>>>> de44f825be59d96da77136bf1dd2b26fc23d09b7
|
||||
Blocks_Destroyed:
|
16
plugin.yml
16
plugin.yml
@ -1,4 +1,5 @@
|
||||
name: HungerArena
|
||||
<<<<<<< HEAD
|
||||
main: me.Travja.HungerArena.Main
|
||||
version: 1.3alpha
|
||||
description: A plugin to help with playing The Hunger Games!
|
||||
@ -8,4 +9,17 @@ commands:
|
||||
StartPoint:
|
||||
description: Sets the starting point of a tribute.
|
||||
Sponsor:
|
||||
description: Sponsors a Tribute
|
||||
description: Sponsors a Tribute
|
||||
=======
|
||||
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!
|
||||
StartPoint:
|
||||
description: Set the starting points for tributes.
|
||||
Sponsor:
|
||||
description: Sponsor a tribute.
|
||||
>>>>>>> de44f825be59d96da77136bf1dd2b26fc23d09b7
|
||||
|
35
pom.xml
Normal file
35
pom.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>me.Travja.HungerArena</groupId>
|
||||
<artifactId>HungerArena</artifactId>
|
||||
<version>1.3alpha</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>HungerArena</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.bukkit</groupId>
|
||||
<artifactId>craftbukkit</artifactId>
|
||||
<version>1.2.5-R4.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.milkbowl</groupId>
|
||||
<artifactId>vault</artifactId>
|
||||
<version>1.2.16</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
289
src/main/java/me/Travja/HungerArena/BlockStorage.java
Normal file
289
src/main/java/me/Travja/HungerArena/BlockStorage.java
Normal file
@ -0,0 +1,289 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockBurnEvent;
|
||||
import org.bukkit.event.block.BlockFadeEvent;
|
||||
import org.bukkit.event.block.BlockFormEvent;
|
||||
import org.bukkit.event.block.BlockGrowEvent;
|
||||
import org.bukkit.event.block.BlockPhysicsEvent;
|
||||
import org.bukkit.event.block.BlockPistonExtendEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.block.LeavesDecayEvent;
|
||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||
import org.bukkit.event.player.PlayerBucketEmptyEvent;
|
||||
import org.bukkit.event.player.PlayerBucketFillEvent;
|
||||
|
||||
public class BlockStorage implements Listener {
|
||||
public Main plugin;
|
||||
public BlockStorage(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
/*@EventHandler
|
||||
public void creeperExplosion(EntityExplodeEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
for(Block b:event.blockList()){
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Explode: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void burningBlocks(BlockBurnEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Burn: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void leafDecay(LeavesDecayEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Decay: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockPlace(BlockPlaceEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
if(!(d== 51) && !(d==12){
|
||||
System.out.println("Place: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Placed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
Location location = b.getLocation();
|
||||
if (b.getType() == Material.SAND || b.getType() == Material.GRAVEL) {
|
||||
if (location.getBlock().getRelative(BlockFace.DOWN).getType() == Material.AIR) {
|
||||
int i = 0;
|
||||
for (i = location.getBlockY(); i > -1; i --) {
|
||||
location = new Location(location.getWorld(), location.getBlockX(), i, location.getBlockZ());
|
||||
if (location.getBlock().getType() != Material.AIR && location.getBlock().getType() != Material.WATER && location.getBlock().getType() != Material.LAVA) {
|
||||
break;
|
||||
}
|
||||
event.getPlayer().sendMessage("Block will land at: " + location);
|
||||
System.out.println("Sand Place: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void bucketEmpty(PlayerBucketEmptyEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block clicked = event.getBlockClicked();
|
||||
BlockFace face = event.getBlockFace();
|
||||
Block b = clicked.getRelative(face);
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Bucket Empty: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void bucketFill(PlayerBucketFillEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlockClicked();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Bucket Fill: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockBreak(BlockBreakEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Break: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockMelt(BlockFadeEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Fade: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockGrow(BlockGrowEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Grow: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockForm(BlockFormEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Snowfall: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void pistonPush(BlockPistonExtendEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
for(Block b:event.getBlocks()){
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Piston: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void onChange(BlockPhysicsEvent event){
|
||||
Block block = event.getBlock();
|
||||
Material changed = event.getChangedType();
|
||||
if (block.getType() == Material.LAVA){
|
||||
if (changed == Material.LAVA){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Lava Change: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}else if(changed == Material.WATER){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Water Change: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}else if (block.getType() == Material.SAND || block.getType() == Material.GRAVEL) {
|
||||
if (changed == Material.AIR) {
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Sand/Gravel Fall: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
25
src/main/java/me/Travja/HungerArena/Blocks.java
Normal file
25
src/main/java/me/Travja/HungerArena/Blocks.java
Normal file
@ -0,0 +1,25 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
|
||||
public class Blocks implements Listener {
|
||||
public Main plugin;
|
||||
public Blocks(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void BreakBlock(BlockBreakEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getDisplayName();
|
||||
if(plugin.Playing.contains(pname)){
|
||||
if(plugin.config.getString("Protected_Arena").equalsIgnoreCase("True")){
|
||||
event.setCancelled(true);
|
||||
p.sendMessage(ChatColor.RED + "You can't break blocks when you're playing!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
51
src/main/java/me/Travja/HungerArena/ChatListener.java
Normal file
51
src/main/java/me/Travja/HungerArena/ChatListener.java
Normal file
@ -0,0 +1,51 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerChatEvent;
|
||||
|
||||
public class ChatListener implements Listener {
|
||||
public Main plugin;
|
||||
public ChatListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void TributeChat(PlayerChatEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(plugin.Playing.contains(pname)){
|
||||
String msg = "<" + ChatColor.RED + "[Tribute] " + ChatColor.WHITE + p.getName() + ">" + " " + event.getMessage();
|
||||
if(plugin.config.getString("ChatClose").equalsIgnoreCase("True")){
|
||||
double radius = plugin.config.getDouble("ChatClose_Radius");
|
||||
List<Entity> near = p.getNearbyEntities(radius, radius, radius);
|
||||
event.setCancelled(true);
|
||||
if(!(near.size()== 0)){
|
||||
p.sendMessage(msg);
|
||||
for(Entity e:near){
|
||||
if(e instanceof Player){
|
||||
((Player) e).sendMessage(msg);
|
||||
}
|
||||
}
|
||||
}else if(near.size()== 0){
|
||||
p.sendMessage(msg);
|
||||
p.sendMessage(ChatColor.YELLOW + "No one near!");
|
||||
}else if(!(near.size()== 0)){
|
||||
for(Entity en:near){
|
||||
if(!(en instanceof Player)){
|
||||
p.sendMessage(msg);
|
||||
p.sendMessage(ChatColor.YELLOW + "No one near!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
event.setCancelled(true);
|
||||
plugin.getServer().broadcastMessage(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
84
src/main/java/me/Travja/HungerArena/Chests.java
Normal file
84
src/main/java/me/Travja/HungerArena/Chests.java
Normal file
@ -0,0 +1,84 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.Chest;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class Chests implements Listener {
|
||||
public Main plugin;
|
||||
public Chests(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void ChestSaves(PlayerInteractEvent event){
|
||||
Block block = event.getClickedBlock();
|
||||
Player p = event.getPlayer();
|
||||
if(p.getItemInHand().getType()== Material.BLAZE_ROD && event.getAction() == Action.LEFT_CLICK_BLOCK){
|
||||
if(block.getState() instanceof Chest){
|
||||
if(p.hasPermission("HungerArena.Chest.Store")){
|
||||
ItemStack[] itemsinchest = ((Chest) block.getState()).getInventory().getContents();
|
||||
int blockx = block.getX();
|
||||
int blocky = block.getY();
|
||||
int blockz = block.getZ();
|
||||
String blockw = block.getWorld().getName().toString();
|
||||
if(!plugin.getConfig().contains("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X")){
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X", blockx);
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky);
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z",blockz);
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw);
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest);
|
||||
}else{
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky+ "," + blockz + ".Location.X",blockx);
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky);
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z", blockz);
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw);
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest);
|
||||
}
|
||||
List<String> list2 = plugin.getConfig().getStringList("StorageXYZ");
|
||||
list2.add(blockx + "," + blocky + "," + blockz);
|
||||
plugin.getConfig().set("StorageXYZ", list2);
|
||||
plugin.getConfig().options().copyDefaults(true);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.GREEN + "Chest Stored!");
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You don't have permission to store chests!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void onBlockBreak(BlockBreakEvent event) {
|
||||
Player p = event.getPlayer();
|
||||
Block block = event.getBlock();
|
||||
Location blocklocation = event.getBlock().getLocation();
|
||||
if (block.getState() instanceof Chest && !plugin.Playing.contains(p.getDisplayName())) {
|
||||
int blockx = blocklocation.getBlockX();
|
||||
int blocky = blocklocation.getBlockY();
|
||||
int blockz = blocklocation.getBlockZ();
|
||||
if (plugin.getConfig().getStringList("StorageXYZ").contains(blockx + "," + blocky + "," + blockz)) {
|
||||
if(p.hasPermission("HungerArena.Chest.Break")){
|
||||
List<String> list2 = plugin.getConfig().getStringList("StorageXYZ");
|
||||
list2.remove(blockx + "," + blocky + "," + blockz);
|
||||
plugin.getConfig().set("StorageXYZ", list2);
|
||||
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!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
27
src/main/java/me/Travja/HungerArena/CommandBlock.java
Normal file
27
src/main/java/me/Travja/HungerArena/CommandBlock.java
Normal file
@ -0,0 +1,27 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
|
||||
public class CommandBlock implements Listener {
|
||||
public Main plugin;
|
||||
public CommandBlock(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void CatchCommand(PlayerCommandPreprocessEvent event){
|
||||
String cmd = event.getMessage();
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(!cmd.contains("/ha") && plugin.Playing.contains(pname) && plugin.canjoin== true){
|
||||
if(!p.hasPermission("HungerArena.UseCommands")){
|
||||
event.setCancelled(true);
|
||||
p.sendMessage(ChatColor.RED + "You are only allowed to use /ha commands!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
167
src/main/java/me/Travja/HungerArena/DeathListener.java
Normal file
167
src/main/java/me/Travja/HungerArena/DeathListener.java
Normal file
@ -0,0 +1,167 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
|
||||
public class DeathListener implements Listener{
|
||||
public Main plugin;
|
||||
public DeathListener(Main m){
|
||||
this.plugin = m;
|
||||
}
|
||||
public FileConfiguration config;
|
||||
int i = 0;
|
||||
@EventHandler
|
||||
public void onPlayerRespawn(PlayerRespawnEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(plugin.Dead.contains(pname)){
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
World spawnw = plugin.getServer().getWorld(Spawncoords[3]);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
event.setRespawnLocation(Spawn);
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
@SuppressWarnings("SizeReplaceableByIsEmpty")
|
||||
public void onPlayerDeath(PlayerDeathEvent event){
|
||||
Player p = event.getEntity();
|
||||
Server s = p.getServer();
|
||||
String pname = p.getName();
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
World spawnw = plugin.getServer().getWorld(Spawncoords[3]);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
if(plugin.Playing.contains(pname)){
|
||||
if(plugin.config.getString("Cannon_Death").equalsIgnoreCase("True")){
|
||||
double y = p.getLocation().getY();
|
||||
double newy = y+200;
|
||||
double x = p.getLocation().getX();
|
||||
double z = p.getLocation().getZ();
|
||||
Location strike = new Location(p.getWorld(), x, newy, z);
|
||||
p.getWorld().strikeLightning(strike);
|
||||
}
|
||||
plugin.Dead.add(pname);
|
||||
plugin.Playing.remove(pname);
|
||||
String leftmsg = ChatColor.BLUE + "There are now " + plugin.Playing.size() + " tributes left!";
|
||||
if(p.getKiller() instanceof Player){
|
||||
if(p.getKiller().getItemInHand().getType().getId()== 0){
|
||||
Player killer = p.getKiller();
|
||||
String killername = killer.getName();
|
||||
event.setDeathMessage("");
|
||||
s.broadcastMessage(ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with their FIST!");
|
||||
s.broadcastMessage(leftmsg);
|
||||
if(plugin.Playing.size()== 1 && plugin.canjoin== true){
|
||||
//Announce winner
|
||||
String winnername = plugin.Playing.get(i++);
|
||||
Player winner = plugin.getServer().getPlayerExact(winnername);
|
||||
String winnername2 = winner.getName();
|
||||
plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!");
|
||||
winner.getInventory().clear();
|
||||
winner.teleport(Spawn);
|
||||
winner.getInventory().setBoots(null);
|
||||
winner.getInventory().setChestplate(null);
|
||||
winner.getInventory().setHelmet(null);
|
||||
winner.getInventory().setLeggings(null);
|
||||
winner.getInventory().addItem(plugin.Reward);
|
||||
plugin.Playing.clear();
|
||||
//Show spectators
|
||||
if(!plugin.Watching.isEmpty()){
|
||||
String s1 = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s1);
|
||||
spectator.setAllowFlight(false);
|
||||
spectator.teleport(Spawn);
|
||||
for(Player online:plugin.getServer().getOnlinePlayers()){
|
||||
online.showPlayer(spectator);
|
||||
}
|
||||
}
|
||||
if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
Player killer = p.getKiller();
|
||||
String killername = killer.getName();
|
||||
Material weapon = killer.getItemInHand().getType();
|
||||
String msg = ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with a(n) " + weapon;
|
||||
event.setDeathMessage("");
|
||||
s.broadcastMessage(msg);
|
||||
s.broadcastMessage(leftmsg);
|
||||
if(plugin.Playing.size()== 1 && plugin.canjoin== true){
|
||||
//Announce winner
|
||||
String winnername = plugin.Playing.get(i++);
|
||||
Player winner = plugin.getServer().getPlayerExact(winnername);
|
||||
String winnername2 = winner.getName();
|
||||
plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!");
|
||||
winner.getInventory().clear();
|
||||
winner.teleport(Spawn);
|
||||
winner.getInventory().setBoots(null);
|
||||
winner.getInventory().setChestplate(null);
|
||||
winner.getInventory().setHelmet(null);
|
||||
winner.getInventory().setLeggings(null);
|
||||
winner.getInventory().addItem(plugin.Reward);
|
||||
plugin.Playing.clear();
|
||||
//Show spectators
|
||||
if(plugin.Watching.size() != 0){
|
||||
String s1 = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s1);
|
||||
spectator.setAllowFlight(false);
|
||||
spectator.teleport(Spawn);
|
||||
for(Player online:plugin.getServer().getOnlinePlayers()){
|
||||
online.showPlayer(spectator);
|
||||
}
|
||||
}
|
||||
if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
event.setDeathMessage("");
|
||||
s.broadcastMessage(ChatColor.LIGHT_PURPLE + pname + " died of natural causes!");
|
||||
s.broadcastMessage(leftmsg);
|
||||
if(plugin.Playing.size()== 1 && plugin.canjoin== true){
|
||||
//Announce winner
|
||||
String winnername = plugin.Playing.get(i++);
|
||||
Player winner = plugin.getServer().getPlayerExact(winnername);
|
||||
String winnername2 = winner.getName();
|
||||
plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!");
|
||||
winner.getInventory().clear();
|
||||
winner.teleport(Spawn);
|
||||
winner.getInventory().setBoots(null);
|
||||
winner.getInventory().setChestplate(null);
|
||||
winner.getInventory().setHelmet(null);
|
||||
winner.getInventory().setLeggings(null);
|
||||
winner.getInventory().addItem(plugin.Reward);
|
||||
// Create the event here
|
||||
PlayerWinGamesEvent winevent = new PlayerWinGamesEvent(winner);
|
||||
// Call the event
|
||||
Bukkit.getServer().getPluginManager().callEvent(winevent);
|
||||
plugin.Playing.clear();
|
||||
//Show spectators
|
||||
if(!plugin.Watching.isEmpty()){
|
||||
String s1 = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s1);
|
||||
spectator.setAllowFlight(false);
|
||||
spectator.teleport(Spawn);
|
||||
for(Player online:plugin.getServer().getOnlinePlayers()){
|
||||
online.showPlayer(spectator);
|
||||
}
|
||||
}
|
||||
if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
32
src/main/java/me/Travja/HungerArena/DmgListener.java
Normal file
32
src/main/java/me/Travja/HungerArena/DmgListener.java
Normal file
@ -0,0 +1,32 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YoshiGenius
|
||||
*/
|
||||
public class DmgListener implements Listener {
|
||||
|
||||
public Main plugin;
|
||||
public DmgListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onDmg(EntityDamageEvent evt) {
|
||||
Entity e = evt.getEntity();
|
||||
if (e instanceof Player) {
|
||||
Player p = (Player) e;
|
||||
String pn = p.getName();
|
||||
if (plugin.Frozen.contains(pn)) {
|
||||
evt.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
24
src/main/java/me/Travja/HungerArena/FreezeListener.java
Normal file
24
src/main/java/me/Travja/HungerArena/FreezeListener.java
Normal file
@ -0,0 +1,24 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
|
||||
public class FreezeListener implements Listener {
|
||||
public Main plugin;
|
||||
public FreezeListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void onPlayerMove(PlayerMoveEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(plugin.Frozen.contains(pname) && plugin.config.getString("Frozen_Teleport").equalsIgnoreCase("True")){
|
||||
Location from = event.getFrom();
|
||||
p.teleport(from, TeleportCause.ENDER_PEARL);
|
||||
}
|
||||
}
|
||||
}
|
1402
src/main/java/me/Travja/HungerArena/HaCommands.java
Normal file
1402
src/main/java/me/Travja/HungerArena/HaCommands.java
Normal file
File diff suppressed because it is too large
Load Diff
137
src/main/java/me/Travja/HungerArena/JoinAndQuitListener.java
Normal file
137
src/main/java/me/Travja/HungerArena/JoinAndQuitListener.java
Normal file
@ -0,0 +1,137 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
public class JoinAndQuitListener implements Listener {
|
||||
public Main plugin;
|
||||
public JoinAndQuitListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
int i = 0;
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent evt) {
|
||||
Player p = evt.getPlayer();
|
||||
for (String s : plugin.Watching) {
|
||||
Player spectator = Bukkit.getServer().getPlayerExact(s);
|
||||
p.hidePlayer(spectator);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerJoin(PlayerJoinEvent event){
|
||||
final Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(!plugin.Watching.isEmpty()){
|
||||
String s = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s);
|
||||
p.hidePlayer(spectator);
|
||||
}
|
||||
if(plugin.Out.contains(pname)){
|
||||
plugin.Playing.add(pname);
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
|
||||
public void run(){
|
||||
p.sendMessage(ChatColor.AQUA + "You have saved yourself from being ejected from the arena!");
|
||||
}
|
||||
}, 40L);
|
||||
plugin.Out.remove(pname);
|
||||
}
|
||||
if(plugin.Quit.contains(pname) || plugin.Dead.contains(pname)){
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
String w = Spawncoords[3];
|
||||
World spawnw = plugin.getServer().getWorld(w);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
|
||||
public void run(){
|
||||
p.teleport(Spawn);
|
||||
p.sendMessage(ChatColor.RED + "You have been teleported to spawn because you quit/forfeited!");
|
||||
}
|
||||
}, 40L);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onQuit(PlayerQuitEvent evt) {
|
||||
Player p = evt.getPlayer();
|
||||
String pname = p.getName();
|
||||
if (plugin.Frozen.contains(pname)) {
|
||||
plugin.Frozen.remove(pname);
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
String w = Spawncoords[3];
|
||||
World spawnw = plugin.getServer().getWorld(w);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
p.teleport(Spawn);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerQuit(PlayerQuitEvent event){
|
||||
final Player p = event.getPlayer();
|
||||
final String pname = p.getName();
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
String w = Spawncoords[3];
|
||||
World spawnw = plugin.getServer().getWorld(w);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
if(plugin.Playing.contains(pname)){
|
||||
plugin.Out.add(pname);
|
||||
plugin.Playing.remove(pname);
|
||||
}
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
|
||||
public void run(){
|
||||
if(plugin.Out.contains(pname)){
|
||||
if(plugin.canjoin== true){
|
||||
plugin.Quit.add(pname);
|
||||
plugin.Out.remove(pname);
|
||||
if(plugin.Playing.size()== 1){
|
||||
//Announce Winner
|
||||
String winnername = plugin.Playing.get(i++);
|
||||
Player winner = plugin.getServer().getPlayerExact(winnername);
|
||||
String winnername2 = winner.getName();
|
||||
p.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!");
|
||||
winner.getInventory().clear();
|
||||
winner.getInventory().setBoots(null);
|
||||
winner.getInventory().setChestplate(null);
|
||||
winner.getInventory().setHelmet(null);
|
||||
winner.getInventory().setLeggings(null);
|
||||
winner.getInventory().addItem(plugin.Reward);
|
||||
PlayerWinGamesEvent evt = new PlayerWinGamesEvent(winner);
|
||||
Bukkit.getServer().getPluginManager().callEvent(evt);
|
||||
//Make spectators visible
|
||||
if(!plugin.Watching.isEmpty()){
|
||||
String s = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s);
|
||||
spectator.setAllowFlight(false);
|
||||
spectator.teleport(Spawn);
|
||||
for(Player online:plugin.getServer().getOnlinePlayers()){
|
||||
online.showPlayer(spectator);
|
||||
}
|
||||
}
|
||||
if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
plugin.Quit.add(pname);
|
||||
}
|
||||
}
|
||||
}, 1200L);
|
||||
}
|
||||
}
|
109
src/main/java/me/Travja/HungerArena/Main.java
Normal file
109
src/main/java/me/Travja/HungerArena/Main.java
Normal file
@ -0,0 +1,109 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.logging.Logger;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class Main extends JavaPlugin{
|
||||
static final Logger log = Logger.getLogger("Minecraft");
|
||||
public ArrayList<String> Playing = new ArrayList<String>();
|
||||
public ArrayList<String> Ready = new ArrayList<String>();
|
||||
public ArrayList<String> Dead = new ArrayList<String>();
|
||||
public ArrayList<String> Quit = new ArrayList<String>();
|
||||
public ArrayList<String> Out = new ArrayList<String>();
|
||||
public ArrayList<String> Watching = new ArrayList<String>();
|
||||
public ArrayList<String> NeedConfirm = new ArrayList<String>();
|
||||
public HashSet<String> Frozen = new HashSet<String>();
|
||||
public Listener DeathListener = new DeathListener(this);
|
||||
public Listener SpectatorListener = new SpectatorListener(this);
|
||||
public Listener FreezeListener = new FreezeListener(this);
|
||||
public Listener JoinAndQuitListener = new JoinAndQuitListener(this);
|
||||
public Listener ChatListener = new ChatListener(this);
|
||||
public Listener Chests = new Chests(this);
|
||||
public Listener PvP = new PvP(this);
|
||||
public Listener Blocks = new Blocks(this);
|
||||
public Listener CommandBlock = new CommandBlock(this);
|
||||
public Listener Damage = new DmgListener(this);
|
||||
public Listener Teleport = new TeleportListener(this);
|
||||
public Listener Signs = new Signs(this);
|
||||
public Listener BlockStorage = new BlockStorage(this);
|
||||
public Listener WinGames = new WinGamesListener(this);
|
||||
public CommandExecutor HaCommands = new HaCommands(this);
|
||||
public CommandExecutor SponsorCommands = new SponsorCommands(this);
|
||||
public CommandExecutor SpawnsCommand = new SpawnsCommand(this);
|
||||
public boolean canjoin;
|
||||
public boolean exists;
|
||||
public FileConfiguration config = getConfig();
|
||||
public ItemStack Reward;
|
||||
public ItemStack Cost;
|
||||
public boolean vault = false;
|
||||
public Economy econ = null;
|
||||
public void onEnable(){
|
||||
log.info("[HungerArena] enabled v" + getDescription().getVersion());
|
||||
config.options().copyDefaults(true);
|
||||
this.saveDefaultConfig();
|
||||
getServer().getPluginManager().registerEvents(DeathListener, this);
|
||||
getServer().getPluginManager().registerEvents(SpectatorListener, this);
|
||||
getServer().getPluginManager().registerEvents(FreezeListener, this);
|
||||
getServer().getPluginManager().registerEvents(JoinAndQuitListener, this);
|
||||
getServer().getPluginManager().registerEvents(ChatListener, this);
|
||||
getServer().getPluginManager().registerEvents(Chests, this);
|
||||
getServer().getPluginManager().registerEvents(PvP, this);
|
||||
getServer().getPluginManager().registerEvents(Blocks, this);
|
||||
getServer().getPluginManager().registerEvents(CommandBlock, this);
|
||||
getServer().getPluginManager().registerEvents(Signs, this);
|
||||
getServer().getPluginManager().registerEvents(BlockStorage, this);
|
||||
getServer().getPluginManager().registerEvents(WinGames, this);
|
||||
getServer().getPluginManager().registerEvents(Damage, this);
|
||||
getCommand("Ha").setExecutor(HaCommands);
|
||||
getCommand("Sponsor").setExecutor(SponsorCommands);
|
||||
getCommand("Startpoint").setExecutor(SpawnsCommand);
|
||||
if (setupEconomy()) {
|
||||
log.info(ChatColor.AQUA + "[HungerArena] Found Vault! Hooking in for economy!");
|
||||
}
|
||||
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"));
|
||||
}
|
||||
|
||||
public void onDisable(){
|
||||
log.info("[HungerArena] disabled v" + getDescription().getVersion());
|
||||
}
|
||||
|
||||
public boolean setupEconomy() {
|
||||
if (getServer().getPluginManager().getPlugin("Vault") == null) {
|
||||
return false;
|
||||
}
|
||||
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
|
||||
if (rsp == null) {
|
||||
return false;
|
||||
}
|
||||
econ = rsp.getProvider();
|
||||
vault = true;
|
||||
return econ != null;
|
||||
}
|
||||
}
|
27
src/main/java/me/Travja/HungerArena/PlayerWinGamesEvent.java
Normal file
27
src/main/java/me/Travja/HungerArena/PlayerWinGamesEvent.java
Normal file
@ -0,0 +1,27 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YoshiGenius
|
||||
*/
|
||||
public class PlayerWinGamesEvent extends PlayerEvent {
|
||||
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
||||
public PlayerWinGamesEvent(final Player p) {
|
||||
super(p);
|
||||
}
|
||||
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
}
|
24
src/main/java/me/Travja/HungerArena/PvP.java
Normal file
24
src/main/java/me/Travja/HungerArena/PvP.java
Normal file
@ -0,0 +1,24 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
|
||||
public class PvP implements Listener {
|
||||
public Main plugin;
|
||||
public PvP(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void PlayerPvP(EntityDamageByEntityEvent event){
|
||||
Entity p = event.getEntity();
|
||||
if(p instanceof Player){
|
||||
String pname = ((Player) p).getName();
|
||||
if(plugin.Playing.contains(pname) && plugin.canjoin== false){
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
52
src/main/java/me/Travja/HungerArena/Signs.java
Normal file
52
src/main/java/me/Travja/HungerArena/Signs.java
Normal file
@ -0,0 +1,52 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.SignChangeEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
|
||||
public class Signs implements Listener {
|
||||
public Main plugin;
|
||||
public Signs(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void Sign(PlayerInteractEvent event){
|
||||
Player p = event.getPlayer();
|
||||
Block b = event.getClickedBlock();
|
||||
if (b == null) {
|
||||
return;
|
||||
}
|
||||
if(event.getAction()== Action.RIGHT_CLICK_BLOCK){
|
||||
if(b.getType()== Material.SIGN || b.getType()==Material.SIGN_POST || b.getType()==Material.WALL_SIGN){
|
||||
org.bukkit.block.Sign sign = (org.bukkit.block.Sign) b.getState();
|
||||
String line1 = sign.getLine(0);
|
||||
String line2 = sign.getLine(1);
|
||||
String line3 = sign.getLine(2);
|
||||
String line4 = sign.getLine(3);
|
||||
if(line1.equalsIgnoreCase(ChatColor.BLUE + "[HungerArena]") || line1.equalsIgnoreCase(ChatColor.BLUE + "[HA]")){
|
||||
if(line2.equals("")){
|
||||
p.performCommand("ha");
|
||||
}else{
|
||||
p.performCommand("ha " + line2);
|
||||
}
|
||||
}
|
||||
if(line1.equalsIgnoreCase(ChatColor.BLUE + "[Sponsor]")){
|
||||
p.performCommand("sponsor " + line2 + " " + line3 + " " + line4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void Create(SignChangeEvent event){
|
||||
String top = event.getLine(0);
|
||||
if(top.equalsIgnoreCase("[HungerArena]") || top.equalsIgnoreCase("[HA]") || top.equalsIgnoreCase("[Sponsor]")){
|
||||
event.setLine(0, ChatColor.BLUE + top);
|
||||
}
|
||||
}
|
||||
}
|
243
src/main/java/me/Travja/HungerArena/SpawnsCommand.java
Normal file
243
src/main/java/me/Travja/HungerArena/SpawnsCommand.java
Normal file
@ -0,0 +1,243 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class SpawnsCommand implements CommandExecutor {
|
||||
public Main plugin;
|
||||
public SpawnsCommand(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
|
||||
Player p = (Player) sender;
|
||||
if(cmd.getName().equalsIgnoreCase("StartPoint")){
|
||||
if(p.hasPermission("HungerArena.StartPoint")){
|
||||
if(args[0].equalsIgnoreCase("1")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_one_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute one!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("2")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_two_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute two!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("3")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_three_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute three!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("4")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_four_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute four!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("5")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_five_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute five!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("6")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_six_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute six!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("7")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_seven_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute seven!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("8")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_eight_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eight!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("9")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_nine_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute nine!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("10")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_ten_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute ten!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("11")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_eleven_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eleven!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("12")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twelve_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twelve!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("13")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_thirteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute thirteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("14")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_fourteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute fourteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("15")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_fifteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute fifteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("16")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_sixteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute sixteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("17")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_seventeen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute seventeen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("18")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_eighteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eighteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("19")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_nineteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute nineteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("20")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twenty_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twenty!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("21")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twentyone_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentyone!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("22")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twentytwo_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentytwo!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("23")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twentythree_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentythree!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("24")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twentyfour_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentyfour!");
|
||||
}
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You don't have permission!");
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
132
src/main/java/me/Travja/HungerArena/SpectatorListener.java
Normal file
132
src/main/java/me/Travja/HungerArena/SpectatorListener.java
Normal file
@ -0,0 +1,132 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityTargetEvent;
|
||||
import org.bukkit.event.player.*;
|
||||
|
||||
public class SpectatorListener implements Listener {
|
||||
public Main plugin;
|
||||
public SpectatorListener(Main m){
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void SpectatorDrops(PlayerDropItemEvent 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 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)){
|
||||
event.setCancelled(true);
|
||||
p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!");
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void SpectatorItems(PlayerPickupItemEvent 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 SpectatorPvP(EntityDamageByEntityEvent event){
|
||||
Entity offense = event.getDamager();
|
||||
if(offense instanceof Player){
|
||||
Player Attacker = (Player) event.getDamager();
|
||||
String attackerName = Attacker.getName();
|
||||
if(plugin.Watching.contains(attackerName)){
|
||||
event.setCancelled(true);
|
||||
Attacker.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!");
|
||||
}
|
||||
}else if(event.getDamager() instanceof Projectile){
|
||||
Projectile arrow = (Projectile) offense;
|
||||
if(arrow.getShooter() instanceof Player){
|
||||
Player BowMan = (Player) arrow.getShooter();
|
||||
String bowManName = BowMan.getName();
|
||||
if(plugin.Watching.contains(bowManName)){
|
||||
event.setCancelled(true);
|
||||
BowMan.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void SpectatorBlockBreak(BlockBreakEvent 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 SpectatorBlockPlace(BlockPlaceEvent 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 SpectatorQuit(PlayerQuitEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(plugin.Watching.contains(pname)){
|
||||
plugin.Watching.remove(pname);
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
String w = Spawncoords[3];
|
||||
World spawnw = plugin.getServer().getWorld(w);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
p.teleport(Spawn);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void MobNerf(EntityTargetEvent event){
|
||||
Entity target = event.getTarget();
|
||||
Entity e = event.getEntity();
|
||||
if (e instanceof Player) {
|
||||
return;
|
||||
}
|
||||
if(target instanceof Player){
|
||||
String targetName = ((Player) target).getName();
|
||||
if(plugin.Watching.contains(targetName)){
|
||||
event.setTarget(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
102
src/main/java/me/Travja/HungerArena/SponsorCommands.java
Normal file
102
src/main/java/me/Travja/HungerArena/SponsorCommands.java
Normal file
@ -0,0 +1,102 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class SponsorCommands implements CommandExecutor {
|
||||
public Main plugin;
|
||||
public SponsorCommands(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
|
||||
if(cmd.getName().equalsIgnoreCase("Sponsor")){
|
||||
if(sender instanceof Player){
|
||||
Player p = (Player) sender;
|
||||
String pname = p.getName();
|
||||
String epname = p.getName();
|
||||
if(p.hasPermission("HungerArena.Sponsor")){
|
||||
if(!plugin.Playing.contains(epname)){
|
||||
if(args.length== 0){
|
||||
p.sendMessage(ChatColor.RED + "You didn't specify a tribute!");
|
||||
return false;
|
||||
}
|
||||
if(args.length== 1){
|
||||
p.sendMessage(ChatColor.RED + "You didn't specify an item!");
|
||||
}
|
||||
if(args.length== 2){
|
||||
p.sendMessage(ChatColor.RED + "You didn't specify an amount!");
|
||||
}
|
||||
if(args.length== 3){
|
||||
Player target = Bukkit.getServer().getPlayer(args[0]);
|
||||
if(args[1].equalsIgnoreCase("57") || args[1].equalsIgnoreCase("7")){
|
||||
p.sendMessage(ChatColor.RED + "You can't sponsor that item!");
|
||||
}else{
|
||||
int ID = Integer.parseInt(args[1]);
|
||||
int Amount = Integer.parseInt(args[2]);
|
||||
ItemStack sponsoritem = new ItemStack(ID, Amount);
|
||||
if(p.getInventory().contains(plugin.config.getInt("Sponsor_Cost.ID"), plugin.config.getInt("Sponsor_Cost.Amount")*Amount)){
|
||||
if(!plugin.Playing.contains(target.getName())){
|
||||
p.sendMessage(ChatColor.RED + "That person isn't playing!");
|
||||
}else{
|
||||
if(args[0].equalsIgnoreCase(pname)){
|
||||
p.sendMessage(ChatColor.RED + "You can't sponsor yourself!");
|
||||
}else{
|
||||
target.sendMessage(ChatColor.AQUA + "You have been Sponsored!");
|
||||
target.getInventory().addItem(sponsoritem);
|
||||
p.sendMessage("You have sponsored " + target.getName() + "!");
|
||||
p.getInventory().removeItem(plugin.Cost);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You don't have the necessary items to sponsor!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You are playing, you can't sponsor yourself!");
|
||||
}
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You don't have permission!");
|
||||
}
|
||||
}else if(sender instanceof ConsoleCommandSender){
|
||||
if(args.length== 0){
|
||||
sender.sendMessage(ChatColor.RED + "You didn't specify a tribute!");
|
||||
return false;
|
||||
}
|
||||
if(args.length== 1){
|
||||
sender.sendMessage(ChatColor.RED + "You didn't specify an item!");
|
||||
}
|
||||
if(args.length== 2){
|
||||
sender.sendMessage(ChatColor.RED + "You didn't specify an amount!");
|
||||
}
|
||||
if(args.length== 3){
|
||||
Player target = Bukkit.getPlayer(args[0]);
|
||||
if(args[1].equalsIgnoreCase("57") || args[1].equalsIgnoreCase("7")){
|
||||
sender.sendMessage(ChatColor.RED + "You can't sponsor that item!");
|
||||
}else{
|
||||
int ID = Integer.parseInt(args[1]);
|
||||
int Amount = Integer.parseInt(args[2]);
|
||||
ItemStack sponsoritem = new ItemStack(ID, Amount);
|
||||
if(!plugin.Playing.contains(target.getName())){
|
||||
sender.sendMessage(ChatColor.RED + "That person isn't playing!");
|
||||
}else{
|
||||
sender.sendMessage(ChatColor.RED + "You can't sponsor yourself!");
|
||||
target.sendMessage(ChatColor.AQUA + "You have been Sponsored!");
|
||||
target.getInventory().addItem(sponsoritem);
|
||||
sender.sendMessage("You have sponsored " + target.getName() + "!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
36
src/main/java/me/Travja/HungerArena/TeleportListener.java
Normal file
36
src/main/java/me/Travja/HungerArena/TeleportListener.java
Normal file
@ -0,0 +1,36 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YoshiGenius
|
||||
*/
|
||||
public class TeleportListener implements Listener {
|
||||
|
||||
public Main plugin;
|
||||
public TeleportListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onTP(PlayerTeleportEvent evt) {
|
||||
Player p = evt.getPlayer();
|
||||
TeleportCause tc = evt.getCause();
|
||||
if (tc == TeleportCause.ENDER_PEARL) {
|
||||
return;
|
||||
}
|
||||
if (tc == TeleportCause.END_PORTAL) {
|
||||
return;
|
||||
}
|
||||
if (tc == TeleportCause.NETHER_PORTAL) {
|
||||
return;
|
||||
}
|
||||
evt.setCancelled(true);
|
||||
}
|
||||
|
||||
}
|
24
src/main/java/me/Travja/HungerArena/WinGamesListener.java
Normal file
24
src/main/java/me/Travja/HungerArena/WinGamesListener.java
Normal file
@ -0,0 +1,24 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YoshiGenius
|
||||
*/
|
||||
public class WinGamesListener implements Listener {
|
||||
|
||||
public Main plugin;
|
||||
public WinGamesListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onWin(PlayerWinGamesEvent evt) {
|
||||
Player p = evt.getPlayer();
|
||||
plugin.econ.depositPlayer(p.getName(), plugin.config.getDouble("EcoReward"));
|
||||
}
|
||||
|
||||
}
|
66
src/main/resources/config.yml
Normal file
66
src/main/resources/config.yml
Normal file
@ -0,0 +1,66 @@
|
||||
# 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
|
||||
Auto_Restart: 'false'
|
||||
# If it should automatically start the countdown on warping
|
||||
Auto_Start: 'false'
|
||||
# If tributes need to type /ha confirm to join
|
||||
Need_Confirm: 'true'
|
||||
# What the reward for winning is
|
||||
Reward:
|
||||
ID: 264
|
||||
Amount: 10
|
||||
# What sponsors have to pay to sponsor tributes
|
||||
Sponsor_Cost:
|
||||
ID: 264
|
||||
Amount: 1
|
||||
# Whether or not the countdown will start upon warping.
|
||||
Countdown: 'true'
|
||||
Spawn_coords: 100,100,100,world
|
||||
# If players will only talk to close players of the whole server
|
||||
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
|
||||
Protected_Arena: 'true'
|
||||
# Whether or not players will be frozen when they are teleported to their positions
|
||||
Frozen_Teleport: 'true'
|
||||
# Whether or not thunder will sound upon a players death
|
||||
Cannon_Death: 'true'
|
||||
Tribute_one_spawn: 100,100,100
|
||||
Tribute_two_spawn: 100,100,100
|
||||
Tribute_three_spawn: 100,100,100
|
||||
Tribute_four_spawn: 100,100,100
|
||||
Tribute_five_spawn: 100,100,100
|
||||
Tribute_six_spawn: 100,100,100
|
||||
Tribute_seven_spawn: 100,100,100
|
||||
Tribute_eight_spawn: 100,100,100
|
||||
Tribute_nine_spawn: 100,100,100
|
||||
Tribute_ten_spawn: 100,100,100
|
||||
Tribute_eleven_spawn: 100,100,100
|
||||
Tribute_twelve_spawn: 100,100,100
|
||||
Tribute_thirteen_spawn: 100,100,100
|
||||
Tribute_fourteen_spawn: 100,100,100
|
||||
Tribute_fifteen_spawn: 100,100,100
|
||||
Tribute_sixteen_spawn: 100,100,100
|
||||
Tribute_seventeen_spawn: 100,100,100
|
||||
Tribute_eighteen_spawn: 100,100,100
|
||||
Tribute_nineteen_spawn: 100,100,100
|
||||
Tribute_twenty_spawn: 100,100,100
|
||||
Tribute_twentyone_spawn: 100,100,100
|
||||
Tribute_twentytwo_spawn: 100,100,100
|
||||
Tribute_twentythree_spawn: 100,100,100
|
||||
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.
|
||||
eco:
|
||||
enabled: false
|
||||
reward: 100
|
||||
# How much money to give the winner.
|
||||
# Leave this. :)
|
||||
Blocks_Destroyed:
|
12
src/main/resources/plugin.yml
Normal file
12
src/main/resources/plugin.yml
Normal file
@ -0,0 +1,12 @@
|
||||
name: HungerArena
|
||||
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!
|
||||
StartPoint:
|
||||
description: Set the starting points for tributes.
|
||||
Sponsor:
|
||||
description: Sponsor a tribute.
|
289
src/me/travja/hungerarena/BlockStorage.java
Normal file
289
src/me/travja/hungerarena/BlockStorage.java
Normal file
@ -0,0 +1,289 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockBurnEvent;
|
||||
import org.bukkit.event.block.BlockFadeEvent;
|
||||
import org.bukkit.event.block.BlockFormEvent;
|
||||
import org.bukkit.event.block.BlockGrowEvent;
|
||||
import org.bukkit.event.block.BlockPhysicsEvent;
|
||||
import org.bukkit.event.block.BlockPistonExtendEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.block.LeavesDecayEvent;
|
||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||
import org.bukkit.event.player.PlayerBucketEmptyEvent;
|
||||
import org.bukkit.event.player.PlayerBucketFillEvent;
|
||||
|
||||
public class BlockStorage implements Listener {
|
||||
public Main plugin;
|
||||
public BlockStorage(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
/*@EventHandler
|
||||
public void creeperExplosion(EntityExplodeEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
for(Block b:event.blockList()){
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Explode: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void burningBlocks(BlockBurnEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Burn: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void leafDecay(LeavesDecayEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Decay: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockPlace(BlockPlaceEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
if(!(d== 51) && !(d==12){
|
||||
System.out.println("Place: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Placed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
Location location = b.getLocation();
|
||||
if (b.getType() == Material.SAND || b.getType() == Material.GRAVEL) {
|
||||
if (location.getBlock().getRelative(BlockFace.DOWN).getType() == Material.AIR) {
|
||||
int i = 0;
|
||||
for (i = location.getBlockY(); i > -1; i --) {
|
||||
location = new Location(location.getWorld(), location.getBlockX(), i, location.getBlockZ());
|
||||
if (location.getBlock().getType() != Material.AIR && location.getBlock().getType() != Material.WATER && location.getBlock().getType() != Material.LAVA) {
|
||||
break;
|
||||
}
|
||||
event.getPlayer().sendMessage("Block will land at: " + location);
|
||||
System.out.println("Sand Place: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void bucketEmpty(PlayerBucketEmptyEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block clicked = event.getBlockClicked();
|
||||
BlockFace face = event.getBlockFace();
|
||||
Block b = clicked.getRelative(face);
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Bucket Empty: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void bucketFill(PlayerBucketFillEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlockClicked();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Bucket Fill: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockBreak(BlockBreakEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Break: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockMelt(BlockFadeEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Fade: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockGrow(BlockGrowEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Grow: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void blockForm(BlockFormEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Snowfall: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void pistonPush(BlockPistonExtendEvent event){
|
||||
if(plugin.canjoin== true){
|
||||
for(Block b:event.getBlocks()){
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Piston: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Destroyed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void onChange(BlockPhysicsEvent event){
|
||||
Block block = event.getBlock();
|
||||
Material changed = event.getChangedType();
|
||||
if (block.getType() == Material.LAVA){
|
||||
if (changed == Material.LAVA){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Lava Change: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}else if(changed == Material.WATER){
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Water Change: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}else if (block.getType() == Material.SAND || block.getType() == Material.GRAVEL) {
|
||||
if (changed == Material.AIR) {
|
||||
Block b = event.getBlock();
|
||||
String w = b.getWorld().getName();
|
||||
int x = b.getX();
|
||||
int y = b.getY();
|
||||
int z = b.getZ();
|
||||
int d = b.getTypeId();
|
||||
String coords = w + "," + x + "," + y + "," + z + "," + d;
|
||||
System.out.println("Sand/Gravel Fall: " + coords);
|
||||
List<String> blocks = plugin.config.getStringList("Blocks_Placed");
|
||||
blocks.add(coords);
|
||||
plugin.config.set("Blocks_Destroyed", blocks);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
25
src/me/travja/hungerarena/Blocks.java
Normal file
25
src/me/travja/hungerarena/Blocks.java
Normal file
@ -0,0 +1,25 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
|
||||
public class Blocks implements Listener {
|
||||
public Main plugin;
|
||||
public Blocks(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void BreakBlock(BlockBreakEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getDisplayName();
|
||||
if(plugin.Playing.contains(pname)){
|
||||
if(plugin.config.getString("Protected_Arena").equalsIgnoreCase("True")){
|
||||
event.setCancelled(true);
|
||||
p.sendMessage(ChatColor.RED + "You can't break blocks when you're playing!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
51
src/me/travja/hungerarena/ChatListener.java
Normal file
51
src/me/travja/hungerarena/ChatListener.java
Normal file
@ -0,0 +1,51 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerChatEvent;
|
||||
|
||||
public class ChatListener implements Listener {
|
||||
public Main plugin;
|
||||
public ChatListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void TributeChat(PlayerChatEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(plugin.Playing.contains(pname)){
|
||||
String msg = "<" + ChatColor.RED + "[Tribute] " + ChatColor.WHITE + p.getName() + ">" + " " + event.getMessage();
|
||||
if(plugin.config.getString("ChatClose").equalsIgnoreCase("True")){
|
||||
double radius = plugin.config.getDouble("ChatClose_Radius");
|
||||
List<Entity> near = p.getNearbyEntities(radius, radius, radius);
|
||||
event.setCancelled(true);
|
||||
if(!(near.size()== 0)){
|
||||
p.sendMessage(msg);
|
||||
for(Entity e:near){
|
||||
if(e instanceof Player){
|
||||
((Player) e).sendMessage(msg);
|
||||
}
|
||||
}
|
||||
}else if(near.size()== 0){
|
||||
p.sendMessage(msg);
|
||||
p.sendMessage(ChatColor.YELLOW + "No one near!");
|
||||
}else if(!(near.size()== 0)){
|
||||
for(Entity en:near){
|
||||
if(!(en instanceof Player)){
|
||||
p.sendMessage(msg);
|
||||
p.sendMessage(ChatColor.YELLOW + "No one near!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
event.setCancelled(true);
|
||||
plugin.getServer().broadcastMessage(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
84
src/me/travja/hungerarena/Chests.java
Normal file
84
src/me/travja/hungerarena/Chests.java
Normal file
@ -0,0 +1,84 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.Chest;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class Chests implements Listener {
|
||||
public Main plugin;
|
||||
public Chests(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void ChestSaves(PlayerInteractEvent event){
|
||||
Block block = event.getClickedBlock();
|
||||
Player p = event.getPlayer();
|
||||
if(p.getItemInHand().getType()== Material.BLAZE_ROD && event.getAction() == Action.LEFT_CLICK_BLOCK){
|
||||
if(block.getState() instanceof Chest){
|
||||
if(p.hasPermission("HungerArena.Chest.Store")){
|
||||
ItemStack[] itemsinchest = ((Chest) block.getState()).getInventory().getContents();
|
||||
int blockx = block.getX();
|
||||
int blocky = block.getY();
|
||||
int blockz = block.getZ();
|
||||
String blockw = block.getWorld().getName().toString();
|
||||
if(!plugin.getConfig().contains("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X")){
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.X", blockx);
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky);
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z",blockz);
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw);
|
||||
plugin.getConfig().addDefault("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest);
|
||||
}else{
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky+ "," + blockz + ".Location.X",blockx);
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Y", blocky);
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.Z", blockz);
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".Location.W", blockw);
|
||||
plugin.getConfig().set("Storage." + blockx + "," + blocky + "," + blockz + ".ItemsInStorage", itemsinchest);
|
||||
}
|
||||
List<String> list2 = plugin.getConfig().getStringList("StorageXYZ");
|
||||
list2.add(blockx + "," + blocky + "," + blockz);
|
||||
plugin.getConfig().set("StorageXYZ", list2);
|
||||
plugin.getConfig().options().copyDefaults(true);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.GREEN + "Chest Stored!");
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You don't have permission to store chests!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void onBlockBreak(BlockBreakEvent event) {
|
||||
Player p = event.getPlayer();
|
||||
Block block = event.getBlock();
|
||||
Location blocklocation = event.getBlock().getLocation();
|
||||
if (block.getState() instanceof Chest && !plugin.Playing.contains(p.getDisplayName())) {
|
||||
int blockx = blocklocation.getBlockX();
|
||||
int blocky = blocklocation.getBlockY();
|
||||
int blockz = blocklocation.getBlockZ();
|
||||
if (plugin.getConfig().getStringList("StorageXYZ").contains(blockx + "," + blocky + "," + blockz)) {
|
||||
if(p.hasPermission("HungerArena.Chest.Break")){
|
||||
List<String> list2 = plugin.getConfig().getStringList("StorageXYZ");
|
||||
list2.remove(blockx + "," + blocky + "," + blockz);
|
||||
plugin.getConfig().set("StorageXYZ", list2);
|
||||
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!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
27
src/me/travja/hungerarena/CommandBlock.java
Normal file
27
src/me/travja/hungerarena/CommandBlock.java
Normal file
@ -0,0 +1,27 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
|
||||
public class CommandBlock implements Listener {
|
||||
public Main plugin;
|
||||
public CommandBlock(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void CatchCommand(PlayerCommandPreprocessEvent event){
|
||||
String cmd = event.getMessage();
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(!cmd.contains("/ha") && plugin.Playing.contains(pname) && plugin.canjoin== true){
|
||||
if(!p.hasPermission("HungerArena.UseCommands")){
|
||||
event.setCancelled(true);
|
||||
p.sendMessage(ChatColor.RED + "You are only allowed to use /ha commands!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
167
src/me/travja/hungerarena/DeathListener.java
Normal file
167
src/me/travja/hungerarena/DeathListener.java
Normal file
@ -0,0 +1,167 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
|
||||
public class DeathListener implements Listener{
|
||||
public Main plugin;
|
||||
public DeathListener(Main m){
|
||||
this.plugin = m;
|
||||
}
|
||||
public FileConfiguration config;
|
||||
int i = 0;
|
||||
@EventHandler
|
||||
public void onPlayerRespawn(PlayerRespawnEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(plugin.Dead.contains(pname)){
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
World spawnw = plugin.getServer().getWorld(Spawncoords[3]);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
event.setRespawnLocation(Spawn);
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
@SuppressWarnings("SizeReplaceableByIsEmpty")
|
||||
public void onPlayerDeath(PlayerDeathEvent event){
|
||||
Player p = event.getEntity();
|
||||
Server s = p.getServer();
|
||||
String pname = p.getName();
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
World spawnw = plugin.getServer().getWorld(Spawncoords[3]);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
if(plugin.Playing.contains(pname)){
|
||||
if(plugin.config.getString("Cannon_Death").equalsIgnoreCase("True")){
|
||||
double y = p.getLocation().getY();
|
||||
double newy = y+200;
|
||||
double x = p.getLocation().getX();
|
||||
double z = p.getLocation().getZ();
|
||||
Location strike = new Location(p.getWorld(), x, newy, z);
|
||||
p.getWorld().strikeLightning(strike);
|
||||
}
|
||||
plugin.Dead.add(pname);
|
||||
plugin.Playing.remove(pname);
|
||||
String leftmsg = ChatColor.BLUE + "There are now " + plugin.Playing.size() + " tributes left!";
|
||||
if(p.getKiller() instanceof Player){
|
||||
if(p.getKiller().getItemInHand().getType().getId()== 0){
|
||||
Player killer = p.getKiller();
|
||||
String killername = killer.getName();
|
||||
event.setDeathMessage("");
|
||||
s.broadcastMessage(ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with their FIST!");
|
||||
s.broadcastMessage(leftmsg);
|
||||
if(plugin.Playing.size()== 1 && plugin.canjoin== true){
|
||||
//Announce winner
|
||||
String winnername = plugin.Playing.get(i++);
|
||||
Player winner = plugin.getServer().getPlayerExact(winnername);
|
||||
String winnername2 = winner.getName();
|
||||
plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!");
|
||||
winner.getInventory().clear();
|
||||
winner.teleport(Spawn);
|
||||
winner.getInventory().setBoots(null);
|
||||
winner.getInventory().setChestplate(null);
|
||||
winner.getInventory().setHelmet(null);
|
||||
winner.getInventory().setLeggings(null);
|
||||
winner.getInventory().addItem(plugin.Reward);
|
||||
plugin.Playing.clear();
|
||||
//Show spectators
|
||||
if(!plugin.Watching.isEmpty()){
|
||||
String s1 = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s1);
|
||||
spectator.setAllowFlight(false);
|
||||
spectator.teleport(Spawn);
|
||||
for(Player online:plugin.getServer().getOnlinePlayers()){
|
||||
online.showPlayer(spectator);
|
||||
}
|
||||
}
|
||||
if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
|
||||
}
|
||||
}
|
||||
}else{
|
||||
Player killer = p.getKiller();
|
||||
String killername = killer.getName();
|
||||
Material weapon = killer.getItemInHand().getType();
|
||||
String msg = ChatColor.LIGHT_PURPLE + "**BOOM** Tribute " + pname + " was killed by tribute " + killername + " with a(n) " + weapon;
|
||||
event.setDeathMessage("");
|
||||
s.broadcastMessage(msg);
|
||||
s.broadcastMessage(leftmsg);
|
||||
if(plugin.Playing.size()== 1 && plugin.canjoin== true){
|
||||
//Announce winner
|
||||
String winnername = plugin.Playing.get(i++);
|
||||
Player winner = plugin.getServer().getPlayerExact(winnername);
|
||||
String winnername2 = winner.getName();
|
||||
plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!");
|
||||
winner.getInventory().clear();
|
||||
winner.teleport(Spawn);
|
||||
winner.getInventory().setBoots(null);
|
||||
winner.getInventory().setChestplate(null);
|
||||
winner.getInventory().setHelmet(null);
|
||||
winner.getInventory().setLeggings(null);
|
||||
winner.getInventory().addItem(plugin.Reward);
|
||||
plugin.Playing.clear();
|
||||
//Show spectators
|
||||
if(plugin.Watching.size() != 0){
|
||||
String s1 = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s1);
|
||||
spectator.setAllowFlight(false);
|
||||
spectator.teleport(Spawn);
|
||||
for(Player online:plugin.getServer().getOnlinePlayers()){
|
||||
online.showPlayer(spectator);
|
||||
}
|
||||
}
|
||||
if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
event.setDeathMessage("");
|
||||
s.broadcastMessage(ChatColor.LIGHT_PURPLE + pname + " died of natural causes!");
|
||||
s.broadcastMessage(leftmsg);
|
||||
if(plugin.Playing.size()== 1 && plugin.canjoin== true){
|
||||
//Announce winner
|
||||
String winnername = plugin.Playing.get(i++);
|
||||
Player winner = plugin.getServer().getPlayerExact(winnername);
|
||||
String winnername2 = winner.getName();
|
||||
plugin.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!");
|
||||
winner.getInventory().clear();
|
||||
winner.teleport(Spawn);
|
||||
winner.getInventory().setBoots(null);
|
||||
winner.getInventory().setChestplate(null);
|
||||
winner.getInventory().setHelmet(null);
|
||||
winner.getInventory().setLeggings(null);
|
||||
winner.getInventory().addItem(plugin.Reward);
|
||||
// Create the event here
|
||||
PlayerWinGamesEvent winevent = new PlayerWinGamesEvent(winner);
|
||||
// Call the event
|
||||
Bukkit.getServer().getPluginManager().callEvent(winevent);
|
||||
plugin.Playing.clear();
|
||||
//Show spectators
|
||||
if(!plugin.Watching.isEmpty()){
|
||||
String s1 = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s1);
|
||||
spectator.setAllowFlight(false);
|
||||
spectator.teleport(Spawn);
|
||||
for(Player online:plugin.getServer().getOnlinePlayers()){
|
||||
online.showPlayer(spectator);
|
||||
}
|
||||
}
|
||||
if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
32
src/me/travja/hungerarena/DmgListener.java
Normal file
32
src/me/travja/hungerarena/DmgListener.java
Normal file
@ -0,0 +1,32 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YoshiGenius
|
||||
*/
|
||||
public class DmgListener implements Listener {
|
||||
|
||||
public Main plugin;
|
||||
public DmgListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onDmg(EntityDamageEvent evt) {
|
||||
Entity e = evt.getEntity();
|
||||
if (e instanceof Player) {
|
||||
Player p = (Player) e;
|
||||
String pn = p.getName();
|
||||
if (plugin.Frozen.contains(pn)) {
|
||||
evt.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
24
src/me/travja/hungerarena/FreezeListener.java
Normal file
24
src/me/travja/hungerarena/FreezeListener.java
Normal file
@ -0,0 +1,24 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
|
||||
public class FreezeListener implements Listener {
|
||||
public Main plugin;
|
||||
public FreezeListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void onPlayerMove(PlayerMoveEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(plugin.Frozen.contains(pname) && plugin.config.getString("Frozen_Teleport").equalsIgnoreCase("True")){
|
||||
Location from = event.getFrom();
|
||||
p.teleport(from, TeleportCause.ENDER_PEARL);
|
||||
}
|
||||
}
|
||||
}
|
1402
src/me/travja/hungerarena/HaCommands.java
Normal file
1402
src/me/travja/hungerarena/HaCommands.java
Normal file
File diff suppressed because it is too large
Load Diff
137
src/me/travja/hungerarena/JoinAndQuitListener.java
Normal file
137
src/me/travja/hungerarena/JoinAndQuitListener.java
Normal file
@ -0,0 +1,137 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
public class JoinAndQuitListener implements Listener {
|
||||
public Main plugin;
|
||||
public JoinAndQuitListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
int i = 0;
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent evt) {
|
||||
Player p = evt.getPlayer();
|
||||
for (String s : plugin.Watching) {
|
||||
Player spectator = Bukkit.getServer().getPlayerExact(s);
|
||||
p.hidePlayer(spectator);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerJoin(PlayerJoinEvent event){
|
||||
final Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(!plugin.Watching.isEmpty()){
|
||||
String s = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s);
|
||||
p.hidePlayer(spectator);
|
||||
}
|
||||
if(plugin.Out.contains(pname)){
|
||||
plugin.Playing.add(pname);
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
|
||||
public void run(){
|
||||
p.sendMessage(ChatColor.AQUA + "You have saved yourself from being ejected from the arena!");
|
||||
}
|
||||
}, 40L);
|
||||
plugin.Out.remove(pname);
|
||||
}
|
||||
if(plugin.Quit.contains(pname) || plugin.Dead.contains(pname)){
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
String w = Spawncoords[3];
|
||||
World spawnw = plugin.getServer().getWorld(w);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
|
||||
public void run(){
|
||||
p.teleport(Spawn);
|
||||
p.sendMessage(ChatColor.RED + "You have been teleported to spawn because you quit/forfeited!");
|
||||
}
|
||||
}, 40L);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onQuit(PlayerQuitEvent evt) {
|
||||
Player p = evt.getPlayer();
|
||||
String pname = p.getName();
|
||||
if (plugin.Frozen.contains(pname)) {
|
||||
plugin.Frozen.remove(pname);
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
String w = Spawncoords[3];
|
||||
World spawnw = plugin.getServer().getWorld(w);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
p.teleport(Spawn);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerQuit(PlayerQuitEvent event){
|
||||
final Player p = event.getPlayer();
|
||||
final String pname = p.getName();
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
String w = Spawncoords[3];
|
||||
World spawnw = plugin.getServer().getWorld(w);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
if(plugin.Playing.contains(pname)){
|
||||
plugin.Out.add(pname);
|
||||
plugin.Playing.remove(pname);
|
||||
}
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable(){
|
||||
public void run(){
|
||||
if(plugin.Out.contains(pname)){
|
||||
if(plugin.canjoin== true){
|
||||
plugin.Quit.add(pname);
|
||||
plugin.Out.remove(pname);
|
||||
if(plugin.Playing.size()== 1){
|
||||
//Announce Winner
|
||||
String winnername = plugin.Playing.get(i++);
|
||||
Player winner = plugin.getServer().getPlayerExact(winnername);
|
||||
String winnername2 = winner.getName();
|
||||
p.getServer().broadcastMessage(ChatColor.GREEN + winnername2 + " is the victor of this Hunger Games!");
|
||||
winner.getInventory().clear();
|
||||
winner.getInventory().setBoots(null);
|
||||
winner.getInventory().setChestplate(null);
|
||||
winner.getInventory().setHelmet(null);
|
||||
winner.getInventory().setLeggings(null);
|
||||
winner.getInventory().addItem(plugin.Reward);
|
||||
PlayerWinGamesEvent evt = new PlayerWinGamesEvent(winner);
|
||||
Bukkit.getServer().getPluginManager().callEvent(evt);
|
||||
//Make spectators visible
|
||||
if(!plugin.Watching.isEmpty()){
|
||||
String s = plugin.Watching.get(i++);
|
||||
Player spectator = plugin.getServer().getPlayerExact(s);
|
||||
spectator.setAllowFlight(false);
|
||||
spectator.teleport(Spawn);
|
||||
for(Player online:plugin.getServer().getOnlinePlayers()){
|
||||
online.showPlayer(spectator);
|
||||
}
|
||||
}
|
||||
if(plugin.config.getString("Auto_Restart").equalsIgnoreCase("True")){
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "ha restart");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
plugin.Quit.add(pname);
|
||||
}
|
||||
}
|
||||
}, 1200L);
|
||||
}
|
||||
}
|
109
src/me/travja/hungerarena/Main.java
Normal file
109
src/me/travja/hungerarena/Main.java
Normal file
@ -0,0 +1,109 @@
|
||||
package me.Travja.HungerArena;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.logging.Logger;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class Main extends JavaPlugin{
|
||||
static final Logger log = Logger.getLogger("Minecraft");
|
||||
public ArrayList<String> Playing = new ArrayList<String>();
|
||||
public ArrayList<String> Ready = new ArrayList<String>();
|
||||
public ArrayList<String> Dead = new ArrayList<String>();
|
||||
public ArrayList<String> Quit = new ArrayList<String>();
|
||||
public ArrayList<String> Out = new ArrayList<String>();
|
||||
public ArrayList<String> Watching = new ArrayList<String>();
|
||||
public ArrayList<String> NeedConfirm = new ArrayList<String>();
|
||||
public HashSet<String> Frozen = new HashSet<String>();
|
||||
public Listener DeathListener = new DeathListener(this);
|
||||
public Listener SpectatorListener = new SpectatorListener(this);
|
||||
public Listener FreezeListener = new FreezeListener(this);
|
||||
public Listener JoinAndQuitListener = new JoinAndQuitListener(this);
|
||||
public Listener ChatListener = new ChatListener(this);
|
||||
public Listener Chests = new Chests(this);
|
||||
public Listener PvP = new PvP(this);
|
||||
public Listener Blocks = new Blocks(this);
|
||||
public Listener CommandBlock = new CommandBlock(this);
|
||||
public Listener Damage = new DmgListener(this);
|
||||
public Listener Teleport = new TeleportListener(this);
|
||||
public Listener Signs = new Signs(this);
|
||||
public Listener BlockStorage = new BlockStorage(this);
|
||||
public Listener WinGames = new WinGamesListener(this);
|
||||
public CommandExecutor HaCommands = new HaCommands(this);
|
||||
public CommandExecutor SponsorCommands = new SponsorCommands(this);
|
||||
public CommandExecutor SpawnsCommand = new SpawnsCommand(this);
|
||||
public boolean canjoin;
|
||||
public boolean exists;
|
||||
public FileConfiguration config = getConfig();
|
||||
public ItemStack Reward;
|
||||
public ItemStack Cost;
|
||||
public boolean vault = false;
|
||||
public Economy econ = null;
|
||||
public void onEnable(){
|
||||
log.info("[HungerArena] enabled v" + getDescription().getVersion());
|
||||
config.options().copyDefaults(true);
|
||||
this.saveDefaultConfig();
|
||||
getServer().getPluginManager().registerEvents(DeathListener, this);
|
||||
getServer().getPluginManager().registerEvents(SpectatorListener, this);
|
||||
getServer().getPluginManager().registerEvents(FreezeListener, this);
|
||||
getServer().getPluginManager().registerEvents(JoinAndQuitListener, this);
|
||||
getServer().getPluginManager().registerEvents(ChatListener, this);
|
||||
getServer().getPluginManager().registerEvents(Chests, this);
|
||||
getServer().getPluginManager().registerEvents(PvP, this);
|
||||
getServer().getPluginManager().registerEvents(Blocks, this);
|
||||
getServer().getPluginManager().registerEvents(CommandBlock, this);
|
||||
getServer().getPluginManager().registerEvents(Signs, this);
|
||||
getServer().getPluginManager().registerEvents(BlockStorage, this);
|
||||
getServer().getPluginManager().registerEvents(WinGames, this);
|
||||
getServer().getPluginManager().registerEvents(Damage, this);
|
||||
getCommand("Ha").setExecutor(HaCommands);
|
||||
getCommand("Sponsor").setExecutor(SponsorCommands);
|
||||
getCommand("Startpoint").setExecutor(SpawnsCommand);
|
||||
if (setupEconomy()) {
|
||||
log.info(ChatColor.AQUA + "[HungerArena] Found Vault! Hooking in for economy!");
|
||||
}
|
||||
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"));
|
||||
}
|
||||
|
||||
public void onDisable(){
|
||||
log.info("[HungerArena] disabled v" + getDescription().getVersion());
|
||||
}
|
||||
|
||||
public boolean setupEconomy() {
|
||||
if (getServer().getPluginManager().getPlugin("Vault") == null) {
|
||||
return false;
|
||||
}
|
||||
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
|
||||
if (rsp == null) {
|
||||
return false;
|
||||
}
|
||||
econ = rsp.getProvider();
|
||||
vault = true;
|
||||
return econ != null;
|
||||
}
|
||||
}
|
27
src/me/travja/hungerarena/PlayerWinGamesEvent.java
Normal file
27
src/me/travja/hungerarena/PlayerWinGamesEvent.java
Normal file
@ -0,0 +1,27 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YoshiGenius
|
||||
*/
|
||||
public class PlayerWinGamesEvent extends PlayerEvent {
|
||||
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
||||
public PlayerWinGamesEvent(final Player p) {
|
||||
super(p);
|
||||
}
|
||||
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
}
|
24
src/me/travja/hungerarena/PvP.java
Normal file
24
src/me/travja/hungerarena/PvP.java
Normal file
@ -0,0 +1,24 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
|
||||
public class PvP implements Listener {
|
||||
public Main plugin;
|
||||
public PvP(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void PlayerPvP(EntityDamageByEntityEvent event){
|
||||
Entity p = event.getEntity();
|
||||
if(p instanceof Player){
|
||||
String pname = ((Player) p).getName();
|
||||
if(plugin.Playing.contains(pname) && plugin.canjoin== false){
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
52
src/me/travja/hungerarena/Signs.java
Normal file
52
src/me/travja/hungerarena/Signs.java
Normal file
@ -0,0 +1,52 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.block.SignChangeEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
|
||||
public class Signs implements Listener {
|
||||
public Main plugin;
|
||||
public Signs(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void Sign(PlayerInteractEvent event){
|
||||
Player p = event.getPlayer();
|
||||
Block b = event.getClickedBlock();
|
||||
if (b == null) {
|
||||
return;
|
||||
}
|
||||
if(event.getAction()== Action.RIGHT_CLICK_BLOCK){
|
||||
if(b.getType()== Material.SIGN || b.getType()==Material.SIGN_POST || b.getType()==Material.WALL_SIGN){
|
||||
org.bukkit.block.Sign sign = (org.bukkit.block.Sign) b.getState();
|
||||
String line1 = sign.getLine(0);
|
||||
String line2 = sign.getLine(1);
|
||||
String line3 = sign.getLine(2);
|
||||
String line4 = sign.getLine(3);
|
||||
if(line1.equalsIgnoreCase(ChatColor.BLUE + "[HungerArena]") || line1.equalsIgnoreCase(ChatColor.BLUE + "[HA]")){
|
||||
if(line2.equals("")){
|
||||
p.performCommand("ha");
|
||||
}else{
|
||||
p.performCommand("ha " + line2);
|
||||
}
|
||||
}
|
||||
if(line1.equalsIgnoreCase(ChatColor.BLUE + "[Sponsor]")){
|
||||
p.performCommand("sponsor " + line2 + " " + line3 + " " + line4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void Create(SignChangeEvent event){
|
||||
String top = event.getLine(0);
|
||||
if(top.equalsIgnoreCase("[HungerArena]") || top.equalsIgnoreCase("[HA]") || top.equalsIgnoreCase("[Sponsor]")){
|
||||
event.setLine(0, ChatColor.BLUE + top);
|
||||
}
|
||||
}
|
||||
}
|
243
src/me/travja/hungerarena/SpawnsCommand.java
Normal file
243
src/me/travja/hungerarena/SpawnsCommand.java
Normal file
@ -0,0 +1,243 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class SpawnsCommand implements CommandExecutor {
|
||||
public Main plugin;
|
||||
public SpawnsCommand(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
|
||||
Player p = (Player) sender;
|
||||
if(cmd.getName().equalsIgnoreCase("StartPoint")){
|
||||
if(p.hasPermission("HungerArena.StartPoint")){
|
||||
if(args[0].equalsIgnoreCase("1")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_one_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute one!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("2")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_two_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute two!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("3")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_three_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute three!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("4")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_four_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute four!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("5")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_five_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute five!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("6")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_six_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute six!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("7")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_seven_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute seven!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("8")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_eight_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eight!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("9")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_nine_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute nine!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("10")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_ten_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute ten!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("11")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_eleven_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eleven!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("12")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twelve_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twelve!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("13")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_thirteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute thirteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("14")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_fourteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute fourteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("15")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_fifteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute fifteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("16")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_sixteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute sixteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("17")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_seventeen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute seventeen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("18")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_eighteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute eighteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("19")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_nineteen_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute nineteen!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("20")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twenty_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twenty!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("21")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twentyone_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentyone!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("22")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twentytwo_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentytwo!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("23")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twentythree_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentythree!");
|
||||
}
|
||||
if(args[0].equalsIgnoreCase("24")){
|
||||
double x = p.getLocation().getX();
|
||||
double y = p.getLocation().getY();
|
||||
double z = p.getLocation().getZ();
|
||||
String w = p.getWorld().getName();
|
||||
plugin.config.set("Tribute_twentyfour_spawn", x + "," + y + "," + z + "," + w);
|
||||
plugin.saveConfig();
|
||||
p.sendMessage(ChatColor.AQUA + "You have set the spawn location of Tribute twentyfour!");
|
||||
}
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You don't have permission!");
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
132
src/me/travja/hungerarena/SpectatorListener.java
Normal file
132
src/me/travja/hungerarena/SpectatorListener.java
Normal file
@ -0,0 +1,132 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityTargetEvent;
|
||||
import org.bukkit.event.player.*;
|
||||
|
||||
public class SpectatorListener implements Listener {
|
||||
public Main plugin;
|
||||
public SpectatorListener(Main m){
|
||||
this.plugin = m;
|
||||
}
|
||||
@EventHandler
|
||||
public void SpectatorDrops(PlayerDropItemEvent 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 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)){
|
||||
event.setCancelled(true);
|
||||
p.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!");
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void SpectatorItems(PlayerPickupItemEvent 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 SpectatorPvP(EntityDamageByEntityEvent event){
|
||||
Entity offense = event.getDamager();
|
||||
if(offense instanceof Player){
|
||||
Player Attacker = (Player) event.getDamager();
|
||||
String attackerName = Attacker.getName();
|
||||
if(plugin.Watching.contains(attackerName)){
|
||||
event.setCancelled(true);
|
||||
Attacker.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!");
|
||||
}
|
||||
}else if(event.getDamager() instanceof Projectile){
|
||||
Projectile arrow = (Projectile) offense;
|
||||
if(arrow.getShooter() instanceof Player){
|
||||
Player BowMan = (Player) arrow.getShooter();
|
||||
String bowManName = BowMan.getName();
|
||||
if(plugin.Watching.contains(bowManName)){
|
||||
event.setCancelled(true);
|
||||
BowMan.sendMessage(ChatColor.RED + "You are spectating, you can't interfere with the game!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void SpectatorBlockBreak(BlockBreakEvent 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 SpectatorBlockPlace(BlockPlaceEvent 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 SpectatorQuit(PlayerQuitEvent event){
|
||||
Player p = event.getPlayer();
|
||||
String pname = p.getName();
|
||||
if(plugin.Watching.contains(pname)){
|
||||
plugin.Watching.remove(pname);
|
||||
String[] Spawncoords = plugin.config.getString("Spawn_coords").split(",");
|
||||
String w = Spawncoords[3];
|
||||
World spawnw = plugin.getServer().getWorld(w);
|
||||
double spawnx = Double.parseDouble(Spawncoords[0]);
|
||||
double spawny = Double.parseDouble(Spawncoords[1]);
|
||||
double spawnz = Double.parseDouble(Spawncoords[2]);
|
||||
final Location Spawn = new Location(spawnw, spawnx, spawny, spawnz);
|
||||
p.teleport(Spawn);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void MobNerf(EntityTargetEvent event){
|
||||
Entity target = event.getTarget();
|
||||
Entity e = event.getEntity();
|
||||
if (e instanceof Player) {
|
||||
return;
|
||||
}
|
||||
if(target instanceof Player){
|
||||
String targetName = ((Player) target).getName();
|
||||
if(plugin.Watching.contains(targetName)){
|
||||
event.setTarget(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
102
src/me/travja/hungerarena/SponsorCommands.java
Normal file
102
src/me/travja/hungerarena/SponsorCommands.java
Normal file
@ -0,0 +1,102 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class SponsorCommands implements CommandExecutor {
|
||||
public Main plugin;
|
||||
public SponsorCommands(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
|
||||
if(cmd.getName().equalsIgnoreCase("Sponsor")){
|
||||
if(sender instanceof Player){
|
||||
Player p = (Player) sender;
|
||||
String pname = p.getName();
|
||||
String epname = p.getName();
|
||||
if(p.hasPermission("HungerArena.Sponsor")){
|
||||
if(!plugin.Playing.contains(epname)){
|
||||
if(args.length== 0){
|
||||
p.sendMessage(ChatColor.RED + "You didn't specify a tribute!");
|
||||
return false;
|
||||
}
|
||||
if(args.length== 1){
|
||||
p.sendMessage(ChatColor.RED + "You didn't specify an item!");
|
||||
}
|
||||
if(args.length== 2){
|
||||
p.sendMessage(ChatColor.RED + "You didn't specify an amount!");
|
||||
}
|
||||
if(args.length== 3){
|
||||
Player target = Bukkit.getServer().getPlayer(args[0]);
|
||||
if(args[1].equalsIgnoreCase("57") || args[1].equalsIgnoreCase("7")){
|
||||
p.sendMessage(ChatColor.RED + "You can't sponsor that item!");
|
||||
}else{
|
||||
int ID = Integer.parseInt(args[1]);
|
||||
int Amount = Integer.parseInt(args[2]);
|
||||
ItemStack sponsoritem = new ItemStack(ID, Amount);
|
||||
if(p.getInventory().contains(plugin.config.getInt("Sponsor_Cost.ID"), plugin.config.getInt("Sponsor_Cost.Amount")*Amount)){
|
||||
if(!plugin.Playing.contains(target.getName())){
|
||||
p.sendMessage(ChatColor.RED + "That person isn't playing!");
|
||||
}else{
|
||||
if(args[0].equalsIgnoreCase(pname)){
|
||||
p.sendMessage(ChatColor.RED + "You can't sponsor yourself!");
|
||||
}else{
|
||||
target.sendMessage(ChatColor.AQUA + "You have been Sponsored!");
|
||||
target.getInventory().addItem(sponsoritem);
|
||||
p.sendMessage("You have sponsored " + target.getName() + "!");
|
||||
p.getInventory().removeItem(plugin.Cost);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You don't have the necessary items to sponsor!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You are playing, you can't sponsor yourself!");
|
||||
}
|
||||
}else{
|
||||
p.sendMessage(ChatColor.RED + "You don't have permission!");
|
||||
}
|
||||
}else if(sender instanceof ConsoleCommandSender){
|
||||
if(args.length== 0){
|
||||
sender.sendMessage(ChatColor.RED + "You didn't specify a tribute!");
|
||||
return false;
|
||||
}
|
||||
if(args.length== 1){
|
||||
sender.sendMessage(ChatColor.RED + "You didn't specify an item!");
|
||||
}
|
||||
if(args.length== 2){
|
||||
sender.sendMessage(ChatColor.RED + "You didn't specify an amount!");
|
||||
}
|
||||
if(args.length== 3){
|
||||
Player target = Bukkit.getPlayer(args[0]);
|
||||
if(args[1].equalsIgnoreCase("57") || args[1].equalsIgnoreCase("7")){
|
||||
sender.sendMessage(ChatColor.RED + "You can't sponsor that item!");
|
||||
}else{
|
||||
int ID = Integer.parseInt(args[1]);
|
||||
int Amount = Integer.parseInt(args[2]);
|
||||
ItemStack sponsoritem = new ItemStack(ID, Amount);
|
||||
if(!plugin.Playing.contains(target.getName())){
|
||||
sender.sendMessage(ChatColor.RED + "That person isn't playing!");
|
||||
}else{
|
||||
sender.sendMessage(ChatColor.RED + "You can't sponsor yourself!");
|
||||
target.sendMessage(ChatColor.AQUA + "You have been Sponsored!");
|
||||
target.getInventory().addItem(sponsoritem);
|
||||
sender.sendMessage("You have sponsored " + target.getName() + "!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
36
src/me/travja/hungerarena/TeleportListener.java
Normal file
36
src/me/travja/hungerarena/TeleportListener.java
Normal file
@ -0,0 +1,36 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YoshiGenius
|
||||
*/
|
||||
public class TeleportListener implements Listener {
|
||||
|
||||
public Main plugin;
|
||||
public TeleportListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onTP(PlayerTeleportEvent evt) {
|
||||
Player p = evt.getPlayer();
|
||||
TeleportCause tc = evt.getCause();
|
||||
if (tc == TeleportCause.ENDER_PEARL) {
|
||||
return;
|
||||
}
|
||||
if (tc == TeleportCause.END_PORTAL) {
|
||||
return;
|
||||
}
|
||||
if (tc == TeleportCause.NETHER_PORTAL) {
|
||||
return;
|
||||
}
|
||||
evt.setCancelled(true);
|
||||
}
|
||||
|
||||
}
|
24
src/me/travja/hungerarena/WinGamesListener.java
Normal file
24
src/me/travja/hungerarena/WinGamesListener.java
Normal file
@ -0,0 +1,24 @@
|
||||
package me.travja.hungerarena;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author YoshiGenius
|
||||
*/
|
||||
public class WinGamesListener implements Listener {
|
||||
|
||||
public Main plugin;
|
||||
public WinGamesListener(Main m) {
|
||||
this.plugin = m;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onWin(PlayerWinGamesEvent evt) {
|
||||
Player p = evt.getPlayer();
|
||||
plugin.econ.depositPlayer(p.getName(), plugin.config.getDouble("EcoReward"));
|
||||
}
|
||||
|
||||
}
|
BIN
target/HungerArena-0.5.jar
Normal file
BIN
target/HungerArena-0.5.jar
Normal file
Binary file not shown.
BIN
target/HungerArena-1.3alpha.jar
Normal file
BIN
target/HungerArena-1.3alpha.jar
Normal file
Binary file not shown.
66
target/classes/config.yml
Normal file
66
target/classes/config.yml
Normal file
@ -0,0 +1,66 @@
|
||||
# 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
|
||||
Auto_Restart: 'false'
|
||||
# If it should automatically start the countdown on warping
|
||||
Auto_Start: 'false'
|
||||
# If tributes need to type /ha confirm to join
|
||||
Need_Confirm: 'true'
|
||||
# What the reward for winning is
|
||||
Reward:
|
||||
ID: 264
|
||||
Amount: 10
|
||||
# What sponsors have to pay to sponsor tributes
|
||||
Sponsor_Cost:
|
||||
ID: 264
|
||||
Amount: 1
|
||||
# Whether or not the countdown will start upon warping.
|
||||
Countdown: 'true'
|
||||
Spawn_coords: 100,100,100,world
|
||||
# If players will only talk to close players of the whole server
|
||||
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
|
||||
Protected_Arena: 'true'
|
||||
# Whether or not players will be frozen when they are teleported to their positions
|
||||
Frozen_Teleport: 'true'
|
||||
# Whether or not thunder will sound upon a players death
|
||||
Cannon_Death: 'true'
|
||||
Tribute_one_spawn: 100,100,100
|
||||
Tribute_two_spawn: 100,100,100
|
||||
Tribute_three_spawn: 100,100,100
|
||||
Tribute_four_spawn: 100,100,100
|
||||
Tribute_five_spawn: 100,100,100
|
||||
Tribute_six_spawn: 100,100,100
|
||||
Tribute_seven_spawn: 100,100,100
|
||||
Tribute_eight_spawn: 100,100,100
|
||||
Tribute_nine_spawn: 100,100,100
|
||||
Tribute_ten_spawn: 100,100,100
|
||||
Tribute_eleven_spawn: 100,100,100
|
||||
Tribute_twelve_spawn: 100,100,100
|
||||
Tribute_thirteen_spawn: 100,100,100
|
||||
Tribute_fourteen_spawn: 100,100,100
|
||||
Tribute_fifteen_spawn: 100,100,100
|
||||
Tribute_sixteen_spawn: 100,100,100
|
||||
Tribute_seventeen_spawn: 100,100,100
|
||||
Tribute_eighteen_spawn: 100,100,100
|
||||
Tribute_nineteen_spawn: 100,100,100
|
||||
Tribute_twenty_spawn: 100,100,100
|
||||
Tribute_twentyone_spawn: 100,100,100
|
||||
Tribute_twentytwo_spawn: 100,100,100
|
||||
Tribute_twentythree_spawn: 100,100,100
|
||||
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.
|
||||
eco:
|
||||
enabled: false
|
||||
reward: 100
|
||||
# How much money to give the winner.
|
||||
# Leave this. :)
|
||||
Blocks_Destroyed:
|
BIN
target/classes/me/travja/hungerarena/BlockStorage.class
Normal file
BIN
target/classes/me/travja/hungerarena/BlockStorage.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/Blocks.class
Normal file
BIN
target/classes/me/travja/hungerarena/Blocks.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/ChatListener.class
Normal file
BIN
target/classes/me/travja/hungerarena/ChatListener.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/Chests.class
Normal file
BIN
target/classes/me/travja/hungerarena/Chests.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/CommandBlock.class
Normal file
BIN
target/classes/me/travja/hungerarena/CommandBlock.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/DeathListener.class
Normal file
BIN
target/classes/me/travja/hungerarena/DeathListener.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/FreezeListener.class
Normal file
BIN
target/classes/me/travja/hungerarena/FreezeListener.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$1.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$1.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$10.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$10.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$11.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$11.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$12.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$12.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$13.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$13.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$14.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$14.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$15.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$15.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$16.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$16.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$17.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$17.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$18.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$18.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$19.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$19.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$2.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$2.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$20.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$20.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$21.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$21.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$22.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$22.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$23.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$23.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$24.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$24.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$25.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$25.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$26.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$26.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$3.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$3.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$4.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$4.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$5.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$5.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$6.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$6.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$7.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$7.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$8.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$8.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands$9.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands$9.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/HaCommands.class
Normal file
BIN
target/classes/me/travja/hungerarena/HaCommands.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/JoinAndQuitListener$1.class
Normal file
BIN
target/classes/me/travja/hungerarena/JoinAndQuitListener$1.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/JoinAndQuitListener$2.class
Normal file
BIN
target/classes/me/travja/hungerarena/JoinAndQuitListener$2.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/JoinAndQuitListener$3.class
Normal file
BIN
target/classes/me/travja/hungerarena/JoinAndQuitListener$3.class
Normal file
Binary file not shown.
BIN
target/classes/me/travja/hungerarena/JoinAndQuitListener.class
Normal file
BIN
target/classes/me/travja/hungerarena/JoinAndQuitListener.class
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user