diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..f289777 --- /dev/null +++ b/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..e0b5879 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + ButtonPluginBucket + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..7341ab1 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/bin/buttondevteam/MainPlugin.class b/bin/buttondevteam/MainPlugin.class new file mode 100644 index 0000000..7790b81 Binary files /dev/null and b/bin/buttondevteam/MainPlugin.class differ diff --git a/bin/buttondevteam/alisolarflare/aliarrow/AliArrowListener.class b/bin/buttondevteam/alisolarflare/aliarrow/AliArrowListener.class new file mode 100644 index 0000000..628c718 Binary files /dev/null and b/bin/buttondevteam/alisolarflare/aliarrow/AliArrowListener.class differ diff --git a/bin/buttondevteam/alisolarflare/aliarrow/AliArrowSubPlugin.class b/bin/buttondevteam/alisolarflare/aliarrow/AliArrowSubPlugin.class new file mode 100644 index 0000000..6df8706 Binary files /dev/null and b/bin/buttondevteam/alisolarflare/aliarrow/AliArrowSubPlugin.class differ diff --git a/bin/buttondevteam/alisolarflare/aliarrow/AliArrowTask.class b/bin/buttondevteam/alisolarflare/aliarrow/AliArrowTask.class new file mode 100644 index 0000000..6c11905 Binary files /dev/null and b/bin/buttondevteam/alisolarflare/aliarrow/AliArrowTask.class differ diff --git a/src/buttondevteam/MainPlugin.java b/src/buttondevteam/MainPlugin.java new file mode 100644 index 0000000..3ff1ca0 --- /dev/null +++ b/src/buttondevteam/MainPlugin.java @@ -0,0 +1,40 @@ +package buttondevteam; + +import java.util.logging.Logger; + +import org.bukkit.plugin.PluginDescriptionFile; +import org.bukkit.plugin.java.JavaPlugin; + +import buttondevteam.alisolarflare.aliarrow.AliArrowSubPlugin; + +public class MainPlugin extends JavaPlugin { + private PluginDescriptionFile pdfFile; + private Logger logger; + private AliArrowSubPlugin aliArrowSubPlugin; + + public void onEnable(){ + //Logs "Plugin Enabled", registers commands + pdfFile = getDescription(); + logger = getLogger(); + logger.info(pdfFile.getName() + " has been started (V." + pdfFile.getVersion()+ ")."); + + registerSubPlugins(); + registerCommands(); + registerEvents(); + + logger.info(pdfFile.getName() + " has been Enabled (V." + pdfFile.getVersion()+ ")."); + } + private void registerSubPlugins() { + aliArrowSubPlugin = new AliArrowSubPlugin(this); + aliArrowSubPlugin.register(); + } + private void registerCommands() { + // TODO Auto-generated method stub + + } + private void registerEvents() { + // TODO Auto-generated method stub + + } + +} diff --git a/src/buttondevteam/alisolarflare/aliarrow/AliArrowListener.java b/src/buttondevteam/alisolarflare/aliarrow/AliArrowListener.java new file mode 100644 index 0000000..436904c --- /dev/null +++ b/src/buttondevteam/alisolarflare/aliarrow/AliArrowListener.java @@ -0,0 +1,39 @@ +package buttondevteam.alisolarflare.aliarrow; + +import org.bukkit.entity.Arrow; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Projectile; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.ProjectileLaunchEvent; +import buttondevteam.MainPlugin; + +public class AliArrowListener implements Listener { + private final MainPlugin plugin; + + public AliArrowListener(MainPlugin plugin){ + this.plugin = plugin; + } + + @SuppressWarnings("deprecation") + @EventHandler + public void onProjectileLaunch(ProjectileLaunchEvent event){ + try{ + if(!(event.getEntity().getType() == EntityType.ARROW)){ + return; + } + Projectile projectile = event.getEntity(); + if (!(projectile.getShooter().equals(plugin.getServer().getPlayer("Ali")))){ + return; + } + Arrow arrow = (Arrow) projectile; + if (!(arrow.isCritical())){ + return; + } + AliArrowTask aliArrowTask = new AliArrowTask(plugin,arrow); + aliArrowTask.runTaskTimer(plugin, 2, 1); + }catch(Exception e){ + return; + } + } +} \ No newline at end of file diff --git a/src/buttondevteam/alisolarflare/aliarrow/AliArrowSubPlugin.java b/src/buttondevteam/alisolarflare/aliarrow/AliArrowSubPlugin.java new file mode 100644 index 0000000..8fe0065 --- /dev/null +++ b/src/buttondevteam/alisolarflare/aliarrow/AliArrowSubPlugin.java @@ -0,0 +1,25 @@ +package buttondevteam.alisolarflare.aliarrow; + +import java.util.logging.Level; + +import buttondevteam.MainPlugin; + +public class AliArrowSubPlugin { + private MainPlugin plugin; + + public AliArrowSubPlugin(MainPlugin plugin){ + this.plugin = plugin; + } + public void register(){ + registerEvents(); + registerCommands(); + plugin.getLogger().log(Level.INFO, "Discord Sub Plugin Registered!"); + } + private void registerEvents(){ + plugin.getServer().getPluginManager().registerEvents(new AliArrowListener(plugin), plugin); + + } + private void registerCommands(){ + + } +} diff --git a/src/buttondevteam/alisolarflare/aliarrow/AliArrowTask.java b/src/buttondevteam/alisolarflare/aliarrow/AliArrowTask.java new file mode 100644 index 0000000..013e8fe --- /dev/null +++ b/src/buttondevteam/alisolarflare/aliarrow/AliArrowTask.java @@ -0,0 +1,30 @@ +package buttondevteam.alisolarflare.aliarrow; + +import org.bukkit.Particle; +import org.bukkit.entity.Arrow; +import org.bukkit.scheduler.BukkitRunnable; + +import buttondevteam.MainPlugin; + +public class AliArrowTask extends BukkitRunnable{ + MainPlugin plugin; + Arrow arrow; + + + + public AliArrowTask(MainPlugin plugin, Arrow arrow){ + this.plugin = plugin; + this.arrow = arrow; + } + + @Override + public void run() { + arrow.getWorld().spawnParticle(Particle.VILLAGER_HAPPY, arrow.getLocation(), 1); + if (arrow.isOnGround() || arrow.isDead()){ + this.cancel(); + } + + + } + +}