A whole bunch of assorted changes
This commit is contained in:
parent
9b4f3f3803
commit
c120f2e46f
30 changed files with 359 additions and 480 deletions
|
@ -1,3 +1,4 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
encoding/<project>=UTF-8
|
encoding/<project>=UTF-8
|
||||||
|
encoding/metrics=UTF-8
|
||||||
encoding/src=UTF-8
|
encoding/src=UTF-8
|
||||||
|
|
|
@ -11,10 +11,8 @@ commands:
|
||||||
description: Official g-power command that activates the ghostie powerups
|
description: Official g-power command that activates the ghostie powerups
|
||||||
powerdown:
|
powerdown:
|
||||||
description: Offical g-power command that deactivates the ghostie powerups
|
description: Offical g-power command that deactivates the ghostie powerups
|
||||||
pressalilink:
|
alilink:
|
||||||
description: Presses an Ali Link pressalilink frequency
|
description: Arguments: <press/set>
|
||||||
setalilink:
|
|
||||||
description: Creates an Ali Link setalilink frequency
|
|
||||||
cbgm0:
|
cbgm0:
|
||||||
description: Creative Boundaries Gamemode 0 - allows players to return to survival
|
description: Creative Boundaries Gamemode 0 - allows players to return to survival
|
||||||
cbgm1:
|
cbgm1:
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
package alisolarflare.architecture.commands.subcommands;
|
||||||
|
|
||||||
|
public abstract class ModSubCommand extends SubCommand{
|
||||||
|
@Override
|
||||||
|
public boolean getPlayerOnly() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getModOnly() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
package alisolarflare.architecture.commands.subcommands;
|
||||||
|
|
||||||
|
public abstract class PlayerSubCommand extends SubCommand{
|
||||||
|
@Override
|
||||||
|
public boolean getModOnly() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getPlayerOnly() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
package alisolarflare.architecture.commands.subcommands;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public abstract class SubCommand {
|
||||||
|
public abstract boolean run(Player player, String label, String[] args);
|
||||||
|
public abstract boolean getPlayerOnly();
|
||||||
|
public abstract boolean getModOnly();
|
||||||
|
public abstract String[] GetHelpText(String alias);
|
||||||
|
}
|
|
@ -8,23 +8,21 @@ import org.bukkit.Server;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import alisolarflare.architecture.Component;
|
import alisolarflare.architecture.Component;
|
||||||
import alisolarflare.components.alilinks.commands.PressAliLink;
|
import alisolarflare.components.alilinks.commands.AliLink;
|
||||||
import alisolarflare.components.alilinks.commands.SetAliLink;
|
|
||||||
import alisolarflare.components.alilinks.entities.Link;
|
import alisolarflare.components.alilinks.entities.Link;
|
||||||
|
|
||||||
public class AliLinkComponent extends Component {
|
public class AliLinkComponent extends Component {
|
||||||
|
|
||||||
private List<Link> linkList;
|
private List<Link> linkList;
|
||||||
private List<Map<String,String>> linkData;
|
private List<Map<String,String>> linkMap;
|
||||||
@Override
|
@Override
|
||||||
public void register(JavaPlugin plugin) {
|
public void register(JavaPlugin plugin) {
|
||||||
this.linkList = MapToLinkList(plugin.getConfig().getMapList("aliLinkList"), plugin.getServer());
|
this.linkList = MapToLinkList(plugin.getConfig().getMapList("aliLinkList"), plugin.getServer());
|
||||||
for (Link link: linkList){
|
for (Link link: linkList){
|
||||||
linkData.add(link.toMap());
|
linkMap.add(link.toMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
registerCommand(plugin, new PressAliLink(plugin, linkList));
|
registerCommand(plugin, new AliLink(plugin, linkList));
|
||||||
registerCommand(plugin, new SetAliLink(plugin.getConfig(), linkList, linkData));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|
|
@ -1,29 +1,60 @@
|
||||||
package alisolarflare.components.alilinks.commands;
|
package alisolarflare.components.alilinks.commands;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.PlayerCommand;
|
import alisolarflare.architecture.commands.PlayerCommand;
|
||||||
import alisolarflare.components.alilinks.entities.Link;
|
import alisolarflare.components.alilinks.entities.Link;
|
||||||
|
|
||||||
public class SetAliLink extends PlayerCommand {
|
public class AliLink extends PlayerCommand{
|
||||||
public List<Link> linkList;
|
private JavaPlugin plugin;
|
||||||
public List<Map<String, String>> linkData;
|
private List<Link> linkList;
|
||||||
private FileConfiguration config;
|
|
||||||
|
|
||||||
public SetAliLink(FileConfiguration config, List<Link> linkList, List<Map<String, String>> linkData) {
|
public AliLink(JavaPlugin plugin, List<Link> linkList) {
|
||||||
|
this.plugin = plugin;
|
||||||
this.linkList = linkList;
|
this.linkList = linkList;
|
||||||
this.linkData = linkData;
|
}
|
||||||
this.config = config;
|
@Override
|
||||||
|
public boolean OnCommand(Player player, String alias, String[] args) {
|
||||||
|
if(args.length < 1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
switch (args[0].toLowerCase()){
|
||||||
|
case "press":
|
||||||
|
return press(player, alias, args);
|
||||||
|
case "set":
|
||||||
|
return set(player, alias, args);
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
}
|
||||||
public boolean OnCommand(Player player, String label, String[] args) {
|
/**"Usage: /pressalilink <frequency>"*/
|
||||||
|
private boolean press(Player player, String alias, String[] inputFrequencies) {
|
||||||
|
if (inputFrequencies.length == 0) {
|
||||||
|
player.sendMessage("You must specify a link frequency");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> inputFrequencyList= Arrays.asList(inputFrequencies);
|
||||||
|
for (Link link : linkList) {
|
||||||
|
if(inputFrequencyList.contains(link.frequency)){
|
||||||
|
link.press(plugin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
player.sendMessage("Link pressed!");
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**Usage: /setalilink <frequency> [x] [y] [z]*/
|
||||||
|
public boolean set(Player player, String label, String[] args) {
|
||||||
if (args == null || args.length < 1) {
|
if (args == null || args.length < 1) {
|
||||||
player.sendMessage("You must specify a link frequency");
|
player.sendMessage("You must specify a link frequency");
|
||||||
player.sendMessage("/pressalilink [name]");
|
player.sendMessage("/pressalilink [name]");
|
||||||
|
@ -49,17 +80,7 @@ public class SetAliLink extends PlayerCommand {
|
||||||
|
|
||||||
Link link = new Link(frequency, world, x, y, z);
|
Link link = new Link(frequency, world, x, y, z);
|
||||||
linkList.add(link);
|
linkList.add(link);
|
||||||
linkData.add(link.toMap());
|
|
||||||
saveLinkList();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
private void saveLinkList(){
|
|
||||||
config.set("aliLinkList", linkData);
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public String[] GetHelpText(String alias){
|
|
||||||
return new String[]{
|
|
||||||
"Usage: /setalilink <frequency> [x] [y] [z]"
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,43 +0,0 @@
|
||||||
package alisolarflare.components.alilinks.commands;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.PlayerCommand;
|
|
||||||
import alisolarflare.components.alilinks.entities.Link;
|
|
||||||
|
|
||||||
public class PressAliLink extends PlayerCommand {
|
|
||||||
private JavaPlugin plugin;
|
|
||||||
private List<Link> linkList;
|
|
||||||
|
|
||||||
public PressAliLink(JavaPlugin plugin, List<Link> linkList) {
|
|
||||||
this.plugin = plugin;
|
|
||||||
this.linkList = linkList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String label, String[] inputFrequencies) {
|
|
||||||
if (inputFrequencies.length < 1) {
|
|
||||||
player.sendMessage("You must specify a link frequency");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Link link : linkList) {
|
|
||||||
for (String frequency : inputFrequencies) {
|
|
||||||
if (frequency.equals(link.frequency)) {
|
|
||||||
link.press(plugin);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
player.sendMessage("Link pressed!");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public String[] GetHelpText(String alias){
|
|
||||||
return new String[]{
|
|
||||||
"Usage: /pressalilink <frequency>"
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -12,6 +12,7 @@ import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import alisolarflare.components.alilinks.tasks.UnpressTask;
|
import alisolarflare.components.alilinks.tasks.UnpressTask;
|
||||||
|
|
||||||
public class Link{
|
public class Link{
|
||||||
|
|
||||||
public String frequency;
|
public String frequency;
|
||||||
public World world;
|
public World world;
|
||||||
public int x;
|
public int x;
|
||||||
|
|
|
@ -23,8 +23,6 @@ public class Cbgm0 extends PlayerCommand{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public String[] GetHelpText(String alias){
|
public String[] GetHelpText(String alias){
|
||||||
return new String[]{
|
return new String[]{"Creative Boundaries Usage: /cbgm0"};
|
||||||
"Creative Boundaries Usage: /cbgm0"
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
package alisolarflare.components.creativeboundaries.listeners;
|
|
||||||
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
|
|
||||||
public class ItemRestrictionListener implements Listener {
|
|
||||||
}
|
|
|
@ -4,13 +4,6 @@ import org.bukkit.Location;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import alisolarflare.architecture.Component;
|
import alisolarflare.architecture.Component;
|
||||||
import alisolarflare.components.easyuhc.commands.ActivatePowers;
|
|
||||||
import alisolarflare.components.easyuhc.commands.SetUHCLobby;
|
|
||||||
import alisolarflare.components.easyuhc.commands.SetWorldBorders;
|
|
||||||
import alisolarflare.components.easyuhc.commands.SpreadPlayers;
|
|
||||||
import alisolarflare.components.easyuhc.commands.StartTimer;
|
|
||||||
import alisolarflare.components.easyuhc.commands.StartUHC;
|
|
||||||
import alisolarflare.components.easyuhc.commands.TeleportToUHC;
|
|
||||||
|
|
||||||
public class EasyUHCComponent extends Component{
|
public class EasyUHCComponent extends Component{
|
||||||
public Location lobbyLocation;
|
public Location lobbyLocation;
|
||||||
|
@ -19,14 +12,14 @@ public class EasyUHCComponent extends Component{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
registerCommand(plugin, new ActivatePowers());
|
// registerCommand(plugin, new ActivatePowers());
|
||||||
registerCommand(plugin, new SetUHCLobby(this));
|
// registerCommand(plugin, new SetUHCLobby(this));
|
||||||
registerCommand(plugin, new SetWorldBorders());
|
// registerCommand(plugin, new SetWorldBorders());
|
||||||
registerCommand(plugin, new SetWorldBorders());
|
// registerCommand(plugin, new SetWorldBorders());
|
||||||
registerCommand(plugin, new SpreadPlayers());
|
// registerCommand(plugin, new SpreadPlayers());
|
||||||
registerCommand(plugin, new StartTimer());
|
// registerCommand(plugin, new StartTimer());
|
||||||
registerCommand(plugin, new StartUHC());
|
// registerCommand(plugin, new StartUHC());
|
||||||
registerCommand(plugin, new TeleportToUHC());
|
// registerCommand(plugin, new TeleportToUHC());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
package alisolarflare.components.easyuhc.commands;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.ModCommand;
|
|
||||||
|
|
||||||
public class ActivatePowers extends ModCommand{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
package alisolarflare.components.easyuhc.commands;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.ModCommand;
|
|
||||||
import alisolarflare.components.easyuhc.EasyUHCComponent;
|
|
||||||
|
|
||||||
public class SetUHCLobby extends ModCommand{
|
|
||||||
EasyUHCComponent module;
|
|
||||||
public SetUHCLobby(EasyUHCComponent easyUHCModule) {
|
|
||||||
this.module = easyUHCModule;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
|
||||||
module.lobbyLocation = player.getLocation();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package alisolarflare.components.easyuhc.commands;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.ModCommand;
|
|
||||||
|
|
||||||
public class SetWorldBorders extends ModCommand {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package alisolarflare.components.easyuhc.commands;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.ModCommand;
|
|
||||||
|
|
||||||
public class ShrinkWorldBorders extends ModCommand {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
package alisolarflare.components.easyuhc.commands;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.ModCommand;
|
|
||||||
|
|
||||||
public class SpreadPlayers extends ModCommand{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package alisolarflare.components.easyuhc.commands;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.ModCommand;
|
|
||||||
|
|
||||||
public class StartTimer extends ModCommand{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package alisolarflare.components.easyuhc.commands;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.ModCommand;
|
|
||||||
|
|
||||||
public class StartUHC extends ModCommand{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package alisolarflare.components.easyuhc.commands;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.PlayerCommand;
|
|
||||||
|
|
||||||
public class TeleportToUHC extends PlayerCommand{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -14,38 +14,56 @@ public class PlayerProximityLoop extends BukkitRunnable implements Listener{
|
||||||
private Location startLocation;
|
private Location startLocation;
|
||||||
private Location endLocation;
|
private Location endLocation;
|
||||||
|
|
||||||
|
private int sX;
|
||||||
|
private int sY;
|
||||||
|
private int sZ;
|
||||||
|
private int eX;
|
||||||
|
private int eY;
|
||||||
|
private int eZ;
|
||||||
|
|
||||||
public PlayerProximityLoop(JavaPlugin plugin, FlairDoorComponent component) {
|
public PlayerProximityLoop(JavaPlugin plugin, FlairDoorComponent component) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.component = component;
|
this.component = component;
|
||||||
this.startLocation = component.startLocation;
|
setStartLocation(component.startLocation);
|
||||||
this.endLocation = component.endLocation;
|
setEndLocation(component.endLocation);
|
||||||
this.runTaskTimer(plugin, 0, 20);
|
this.runTaskTimer(plugin, 0, 20);
|
||||||
}
|
}
|
||||||
|
public void setStartLocation(Location location){
|
||||||
|
this.sX = startLocation.getBlockX();
|
||||||
|
this.sY = startLocation.getBlockY();
|
||||||
|
this.sZ = startLocation.getBlockZ();
|
||||||
|
this.startLocation = location;
|
||||||
|
this.endLocation.setWorld(location.getWorld());
|
||||||
|
}
|
||||||
|
public void setEndLocation(Location location){
|
||||||
|
this.eX = startLocation.getBlockX();
|
||||||
|
this.eY = startLocation.getBlockY();
|
||||||
|
this.eZ = startLocation.getBlockZ();
|
||||||
|
this.endLocation = location;
|
||||||
|
this.startLocation.setWorld(location.getWorld());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (startLocation == null || endLocation == null){
|
if (startLocation == null || endLocation == null){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int sX = startLocation.getBlockX();
|
|
||||||
int sY = startLocation.getBlockY();
|
|
||||||
int sZ = startLocation.getBlockZ();
|
|
||||||
int eX = endLocation.getBlockX();
|
|
||||||
int eY = endLocation.getBlockY();
|
|
||||||
int eZ = endLocation.getBlockZ();
|
|
||||||
int playerX;
|
int playerX;
|
||||||
int playerY;
|
int playerY;
|
||||||
int playerZ;
|
int playerZ;
|
||||||
|
Location playerLocation;
|
||||||
for (Player player : plugin.getServer().getOnlinePlayers()){
|
for (Player player : plugin.getServer().getOnlinePlayers()){
|
||||||
playerX = player.getLocation().getBlockX();
|
playerLocation = player.getLocation();
|
||||||
playerY = player.getLocation().getBlockY();
|
if(playerLocation.getWorld() != startLocation.getWorld())
|
||||||
playerZ = player.getLocation().getBlockZ();
|
|
||||||
if(player.getLocation().getWorld() != startLocation.getWorld())
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
playerX = playerLocation.getBlockX();
|
||||||
if((playerX < sX && playerX < eX) || (playerX > sX && playerX > eX))
|
if((playerX < sX && playerX < eX) || (playerX > sX && playerX > eX))
|
||||||
continue;
|
continue;
|
||||||
|
playerY = playerLocation.getBlockY();
|
||||||
if((playerY < sY && playerY < eY) || (playerY > sY && playerY > eY))
|
if((playerY < sY && playerY < eY) || (playerY > sY && playerY > eY))
|
||||||
continue;
|
continue;
|
||||||
|
playerZ = playerLocation.getBlockZ();
|
||||||
if((playerZ < sZ && playerZ < eZ) || (playerZ > sZ && playerZ > eZ))
|
if((playerZ < sZ && playerZ < eZ) || (playerZ > sZ && playerZ > eZ))
|
||||||
continue;
|
continue;
|
||||||
component.playersToBeFlaired.add(player);
|
component.playersToBeFlaired.add(player);
|
||||||
|
|
|
@ -12,6 +12,7 @@ import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.Action;
|
import org.bukkit.event.block.Action;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.PlayerInventory;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
@ -41,26 +42,27 @@ public class BoomBowListener implements Listener {
|
||||||
|
|
||||||
//PLAYER SANITATION
|
//PLAYER SANITATION
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
if(player.getGameMode().equals(GameMode.CREATIVE))return;
|
PlayerInventory inventory = player.getInventory();
|
||||||
|
if(player.getGameMode().equals(GameMode.SPECTATOR))return;
|
||||||
|
|
||||||
if(bow.containsEnchantment(Enchantment.ARROW_INFINITE)){
|
if(bow.containsEnchantment(Enchantment.ARROW_INFINITE)){
|
||||||
//HAS INIFINITY
|
//HAS INIFINITY
|
||||||
Activate(event);
|
Activate(event);
|
||||||
|
|
||||||
}else if((player.getInventory().contains(Material.TNT))){
|
}else if((inventory.contains(Material.TNT))){
|
||||||
//HAS TNT
|
//HAS TNT
|
||||||
Activate(event);
|
Activate(event);
|
||||||
|
|
||||||
//Reduce tnt by 1
|
//Reduce TNT
|
||||||
int tntSlot = player.getInventory().first(Material.TNT);
|
ItemStack tnt = inventory.getItem(inventory.first(Material.TNT));
|
||||||
ItemStack tntStack = player.getInventory().getItem(tntSlot);
|
|
||||||
if(tntStack.getAmount() > 3){
|
if(tnt.getAmount() > 3){
|
||||||
tntStack.setAmount(tntStack.getAmount()-3);
|
tnt.setAmount(tnt.getAmount()-3);
|
||||||
}else{
|
}else{
|
||||||
player.getInventory().remove(tntStack);
|
inventory.remove(tnt);
|
||||||
}
|
}
|
||||||
if (bow.getDurability() < 0){
|
if (bow.getDurability() < 0){
|
||||||
player.getInventory().clear(player.getInventory().getHeldItemSlot());
|
inventory.clear(inventory.getHeldItemSlot());
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
@ -100,10 +102,9 @@ public class BoomBowListener implements Listener {
|
||||||
player.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, playerLocation, 2);
|
player.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, playerLocation, 2);
|
||||||
player.damage(7.42425, player);
|
player.damage(7.42425, player);
|
||||||
boomBow.setDurability((short) (boomBow.getDurability() + 3));
|
boomBow.setDurability((short) (boomBow.getDurability() + 3));
|
||||||
if(boomBow.getDurability() < 0){
|
if(boomBow.getDurability() > 385){
|
||||||
player.getInventory().setItemInMainHand(null);
|
player.getInventory().setItemInMainHand(null);
|
||||||
player.getWorld().playSound(playerLocation, Sound.ENTITY_ITEM_BREAK, 0, 0)
|
player.getWorld().playSound(playerLocation, Sound.ENTITY_ITEM_BREAK, 0, 0);
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
public class CannonBowListener implements Listener {
|
public class CannonBowListener implements Listener {
|
||||||
|
public final static String launchedTNTName = "CANNON BOW TNT:42170";
|
||||||
JavaPlugin plugin;
|
JavaPlugin plugin;
|
||||||
public CannonBowListener(JavaPlugin plugin){
|
public CannonBowListener(JavaPlugin plugin){
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
@ -24,32 +25,33 @@ public class CannonBowListener implements Listener {
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onProjectileLaunch(ProjectileLaunchEvent event){
|
public void onProjectileLaunch(ProjectileLaunchEvent event){
|
||||||
if(event.getEntity().getType() != EntityType.ARROW)
|
//ENTITY SANITATION
|
||||||
return;
|
if(event.getEntity().getType() != EntityType.ARROW)return;
|
||||||
|
|
||||||
|
//ARROW SANITATION
|
||||||
Arrow arrow = (Arrow) event.getEntity();
|
Arrow arrow = (Arrow) event.getEntity();
|
||||||
if (!(arrow.isCritical()) || !(arrow.getShooter() instanceof Player))
|
if (!(arrow.isCritical()) || !(arrow.getShooter() instanceof Player))return;
|
||||||
return;
|
|
||||||
|
//PLAYER SANITATION
|
||||||
Player player = (Player) arrow.getShooter();
|
Player player = (Player) arrow.getShooter();
|
||||||
|
if (!player.getInventory().contains(Material.TNT))return;
|
||||||
|
|
||||||
|
//BOW SANITATION
|
||||||
ItemStack bow;
|
ItemStack bow;
|
||||||
if ((bow = player.getInventory().getItemInMainHand()).getType() != Material.BOW)
|
if (!((bow = player.getInventory().getItemInMainHand()).getType() == Material.BOW))return;
|
||||||
return;
|
if (!(bow.containsEnchantment(Enchantment.PROTECTION_EXPLOSIONS)))return;
|
||||||
if (!bow.containsEnchantment(Enchantment.PROTECTION_EXPLOSIONS))
|
if (!(bow.getEnchantmentLevel(Enchantment.PROTECTION_EXPLOSIONS) == 10))return;
|
||||||
return;
|
if (!(bow.getItemMeta().getDisplayName().toUpperCase().contains("CANNON BOW")))return;
|
||||||
if(!(bow.getEnchantmentLevel(Enchantment.PROTECTION_EXPLOSIONS) == 10))
|
|
||||||
return;
|
|
||||||
if (!bow.getItemMeta().getDisplayName().toUpperCase().contains("CANNON BOW"))
|
|
||||||
return;
|
|
||||||
if (!player.getInventory().contains(Material.TNT))
|
|
||||||
return;
|
|
||||||
|
|
||||||
TNTPrimed tnt = (TNTPrimed) arrow.getWorld().spawnEntity(arrow.getLocation(), EntityType.PRIMED_TNT);
|
TNTPrimed tnt = (TNTPrimed) arrow.getWorld().spawnEntity(arrow.getLocation(), EntityType.PRIMED_TNT);
|
||||||
tnt.setVelocity(player.getEyeLocation().getDirection().normalize().multiply(1.0));
|
tnt.setVelocity(player.getEyeLocation().getDirection().normalize().multiply(1.0));
|
||||||
tnt.setCustomName("CANNON BOW TNT");
|
tnt.setCustomName(launchedTNTName);
|
||||||
tnt.setFuseTicks(40);
|
tnt.setFuseTicks(40);
|
||||||
|
|
||||||
player.setVelocity(player.getEyeLocation().getDirection().normalize().multiply(-1));
|
player.setVelocity(player.getEyeLocation().getDirection().normalize().multiply(-1));
|
||||||
player.getWorld().playSound(player.getLocation(), Sound.ENTITY_GENERIC_EXPLODE, 2.0F, 0);
|
player.getWorld().playSound(player.getLocation(), Sound.ENTITY_GENERIC_EXPLODE, 2.0F, 0);
|
||||||
player.getWorld().spawnParticle(Particle.EXPLOSION_NORMAL, player.getLocation(), 1);
|
player.getWorld().spawnParticle(Particle.EXPLOSION_HUGE, player.getLocation(), 2);
|
||||||
|
|
||||||
arrow.remove();
|
arrow.remove();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -57,10 +59,9 @@ public class CannonBowListener implements Listener {
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onTnTExplode(EntityExplodeEvent event) {
|
public void onTnTExplode(EntityExplodeEvent event) {
|
||||||
if (event.getEntityType() != EntityType.PRIMED_TNT)
|
if (event.getEntityType() != EntityType.PRIMED_TNT) return;
|
||||||
return;
|
if (!event.getEntity().getCustomName().equals(launchedTNTName)) return;
|
||||||
if (!event.getEntity().getCustomName().equals("CANNON BOW TNT"))
|
|
||||||
return;
|
|
||||||
Location loc = event.getEntity().getLocation();
|
Location loc = event.getEntity().getLocation();
|
||||||
event.getEntity().getWorld().createExplosion(loc.getX(), loc.getY(), loc.getZ(), 3, false, false);
|
event.getEntity().getWorld().createExplosion(loc.getX(), loc.getY(), loc.getZ(), 3, false, false);
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
|
@ -2,6 +2,7 @@ package alisolarflare.components.minigames;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import alisolarflare.architecture.Component;
|
import alisolarflare.architecture.Component;
|
||||||
|
@ -14,7 +15,7 @@ import alisolarflare.components.minigames.data.SpawnSet;
|
||||||
public class MinigameComponent extends Component{
|
public class MinigameComponent extends Component{
|
||||||
public SpawnSet spawnSet;
|
public SpawnSet spawnSet;
|
||||||
public List<String> fighters;
|
public List<String> fighters;
|
||||||
private GameState gameState;
|
public GameState gameState;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void register(JavaPlugin plugin) {
|
public void register(JavaPlugin plugin) {
|
||||||
|
@ -25,9 +26,11 @@ public class MinigameComponent extends Component{
|
||||||
registerCommand(plugin, new ListFighters(this));
|
registerCommand(plugin, new ListFighters(this));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public class Fighter {
|
||||||
public GameState getGameState() {return gameState;}
|
public Player player;
|
||||||
public void setGameState(GameState gameState) {this.gameState = gameState;}
|
public String colour;
|
||||||
|
public Fighter(Player player, String colour){
|
||||||
|
this.colour = colour;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,28 +1,25 @@
|
||||||
package alisolarflare.components.minigames.commands;
|
package alisolarflare.components.minigames.commands;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.PlayerCommand;
|
import alisolarflare.architecture.commands.PlayerCommand;
|
||||||
import alisolarflare.components.minigames.MinigameComponent;
|
import alisolarflare.components.minigames.MinigameComponent;
|
||||||
|
|
||||||
public class JoinMinigame extends PlayerCommand {
|
public class JoinMinigame extends PlayerCommand {
|
||||||
private MinigameComponent module;
|
private List<String> fighterList;
|
||||||
|
|
||||||
public JoinMinigame(MinigameComponent module) {
|
public JoinMinigame(MinigameComponent component) {
|
||||||
this.module = module;
|
this.fighterList = component.fighters;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean OnCommand(Player player, String arg2, String[] arg3) {
|
public boolean OnCommand(Player player, String arg2, String[] arg3) {
|
||||||
String name = player.getName();
|
if (fighterList.contains(player.getName())) {
|
||||||
if (module.fighters.contains(name)) {
|
|
||||||
player.sendMessage("You are already in the minigame!");
|
player.sendMessage("You are already in the minigame!");
|
||||||
return true;
|
}else{
|
||||||
}
|
fighterList.add(player.getName());
|
||||||
|
|
||||||
module.fighters.add(name);
|
|
||||||
|
|
||||||
if (module.fighters.contains(name)) {
|
|
||||||
player.sendMessage("You have joined the minigame!");
|
player.sendMessage("You have joined the minigame!");
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
package alisolarflare.components.minigames.commands;
|
package alisolarflare.components.minigames.commands;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import alisolarflare.architecture.commands.PlayerCommand;
|
import alisolarflare.architecture.commands.PlayerCommand;
|
||||||
import alisolarflare.components.minigames.MinigameComponent;
|
import alisolarflare.components.minigames.MinigameComponent;
|
||||||
|
|
||||||
public class LeaveMinigame extends PlayerCommand {
|
public class LeaveMinigame extends PlayerCommand {
|
||||||
|
private List<String> fighters;
|
||||||
|
|
||||||
private MinigameComponent module;
|
public LeaveMinigame(MinigameComponent components) {
|
||||||
|
this.fighters = components.fighters;
|
||||||
public LeaveMinigame(MinigameComponent module) {
|
|
||||||
this.module = module;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -18,15 +19,14 @@ public class LeaveMinigame extends PlayerCommand {
|
||||||
if(!(player instanceof Player))
|
if(!(player instanceof Player))
|
||||||
player.sendMessage("You must be a player to use this command!");
|
player.sendMessage("You must be a player to use this command!");
|
||||||
|
|
||||||
|
|
||||||
String name = player.getName();
|
String name = player.getName();
|
||||||
if (!(module.fighters.contains(name))) {
|
if (!(fighters.contains(name))) {
|
||||||
player.sendMessage("You are not fighting!");
|
player.sendMessage("You are not fighting!");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
while(module.fighters.contains(name)){
|
while(fighters.contains(name)){
|
||||||
module.fighters.remove(name);
|
fighters.remove(name);
|
||||||
}
|
}
|
||||||
player.sendMessage("You have left the fighters category!");
|
player.sendMessage("You have left the fighters category!");
|
||||||
|
|
||||||
|
|
|
@ -6,15 +6,15 @@ import alisolarflare.architecture.commands.PlayerCommand;
|
||||||
import alisolarflare.components.minigames.MinigameComponent;
|
import alisolarflare.components.minigames.MinigameComponent;
|
||||||
|
|
||||||
public class ListFighters extends PlayerCommand {
|
public class ListFighters extends PlayerCommand {
|
||||||
private MinigameComponent lobby;
|
private MinigameComponent component;
|
||||||
|
|
||||||
public ListFighters(MinigameComponent lobby) {
|
public ListFighters(MinigameComponent component) {
|
||||||
this.lobby = lobby;
|
this.component = component;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean OnCommand(Player player, String arg2, String[] arg3) {
|
public boolean OnCommand(Player player, String arg2, String[] arg3) {
|
||||||
player.sendMessage(lobby.fighters.toString());
|
player.sendMessage(component.fighters.toString());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -24,32 +24,32 @@ public class SetColourSpawn extends ModCommand{
|
||||||
switch(input){
|
switch(input){
|
||||||
case ("r"):
|
case ("r"):
|
||||||
player.sendMessage("Setting Red Spawn...");
|
player.sendMessage("Setting Red Spawn...");
|
||||||
spawnSet.setRSpawn(player.getLocation());
|
spawnSet.RSpawn = player.getLocation();
|
||||||
player.sendMessage("Red Spawn Set!");
|
player.sendMessage("Red Spawn Set!");
|
||||||
break;
|
break;
|
||||||
case ("o"):
|
case ("o"):
|
||||||
player.sendMessage("Setting Orange Spawn...");
|
player.sendMessage("Setting Orange Spawn...");
|
||||||
spawnSet.setRSpawn(player.getLocation());
|
spawnSet.OSpawn = player.getLocation();
|
||||||
player.sendMessage("Orange Spawn Set!");
|
player.sendMessage("Orange Spawn Set!");
|
||||||
break;
|
break;
|
||||||
case ("y"):
|
case ("y"):
|
||||||
player.sendMessage("Setting Yellow Spawn...");
|
player.sendMessage("Setting Yellow Spawn...");
|
||||||
spawnSet.setRSpawn(player.getLocation());
|
spawnSet.YSpawn = player.getLocation();
|
||||||
player.sendMessage("Yellow Spawn Set!");
|
player.sendMessage("Yellow Spawn Set!");
|
||||||
break;
|
break;
|
||||||
case ("g"):
|
case ("g"):
|
||||||
player.sendMessage("Setting Green Spawn...");
|
player.sendMessage("Setting Green Spawn...");
|
||||||
spawnSet.setRSpawn(player.getLocation());
|
spawnSet.GSpawn = player.getLocation();
|
||||||
player.sendMessage("Green Spawn Set!");
|
player.sendMessage("Green Spawn Set!");
|
||||||
break;
|
break;
|
||||||
case ("b"):
|
case ("b"):
|
||||||
player.sendMessage("Setting Blue Spawn...");
|
player.sendMessage("Setting Blue Spawn...");
|
||||||
spawnSet.setRSpawn(player.getLocation());
|
spawnSet.BSpawn = player.getLocation();
|
||||||
player.sendMessage("Blue Spawn Set!");
|
player.sendMessage("Blue Spawn Set!");
|
||||||
break;
|
break;
|
||||||
case ("p"):
|
case ("p"):
|
||||||
player.sendMessage("Setting Purple Spawn...");
|
player.sendMessage("Setting Purple Spawn...");
|
||||||
spawnSet.setRSpawn(player.getLocation());
|
spawnSet.PSpawn = player.getLocation();
|
||||||
player.sendMessage("Purple Spawn Set!");
|
player.sendMessage("Purple Spawn Set!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,25 +3,11 @@ package alisolarflare.components.minigames.data;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
|
||||||
public class SpawnSet {
|
public class SpawnSet {
|
||||||
private Location RSpawn;
|
public Location RSpawn;
|
||||||
private Location OSpawn;
|
public Location OSpawn;
|
||||||
private Location YSpawn;
|
public Location YSpawn;
|
||||||
private Location GSpawn;
|
public Location GSpawn;
|
||||||
private Location BSpawn;
|
public Location BSpawn;
|
||||||
private Location PSpawn;
|
public Location PSpawn;
|
||||||
|
|
||||||
public Location getRSpawn(){return RSpawn;}
|
|
||||||
public Location getOSpawn(){return OSpawn;}
|
|
||||||
public Location getYSpawn(){return YSpawn;}
|
|
||||||
public Location getGSpawn(){return GSpawn;}
|
|
||||||
public Location getBSpawn(){return BSpawn;}
|
|
||||||
public Location getPSpawn(){return PSpawn;}
|
|
||||||
|
|
||||||
public void setRSpawn(Location RSpawn){this.RSpawn = RSpawn; return;}
|
|
||||||
public void setOSpawn(Location OSpawn){this.OSpawn = OSpawn; return;}
|
|
||||||
public void setYSpawn(Location YSpawn){this.YSpawn = YSpawn; return;}
|
|
||||||
public void setGSpawn(Location GSpawn){this.GSpawn = GSpawn; return;}
|
|
||||||
public void setBSpawn(Location BSpawn){this.BSpawn = BSpawn; return;}
|
|
||||||
public void setPSpawn(Location PSpawn){this.PSpawn = PSpawn; return;}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
package alisolarflare.components.minigames.entities;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
public class Fighter {
|
|
||||||
public Player player;
|
|
||||||
public String colour;
|
|
||||||
public Fighter(Player player, String colour){
|
|
||||||
this.colour = colour;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue