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
+2
View File
@@ -0,0 +1,2 @@
# Project exclude paths
/target/
+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>eu.endermite</groupId>
<artifactId>jojoreference</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.15.2-R0.1-SNAPSHOT</version><!--change this value depending on the version or use LATEST-->
<type>jar</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.15.2-R0.1-SNAPSHOT</version><!--change this value depending on the version-->
<type>jar</type>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
@@ -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