Initial commit
This commit is contained in:
3
Plugins/Old/RunnerVsSpeedrunner/.idea/.gitignore
generated
vendored
Normal file
3
Plugins/Old/RunnerVsSpeedrunner/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
8
Plugins/Old/RunnerVsSpeedrunner/.idea/artifacts/RunnerVsSpeedrunner.xml
generated
Normal file
8
Plugins/Old/RunnerVsSpeedrunner/.idea/artifacts/RunnerVsSpeedrunner.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" name="RunnerVsSpeedrunner">
|
||||
<output-path>$PROJECT_DIR$/../</output-path>
|
||||
<root id="archive" name="RunnerVsSpeedrunner.jar">
|
||||
<element id="module-output" name="RunnerVsSpeedrunner" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
||||
11
Plugins/Old/RunnerVsSpeedrunner/.idea/libraries/spigot_1_16_1.xml
generated
Normal file
11
Plugins/Old/RunnerVsSpeedrunner/.idea/libraries/spigot_1_16_1.xml
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
<component name="libraryTable">
|
||||
<library name="spigot-1.16.1">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/../spigot-1.16.1.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES>
|
||||
<root url="jar://$PROJECT_DIR$/../spigot-1.16.1.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
6
Plugins/Old/RunnerVsSpeedrunner/.idea/misc.xml
generated
Normal file
6
Plugins/Old/RunnerVsSpeedrunner/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
Plugins/Old/RunnerVsSpeedrunner/.idea/modules.xml
generated
Normal file
8
Plugins/Old/RunnerVsSpeedrunner/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/RunnerVsSpeedrunner.iml" filepath="$PROJECT_DIR$/RunnerVsSpeedrunner.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
124
Plugins/Old/RunnerVsSpeedrunner/.idea/uiDesigner.xml
generated
Normal file
124
Plugins/Old/RunnerVsSpeedrunner/.idea/uiDesigner.xml
generated
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
||||
12
Plugins/Old/RunnerVsSpeedrunner/RunnerVsSpeedrunner.iml
Normal file
12
Plugins/Old/RunnerVsSpeedrunner/RunnerVsSpeedrunner.iml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="spigot-1.16.1" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
|
||||
name: RunnerVsHunter
|
||||
version: 1.0.0
|
||||
api-version: 1.16
|
||||
main: de.craftix.runnervshunter.Main
|
||||
|
||||
commands:
|
||||
runner:
|
||||
hunter:
|
||||
start:
|
||||
seconds:
|
||||
@@ -0,0 +1,13 @@
|
||||
package de.craftix.runnervshunter;
|
||||
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ActionBar {
|
||||
|
||||
public static void show(Player p, String msg){
|
||||
p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(msg));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
package de.craftix.runnervshunter;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
|
||||
public class Compass implements Listener {
|
||||
public int schedulerID;
|
||||
|
||||
public void startScheduler(){
|
||||
try {
|
||||
schedulerID = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
Player nearest = null;
|
||||
for (Player runner : Main.runner){
|
||||
if (nearest == null){
|
||||
nearest = runner;
|
||||
continue;
|
||||
}
|
||||
if (all.getLocation().distance(runner.getLocation()) < all.getLocation().distance(nearest.getLocation())) nearest = runner;
|
||||
}
|
||||
if (nearest == null) return;
|
||||
all.setCompassTarget(nearest.getLocation());
|
||||
}
|
||||
}
|
||||
}, 0, 20);
|
||||
}catch (Exception e){
|
||||
Bukkit.getPlayer("CraftixLP").sendMessage(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onCompassClick(PlayerInteractEvent event){
|
||||
try {
|
||||
if (!event.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.COMPASS)) return;
|
||||
if (event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
|
||||
Player p = event.getPlayer();
|
||||
Player nearest = null;
|
||||
for (Player runner : Main.runner){
|
||||
if (nearest == null){
|
||||
nearest = runner;
|
||||
continue;
|
||||
}
|
||||
if (p.getLocation().distance(runner.getLocation()) < p.getLocation().distance(nearest.getLocation())) nearest = runner;
|
||||
}
|
||||
int distance = (int)p.getLocation().distance(nearest.getLocation());
|
||||
p.sendMessage("§aDer Spieler " + nearest.getName() + " ist " + distance + " Blöcke entfernt");
|
||||
}
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package de.craftix.runnervshunter;
|
||||
|
||||
import de.craftix.runnervshunter.commands.Hunter;
|
||||
import de.craftix.runnervshunter.commands.Runner;
|
||||
import de.craftix.runnervshunter.commands.Seconds;
|
||||
import de.craftix.runnervshunter.commands.Start;
|
||||
import de.craftix.runnervshunter.listener.onIdle;
|
||||
import de.craftix.runnervshunter.listener.onMove;
|
||||
import de.craftix.runnervshunter.listener.onPvp;
|
||||
import de.craftix.runnervshunter.listener.onWin;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Main extends JavaPlugin {
|
||||
|
||||
public static ArrayList<Player> runner = new ArrayList<>();
|
||||
public static ArrayList<Player> hunter = new ArrayList<>();
|
||||
|
||||
public static boolean isStarted = false;
|
||||
|
||||
private static Main instance;
|
||||
private Compass compass;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
compass = new Compass();
|
||||
registerCommands();
|
||||
registerListener();
|
||||
compass.startScheduler();
|
||||
}
|
||||
|
||||
private void registerCommands(){
|
||||
getCommand("hunter").setExecutor(new Hunter());
|
||||
getCommand("runner").setExecutor(new Runner());
|
||||
getCommand("start").setExecutor(new Start());
|
||||
getCommand("seconds").setExecutor(new Seconds());
|
||||
}
|
||||
|
||||
private void registerListener(){
|
||||
PluginManager pm = Bukkit.getPluginManager();
|
||||
pm.registerEvents(new onWin(), this);
|
||||
pm.registerEvents(new onIdle(), this);
|
||||
pm.registerEvents(new onPvp(), this);
|
||||
pm.registerEvents(new onMove(), this);
|
||||
pm.registerEvents(compass, this);
|
||||
}
|
||||
|
||||
public static Main getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static void win(){
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
all.setGameMode(GameMode.SPECTATOR);
|
||||
}
|
||||
isStarted = false;
|
||||
Start.huntersCanMove = false;
|
||||
Bukkit.broadcastMessage("§aDer Enderdrache wurde getötet");
|
||||
}
|
||||
|
||||
public static void loose(){
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
all.setGameMode(GameMode.SPECTATOR);
|
||||
}
|
||||
isStarted = false;
|
||||
Start.huntersCanMove = false;
|
||||
Bukkit.broadcastMessage("§cEiner der Runner ist gestorben");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package de.craftix.runnervshunter.commands;
|
||||
|
||||
import de.craftix.runnervshunter.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class Hunter implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (!sender.hasPermission("challenge.admin")) return true;
|
||||
if (args.length != 1) return true;
|
||||
Player t = Bukkit.getPlayer(args[0]);
|
||||
if (t == null) return true;
|
||||
Main.runner.remove(t);
|
||||
Main.hunter.add(t);
|
||||
sender.sendMessage("§aDer Spieler " + t.getName() + " wurde als Hunter registriert");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package de.craftix.runnervshunter.commands;
|
||||
|
||||
import de.craftix.runnervshunter.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class Runner implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (!sender.hasPermission("challenge.admin")) return true;
|
||||
if (args.length != 1) return true;
|
||||
Player t = Bukkit.getPlayer(args[0]);
|
||||
if (t == null) return true;
|
||||
Main.runner.add(t);
|
||||
Main.hunter.remove(t);
|
||||
sender.sendMessage("§aDer Spieler " + t.getName() + " wurde als Runner registriert");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package de.craftix.runnervshunter.commands;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class Seconds implements CommandExecutor {
|
||||
public static int seconds = 15;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (!sender.hasPermission("challenge.admin")) return true;
|
||||
if (args.length != 1) return true;
|
||||
try {
|
||||
seconds = Integer.parseInt(args[0]);
|
||||
Start.seconds = seconds;
|
||||
}catch (Exception e){
|
||||
sender.sendMessage("Bitte gebe eine gültige Zahl ein");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package de.craftix.runnervshunter.commands;
|
||||
|
||||
import de.craftix.runnervshunter.ActionBar;
|
||||
import de.craftix.runnervshunter.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class Start implements CommandExecutor {
|
||||
public static boolean huntersCanMove = false;
|
||||
public static int timerID;
|
||||
public static int seconds = 15;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (!sender.hasPermission("challenge.admin")) return true;
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
all.setGameMode(GameMode.SURVIVAL);
|
||||
}
|
||||
Main.isStarted = true;
|
||||
timerID = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (seconds == 0){
|
||||
huntersCanMove = true;
|
||||
seconds = Seconds.seconds;
|
||||
Bukkit.getScheduler().cancelTask(timerID);
|
||||
}
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
ActionBar.show(all, "§aDie Hunter dürfen sich in " + seconds + " sekunden bewegen!");
|
||||
}
|
||||
seconds--;
|
||||
}
|
||||
}, 0, 20);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package de.craftix.runnervshunter.listener;
|
||||
|
||||
import de.craftix.runnervshunter.Main;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
public class onIdle implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onBuild(BlockPlaceEvent event){
|
||||
if (Main.isStarted) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBreak(BlockBreakEvent event){
|
||||
if (Main.isStarted) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onInteract(PlayerInteractEvent event){
|
||||
if (Main.isStarted) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onDamage(EntityDamageEvent event){
|
||||
if (Main.isStarted) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onFood(FoodLevelChangeEvent event){
|
||||
if (Main.isStarted) return;
|
||||
event.setCancelled(true);
|
||||
Player p = (Player)event.getEntity();
|
||||
p.setFoodLevel(25);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onMove(PlayerMoveEvent event){
|
||||
if (Main.isStarted) return;
|
||||
if (event.getPlayer().hasPermission("challenge.admin")) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package de.craftix.runnervshunter.listener;
|
||||
|
||||
import de.craftix.runnervshunter.Main;
|
||||
import de.craftix.runnervshunter.commands.Start;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
public class onMove implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onMoveEvent(PlayerMoveEvent event){
|
||||
if (!Main.hunter.contains(event.getPlayer())) return;
|
||||
if (Start.huntersCanMove) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package de.craftix.runnervshunter.listener;
|
||||
|
||||
import de.craftix.runnervshunter.Main;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
|
||||
public class onPvp implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onPvpEvent(EntityDamageByEntityEvent event){
|
||||
if (!Main.isStarted) return;
|
||||
if (!(event.getEntity() instanceof Player)) return;
|
||||
Player p = (Player)event.getEntity();
|
||||
if (!(event.getDamager() instanceof Player)) return;
|
||||
Player t = (Player)event.getDamager();
|
||||
if (!Main.hunter.contains(p)) return;
|
||||
if (!Main.hunter.contains(t)) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package de.craftix.runnervshunter.listener;
|
||||
|
||||
import de.craftix.runnervshunter.Main;
|
||||
import org.bukkit.entity.EnderDragon;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
|
||||
public class onWin implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onDeath(EntityDeathEvent event){
|
||||
if (!Main.isStarted) return;
|
||||
if (!(event.getEntity() instanceof EnderDragon)) return;
|
||||
Main.win();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onLoose(PlayerDeathEvent event){
|
||||
if (!Main.isStarted) return;
|
||||
if (!Main.runner.contains(event.getEntity())) return;
|
||||
Main.loose();
|
||||
}
|
||||
|
||||
}
|
||||
10
Plugins/Old/RunnerVsSpeedrunner/src/plugin.yml
Normal file
10
Plugins/Old/RunnerVsSpeedrunner/src/plugin.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
name: RunnerVsHunter
|
||||
version: 1.0.0
|
||||
api-version: 1.16
|
||||
main: de.craftix.runnervshunter.Main
|
||||
|
||||
commands:
|
||||
runner:
|
||||
hunter:
|
||||
start:
|
||||
seconds:
|
||||
Reference in New Issue
Block a user