Skip to content

Commit

Permalink
Merge pull request #40 from Niestrat99/spawn-system
Browse files Browse the repository at this point in the history
Spawn system
  • Loading branch information
Thatsmusic99 committed May 9, 2021
2 parents 489be6f + 55e7ebc commit 32df790
Show file tree
Hide file tree
Showing 16 changed files with 517 additions and 355 deletions.
79 changes: 0 additions & 79 deletions AdvancedTeleport-Bukkit/dependency-reduced-pom.xml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,11 @@ public void onEnable() {
System.out.println("Advanced Teleport is now enabling...");
setupEconomy();
setupPermissions();
try {
config = new NewConfig();
config = new NewConfig();
// Config.setDefaults();
new CustomMessages(this).load();
Spawn.save();
new GUI();
} catch (IOException e) {
e.printStackTrace();
}
new CustomMessages(this).load();
new Spawn();
new GUI();
CommandManager.registerCommands();
{
new BlocklistManager();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,11 @@ public boolean onCommand(CommandSender sender, @NotNull Command command, @NotNul
CustomMessages.sendMessage(sender, "Error.noPermission");
} else {
CustomMessages.sendMessage(sender, "Info.reloadingConfig");
try {
NewConfig.get().reload();
CustomMessages.config.reload();
Spawn.reloadSpawn();
GUI.get().reload();
CooldownManager.init();
} catch (IOException e) {
e.printStackTrace();
}
NewConfig.get().reload();
CustomMessages.config.reload();
Spawn.get().reload();
GUI.get().reload();
CooldownManager.init();
CommandManager.registerCommands();
CustomMessages.sendMessage(sender, "Info.reloadedConfig");
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package io.github.niestrat99.advancedteleport.commands.spawn;

import io.github.niestrat99.advancedteleport.commands.ATCommand;
import io.github.niestrat99.advancedteleport.config.CustomMessages;
import io.github.niestrat99.advancedteleport.config.NewConfig;
import io.github.niestrat99.advancedteleport.config.Spawn;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;

public class MirrorSpawn implements ATCommand {

@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String s, @NotNull String[] args) {
if (NewConfig.get().USE_SPAWN.get()) {
if (sender.hasPermission("at.admin.mirrorspawn")) {
String fromWorld = "";
String toWorld = "";
if (args.length == 0) {
CustomMessages.sendMessage(sender, "Error.mirrorSpawnNoArguments");
return true;
}

if (args.length == 1) {
toWorld = args[0];
if (sender instanceof Player) {
fromWorld = ((Player) sender).getWorld().getName();
} else {
CustomMessages.sendMessage(sender, "Error.mirrorSpawnLackOfArguments");
return false;
}
}

if (args.length >= 2) {
fromWorld = args[0];
toWorld = args[1];
}

CustomMessages.sendMessage(sender, Spawn.get().mirrorSpawn(fromWorld, toWorld), "{spawn}", toWorld, "{from}", fromWorld);
return true;
}
}
return false;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package io.github.niestrat99.advancedteleport.commands.spawn;

import io.github.niestrat99.advancedteleport.commands.ATCommand;
import io.github.niestrat99.advancedteleport.config.CustomMessages;
import io.github.niestrat99.advancedteleport.config.NewConfig;
import io.github.niestrat99.advancedteleport.config.Spawn;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.ArrayList;
import java.util.List;

public class RemoveSpawn implements ATCommand {

@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String s, @NotNull String[] args) {
if (NewConfig.get().USE_SPAWN.get()) {
if (sender.hasPermission("at.admin.removespawn")) {
String removingSpawn = "";
if (args.length == 0) {
if (sender instanceof Player) {
removingSpawn = ((Player) sender).getWorld().getName();
} else {
CustomMessages.sendMessage(sender, "Error.removeSpawnNoArgs");
return true;
}
}

if (args.length > 0) {
removingSpawn = args[0];
}
if (!Spawn.get().doesSpawnExist(removingSpawn)) {
CustomMessages.sendMessage(sender, "Error.noSuchSpawn", "{spawn}", removingSpawn);
return true;
}
CustomMessages.sendMessage(sender, Spawn.get().removeSpawn(removingSpawn));
}
}
return false;
}

@Nullable
@Override
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
if (sender.hasPermission("at.admin.removespawn") && sender instanceof Player && args.length == 1) {
List<String> spawns = new ArrayList<>();
StringUtil.copyPartialMatches(args[0], Spawn.get().getSpawns(), spawns);
return spawns;
}
return null;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
package io.github.niestrat99.advancedteleport.commands.spawn;

import io.github.niestrat99.advancedteleport.commands.ATCommand;
import io.github.niestrat99.advancedteleport.config.CustomMessages;
import io.github.niestrat99.advancedteleport.config.NewConfig;
import io.github.niestrat99.advancedteleport.config.Spawn;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.util.StringUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.ArrayList;
import java.util.List;

public class SetMainSpawn implements ATCommand {

@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String s, @NotNull String[] args) {
if (NewConfig.get().USE_SPAWN.get()) {
if (sender.hasPermission("at.admin.setmainspawn")) {
String id;
boolean world = true;
if (args.length > 0) {
if (!args[0].matches("^[0-9A-Za-z\\-_]+$")) {
CustomMessages.sendMessage(sender, "Error.nonAlphanumericSpawn");
return true;
}
id = args[0];
world = false;
} else if (sender instanceof Player) {
id = ((Player) sender).getWorld().getName();
} else {
CustomMessages.sendMessage(sender, "Error.cannotSetMainSpawnConsole");
return true;
}

Location loc;
if (!Spawn.get().doesSpawnExist(id)) {
if (sender instanceof Player) {
if (sender.hasPermission("at.member.setspawn")
&& (world || sender.hasPermission("at.member.setspawn.other"))) {
loc = ((Player) sender).getLocation();
Spawn.get().setSpawn(loc, id);
} else {
CustomMessages.sendMessage(sender, "Error.cannotSetMainSpawn");
return true;
}
} else {
CustomMessages.sendMessage(sender, "Error.cannotSetMainSpawnConsole");
return true;
}
} else {
loc = Spawn.get().getSpawn(id);
}
CustomMessages.sendMessage(sender, Spawn.get().setMainSpawn(id, loc), "{spawn}", id);
}
}
return true;
}

@Nullable
@Override
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s, @NotNull String[] args) {
if (sender.hasPermission("at.admin.setmainspawn") && sender instanceof Player && args.length == 1) {
List<String> spawns = new ArrayList<>();
StringUtil.copyPartialMatches(args[0], Spawn.get().getSpawns(), spawns);
return spawns;
}
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,30 @@
import io.github.niestrat99.advancedteleport.config.CustomMessages;
import io.github.niestrat99.advancedteleport.config.NewConfig;
import io.github.niestrat99.advancedteleport.config.Spawn;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import java.io.IOException;

public class SetSpawn implements AsyncATCommand {

@Override
public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
if (NewConfig.get().USE_SPAWN.get()) {
if (sender.hasPermission("at.admin.setspawn")){
if (sender instanceof Player) {
Player player = (Player) sender;
Location spawn = player.getLocation();
try {
Spawn.setSpawn(spawn);
CustomMessages.sendMessage(sender, "Info.setSpawn");
} catch (IOException e) {
e.printStackTrace();
String name = player.getWorld().getName();
String message = "Info.setSpawn";
if (args.length > 0 && sender.hasPermission("at.admin.setspawn.other")) {
if (!args[0].matches("^[0-9a-zA-Z_\\-]+$")) {
CustomMessages.sendMessage(sender, "Error.nonAlphanumericSpawn");
return false;
}
name = args[0];
message = "Info.setSpawnSpecial";
}
Spawn.get().setSpawn(player.getLocation(), name);
CustomMessages.sendMessage(sender, message, "{spawn}", name);
} else {
CustomMessages.sendMessage(sender, "Error.notAPlayer");
}
Expand Down
Loading

0 comments on commit 32df790

Please sign in to comment.