prototype

This commit is contained in:
YouHaveTrouble
2020-02-14 21:02:30 +01:00
commit ac750ba3b1
6 changed files with 314 additions and 0 deletions
@@ -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());
}
}
@@ -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;
}
}
@@ -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);
}
}
+11
View File
@@ -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: /<cmd> <arg> [arg]
description: Main command for JoJoReference