Shoved AliLinks into AliPresents
This commit is contained in:
parent
7452825503
commit
8421e2799f
8 changed files with 136 additions and 2 deletions
|
@ -5,3 +5,7 @@ version: 1.0.0
|
|||
commands:
|
||||
alishulker:
|
||||
description: Spawns a shulker at player location. /Alishulker <health> <withereffect> <invisibility=true> <experiencedrops>
|
||||
pressalilink:
|
||||
description: Presses an Ali Link. /pressalilink |frequency|
|
||||
setalilink:
|
||||
description: Creates an Ali Link. /setalilink |frequency|
|
|
@ -2,10 +2,18 @@ package alisolarflare;
|
|||
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import alisolarflare.links.AliLinkSubPlugin;
|
||||
import alisolarflare.shulker.AliShulker;
|
||||
|
||||
public class MainPlugin extends JavaPlugin{
|
||||
public void onEnable(){
|
||||
registerSubPlugins();
|
||||
registerCommands();
|
||||
}
|
||||
public void registerSubPlugins(){
|
||||
AliLinkSubPlugin alilinksubplugin = new AliLinkSubPlugin(this);
|
||||
alilinksubplugin.register();
|
||||
}
|
||||
public void registerCommands(){
|
||||
getCommand("alishulker").setExecutor(new AliShulker());
|
||||
}
|
||||
|
|
20
src/alisolarflare/links/AliLinkSubPlugin.java
Normal file
20
src/alisolarflare/links/AliLinkSubPlugin.java
Normal file
|
@ -0,0 +1,20 @@
|
|||
package alisolarflare.links;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import alisolarflare.MainPlugin;
|
||||
|
||||
public class AliLinkSubPlugin{
|
||||
public List<Link> linkList = new ArrayList<Link>();
|
||||
public MainPlugin plugin;
|
||||
public AliLinkSubPlugin(MainPlugin plugin){
|
||||
this.plugin = plugin;
|
||||
}
|
||||
public void register(){
|
||||
plugin.getCommand("pressalilink").setExecutor(new PressAliLink(this));
|
||||
plugin.getCommand("setalilink").setExecutor(new SetAliLink(this));
|
||||
|
||||
}
|
||||
|
||||
}
|
20
src/alisolarflare/links/Link.java
Normal file
20
src/alisolarflare/links/Link.java
Normal file
|
@ -0,0 +1,20 @@
|
|||
package alisolarflare.links;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
|
||||
public class Link {
|
||||
static AliLinkSubPlugin plugin;
|
||||
String frequency;
|
||||
Location location;
|
||||
|
||||
public Link(AliLinkSubPlugin plugin, String frequency, Location location){
|
||||
this.frequency = frequency;
|
||||
this.location = location;
|
||||
}
|
||||
public void press() {
|
||||
location.getBlock().setType(Material.REDSTONE_BLOCK);
|
||||
UnpressTask unPressTask = new UnpressTask(location);
|
||||
unPressTask.runTaskTimer(plugin.plugin, 2, 1);
|
||||
}
|
||||
}
|
28
src/alisolarflare/links/PressAliLink.java
Normal file
28
src/alisolarflare/links/PressAliLink.java
Normal file
|
@ -0,0 +1,28 @@
|
|||
package alisolarflare.links;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class PressAliLink implements CommandExecutor{
|
||||
private AliLinkSubPlugin subplugin;
|
||||
public PressAliLink(AliLinkSubPlugin subplugin){
|
||||
this.subplugin = subplugin;
|
||||
}
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (args == null){
|
||||
sender.sendMessage("You must specify a link frequency");
|
||||
sender.sendMessage("/pressalilink [frequency]");
|
||||
}
|
||||
for (Link link: subplugin.linkList){
|
||||
for (String inputlink: args){
|
||||
if(inputlink.equals(link.frequency)){
|
||||
link.press();
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
34
src/alisolarflare/links/SetAliLink.java
Normal file
34
src/alisolarflare/links/SetAliLink.java
Normal file
|
@ -0,0 +1,34 @@
|
|||
package alisolarflare.links;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class SetAliLink implements CommandExecutor{
|
||||
AliLinkSubPlugin subplugin;
|
||||
public SetAliLink(AliLinkSubPlugin plugin){
|
||||
this.subplugin = plugin;
|
||||
}
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (args == null){
|
||||
sender.sendMessage("You must specify a link frequency");
|
||||
sender.sendMessage("/pressalilink [name]");
|
||||
}
|
||||
if (!(sender instanceof Player)){
|
||||
sender.sendMessage("You must be a player to use this command!");
|
||||
}
|
||||
Player player = (Player) sender;
|
||||
if (args[1] == null || args[2] == null || args[3] == null){
|
||||
subplugin.linkList.add(new Link(subplugin, args[0], player.getLocation()));
|
||||
}
|
||||
if (StringUtils.isNumericSpace(args[1]) && StringUtils.isNumericSpace(args[2]) && StringUtils.isNumericSpace(args[3])){
|
||||
subplugin.linkList.add(new Link(subplugin, args[0],new Location(player.getWorld(), Double.parseDouble(args[1]), Double.parseDouble(args[2]), Double.parseDouble(args[3]))));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
20
src/alisolarflare/links/UnpressTask.java
Normal file
20
src/alisolarflare/links/UnpressTask.java
Normal file
|
@ -0,0 +1,20 @@
|
|||
package alisolarflare.links;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class UnpressTask extends BukkitRunnable {
|
||||
private Location location;
|
||||
public UnpressTask(Location location){
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public void run() {
|
||||
location.getBlock().setType(Material.STAINED_CLAY);
|
||||
location.getBlock().setData((byte) 14);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package alisolarflare;
|
||||
package alisolarflare.shulker;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.Command;
|
Loading…
Reference in a new issue