commit ac750ba3b1081518fe0b84f946a71cbb3a75262f Author: YouHaveTrouble Date: Fri Feb 14 21:02:30 2020 +0100 prototype diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..744289d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Project exclude paths +/target/ \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..25c6ff8 --- /dev/null +++ b/pom.xml @@ -0,0 +1,47 @@ + + + 4.0.0 + + eu.endermite + jojoreference + 1.0-SNAPSHOT + + + install + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + + org.bukkit + bukkit + 1.15.2-R0.1-SNAPSHOT + jar + provided + + + org.spigotmc + spigot-api + 1.15.2-R0.1-SNAPSHOT + jar + provided + + + \ No newline at end of file diff --git a/src/main/java/eu/endermite/jojoreference/JojoReference.java b/src/main/java/eu/endermite/jojoreference/JojoReference.java new file mode 100644 index 0000000..9dbc7a3 --- /dev/null +++ b/src/main/java/eu/endermite/jojoreference/JojoReference.java @@ -0,0 +1,21 @@ +package eu.endermite.jojoreference; + +import eu.endermite.jojoreference.commands.JojoCommand; +import eu.endermite.jojoreference.runnables.JojoRunnables; +import org.bukkit.plugin.java.JavaPlugin; + +public class JojoReference extends JavaPlugin { + + private static JojoReference plugin; + public static JojoReference getPlugin(){ return plugin; } + private static JojoRunnables runnables; + public static JojoRunnables getRunnables() {return runnables;} + + public void onEnable() { + plugin = this; + runnables = new JojoRunnables(); + + getLogger().info("You expected a reference plugin, but it was me, Dio!"); + getCommand("jojo").setExecutor(new JojoCommand()); + } +} diff --git a/src/main/java/eu/endermite/jojoreference/commands/JojoCommand.java b/src/main/java/eu/endermite/jojoreference/commands/JojoCommand.java new file mode 100644 index 0000000..8ca6f58 --- /dev/null +++ b/src/main/java/eu/endermite/jojoreference/commands/JojoCommand.java @@ -0,0 +1,129 @@ +package eu.endermite.jojoreference.commands; + +import eu.endermite.jojoreference.JojoReference; +import eu.endermite.jojoreference.runnables.JojoRunnables; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.World; +import org.bukkit.command.*; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; + +public class JojoCommand implements CommandExecutor { + + @Override + public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) { + + if (args.length > 0) { + if (args[0].equals("help")) { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e&lDIO says:")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo help &rwill display this message")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo wryyy &rwill make everyone wryyyyyyy")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo gravity &rwill make everyone question their beliefs")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo zawarudo &rwill stop time for 10 seconds")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo madeinheaven &rwill make an entire new universe")); + return true; + } + + if (args[0].equals("wryyy")) { + if (args.length == 1) { + if (commandSender.hasPermission("jojo.wryyy")) { + for (Player p : Bukkit.getOnlinePlayers()) { + p.chat("Wryyyyyyyyyyyyy!"); + } + return true; + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cI'm sorry, but I can't let you do that")); + return true; + } + } else if (args.length == 2) { + if (commandSender.hasPermission("jojo.wryyy.others")) { + if (Bukkit.getPlayer(args[1]) instanceof Player) { + Bukkit.getPlayer(args[1]).chat("Wryyyyyyyyyyyyy!"); + return true; + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&eDidn't find a player with that name online")); + return true; + } + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cI'm sorry, but I can't let you do that")); + } return true; + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cThat's waaay too many arguments! Try &e/jojo wryyy [player]")); + return true; + } + } + + if (args[0].equals("gravity")) { + if (args.length == 1) { + if (commandSender.hasPermission("jojo.gravity")) { + for (Player p : Bukkit.getOnlinePlayers()) { + new PotionEffect(PotionEffectType.getByName("LEVITATION"), 200, 0).apply(p); + p.sendMessage(ChatColor.translateAlternateColorCodes('&',"&eDo you believe in... gravity?")); + } + return true; + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cI'm sorry, but I can't let you do that")); + return true; + } + } else if (args.length == 2) { + if (commandSender.hasPermission("jojo.gravity.others")) { + if (Bukkit.getPlayer(args[1]) instanceof Player) { + new PotionEffect(PotionEffectType.getByName("LEVITATION"), 200, 0).apply(Bukkit.getPlayer(args[1])); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&e" + Bukkit.getPlayer(args[1]).getDisplayName() + "'s belief in gravity was questioned.")); + Bukkit.getPlayer(args[1]).sendMessage(ChatColor.translateAlternateColorCodes('&',"&eDo you believe in... gravity?")); + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&eDidn't find a player with that name online")); + return true; + } + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cI'm sorry, but I can't let you do that")); + } return true; + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cThat's waaay too many arguments! Try &e/jojo gravity [player]")); + return true; + } + } + if (args[0].equals("zawarudo")) { + if (args.length == 1) { + if (commandSender.hasPermission("jojo.zawarudo")) { + JojoReference.getRunnables().zaWarudoRunnable(); + return true; + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cI'm sorry, but I can't let you do that")); + return true; + } + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cThat's waaay too many arguments! Try &e/jojo gravity [player]")); + return true; + } + } + if (args[0].equals("madeinheaven")) { + if (args.length == 1) { + if (commandSender.hasPermission("jojo.madeinheaven")) { + JojoReference.getRunnables().madeInHeavenRunnable(); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&eMade in Heaven begins to take effect...")); + return true; + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cI'm sorry, but I can't let you do that")); + return true; + } + } else { + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cThat's waaay too many arguments! Try &e/jojo gravity [player]")); + return true; + } + } + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&',"&cNo such command. Try &e/jojo help")); + return true; + } + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e&lDIO says:")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo help &rwill display this message")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo wryyy &rwill make everyone wryyyyyyy")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo gravity &rwill make everyone question their beliefs")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo zawarudo &rwill stop time for 10 seconds")); + commandSender.sendMessage(ChatColor.translateAlternateColorCodes('&' ,"&e/jojo madeinheaven &rwill make an entire new universe")); + return true; + } +} diff --git a/src/main/java/eu/endermite/jojoreference/runnables/JojoRunnables.java b/src/main/java/eu/endermite/jojoreference/runnables/JojoRunnables.java new file mode 100644 index 0000000..50fec23 --- /dev/null +++ b/src/main/java/eu/endermite/jojoreference/runnables/JojoRunnables.java @@ -0,0 +1,104 @@ +package eu.endermite.jojoreference.runnables; + +import eu.endermite.jojoreference.JojoReference; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.World; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.potion.PotionEffect; +import org.bukkit.potion.PotionEffectType; +import org.bukkit.scheduler.BukkitRunnable; + +public class JojoRunnables { + + public void madeInHeavenRunnable() { + new BukkitRunnable() { + double i = 2; + int c = 0; + @Override + public void run() { + c +=1; + i = i*1.1; + for (Player p : Bukkit.getOnlinePlayers()) { + + p.getPlayer().setPlayerTime((long) i,false); + } + if (c > 200) { + for (Player p : Bukkit.getOnlinePlayers()) { + p.getPlayer().resetPlayerTime(); + } + cancel(); + } + } + }.runTaskTimerAsynchronously(JojoReference.getPlugin(), 1, 4); + } + public void zaWarudoRunnable() { + new BukkitRunnable() { + int c = 0; + @Override + public void run() { + c +=1; + for (World w : Bukkit.getWorlds()) { + for (LivingEntity e : w.getLivingEntities()) { + if (e instanceof Player) { + Player p = ((Player) e).getPlayer(); + if (!p.hasPermission("jojo.zawarudo.bypass")) { + p.setWalkSpeed(0); + new PotionEffect(PotionEffectType.getByName("JUMP"), 21, 250).apply(p); + new PotionEffect(PotionEffectType.getByName("WEAKNESS"), 21, 250).apply(p); + } + } else { + e.setAI(false); + } + } + } + if (c == 1) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"One second has passed...")); + } + if (c == 2) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Two seconds has passed...")); + } + if (c == 3) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Three seconds has passed...")); + } + if (c == 4) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Four seconds has passed...")); + } + if (c == 5) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Five seconds has passed...")); + } + if (c == 6) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Six seconds has passed...")); + } + if (c == 7) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Seven seconds has passed...")); + } + if (c == 8) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Eight seconds has passed...")); + } + if (c == 9) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Nine seconds has passed...")); + } + if (c == 10) { + Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',"Ten seconds has passed!")); + } + if (c > 10) { + + for (World w : Bukkit.getWorlds()) { + for (LivingEntity e : w.getLivingEntities()) { + if (e instanceof Player) { + Player p = ((Player) e).getPlayer(); + p.setWalkSpeed(0.2F); + } else { + e.setAI(true); + } + } + } + cancel(); + } + } + }.runTaskTimer(JojoReference.getPlugin(), 0, 20); + } + +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..b84a9ce --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,11 @@ +main: eu.endermite.jojoreference.JojoReference +name: JoJoReference +description: Dio! +version: 1.0 +author: YouHaveTrouble +website: endermite.eu +prefix: JoJoRefeRence +commands: + jojo: + usage: / [arg] + description: Main command for JoJoReference \ No newline at end of file