commit 077409e2794f83b4a3925c9d780a9796ecccb5c5
Author: Oshgnacknak <osh@oshgnacknak.de>
Date: Tue, 16 Oct 2018 22:42:31 +0200
Most basic lobby struff and begin of /fly command
Diffstat:
13 files changed, 235 insertions(+), 0 deletions(-)
diff --git a/Lobby Plugin/.classpath b/Lobby Plugin/.classpath
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/classes" path="src">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/Lobby Plugin/.gitignore b/Lobby Plugin/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/Lobby Plugin/.project b/Lobby Plugin/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Lobby Plugin</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/Lobby Plugin/.settings/org.eclipse.jdt.core.prefs b/Lobby Plugin/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,13 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+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.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Lobby Plugin/.settings/org.eclipse.m2e.core.prefs b/Lobby Plugin/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/Lobby Plugin/pom.xml b/Lobby Plugin/pom.xml
@@ -0,0 +1,37 @@
+<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>de.oshgnacknak.lobbyPlugin</groupId>
+ <artifactId>LobbyPlugin</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>LobbyPlugin</name>
+ <description>A lobby plugin bungeeCord-driven server networks.</description>
+ <build>
+ <sourceDirectory>src</sourceDirectory>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.0</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.13-R0.1-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>+
\ No newline at end of file
diff --git a/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/LobbyPlugin.java b/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/LobbyPlugin.java
@@ -0,0 +1,32 @@
+package de.oshgnacknak.lobbyPlugin;
+
+import org.bukkit.Difficulty;
+import org.bukkit.GameMode;
+import org.bukkit.Server;
+import org.bukkit.event.Listener;
+import org.bukkit.plugin.java.JavaPlugin;
+
+import de.oshgnacknak.lobbyPlugin.listeners.DamageListener;
+import de.oshgnacknak.lobbyPlugin.listeners.InteractListener;
+import de.oshgnacknak.lobbyPlugin.listeners.JoinListener;
+import de.oshgnacknak.lobbyPlugin.listeners.QuitListener;
+
+public class LobbyPlugin extends JavaPlugin {
+
+
+
+ @Override
+ public void onEnable() {
+ Server s = getServer();
+ s.setDefaultGameMode(GameMode.ADVENTURE);
+ s.getWorlds().forEach(w -> w.setDifficulty(Difficulty.PEACEFUL));
+
+ registerListeners(new DamageListener(), new InteractListener(), new JoinListener(), new QuitListener());
+ }
+
+ private void registerListeners(Listener... listeners) {
+ for (Listener listener : listeners) {
+ getServer().getPluginManager().registerEvents(listener, this);
+ }
+ }
+}
diff --git a/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/Permissions.java b/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/Permissions.java
@@ -0,0 +1,10 @@
+package de.oshgnacknak.lobbyPlugin;
+
+public class Permissions {
+
+ private static final String PERM_PREFIX = "oshlobby.";
+ public static final String BUILD = PERM_PREFIX + "build";
+
+ private Permissions() {
+ }
+}
diff --git a/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/listeners/DamageListener.java b/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/listeners/DamageListener.java
@@ -0,0 +1,25 @@
+package de.oshgnacknak.lobbyPlugin.listeners;
+
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.entity.EntityDamageEvent;
+import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
+import org.bukkit.util.Vector;
+
+public class DamageListener implements Listener {
+
+ @EventHandler
+ public void onDamager(EntityDamageEvent event) {
+ Entity entity = event.getEntity();
+ if (!(entity instanceof Player)) {
+ return;
+ }
+ event.setCancelled(true);
+ if (event.getCause().equals(DamageCause.VOID)) {
+ entity.setVelocity(new Vector());
+ entity.teleport(event.getEntity().getWorld().getSpawnLocation());
+ }
+ }
+}
diff --git a/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/listeners/InteractListener.java b/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/listeners/InteractListener.java
@@ -0,0 +1,29 @@
+package de.oshgnacknak.lobbyPlugin.listeners;
+
+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 de.oshgnacknak.lobbyPlugin.Permissions;
+
+public class InteractListener implements Listener {
+ @EventHandler
+ public void onBreak(BlockBreakEvent event) {
+ Player player = event.getPlayer();
+ if (player.hasPermission(Permissions.BUILD)) {
+ return;
+ }
+ event.setCancelled(true);
+ }
+
+ @EventHandler
+ public void onPlace(BlockPlaceEvent event) {
+ Player player = event.getPlayer();
+ if (player.hasPermission(Permissions.BUILD)) {
+ return;
+ }
+ event.setCancelled(true);
+ }
+}
diff --git a/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/listeners/JoinListener.java b/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/listeners/JoinListener.java
@@ -0,0 +1,17 @@
+package de.oshgnacknak.lobbyPlugin.listeners;
+
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerJoinEvent;
+
+public class JoinListener implements Listener {
+ @EventHandler
+ public void onJoin(PlayerJoinEvent event) {
+ Player player = event.getPlayer();
+ player.setGameMode(Bukkit.getDefaultGameMode());
+ event.setJoinMessage("");
+ }
+
+}
diff --git a/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/listeners/QuitListener.java b/Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/listeners/QuitListener.java
@@ -0,0 +1,12 @@
+package de.oshgnacknak.lobbyPlugin.listeners;
+
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerQuitEvent;
+
+public class QuitListener implements Listener {
+ @EventHandler
+ public void onQuit(PlayerQuitEvent event) {
+ event.setQuitMessage("");
+ }
+}
diff --git a/Lobby Plugin/src/main/resources/plugin.yml b/Lobby Plugin/src/main/resources/plugin.yml
@@ -0,0 +1,11 @@
+name: Osh_Lobby
+version: 0.0.1
+description: A lobby plugin bungeeCord-driven server networks.
+author: Oshgnacknak
+main: de.oshgnacknak.lobbyPlugin.LobbyPlugin
+
+commands:
+ fly:
+ description: Toggles flight
+ aliases: [f]
+ permission: oshlobby.fly