diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..98b7f15 --- /dev/null +++ b/.classpath @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" output="target/classes" path="src/main/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + <attribute name="test" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> + <attributes> + <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="src" path="target/generated-sources/annotations"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + <attribute name="ignore_optional_problems" value="true"/> + <attribute name="m2e-apt" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + <attribute name="ignore_optional_problems" value="true"/> + <attribute name="m2e-apt" value="true"/> + <attribute name="test" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/.project b/.project new file mode 100644 index 0000000..a2bc9d6 --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>EasySpawn</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.jdt.core.javanature</nature> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + </natures> +</projectDescription> diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..cf6931b --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding/<project>=UTF-8 diff --git a/.settings/org.eclipse.jdt.apt.core.prefs b/.settings/org.eclipse.jdt.apt.core.prefs new file mode 100644 index 0000000..ec0c557 --- /dev/null +++ b/.settings/org.eclipse.jdt.apt.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.apt.aptEnabled=false diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..e34d462 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.processAnnotations=disabled +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..14b697b --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/pom.xml b/pom.xml index d544e6a..3a07345 100644 --- a/pom.xml +++ b/pom.xml @@ -55,6 +55,7 @@ <filtering>true</filtering> <includes> <include>plugin.yml</include> + <include>config.yml</include> </includes> </resource> <resource> @@ -81,31 +82,3 @@ </project> - - - - - - -<repositories> - <repository> - <id>spigot-repo</id> - <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url> - </repository> -</repositories> -<dependencies> - <!--Spigot API--> - <dependency> - <groupId>org.spigotmc</groupId> - <artifactId>spigot-api</artifactId> - <version>1.13-R0.1-SNAPSHOT</version> - <scope>provided</scope> - </dependency> - <!--Bukkit API--> - <dependency> - <groupId>org.bukkit</groupId> - <artifactId>bukkit</artifactId> - <version>1.13-R0.1-SNAPSHOT</version> - <scope>provided</scope> - </dependency> -</dependencies> \ No newline at end of file diff --git a/server.properties b/server.properties deleted file mode 100644 index 3533037..0000000 --- a/server.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Minecraft server properties -#Thu Jul 26 07:47:14 GMT 2018 diff --git a/src/main/java/nz/1248/easyspawn/EasySpawn.java b/src/main/java/nz/1248/easyspawn/EasySpawn.java deleted file mode 100644 index 5394de4..0000000 --- a/src/main/java/nz/1248/easyspawn/EasySpawn.java +++ /dev/null @@ -1,37 +0,0 @@ -package nz.jimmy.easyspawn; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; - -public class EasySpawn extends JavaPlugin{ - - @Override - public boolean onCommand(CommandSender sender, Command command, - String label, String[] args) { - if(sender instanceof Player){ - Player player = (Player)sender; - if(command.getName().equalsIgnoreCase("spawn")){ - player.teleport(player.getWorld().getSpawnLocation()); - player.sendMessage("You have been teleported to spawn."); - return true; - } - if(command.getName().equalsIgnoreCase("setspawn")){ - player.getWorld().setSpawnLocation(player.getLocation().getBlockX(), - player.getLocation().getBlockY(),player.getLocation().getBlockZ()); - player.sendMessage("Spawn set."); - return true; - } - if(command.getName().equalsIgnoreCase("bed")){ - if(player.getBedSpawnLocation()!=null){ - player.teleport(player.getBedSpawnLocation()); - player.sendMessage("You have been teleported to your bed."); - }else sender.sendMessage("Your bed cannot be found."); - return true; - } - } - return false; - } - -} diff --git a/src/main/java/nz/jimmy/easyspawn/Bed.java b/src/main/java/nz/jimmy/easyspawn/Bed.java new file mode 100644 index 0000000..3c09e27 --- /dev/null +++ b/src/main/java/nz/jimmy/easyspawn/Bed.java @@ -0,0 +1,33 @@ +package nz.jimmy.easyspawn; + +import org.bukkit.Location; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.configuration.Configuration; +import org.bukkit.entity.Player; + +/** + * Bed + */ +public class Bed implements CommandExecutor { + EasySpawn plugin; + public Bed(EasySpawn plugin) { + this.plugin = plugin; + plugin.getCommand("bed").setExecutor(this); + } + + public boolean onCommand(CommandSender sender, Command cmd, String label, + String[] args) { + if(sender instanceof Player) { + Player player = (Player)sender; + //Check if player has a bed + if(player.getBedSpawnLocation()!=null){ + player.teleport(player.getBedSpawnLocation()); + player.sendMessage("You have been teleported to your bed."); + }else sender.sendMessage("You need to sleep in a bed first."); + return true; + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/nz/jimmy/easyspawn/EasySpawn.java b/src/main/java/nz/jimmy/easyspawn/EasySpawn.java new file mode 100644 index 0000000..8d506e1 --- /dev/null +++ b/src/main/java/nz/jimmy/easyspawn/EasySpawn.java @@ -0,0 +1,13 @@ +package nz.jimmy.easyspawn; + +import org.bukkit.plugin.java.JavaPlugin; + +public class EasySpawn extends JavaPlugin { + @Override + public void onEnable(){ + new PlayerListener(this); + new SetSpawn(this); + new Spawn(this); + new Bed(this); + } +} diff --git a/src/main/java/nz/jimmy/easyspawn/PlayerListener.java b/src/main/java/nz/jimmy/easyspawn/PlayerListener.java new file mode 100644 index 0000000..55ab199 --- /dev/null +++ b/src/main/java/nz/jimmy/easyspawn/PlayerListener.java @@ -0,0 +1,42 @@ +package nz.jimmy.easyspawn; + +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; + + +/** + * PlayerListener + */ +public class PlayerListener implements Listener{ + EasySpawn plugin; + public PlayerListener(EasySpawn plugin) { + this.plugin = plugin; + plugin.getServer().getPluginManager().registerEvents(this, plugin); + } + + @EventHandler + public void onPlayerJoin(PlayerJoinEvent event) { + Player player = event.getPlayer(); + if(!player.hasPlayedBefore()){ + World world = player.getWorld(); + String w = world.getName(); + FileConfiguration config = plugin.getConfig(); + //Check is spawn is set + if(config.contains("spawn."+w)){ + int x = config.getInt("spawn."+w+".x"); + int y = config.getInt("spawn."+w+".y"); + int z = config.getInt("spawn."+w+".z"); + float pitch = config.getInt("spawn."+w+".pitch"); + float yaw = config.getInt("spawn."+w+".yaw"); + player.teleport(new Location(world, x, y, z, yaw, pitch)); + } + } + } + +} + diff --git a/src/main/java/nz/jimmy/easyspawn/SetSpawn.java b/src/main/java/nz/jimmy/easyspawn/SetSpawn.java new file mode 100644 index 0000000..657d03a --- /dev/null +++ b/src/main/java/nz/jimmy/easyspawn/SetSpawn.java @@ -0,0 +1,38 @@ +package nz.jimmy.easyspawn; + +import org.bukkit.Location; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.configuration.Configuration; +import org.bukkit.entity.Player; + +/** + * SetSpawn + */ +public class SetSpawn implements CommandExecutor{ + EasySpawn plugin; + public SetSpawn(EasySpawn plugin) { + this.plugin = plugin; + plugin.getCommand("setspawn").setExecutor(this); + } + + public boolean onCommand(CommandSender sender, Command cmd, String label, + String[] args) { + if( sender instanceof Player) { + Player player = (Player)sender; + Location location = player.getLocation(); + String world = player.getWorld().getName(); + Configuration config = plugin.getConfig(); + config.set("spawn."+world+".x", location.getBlockX()); + config.set("spawn."+world+".y", location.getBlockY()); + config.set("spawn."+world+".z", location.getBlockZ()); + config.set("spawn."+world+".pitch", location.getPitch()); + config.set("spawn."+world+".yaw", location.getYaw()); + plugin.saveConfig(); + player.sendMessage("Spawn set."); + return true; + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/nz/jimmy/easyspawn/Spawn.java b/src/main/java/nz/jimmy/easyspawn/Spawn.java new file mode 100644 index 0000000..dc6d323 --- /dev/null +++ b/src/main/java/nz/jimmy/easyspawn/Spawn.java @@ -0,0 +1,39 @@ +package nz.jimmy.easyspawn; + +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.configuration.Configuration; +import org.bukkit.entity.Player; + +/** + * Spawn + */ +public class Spawn implements CommandExecutor{ + private EasySpawn plugin; + public Spawn(EasySpawn plugin) { + this.plugin = plugin; + plugin.getCommand("spawn").setExecutor(this);; + } + + public boolean onCommand(CommandSender sender, Command cmd, String label, + String[] args) { + if(sender instanceof Player) { + Player player = (Player)sender; + Configuration config = plugin.getConfig(); + World world = player.getWorld(); + String w = world.getName(); + if(config.contains("spawn."+w)){ + Location location = new Location(world, config.getInt("spawn."+w+".x"), + config.getInt("spawn."+w+".y"),config.getInt("spawn."+w+".z"), + config.getInt("spawn."+w+".pitch"), config.getInt("spawn."+w+".yaw")); + player.teleport(location); + player.sendMessage("You have been teleported to spawn."); + }else player.sendMessage("This world has no spawn"); + return true; + } + return false; + } +} \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 8a18c81..98ad750 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -10,17 +10,17 @@ commands: description: Teleports you to spawn usage: /spawn permission: easyspawn.spawn - permission-message: You don't have <permission> + permission-message: You are not allowed bed: description: Teleports you to your bed usage: /bed permission: easyspawn.bed - permission-message: You don't have <permission> + permission-message: You are not allowed setspawn: description: Sets spawn location usage: /setspawn permission: easyspawn.setspawn - permission-message: You don't have <permission> + permission-message: You are not allowed permissions: easyspawn.spawn: description: Teleports you to spawn