Most basic lobby struff and begin of /fly command
This commit is contained in:
commit
077409e279
13 changed files with 234 additions and 0 deletions
20
Lobby Plugin/.classpath
Normal file
20
Lobby Plugin/.classpath
Normal file
|
@ -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>
|
1
Lobby Plugin/.gitignore
vendored
Normal file
1
Lobby Plugin/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/target/
|
23
Lobby Plugin/.project
Normal file
23
Lobby Plugin/.project
Normal file
|
@ -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>
|
13
Lobby Plugin/.settings/org.eclipse.jdt.core.prefs
Normal file
13
Lobby Plugin/.settings/org.eclipse.jdt.core.prefs
Normal file
|
@ -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
|
4
Lobby Plugin/.settings/org.eclipse.m2e.core.prefs
Normal file
4
Lobby Plugin/.settings/org.eclipse.m2e.core.prefs
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
activeProfiles=
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
resolveWorkspaceProjects=true
|
||||||
|
version=1
|
37
Lobby Plugin/pom.xml
Normal file
37
Lobby Plugin/pom.xml
Normal file
|
@ -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>
|
32
Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/LobbyPlugin.java
Normal file
32
Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/LobbyPlugin.java
Normal file
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
10
Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/Permissions.java
Normal file
10
Lobby Plugin/src/de/oshgnacknak/lobbyPlugin/Permissions.java
Normal file
|
@ -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() {
|
||||||
|
}
|
||||||
|
}
|
|
@ -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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -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("");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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("");
|
||||||
|
}
|
||||||
|
}
|
11
Lobby Plugin/src/main/resources/plugin.yml
Normal file
11
Lobby Plugin/src/main/resources/plugin.yml
Normal file
|
@ -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
|
Reference in a new issue