Created AliLinkAPI
This commit is contained in:
parent
e605f72b4b
commit
068a353d0d
3 changed files with 71 additions and 63 deletions
60
src/alisolarflare/components/alilinks/AliLinkAPI.java
Normal file
60
src/alisolarflare/components/alilinks/AliLinkAPI.java
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
package alisolarflare.components.alilinks;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import alisolarflare.components.alilinks.entities.Link;
|
||||||
|
|
||||||
|
public class AliLinkAPI {
|
||||||
|
private static List<Link> linkList;
|
||||||
|
/**"Usage: /pressalilink <frequency>"*/
|
||||||
|
public static boolean sendPressEvent(CommandSender sender, String[] inputFrequencies, JavaPlugin plugin) {
|
||||||
|
if (inputFrequencies.length == 0) {
|
||||||
|
sender.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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sender.sendMessage("Link pressed!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public static boolean createAliLink(Player player, String[] args) {
|
||||||
|
if (args == null || args.length < 1) {
|
||||||
|
player.sendMessage("You must specify a link frequency");
|
||||||
|
player.sendMessage("/pressalilink [name]");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
String frequency = args[0];
|
||||||
|
World world = player.getWorld();
|
||||||
|
int x = player.getLocation().getBlockX();
|
||||||
|
int y = player.getLocation().getBlockY();
|
||||||
|
int z = player.getLocation().getBlockZ();
|
||||||
|
|
||||||
|
if (args.length > 4) {
|
||||||
|
boolean arg1isNumber = StringUtils.isNumericSpace(args[1]);
|
||||||
|
boolean arg2isNumber = StringUtils.isNumericSpace(args[2]);
|
||||||
|
boolean arg3isNumber = StringUtils.isNumericSpace(args[3]);
|
||||||
|
if (arg1isNumber && arg2isNumber && arg3isNumber) {
|
||||||
|
x = Integer.parseInt(args[1]);
|
||||||
|
y = Integer.parseInt(args[2]);
|
||||||
|
z = Integer.parseInt(args[3]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Link link = new Link(frequency, world, x, y, z);
|
||||||
|
linkList.add(link);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,8 +13,8 @@ import alisolarflare.components.alilinks.entities.Link;
|
||||||
|
|
||||||
public class AliLinkComponent extends Component {
|
public class AliLinkComponent extends Component {
|
||||||
|
|
||||||
private List<Link> linkList;
|
|
||||||
private List<Map<String,String>> linkMap;
|
private List<Map<String,String>> linkMap;
|
||||||
|
private List<Link> linkList;
|
||||||
@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());
|
||||||
|
@ -22,7 +22,7 @@ public class AliLinkComponent extends Component {
|
||||||
linkMap.add(link.toMap());
|
linkMap.add(link.toMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
registerCommand(plugin, new AliLink(plugin, linkList));
|
registerCommand(plugin, new AliLink(plugin));
|
||||||
|
|
||||||
}
|
}
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|
|
@ -1,86 +1,34 @@
|
||||||
package alisolarflare.components.alilinks.commands;
|
package alisolarflare.components.alilinks.commands;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
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.AliLinkAPI;
|
||||||
|
|
||||||
public class AliLink extends PlayerCommand{
|
public class AliLink extends PlayerCommand{
|
||||||
private JavaPlugin plugin;
|
private JavaPlugin plugin;
|
||||||
private List<Link> linkList;
|
|
||||||
|
|
||||||
public AliLink(JavaPlugin plugin, List<Link> linkList) {
|
public AliLink(JavaPlugin plugin) {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.linkList = linkList;
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
public boolean OnCommand(Player player, String alias, String[] inputFrequencies) {
|
||||||
if(args.length < 1)
|
if(inputFrequencies.length < 1)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
switch (args[0].toLowerCase()){
|
switch (inputFrequencies[0].toLowerCase()){
|
||||||
case "press":
|
case "press":
|
||||||
return press(player, alias, args);
|
return AliLinkAPI.sendPressEvent(player, inputFrequencies, plugin);
|
||||||
case "set":
|
case "set":
|
||||||
return set(player, alias, args);
|
AliLinkAPI.createAliLink(player, inputFrequencies);
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/**"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) {
|
|
||||||
player.sendMessage("You must specify a link frequency");
|
|
||||||
player.sendMessage("/pressalilink [name]");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
String frequency = args[0];
|
|
||||||
World world = player.getWorld();
|
|
||||||
int x = player.getLocation().getBlockX();
|
|
||||||
int y = player.getLocation().getBlockY();
|
|
||||||
int z = player.getLocation().getBlockZ();
|
|
||||||
|
|
||||||
if (args.length > 4) {
|
|
||||||
boolean arg1isNumber = StringUtils.isNumericSpace(args[1]);
|
|
||||||
boolean arg2isNumber = StringUtils.isNumericSpace(args[2]);
|
|
||||||
boolean arg3isNumber = StringUtils.isNumericSpace(args[3]);
|
|
||||||
if (arg1isNumber && arg2isNumber && arg3isNumber) {
|
|
||||||
x = Integer.parseInt(args[1]);
|
|
||||||
y = Integer.parseInt(args[2]);
|
|
||||||
z = Integer.parseInt(args[3]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Link link = new Link(frequency, world, x, y, z);
|
|
||||||
linkList.add(link);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue