diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2f3d2d17..d08303e0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,7 +20,7 @@ repos: rev: v2.13.0 hooks: - id: pretty-format-java - args: [--autofix] + args: [--autofix, --aosp, --google-java-formatter-version=1.16.0] - id: pretty-format-yaml args: [--autofix] - id: pretty-format-toml diff --git a/core/src/main/java/com/sekwah/advancedportals/core/AdvancedPortalsCore.java b/core/src/main/java/com/sekwah/advancedportals/core/AdvancedPortalsCore.java index a7d276db..53f59a83 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/AdvancedPortalsCore.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/AdvancedPortalsCore.java @@ -8,14 +8,14 @@ import com.sekwah.advancedportals.core.commands.subcommands.portal.*; import com.sekwah.advancedportals.core.connector.commands.CommandRegister; import com.sekwah.advancedportals.core.connector.containers.ServerContainer; +import com.sekwah.advancedportals.core.module.AdvancedPortalsModule; import com.sekwah.advancedportals.core.registry.TagRegistry; +import com.sekwah.advancedportals.core.repository.ConfigRepository; import com.sekwah.advancedportals.core.repository.IPlayerDataRepository; import com.sekwah.advancedportals.core.serializeddata.DataStorage; -import com.sekwah.advancedportals.core.module.AdvancedPortalsModule; -import com.sekwah.advancedportals.core.repository.ConfigRepository; import com.sekwah.advancedportals.core.services.DestinationServices; -import com.sekwah.advancedportals.core.services.PortalServices; import com.sekwah.advancedportals.core.services.PlayerDataServices; +import com.sekwah.advancedportals.core.services.PortalServices; import com.sekwah.advancedportals.core.tags.activation.*; import com.sekwah.advancedportals.core.util.GameScheduler; import com.sekwah.advancedportals.core.util.InfoLogger; @@ -26,7 +26,6 @@ public class AdvancedPortalsCore { - public static final String version = "1.0.0"; private final InfoLogger infoLogger; @@ -35,8 +34,8 @@ public class AdvancedPortalsCore { private final AdvancedPortalsModule module; /** - * Use this to enable or alter certain features for different versions. - * If there is an issue parsing it for any reason it will be set to 0.0.0 + * Use this to enable or alter certain features for different versions. If there is an issue + * parsing it for any reason it will be set to 0.0.0 */ private final int[] mcVersion; @@ -44,35 +43,31 @@ public class AdvancedPortalsCore { private static AdvancedPortalsCore instance; - @Inject - private CommandRegister commandRegister; + @Inject private CommandRegister commandRegister; private CommandWithSubCommands portalCommand; private CommandWithSubCommands destiCommand; - @Inject - private ConfigRepository configRepository; + @Inject private ConfigRepository configRepository; - @Inject - private TagRegistry tagRegistry; + @Inject private TagRegistry tagRegistry; - @Inject - private PortalServices portalServices; + @Inject private PortalServices portalServices; - @Inject - private DestinationServices destinationServices; + @Inject private DestinationServices destinationServices; - @Inject - private PlayerDataServices playerDataRepository; + @Inject private PlayerDataServices playerDataRepository; - @Inject - private GameScheduler gameScheduler; + @Inject private GameScheduler gameScheduler; // TEMP REMOVE THIS THIS IS JUST FOR DEV - @Inject - private IPlayerDataRepository tempDataRepository; + @Inject private IPlayerDataRepository tempDataRepository; - public AdvancedPortalsCore(String mcVersion, File dataStorageLoc, InfoLogger infoLogger, ServerContainer serverContainer) { + public AdvancedPortalsCore( + String mcVersion, + File dataStorageLoc, + InfoLogger infoLogger, + ServerContainer serverContainer) { instance = this; this.serverContainer = serverContainer; this.dataStorage = new DataStorage(dataStorageLoc); @@ -81,14 +76,15 @@ public AdvancedPortalsCore(String mcVersion, File dataStorageLoc, InfoLogger inf int[] mcVersionTemp; infoLogger.info("Loading Advanced Portals Core v" + version + " for MC: " + mcVersion); try { - mcVersionTemp = Arrays.stream(mcVersion.split("\\.")).mapToInt(Integer::parseInt).toArray(); + mcVersionTemp = + Arrays.stream(mcVersion.split("\\.")).mapToInt(Integer::parseInt).toArray(); } catch (NumberFormatException e) { infoLogger.info("Failed to parse MC version: " + mcVersion); e.printStackTrace(); - mcVersionTemp = new int[]{0, 0, 0}; + mcVersionTemp = new int[] {0, 0, 0}; } - if(mcVersionTemp.length == 2) { - mcVersionTemp = new int[]{mcVersionTemp[0], mcVersionTemp[1], 0}; + if (mcVersionTemp.length == 2) { + mcVersionTemp = new int[] {mcVersionTemp[0], mcVersionTemp[1], 0}; } this.mcVersion = mcVersionTemp; @@ -96,16 +92,18 @@ public AdvancedPortalsCore(String mcVersion, File dataStorageLoc, InfoLogger inf } /** - * For some platforms we could do this on construction but this just allows for a bit more control + * For some platforms we could do this on construction but this just allows for a bit more + * control */ public void onEnable() { - // Force values to get injected, either because the initial ones were created too early or to ensure they are not null. + // Force values to get injected, either because the initial ones were created too early or + // to ensure they are not null. // Do it here to give implementations a chance to interact with the module. Injector injector = module.getInjector(); injector.injectMembers(this); injector.injectMembers(Lang.instance); - //AdvancedPortalsModule module = new AdvancedPortalsModule(this); + // AdvancedPortalsModule module = new AdvancedPortalsModule(this); this.dataStorage.copyDefaultFile("lang/en_GB.lang", false); this.loadPortalConfig(); Lang.loadLanguage(configRepository.getTranslation()); @@ -126,9 +124,7 @@ private void registerTags() { this.tagRegistry.registerTag(new PermissionTag()); } - /** - * - */ + /** */ public void registerCommands() { this.registerPortalCommand(commandRegister); this.registerDestinationCommand(commandRegister); @@ -172,8 +168,8 @@ public boolean registerDestiCommand(String arg, SubCommand subCommand, String... } /** - * Loads the portal config into the memory and saves from the memory to check in case certain things have changed - * (basically if values are missing or whatever) + * Loads the portal config into the memory and saves from the memory to check in case certain + * things have changed (basically if values are missing or whatever) */ public void loadPortalConfig() { this.configRepository.loadConfig(this.dataStorage); @@ -181,7 +177,7 @@ public void loadPortalConfig() { } public void onDisable() { - for(var playerContainer : this.serverContainer.getPlayers()) { + for (var playerContainer : this.serverContainer.getPlayers()) { playerDataRepository.playerLeave(playerContainer); } this.infoLogger.info(Lang.translate("logger.plugindisable")); diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/CommandTemplate.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/CommandTemplate.java index a2e3d8fb..18146259 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/CommandTemplate.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/CommandTemplate.java @@ -7,7 +7,8 @@ /** * Already know spigot's auto complete possibilities * - * Sponge https://docs.spongepowered.org/stable/en/plugin/commands/arguments.html#custom-command-elements + *

Sponge + * https://docs.spongepowered.org/stable/en/plugin/commands/arguments.html#custom-command-elements */ public interface CommandTemplate { @@ -15,10 +16,10 @@ public interface CommandTemplate { /** * Fired when someone asks for a tab complete action. + * * @param sender whoever triggered the command e.g. command block, server or player * @param args arguments for the command * @return a lot of strings that are possible completions */ List onTabComplete(CommandSenderContainer sender, String[] args); - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/SubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/SubCommand.java index 42b3413c..69a77881 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/SubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/SubCommand.java @@ -9,15 +9,14 @@ public interface SubCommand { /** * @param sender * @param args arguments including the subcommand that has been specified. - * @return if the command has worked (if false it will just display a message from the command suggesting to check help) + * @return if the command has worked (if false it will just display a message from the command + * suggesting to check help) */ void onCommand(CommandSenderContainer sender, String[] args); boolean hasPermission(CommandSenderContainer sender); /** - * - * * @param sender * @param args arguments including the subcommand that has been specified. * @return tab completion for the subcommand diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/CreateDestiSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/CreateDestiSubCommand.java index 7f1d75f0..d9fb6f85 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/CreateDestiSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/CreateDestiSubCommand.java @@ -5,9 +5,9 @@ import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer; import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; import com.sekwah.advancedportals.core.destination.Destination; +import com.sekwah.advancedportals.core.permissions.PortalPermissions; import com.sekwah.advancedportals.core.registry.TagRegistry; import com.sekwah.advancedportals.core.serializeddata.DataTag; -import com.sekwah.advancedportals.core.permissions.PortalPermissions; import com.sekwah.advancedportals.core.services.DestinationServices; import com.sekwah.advancedportals.core.util.Lang; import com.sekwah.advancedportals.core.util.TagReader; @@ -19,56 +19,68 @@ public class CreateDestiSubCommand extends CreateTaggedSubCommand { - @Inject - TagRegistry tagRegistry; + @Inject TagRegistry tagRegistry; - @Inject - DestinationServices destinationServices; + @Inject DestinationServices destinationServices; @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(args.length > 1) { + if (args.length > 1) { PlayerContainer player = sender.getPlayerContainer(); - if(player == null) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.create.destination.console")); + if (player == null) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.create.destination.console")); return; } ArrayList destinationTags = TagReader.getTagsFromArgs(args); // Find the tag with the "name" NAME - DataTag nameTag = destinationTags.stream().filter(tag -> tag.NAME.equals("name")).findFirst().orElse(null); + DataTag nameTag = + destinationTags.stream() + .filter(tag -> tag.NAME.equals("name")) + .findFirst() + .orElse(null); // If the tag is null, check if arg[1] has a : to check it's not a tag. - if(nameTag == null && !args[1].contains(":")) { + if (nameTag == null && !args[1].contains(":")) { nameTag = new DataTag("name", args[1]); destinationTags.add(nameTag); } if (nameTag == null) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.error.noname")); + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.error.noname")); return; } - sender.sendMessage(Lang.centeredTitle(Lang.translate("command.create.destination.prep"))); + sender.sendMessage( + Lang.centeredTitle(Lang.translate("command.create.destination.prep"))); sender.sendMessage(""); sender.sendMessage(Lang.translate("command.create.tags")); - if(!destinationTags.isEmpty()) { + if (!destinationTags.isEmpty()) { this.filterAndProcessTags(destinationTags); this.printTags(sender, destinationTags); } sender.sendMessage(""); - Destination destination = destinationServices.createDesti(player, player.getLoc(), destinationTags); - if(destination != null) { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.create.destination.complete")); - } - else { + Destination destination = + destinationServices.createDesti(player, player.getLoc(), destinationTags); + if (destination != null) { + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.create.destination.complete")); + } else { sender.sendMessage(""); - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.create.destination.error")); + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.create.destination.error")); } - } - else { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.error.noname")); + } else { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.error.noname")); } } @@ -81,7 +93,9 @@ public boolean hasPermission(CommandSenderContainer sender) { protected List getRelatedTags() { var tags = tagRegistry.getTags(); // Filter tags that support Destination - return tags.stream().filter(tag -> Arrays.asList(tag.getTagTypes()).contains(Tag.TagType.DESTINATION)).toList(); + return tags.stream() + .filter(tag -> Arrays.asList(tag.getTagTypes()).contains(Tag.TagType.DESTINATION)) + .toList(); } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/ListDestiSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/ListDestiSubCommand.java index 350b16b6..92f52b4d 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/ListDestiSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/ListDestiSubCommand.java @@ -11,13 +11,17 @@ public class ListDestiSubCommand implements SubCommand { - @Inject - DestinationServices portalServices; + @Inject DestinationServices portalServices; @Override public void onCommand(CommandSenderContainer sender, String[] args) { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.destination.list") - + " " + portalServices.getDestinationNames().stream().sorted().collect(Collectors.joining(", "))); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.destination.list") + + " " + + portalServices.getDestinationNames().stream() + .sorted() + .collect(Collectors.joining(", "))); } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/RemoveDestiSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/RemoveDestiSubCommand.java index 10fd8e7b..a5b14c4d 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/RemoveDestiSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/RemoveDestiSubCommand.java @@ -12,22 +12,21 @@ public class RemoveDestiSubCommand implements SubCommand { - - @Inject - DestinationServices destinationServices; + @Inject DestinationServices destinationServices; @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(args.length > 1) { - if(destinationServices.removeDestination(args[1], sender.getPlayerContainer())) { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.destination.remove.complete")); - } - else { - sender.sendMessage(Lang.translate("messageprefix.negative") - + Lang.translate("command.destination.remove.error")); + if (args.length > 1) { + if (destinationServices.removeDestination(args[1], sender.getPlayerContainer())) { + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.destination.remove.complete")); + } else { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.destination.remove.error")); } - } - else { + } else { sender.sendMessage(Lang.translate("command.destination.noname")); } } @@ -39,7 +38,7 @@ public boolean hasPermission(CommandSenderContainer sender) { @Override public List onTabComplete(CommandSenderContainer sender, String[] args) { - if(args.length > 2) { + if (args.length > 2) { return Collections.emptyList(); } List destiNames = destinationServices.getDestinationNames(); diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/ShowDestiSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/ShowDestiSubCommand.java index 08c18cd0..818529b7 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/ShowDestiSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/ShowDestiSubCommand.java @@ -19,40 +19,41 @@ import java.util.Objects; /** - * This will be different from the old show command and I believe it is 1.16+ till the latest version as of writing this. + * This will be different from the old show command and I believe it is 1.16+ till the latest + * version as of writing this. */ public class ShowDestiSubCommand implements SubCommand, SubCommand.SubCommandOnInit { - @Inject - PlayerDataServices tempDataServices; + @Inject PlayerDataServices tempDataServices; - @Inject - GameScheduler gameScheduler; + @Inject GameScheduler gameScheduler; - @Inject - AdvancedPortalsCore core; + @Inject AdvancedPortalsCore core; - @Inject - DestinationServices destinationServices; + @Inject DestinationServices destinationServices; - @Inject - ServerContainer serverContainer; + @Inject ServerContainer serverContainer; - @Inject - ConfigRepository config; + @Inject ConfigRepository config; @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(core.getMcVersion()[1] < 16) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.portal.show.unsupported")); + if (core.getMcVersion()[1] < 16) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.portal.show.unsupported")); return; } var tempData = tempDataServices.getPlayerData(sender.getPlayerContainer()); - if(tempData.isDestiVisible()) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.destination.show.disabled")); + if (tempData.isDestiVisible()) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.destination.show.disabled")); } else { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.destination.show.enabled")); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.destination.show.enabled")); } tempData.setDestiVisible(!tempData.isDestiVisible()); } @@ -79,20 +80,30 @@ public String getDetailedHelpText() { @Override public void registered() { - gameScheduler.intervalTickEvent("show_portal", () -> { - for(PlayerContainer player : serverContainer.getPlayers()) { - var tempData = tempDataServices.getPlayerData(player); - if(!tempData.isDestiVisible()) { - continue; - } - - for (Destination destination : destinationServices.getDestinations()) { - var pos = destination.getLoc(); - if(Objects.equals(pos.getWorldName(), player.getWorldName()) && pos.distanceTo(player.getLoc()) < config.getVisibleRange()) { - Debug.addMarker(player, pos.toBlockPos(), destination.getArgValues("name")[0], new Color(100, 100, 100, 100), 1300); + gameScheduler.intervalTickEvent( + "show_portal", + () -> { + for (PlayerContainer player : serverContainer.getPlayers()) { + var tempData = tempDataServices.getPlayerData(player); + if (!tempData.isDestiVisible()) { + continue; + } + + for (Destination destination : destinationServices.getDestinations()) { + var pos = destination.getLoc(); + if (Objects.equals(pos.getWorldName(), player.getWorldName()) + && pos.distanceTo(player.getLoc()) < config.getVisibleRange()) { + Debug.addMarker( + player, + pos.toBlockPos(), + destination.getArgValues("name")[0], + new Color(100, 100, 100, 100), + 1300); + } + } } - } - } - }, 1, 20); + }, + 1, + 20); } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/TeleportDestiSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/TeleportDestiSubCommand.java index 85f93eb5..72d7d1bb 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/TeleportDestiSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/desti/TeleportDestiSubCommand.java @@ -12,19 +12,21 @@ public class TeleportDestiSubCommand implements SubCommand { - @Inject - DestinationServices destinationServices; + @Inject DestinationServices destinationServices; + @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(args.length > 1) { - if(destinationServices.teleportToDestination(args[1], sender.getPlayerContainer())) { - sender.sendMessage(Lang.translate("messageprefix.positive") - + Lang.translate("command.destination.teleport.success") - .replaceAll("@destiname", args[1])); + if (args.length > 1) { + if (destinationServices.teleportToDestination(args[1], sender.getPlayerContainer())) { + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.destination.teleport.success") + .replaceAll("@destiname", args[1])); } else { - sender.sendMessage(Lang.translate("messageprefix.negative") + - Lang.translate("command.destination.teleport.error") - .replaceAll("@destiname", args[1])); + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.destination.teleport.error") + .replaceAll("@destiname", args[1])); } } else { sender.sendMessage(Lang.translate("command.destination.noname")); @@ -38,7 +40,7 @@ public boolean hasPermission(CommandSenderContainer sender) { @Override public List onTabComplete(CommandSenderContainer sender, String[] args) { - if(args.length > 2) { + if (args.length > 2) { return Collections.emptyList(); } List destiNames = destinationServices.getDestinationNames(); diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/CreatePortalSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/CreatePortalSubCommand.java index 5960dd9b..b7700ab0 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/CreatePortalSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/CreatePortalSubCommand.java @@ -4,11 +4,11 @@ import com.sekwah.advancedportals.core.commands.subcommands.common.CreateTaggedSubCommand; import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer; import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; +import com.sekwah.advancedportals.core.permissions.PortalPermissions; +import com.sekwah.advancedportals.core.portal.AdvancedPortal; import com.sekwah.advancedportals.core.registry.TagRegistry; import com.sekwah.advancedportals.core.repository.ConfigRepository; import com.sekwah.advancedportals.core.serializeddata.DataTag; -import com.sekwah.advancedportals.core.permissions.PortalPermissions; -import com.sekwah.advancedportals.core.portal.AdvancedPortal; import com.sekwah.advancedportals.core.services.PortalServices; import com.sekwah.advancedportals.core.tags.activation.NameTag; import com.sekwah.advancedportals.core.tags.activation.TriggerBlockTag; @@ -23,44 +23,50 @@ public class CreatePortalSubCommand extends CreateTaggedSubCommand { - @Inject - PortalServices portalServices; + @Inject PortalServices portalServices; - @Inject - TagRegistry tagRegistry; + @Inject TagRegistry tagRegistry; - @Inject - InfoLogger infoLogger; + @Inject InfoLogger infoLogger; - @Inject - ConfigRepository config; + @Inject ConfigRepository config; @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(args.length > 1) { + if (args.length > 1) { PlayerContainer player = sender.getPlayerContainer(); - if(player == null) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.create.console")); + if (player == null) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.create.console")); return; } ArrayList portalTags = TagReader.getTagsFromArgs(args); // Find the tag with the "name" NAME - DataTag nameTag = portalTags.stream().filter(tag -> { - this.infoLogger.info("Tag: " + tag.NAME); - this.infoLogger.info("Equals: " + tag.NAME.equals(NameTag.TAG_NAME)); - return tag.NAME.equals(NameTag.TAG_NAME); - }).findFirst().orElse(null); + DataTag nameTag = + portalTags.stream() + .filter( + tag -> { + this.infoLogger.info("Tag: " + tag.NAME); + this.infoLogger.info( + "Equals: " + tag.NAME.equals(NameTag.TAG_NAME)); + return tag.NAME.equals(NameTag.TAG_NAME); + }) + .findFirst() + .orElse(null); // If the tag is null, check if arg[1] has a : to check it's not a tag. - if(nameTag == null && !args[1].contains(":")) { + if (nameTag == null && !args[1].contains(":")) { nameTag = new DataTag("name", args[1]); portalTags.add(nameTag); } if (nameTag == null) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.error.noname")); + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.error.noname")); return; } @@ -68,29 +74,39 @@ public void onCommand(CommandSenderContainer sender, String[] args) { sender.sendMessage(""); sender.sendMessage(Lang.translate("command.create.tags")); - if(!portalTags.isEmpty()) { + if (!portalTags.isEmpty()) { this.filterAndProcessTags(portalTags); this.printTags(sender, portalTags); } sender.sendMessage(""); - var triggerBlockTag = portalTags.stream().filter(tag -> tag.NAME.equals(TriggerBlockTag.TAG_NAME)).findFirst().orElse(null); + var triggerBlockTag = + portalTags.stream() + .filter(tag -> tag.NAME.equals(TriggerBlockTag.TAG_NAME)) + .findFirst() + .orElse(null); - if(triggerBlockTag == null) { - portalTags.add(new DataTag(TriggerBlockTag.TAG_NAME, config.getDefaultTriggerBlock())); + if (triggerBlockTag == null) { + portalTags.add( + new DataTag(TriggerBlockTag.TAG_NAME, config.getDefaultTriggerBlock())); } AdvancedPortal portal = portalServices.createPortal(player, portalTags); - if(portal != null) { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.create.complete")); + if (portal != null) { + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.create.complete")); sender.sendMessage(Lang.translate("command.create.tags")); this.printTags(sender, portal.getArgs()); } else { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.create.error")); + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.create.error")); } - } - else { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.error.notags")); + } else { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.error.notags")); } } @@ -103,7 +119,9 @@ public boolean hasPermission(CommandSenderContainer sender) { protected List getRelatedTags() { var tags = tagRegistry.getTags(); // Filter tags that support Destination - return tags.stream().filter(tag -> Arrays.asList(tag.getTagTypes()).contains(Tag.TagType.PORTAL)).toList(); + return tags.stream() + .filter(tag -> Arrays.asList(tag.getTagTypes()).contains(Tag.TagType.PORTAL)) + .toList(); } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/EndGatewayBlockSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/EndGatewayBlockSubCommand.java index dc6243b4..c8f5db97 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/EndGatewayBlockSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/EndGatewayBlockSubCommand.java @@ -12,22 +12,25 @@ public class EndGatewayBlockSubCommand implements SubCommand { - @Inject - private AdvancedPortalsCore portalsCore; + @Inject private AdvancedPortalsCore portalsCore; @Override public void onCommand(CommandSenderContainer sender, String[] args) { PlayerContainer player = sender.getPlayerContainer(); - if(player == null) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.playeronly")); + if (player == null) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.playeronly")); + } else { + player.giveItem( + "BLACK_WOOL", + "\u00A78Gateway Block Placer", + "\u00A7r\u00A77This wool is made of a magical substance", + "\u00A7r\u00A7eRight Click\u00A77: Place portal block"); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.gatewayblock")); } - else { - player.giveItem("BLACK_WOOL", "\u00A78Gateway Block Placer" - , "\u00A7r\u00A77This wool is made of a magical substance", - "\u00A7r\u00A7eRight Click\u00A77: Place portal block"); - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.gatewayblock")); - } - } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/EndPortalBlockSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/EndPortalBlockSubCommand.java index 6128d11d..6907460e 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/EndPortalBlockSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/EndPortalBlockSubCommand.java @@ -12,22 +12,25 @@ public class EndPortalBlockSubCommand implements SubCommand { - @Inject - private AdvancedPortalsCore portalsCore; + @Inject private AdvancedPortalsCore portalsCore; @Override public void onCommand(CommandSenderContainer sender, String[] args) { PlayerContainer player = sender.getPlayerContainer(); - if(player == null) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.playeronly")); + if (player == null) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.playeronly")); + } else { + player.giveItem( + "BLACK_WOOL", + "\u00A78End Portal Block Placer", + "\u00A7r\u00A77This wool is made of a magical substance", + "\u00A7r\u00A7eRight Click\u00A77: Place portal block"); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.endportalblock")); } - else { - player.giveItem("BLACK_WOOL", "\u00A78End Portal Block Placer" - , "\u00A7r\u00A77This wool is made of a magical substance", - "\u00A7r\u00A7eRight Click\u00A77: Place portal block"); - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.endportalblock")); - } - } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/LangUpdateSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/LangUpdateSubCommand.java index 6c31893a..819b1f81 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/LangUpdateSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/LangUpdateSubCommand.java @@ -19,48 +19,65 @@ public class LangUpdateSubCommand implements SubCommand { - @Inject - private AdvancedPortalsCore portalsCore; - @Inject - private ConfigRepository configRepository; + @Inject private AdvancedPortalsCore portalsCore; + @Inject private ConfigRepository configRepository; - public LangUpdateSubCommand() { - } + public LangUpdateSubCommand() {} @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(args.length > 1 && args[1].equalsIgnoreCase("overwrite")) { - this.portalsCore.getDataStorage().copyDefaultFile("lang/" + configRepository.getTranslation() + ".lang", true); - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("translatedata.replaced")); + if (args.length > 1 && args[1].equalsIgnoreCase("overwrite")) { + this.portalsCore + .getDataStorage() + .copyDefaultFile("lang/" + configRepository.getTranslation() + ".lang", true); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("translatedata.replaced")); Lang.loadLanguage(configRepository.getTranslation()); } else { - // TODO check what keys are missing and append them to the end of the file, check the translation first then GB + // TODO check what keys are missing and append them to the end of the file, check the + // translation first then GB Lang lang = Lang.instance; - Map internalTranslation = lang.getInternalLanguageMap(Lang.DEFAULT_LANG); - internalTranslation.putAll(lang.getInternalLanguageMap(configRepository.getTranslation())); + Map internalTranslation = + lang.getInternalLanguageMap(Lang.DEFAULT_LANG); + internalTranslation.putAll( + lang.getInternalLanguageMap(configRepository.getTranslation())); - Map currentTranslation = lang.getLanguageMap(configRepository.getTranslation()); + Map currentTranslation = + lang.getLanguageMap(configRepository.getTranslation()); // Remove everything to leave just the missing keys - for(Map.Entry entry : currentTranslation.entrySet()) { + for (Map.Entry entry : currentTranslation.entrySet()) { internalTranslation.remove(entry.getKey()); } List newTranslations = new ArrayList<>(); - for(Map.Entry entry : internalTranslation.entrySet()) { + for (Map.Entry entry : internalTranslation.entrySet()) { newTranslations.add(entry.getKey() + "=" + entry.getValue()); } String appendText = String.join("\n", newTranslations); - InputStream translationFile = this.portalsCore.getDataStorage().loadResource("lang/" + configRepository.getTranslation() + ".lang"); - String result = new BufferedReader(new InputStreamReader(translationFile)) - .lines().collect(Collectors.joining("\n")); - InputStream withExtras = new ByteArrayInputStream(result.concat("\n").concat(appendText).getBytes()); - this.portalsCore.getDataStorage().writeResource(withExtras, "lang/" + configRepository.getTranslation() + ".lang"); + InputStream translationFile = + this.portalsCore + .getDataStorage() + .loadResource("lang/" + configRepository.getTranslation() + ".lang"); + String result = + new BufferedReader(new InputStreamReader(translationFile)) + .lines() + .collect(Collectors.joining("\n")); + InputStream withExtras = + new ByteArrayInputStream(result.concat("\n").concat(appendText).getBytes()); + this.portalsCore + .getDataStorage() + .writeResource( + withExtras, "lang/" + configRepository.getTranslation() + ".lang"); Lang.loadLanguage(configRepository.getTranslation()); - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translateInsertVariables("translatedata.updated", newTranslations.size())); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translateInsertVariables( + "translatedata.updated", newTranslations.size())); } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ListPortalsSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ListPortalsSubCommand.java index 9e4960f7..67499468 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ListPortalsSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ListPortalsSubCommand.java @@ -7,18 +7,21 @@ import com.sekwah.advancedportals.core.util.Lang; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; public class ListPortalsSubCommand implements SubCommand { - @Inject - PortalServices portalServices; + @Inject PortalServices portalServices; @Override public void onCommand(CommandSenderContainer sender, String[] args) { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.portal.list") - + " " + portalServices.getPortalNames().stream().sorted().collect(Collectors.joining(", "))); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.portal.list") + + " " + + portalServices.getPortalNames().stream() + .sorted() + .collect(Collectors.joining(", "))); } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/PortalBlockSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/PortalBlockSubCommand.java index 6fc72da9..6bbe30ca 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/PortalBlockSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/PortalBlockSubCommand.java @@ -12,24 +12,30 @@ public class PortalBlockSubCommand implements SubCommand { - @Inject - private AdvancedPortalsCore portalsCore; - + @Inject private AdvancedPortalsCore portalsCore; @Override public void onCommand(CommandSenderContainer sender, String[] args) { PlayerContainer player = sender.getPlayerContainer(); - if(player == null) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.playeronly")); - } - else { - player.giveItem("PURPLE_WOOL", "\u00A75Portal Block Placer" - , "\u00A7r\u00A77This wool is made of a magical substance", - "\u00A7r\u00A7e" + Lang.translate("items.interact.left") + "\u00A77: Rotate portal block", - "\u00A7r\u00A7e" + Lang.translate("items.interact.right") + "\u00A77: Place portal block"); - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.portalblock")); + if (player == null) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.playeronly")); + } else { + player.giveItem( + "PURPLE_WOOL", + "\u00A75Portal Block Placer", + "\u00A7r\u00A77This wool is made of a magical substance", + "\u00A7r\u00A7e" + + Lang.translate("items.interact.left") + + "\u00A77: Rotate portal block", + "\u00A7r\u00A7e" + + Lang.translate("items.interact.right") + + "\u00A77: Place portal block"); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.portalblock")); } - } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ReloadPortalSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ReloadPortalSubCommand.java index 40344009..725ec0fb 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ReloadPortalSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ReloadPortalSubCommand.java @@ -14,17 +14,13 @@ public class ReloadPortalSubCommand implements SubCommand { - @Inject - private AdvancedPortalsCore portalsCore; + @Inject private AdvancedPortalsCore portalsCore; - @Inject - PortalServices portalServices; + @Inject PortalServices portalServices; - @Inject - DestinationServices destinationServices; + @Inject DestinationServices destinationServices; - @Inject - ConfigRepository configRepository; + @Inject ConfigRepository configRepository; @Override public void onCommand(CommandSenderContainer sender, String[] args) { @@ -32,7 +28,9 @@ public void onCommand(CommandSenderContainer sender, String[] args) { portalServices.loadPortals(); destinationServices.loadDestinations(); Lang.loadLanguage(configRepository.getTranslation()); - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.reload.reloaded")); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.reload.reloaded")); } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/RemovePortalSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/RemovePortalSubCommand.java index 94f247cd..0f399402 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/RemovePortalSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/RemovePortalSubCommand.java @@ -3,35 +3,29 @@ import com.google.inject.Inject; import com.sekwah.advancedportals.core.commands.SubCommand; import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer; -import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; import com.sekwah.advancedportals.core.permissions.PortalPermissions; -import com.sekwah.advancedportals.core.portal.AdvancedPortal; import com.sekwah.advancedportals.core.services.PortalServices; import com.sekwah.advancedportals.core.util.Lang; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import java.util.Map; public class RemovePortalSubCommand implements SubCommand { - - @Inject - PortalServices portalServices; + @Inject PortalServices portalServices; @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(args.length > 1) { - if(portalServices.removePortal(args[1], sender.getPlayerContainer())) { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.portal.remove.complete")); - } - else { - sender.sendMessage(Lang.translate("messageprefix.negative") - + Lang.translate("command.portal.remove.error")); + if (args.length > 1) { + if (portalServices.removePortal(args[1], sender.getPlayerContainer())) { + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.portal.remove.complete")); + } else { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.portal.remove.error")); } - } - else { + } else { sender.sendMessage(Lang.translate("command.portal.remove.noname")); } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/SelectorSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/SelectorSubCommand.java index bd7d96e4..b0b532c8 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/SelectorSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/SelectorSubCommand.java @@ -13,28 +13,35 @@ public class SelectorSubCommand implements SubCommand { - @Inject - private ConfigRepository configRepo; + @Inject private ConfigRepository configRepo; - @Inject - private AdvancedPortalsCore portalsCore; + @Inject private AdvancedPortalsCore portalsCore; @Override public void onCommand(CommandSenderContainer sender, String[] args) { PlayerContainer player = sender.getPlayerContainer(); - if(player == null) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.playeronly")); - } - else { - player.giveItem(configRepo.getSelectorMaterial(), "\u00A7e" + Lang.translate("items.selector.name") - , "\u00A7r\u00A77This wand with has the power to help", + if (player == null) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.playeronly")); + } else { + player.giveItem( + configRepo.getSelectorMaterial(), + "\u00A7e" + Lang.translate("items.selector.name"), + "\u00A7r\u00A77This wand with has the power to help", "\u00A7r\u00A77 create portals bistowed upon it!", "", - "\u00A7r\u00A7e" + Lang.translate("items.interact.left") + "\u00A77: " + Lang.translateInsertVariables("items.selector.pos", "1"), - "\u00A7r\u00A7e" + Lang.translate("items.interact.right") + "\u00A77: " + Lang.translateInsertVariables("items.selector.pos", "2")); - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.selector")); + "\u00A7r\u00A7e" + + Lang.translate("items.interact.left") + + "\u00A77: " + + Lang.translateInsertVariables("items.selector.pos", "1"), + "\u00A7r\u00A7e" + + Lang.translate("items.interact.right") + + "\u00A77: " + + Lang.translateInsertVariables("items.selector.pos", "2")); + sender.sendMessage( + Lang.translate("messageprefix.positive") + Lang.translate("command.selector")); } - } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ShowPortalSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ShowPortalSubCommand.java index d187fa7e..1bad51ca 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ShowPortalSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/ShowPortalSubCommand.java @@ -9,8 +9,8 @@ import com.sekwah.advancedportals.core.portal.AdvancedPortal; import com.sekwah.advancedportals.core.repository.ConfigRepository; import com.sekwah.advancedportals.core.serializeddata.BlockLocation; -import com.sekwah.advancedportals.core.services.PortalServices; import com.sekwah.advancedportals.core.services.PlayerDataServices; +import com.sekwah.advancedportals.core.services.PortalServices; import com.sekwah.advancedportals.core.tags.activation.NameTag; import com.sekwah.advancedportals.core.util.Debug; import com.sekwah.advancedportals.core.util.GameScheduler; @@ -21,7 +21,8 @@ import java.util.Objects; /** - * This will be different from the old show command and I believe it is 1.16+ till the latest version as of writing this. + * This will be different from the old show command and I believe it is 1.16+ till the latest + * version as of writing this. */ public class ShowPortalSubCommand implements SubCommand, SubCommand.SubCommandOnInit { @@ -29,23 +30,17 @@ public class ShowPortalSubCommand implements SubCommand, SubCommand.SubCommandOn boolean alternate_show_trigger = true; - @Inject - PlayerDataServices playerDataServices; + @Inject PlayerDataServices playerDataServices; - @Inject - GameScheduler gameScheduler; + @Inject GameScheduler gameScheduler; - @Inject - AdvancedPortalsCore core; + @Inject AdvancedPortalsCore core; - @Inject - ServerContainer serverContainer; + @Inject ServerContainer serverContainer; - @Inject - PortalServices portalServices; + @Inject PortalServices portalServices; - @Inject - ConfigRepository config; + @Inject ConfigRepository config; final Color POS1_COLOR = new Color(0, 255, 0); final Color POS2_COLOR = new Color(255, 0, 0); @@ -60,16 +55,22 @@ public class ShowPortalSubCommand implements SubCommand, SubCommand.SubCommandOn @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(core.getMcVersion()[1] < 16) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.portal.show.unsupported")); + if (core.getMcVersion()[1] < 16) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.portal.show.unsupported")); return; } var tempData = playerDataServices.getPlayerData(sender.getPlayerContainer()); - if(tempData.isPortalVisible()) { - sender.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.portal.show.disabled")); + if (tempData.isPortalVisible()) { + sender.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.portal.show.disabled")); } else { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translate("command.portal.show.enabled")); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translate("command.portal.show.enabled")); } tempData.setPortalVisible(!tempData.isPortalVisible()); } @@ -96,63 +97,110 @@ public String getDetailedHelpText() { @Override public void registered() { - gameScheduler.intervalTickEvent("show_portal", () -> { - alternate_show_trigger = !alternate_show_trigger; - for(PlayerContainer player : serverContainer.getPlayers()) { - var tempData = playerDataServices.getPlayerData(player); - if(!tempData.isPortalVisible()) { - continue; - } - - - if (tempData.getPos1() != null && tempData.getPos2() != null && tempData.getPos1().getWorldName().equals(player.getWorldName()) && tempData.getPos2().getWorldName().equals(player.getWorldName())) { - debugVisuals(player, tempData.getPos1(), tempData.getPos2(), SELECTION_COLOR, SHOW_TICKS); - } + gameScheduler.intervalTickEvent( + "show_portal", + () -> { + alternate_show_trigger = !alternate_show_trigger; + for (PlayerContainer player : serverContainer.getPlayers()) { + var tempData = playerDataServices.getPlayerData(player); + if (!tempData.isPortalVisible()) { + continue; + } - if(tempData.getPos1() != null && tempData.getPos1().getWorldName().equals(player.getWorldName())) { - Debug.addMarker(player, tempData.getPos1(), "Pos1", POS1_COLOR, SHOW_TICKS); - } - if(tempData.getPos2() != null && tempData.getPos2().getWorldName().equals(player.getWorldName())) { - Debug.addMarker(player, tempData.getPos2(), "Pos2", POS2_COLOR, SHOW_TICKS); - } + if (tempData.getPos1() != null + && tempData.getPos2() != null + && tempData.getPos1().getWorldName().equals(player.getWorldName()) + && tempData.getPos2() + .getWorldName() + .equals(player.getWorldName())) { + debugVisuals( + player, + tempData.getPos1(), + tempData.getPos2(), + SELECTION_COLOR, + SHOW_TICKS); + } - var world = player.getWorld(); - for (var portal : portalServices.getPortals()) { - if(Objects.equals(portal.getMinLoc().getWorldName(), player.getWorldName()) && portal.isLocationInPortal(player.getLoc(), config.getVisibleRange())) { - BlockLocation minLoc = portal.getMinLoc(); - BlockLocation maxLoc = portal.getMaxLoc(); - int midX = (minLoc.getPosX() + maxLoc.getPosX()) / 2; - int midZ = (minLoc.getPosZ() + maxLoc.getPosZ()) / 2; - BlockLocation midPoint = new BlockLocation(minLoc.getWorldName(), midX, maxLoc.getPosY(), midZ); - Color color; - if(portal.isTriggerBlock(world.getBlock(midPoint))) { - color = TRIGGER_OUTLINE_COLOR; - } else { - if(midPoint.getPosX() == minLoc.getPosX() || midPoint.getPosX() == maxLoc.getPosX() || midPoint.getPosZ() == minLoc.getPosZ() || midPoint.getPosZ() == maxLoc.getPosZ()) - color = OUTLINE_COLOR; - else - color = new Color(0, 0, 0, 0); + if (tempData.getPos1() != null + && tempData.getPos1() + .getWorldName() + .equals(player.getWorldName())) { + Debug.addMarker( + player, tempData.getPos1(), "Pos1", POS1_COLOR, SHOW_TICKS); } - debugVisuals(player, portal, OUTLINE_COLOR, SHOW_TICKS, TRIGGER_COLOR); - var name = portal.getArgValues(NameTag.TAG_NAME); - if(name != null && name.length > 0) { - Debug.addMarker(player, midPoint, name[0], color, SHOW_TICKS); + if (tempData.getPos2() != null + && tempData.getPos2() + .getWorldName() + .equals(player.getWorldName())) { + Debug.addMarker( + player, tempData.getPos2(), "Pos2", POS2_COLOR, SHOW_TICKS); + } + + var world = player.getWorld(); + for (var portal : portalServices.getPortals()) { + if (Objects.equals( + portal.getMinLoc().getWorldName(), + player.getWorldName()) + && portal.isLocationInPortal( + player.getLoc(), config.getVisibleRange())) { + BlockLocation minLoc = portal.getMinLoc(); + BlockLocation maxLoc = portal.getMaxLoc(); + int midX = (minLoc.getPosX() + maxLoc.getPosX()) / 2; + int midZ = (minLoc.getPosZ() + maxLoc.getPosZ()) / 2; + BlockLocation midPoint = + new BlockLocation( + minLoc.getWorldName(), + midX, + maxLoc.getPosY(), + midZ); + Color color; + if (portal.isTriggerBlock(world.getBlock(midPoint))) { + color = TRIGGER_OUTLINE_COLOR; + } else { + if (midPoint.getPosX() == minLoc.getPosX() + || midPoint.getPosX() == maxLoc.getPosX() + || midPoint.getPosZ() == minLoc.getPosZ() + || midPoint.getPosZ() == maxLoc.getPosZ()) + color = OUTLINE_COLOR; + else color = new Color(0, 0, 0, 0); + } + debugVisuals( + player, portal, OUTLINE_COLOR, SHOW_TICKS, TRIGGER_COLOR); + var name = portal.getArgValues(NameTag.TAG_NAME); + if (name != null && name.length > 0) { + Debug.addMarker(player, midPoint, name[0], color, SHOW_TICKS); + } + } } } - } - } - }, 1, 20); + }, + 1, + 20); } - private void debugVisuals(PlayerContainer player, BlockLocation pos1, BlockLocation pos2, Color color, int time) { + private void debugVisuals( + PlayerContainer player, BlockLocation pos1, BlockLocation pos2, Color color, int time) { debugVisuals(player, pos1, pos2, color, time, null, null); } - private void debugVisuals(PlayerContainer player, AdvancedPortal portal, Color color, int time, Color triggerColor) { - debugVisuals(player, portal.getMinLoc(), portal.getMaxLoc(), color, time, triggerColor, portal); + private void debugVisuals( + PlayerContainer player, + AdvancedPortal portal, + Color color, + int time, + Color triggerColor) { + debugVisuals( + player, portal.getMinLoc(), portal.getMaxLoc(), color, time, triggerColor, portal); } - private void debugVisuals(PlayerContainer player, BlockLocation pos1, BlockLocation pos2, Color color, int time, Color triggerColor, AdvancedPortal portal) { + private void debugVisuals( + PlayerContainer player, + BlockLocation pos1, + BlockLocation pos2, + Color color, + int time, + Color triggerColor, + AdvancedPortal portal) { int minX = Math.min(pos1.getPosX(), pos2.getPosX()); int minY = Math.min(pos1.getPosY(), pos2.getPosY()); int minZ = Math.min(pos1.getPosZ(), pos2.getPosZ()); @@ -163,26 +211,30 @@ private void debugVisuals(PlayerContainer player, BlockLocation pos1, BlockLocat var world = player.getWorld(); - int widthX = maxX - minX + 1; int widthY = maxY - minY + 1; int widthZ = maxZ - minZ + 1; int totalBlocks = widthX * widthY * widthZ; - if(totalBlocks <= config.getMaxTriggerVisualisationSize()) { + if (totalBlocks <= config.getMaxTriggerVisualisationSize()) { for (int x = minX; x <= maxX; x++) { for (int y = minY; y <= maxY; y++) { for (int z = minZ; z <= maxZ; z++) { var pos = new BlockLocation(pos1.getWorldName(), x, y, z); - boolean isTrigger = portal != null && portal.isTriggerBlock(world.getBlock(pos)); - boolean isOutline = (y == minY || y == maxY) && (x == minX || x == maxX || z == minZ || z == maxZ) || (z == minZ || z == maxZ) && (x == minX || x == maxX); + boolean isTrigger = + portal != null && portal.isTriggerBlock(world.getBlock(pos)); + boolean isOutline = + (y == minY || y == maxY) + && (x == minX || x == maxX || z == minZ + || z == maxZ) + || (z == minZ || z == maxZ) && (x == minX || x == maxX); if (isTrigger && isOutline && alternate_show_trigger) { Debug.addMarker(player, pos, "", TRIGGER_OUTLINE_COLOR, time); } else if (isOutline) { Debug.addMarker(player, pos, "", color, time); - } else if(isTrigger) { - if(alternate_show_trigger) + } else if (isTrigger) { + if (alternate_show_trigger) Debug.addMarker(player, pos, "", triggerColor, time); } } @@ -191,23 +243,83 @@ private void debugVisuals(PlayerContainer player, BlockLocation pos1, BlockLocat } else { for (int x = minX; x <= maxX; x++) { - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), x, minY, minZ), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), x, minY, maxZ), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), x, maxY, minZ), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), x, maxY, maxZ), "", color, time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), x, minY, minZ), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), x, minY, maxZ), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), x, maxY, minZ), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), x, maxY, maxZ), + "", + color, + time); } for (int z = minZ + 1; z < maxZ; z++) { - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), minX, minY, z), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), maxX, minY, z), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), minX, maxY, z), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), maxX, maxY, z), "", color, time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), minX, minY, z), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), maxX, minY, z), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), minX, maxY, z), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), maxX, maxY, z), + "", + color, + time); } for (int y = minY + 1; y < maxY; y++) { - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), minX, y, minZ), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), maxX, y, minZ), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), minX, y, maxZ), "", color, time); - Debug.addMarker(player, new BlockLocation(pos1.getWorldName(), maxX, y, maxZ), "", color, time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), minX, y, minZ), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), maxX, y, minZ), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), minX, y, maxZ), + "", + color, + time); + Debug.addMarker( + player, + new BlockLocation(pos1.getWorldName(), maxX, y, maxZ), + "", + color, + time); } } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/VersionSubCommand.java b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/VersionSubCommand.java index 58b20603..678a44ae 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/VersionSubCommand.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/commands/subcommands/portal/VersionSubCommand.java @@ -11,7 +11,10 @@ public class VersionSubCommand implements SubCommand { @Override public void onCommand(CommandSenderContainer sender, String[] args) { - sender.sendMessage(Lang.translate("messageprefix.positive") + " Advanced Portals v" + AdvancedPortalsCore.version); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + " Advanced Portals v" + + AdvancedPortalsCore.version); } @Override diff --git a/core/src/main/java/com/sekwah/advancedportals/core/connector/commands/CommandHandler.java b/core/src/main/java/com/sekwah/advancedportals/core/connector/commands/CommandHandler.java index 67672aac..af59e140 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/connector/commands/CommandHandler.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/connector/commands/CommandHandler.java @@ -1,11 +1,9 @@ package com.sekwah.advancedportals.core.connector.commands; - import com.sekwah.advancedportals.core.commands.CommandTemplate; public abstract class CommandHandler { - private final CommandTemplate commandExecutor; public CommandHandler(CommandTemplate commandExecutor) { diff --git a/core/src/main/java/com/sekwah/advancedportals/core/connector/commands/CommandRegister.java b/core/src/main/java/com/sekwah/advancedportals/core/connector/commands/CommandRegister.java index c5753e44..a4abeb5c 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/connector/commands/CommandRegister.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/connector/commands/CommandRegister.java @@ -6,9 +6,9 @@ public interface CommandRegister { /** * Registers the command to the appropriate system + * * @param commandName * @param commandExecutor */ void registerCommand(String commandName, CommandTemplate commandExecutor); - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/CommandSenderContainer.java b/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/CommandSenderContainer.java index 68fa5d0a..f0b077d5 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/CommandSenderContainer.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/CommandSenderContainer.java @@ -12,5 +12,4 @@ public interface CommandSenderContainer { PlayerContainer getPlayerContainer(); boolean hasPermission(String permission); - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/PlayerContainer.java b/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/PlayerContainer.java index f6db6e96..185796e5 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/PlayerContainer.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/PlayerContainer.java @@ -1,13 +1,10 @@ package com.sekwah.advancedportals.core.connector.containers; import com.sekwah.advancedportals.core.serializeddata.BlockLocation; -import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; import java.util.UUID; -/** - * Just a temporary container for whenever advanced portals needs to get data from a player - */ +/** Just a temporary container for whenever advanced portals needs to get data from a player */ public interface PlayerContainer extends EntityContainer { UUID getUUID(); @@ -26,6 +23,7 @@ public interface PlayerContainer extends EntityContainer { /** * Only 1.12 and below supported + * * @param blockPos * @param material * @param data diff --git a/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/ServerContainer.java b/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/ServerContainer.java index 027bce1a..050019b2 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/ServerContainer.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/connector/containers/ServerContainer.java @@ -14,5 +14,4 @@ public interface ServerContainer { List getTriggerBlocks(); PlayerContainer[] getPlayers(); - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/data/Direction.java b/core/src/main/java/com/sekwah/advancedportals/core/data/Direction.java index 65b88dcd..cb7d5cd5 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/data/Direction.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/data/Direction.java @@ -1,14 +1,12 @@ package com.sekwah.advancedportals.core.data; public enum Direction { - NORTH(0, 0, -1), EAST(1, 0, 0), SOUTH(0, 0, 1), WEST(-1, 0, 0), UP(0, 1, 0), - DOWN(0, -1, 0) - ; + DOWN(0, -1, 0); public final int x; public final int y; diff --git a/core/src/main/java/com/sekwah/advancedportals/core/destination/Destination.java b/core/src/main/java/com/sekwah/advancedportals/core/destination/Destination.java index 9ab94fe3..13d6480b 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/destination/Destination.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/destination/Destination.java @@ -2,10 +2,10 @@ import com.google.inject.Inject; import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; +import com.sekwah.advancedportals.core.registry.TagRegistry; import com.sekwah.advancedportals.core.registry.TagTarget; import com.sekwah.advancedportals.core.serializeddata.DataTag; import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; -import com.sekwah.advancedportals.core.registry.TagRegistry; import com.sekwah.advancedportals.core.warphandler.ActivationData; import com.sekwah.advancedportals.core.warphandler.Tag; @@ -15,18 +15,18 @@ import java.util.Set; /** - * Possibly look at adding the ability to add some tags to destinations such as permissions. Would make it easier - * to add permissions to block access to certain areas and such. Could be a different permission system or just - * it takes the tags on the destination and automatically applies them when a portal wants to warp to there. - * (Of course it would not work cross server unless the data was communicated and checked first however that - * could affect performance and would definitely affect speed) + * Possibly look at adding the ability to add some tags to destinations such as permissions. Would + * make it easier to add permissions to block access to certain areas and such. Could be a different + * permission system or just it takes the tags on the destination and automatically applies them + * when a portal wants to warp to there. (Of course it would not work cross server unless the data + * was communicated and checked first however that could affect performance and would definitely + * affect speed) * * @author sekwah41 */ public class Destination implements TagTarget { - @Inject - transient TagRegistry tagRegistry; + @Inject transient TagRegistry tagRegistry; private PlayerLocation loc; @@ -53,9 +53,7 @@ public void setArgValues(String argName, String[] argValue) { } @Override - public void addArg(String argName, String argValues) { - - } + public void addArg(String argName, String argValues) {} public void setArgValues(DataTag portalTag) { this.setArgValues(portalTag.NAME, portalTag.VALUES); @@ -75,18 +73,19 @@ public boolean activate(PlayerContainer player) { public boolean portalActivate(PlayerContainer player, ActivationData data) { DataTag[] destiTags = new DataTag[args.size()]; int i = 0; - for(Map.Entry entry : args.entrySet()) { + for (Map.Entry entry : args.entrySet()) { destiTags[i++] = new DataTag(entry.getKey(), entry.getValue()); } - for(DataTag destiTag : destiTags) { + for (DataTag destiTag : destiTags) { Tag.Activation activationHandler = tagRegistry.getActivationHandler(destiTag.NAME); - if(activationHandler != null) { - activationHandler.preActivated(this, player, data, this.getArgValues(destiTag.NAME)); + if (activationHandler != null) { + activationHandler.preActivated( + this, player, data, this.getArgValues(destiTag.NAME)); } } - for(DataTag destiTag : destiTags) { + for (DataTag destiTag : destiTags) { Tag.Activation activationHandler = tagRegistry.getActivationHandler(destiTag.NAME); - if(activationHandler != null) { + if (activationHandler != null) { activationHandler.activated(this, player, data, this.getArgValues(destiTag.NAME)); } } @@ -96,20 +95,21 @@ public boolean portalActivate(PlayerContainer player, ActivationData data) { public void postActivate(PlayerContainer player, ActivationData data) { DataTag[] destiTags = new DataTag[args.size()]; int i = 0; - for(Map.Entry entry : args.entrySet()) { + for (Map.Entry entry : args.entrySet()) { destiTags[i++] = new DataTag(entry.getKey(), entry.getValue()); } - for(DataTag destiTag : destiTags) { + for (DataTag destiTag : destiTags) { Tag.Activation activationHandler = tagRegistry.getActivationHandler(destiTag.NAME); - if(activationHandler != null) { - activationHandler.postActivated(this, player, data, this.getArgValues(destiTag.NAME)); + if (activationHandler != null) { + activationHandler.postActivated( + this, player, data, this.getArgValues(destiTag.NAME)); } } } public ArrayList getArgs() { ArrayList tagList = new ArrayList<>(); - for(Map.Entry entry : this.args.entrySet()){ + for (Map.Entry entry : this.args.entrySet()) { tagList.add(new DataTag(entry.getKey(), entry.getValue())); } return tagList; diff --git a/core/src/main/java/com/sekwah/advancedportals/core/effect/WarpEffect.java b/core/src/main/java/com/sekwah/advancedportals/core/effect/WarpEffect.java index 95befbb6..8ffa2bb6 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/effect/WarpEffect.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/effect/WarpEffect.java @@ -1,8 +1,6 @@ package com.sekwah.advancedportals.core.effect; - import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; -import com.sekwah.advancedportals.core.portal.AdvancedPortal; public interface WarpEffect { @@ -14,12 +12,10 @@ enum Action { interface Sound extends WarpEffect { void onWarpSound(PlayerContainer player, Action action); - } interface Visual extends WarpEffect { void onWarpVisual(PlayerContainer player, Action action); - } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/module/AdvancedPortalsModule.java b/core/src/main/java/com/sekwah/advancedportals/core/module/AdvancedPortalsModule.java index 73b97272..36a55ff5 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/module/AdvancedPortalsModule.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/module/AdvancedPortalsModule.java @@ -5,25 +5,25 @@ import com.sekwah.advancedportals.core.connector.containers.ServerContainer; import com.sekwah.advancedportals.core.registry.TagRegistry; import com.sekwah.advancedportals.core.registry.WarpEffectRegistry; -import com.sekwah.advancedportals.core.repository.IPlayerDataRepository; -import com.sekwah.advancedportals.core.repository.impl.PlayerDataRepositoryImpl; -import com.sekwah.advancedportals.core.serializeddata.config.Config; -import com.sekwah.advancedportals.core.serializeddata.config.ConfigProvider; -import com.sekwah.advancedportals.core.serializeddata.DataStorage; import com.sekwah.advancedportals.core.repository.ConfigRepository; import com.sekwah.advancedportals.core.repository.IDestinationRepository; +import com.sekwah.advancedportals.core.repository.IPlayerDataRepository; import com.sekwah.advancedportals.core.repository.IPortalRepository; import com.sekwah.advancedportals.core.repository.impl.ConfigRepositoryImpl; import com.sekwah.advancedportals.core.repository.impl.DestinationRepositoryImpl; +import com.sekwah.advancedportals.core.repository.impl.PlayerDataRepositoryImpl; import com.sekwah.advancedportals.core.repository.impl.PortalRepositoryImpl; +import com.sekwah.advancedportals.core.serializeddata.DataStorage; +import com.sekwah.advancedportals.core.serializeddata.config.Config; +import com.sekwah.advancedportals.core.serializeddata.config.ConfigProvider; import com.sekwah.advancedportals.core.util.InfoLogger; -import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.List; -public class AdvancedPortalsModule extends AbstractModule { +import javax.annotation.Nonnull; +public class AdvancedPortalsModule extends AbstractModule { private Injector injector; private AdvancedPortalsCore advancedPortalsCore; @@ -35,9 +35,7 @@ public AdvancedPortalsModule(AdvancedPortalsCore advancedPortalsCore) { this.advancedPortalsCore = advancedPortalsCore; } - /** - * https://github.com/google/guice/wiki/Bindings - */ + /** https://github.com/google/guice/wiki/Bindings */ @Override protected void configure() { bind(IPortalRepository.class).to(PortalRepositoryImpl.class).in(Scopes.SINGLETON); @@ -57,7 +55,7 @@ protected void configure() { bind(WarpEffectRegistry.class).asEagerSingleton(); // Delayed Bindings - for(DelayedBinding delayedBinding : delayedBindings) { + for (DelayedBinding delayedBinding : delayedBindings) { bind(delayedBinding.clazz).toInstance(delayedBinding.instance); } } @@ -80,7 +78,7 @@ public DelayedBinding(Class clazz, T instance) { // Call this later than the calls to addInstanceBinding @Nonnull public Injector getInjector() { - if(injector == null) { + if (injector == null) { injector = Guice.createInjector(this); } return injector; diff --git a/core/src/main/java/com/sekwah/advancedportals/core/permissions/PortalPermissions.java b/core/src/main/java/com/sekwah/advancedportals/core/permissions/PortalPermissions.java index 9cf2bf81..3125ac7d 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/permissions/PortalPermissions.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/permissions/PortalPermissions.java @@ -15,9 +15,9 @@ public class PortalPermissions { public static final PermissionBuilder LANG_UPDATE = PERMISSIONS.createChild("langupdate"); public static final PermissionBuilder RELOAD = PERMISSIONS.createChild("reload"); - /** - * this will not currently build the permissions for the files, but maybe at some point. It'll just make it easier though. + * this will not currently build the permissions for the files, but maybe at some point. It'll + * just make it easier though. */ public static class PermissionBuilder { private final String permissionTag; @@ -42,7 +42,7 @@ PermissionBuilder createChild(String permissionTag) { @Override public String toString() { - if(parent != null) { + if (parent != null) { return parent + "." + permissionTag; } else { return permissionTag; diff --git a/core/src/main/java/com/sekwah/advancedportals/core/portal/AdvancedPortal.java b/core/src/main/java/com/sekwah/advancedportals/core/portal/AdvancedPortal.java index 50634580..f6e51dd4 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/portal/AdvancedPortal.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/portal/AdvancedPortal.java @@ -2,11 +2,11 @@ import com.google.inject.Inject; import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; +import com.sekwah.advancedportals.core.registry.TagRegistry; import com.sekwah.advancedportals.core.registry.TagTarget; import com.sekwah.advancedportals.core.repository.ConfigRepository; import com.sekwah.advancedportals.core.serializeddata.BlockLocation; import com.sekwah.advancedportals.core.serializeddata.DataTag; -import com.sekwah.advancedportals.core.registry.TagRegistry; import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; import com.sekwah.advancedportals.core.services.PlayerDataServices; import com.sekwah.advancedportals.core.tags.activation.TriggerBlockTag; @@ -21,8 +21,7 @@ */ public class AdvancedPortal implements TagTarget { - @Inject - private transient TagRegistry tagRegistry; + @Inject private transient TagRegistry tagRegistry; private BlockLocation maxLoc; @@ -30,18 +29,20 @@ public class AdvancedPortal implements TagTarget { private final HashMap args = new HashMap<>(); - @Inject - private transient PlayerDataServices playerDataServices; + @Inject private transient PlayerDataServices playerDataServices; - @Inject - transient ConfigRepository configRepository; + @Inject transient ConfigRepository configRepository; public AdvancedPortal() { this.minLoc = new BlockLocation(); this.maxLoc = new BlockLocation(); } - public AdvancedPortal(BlockLocation minLoc, BlockLocation maxLoc, TagRegistry tagRegistry, PlayerDataServices playerDataServices) { + public AdvancedPortal( + BlockLocation minLoc, + BlockLocation maxLoc, + TagRegistry tagRegistry, + PlayerDataServices playerDataServices) { this.tagRegistry = tagRegistry; this.playerDataServices = playerDataServices; this.updateBounds(minLoc, maxLoc); @@ -60,7 +61,6 @@ public String[] getArgValues(String argName) { return this.args.get(argName); } - @Override public void setArgValues(String argName, String[] argValues) { this.args.put(argName, argValues); @@ -105,20 +105,22 @@ public void updateBounds(BlockLocation loc1, BlockLocation loc2) { }*/ /** - * * @param player The player on the server attempting to use an advanced portal * @param moveActivated if the portal was activated by a move event (won't trigger knockback) * @return */ public boolean activate(PlayerContainer player, boolean moveActivated) { var playerData = playerDataServices.getPlayerData(player); - if(playerData.isInPortal()) return false; + if (playerData.isInPortal()) return false; playerData.setInPortal(true); - if(playerData.hasJoinCooldown()) { + if (playerData.hasJoinCooldown()) { var cooldown = (int) Math.ceil(playerData.getJoinCooldownLeft() / 1000D); - player.sendMessage(Lang.translateInsertVariables("portal.cooldown.join", cooldown, - Lang.translate(cooldown == 1 ? "time.second" : "time.seconds"))); - if(configRepository.playFailSound()) { + player.sendMessage( + Lang.translateInsertVariables( + "portal.cooldown.join", + cooldown, + Lang.translate(cooldown == 1 ? "time.second" : "time.seconds"))); + if (configRepository.playFailSound()) { var rand = new Random(); player.playSound("block.portal.travel", 0.05f, rand.nextFloat() * 0.4F + 0.8F); } @@ -128,33 +130,36 @@ public boolean activate(PlayerContainer player, boolean moveActivated) { ActivationData data = new ActivationData(moveActivated); DataTag[] portalTags = new DataTag[args.size()]; int i = 0; - for(Map.Entry entry : args.entrySet()) { + for (Map.Entry entry : args.entrySet()) { portalTags[i++] = new DataTag(entry.getKey(), entry.getValue()); } - for(DataTag portalTag : portalTags) { + for (DataTag portalTag : portalTags) { Tag.Activation activationHandler = tagRegistry.getActivationHandler(portalTag.NAME); - if(activationHandler != null) { - if(!activationHandler.preActivated(this, player, data, this.getArgValues(portalTag.NAME))) { + if (activationHandler != null) { + if (!activationHandler.preActivated( + this, player, data, this.getArgValues(portalTag.NAME))) { return false; } } } - for(DataTag portalTag : portalTags) { + for (DataTag portalTag : portalTags) { Tag.Activation activationHandler = tagRegistry.getActivationHandler(portalTag.NAME); - if(activationHandler != null) { - if(!activationHandler.activated(this, player, data, this.getArgValues(portalTag.NAME))) { + if (activationHandler != null) { + if (!activationHandler.activated( + this, player, data, this.getArgValues(portalTag.NAME))) { return false; } } } - for(DataTag portalTag : portalTags) { + for (DataTag portalTag : portalTags) { Tag.Activation activationHandler = tagRegistry.getActivationHandler(portalTag.NAME); - if(activationHandler != null) { - activationHandler.postActivated(this, player, data, this.getArgValues(portalTag.NAME)); + if (activationHandler != null) { + activationHandler.postActivated( + this, player, data, this.getArgValues(portalTag.NAME)); } } - if(data.hasActivated()) { + if (data.hasActivated()) { playerData.setNetherPortalCooldown(1000); return true; } @@ -178,22 +183,22 @@ public boolean isLocationInPortal(BlockLocation loc, int additionalArea) { double playerY = loc.getPosY(); double playerZ = loc.getPosZ(); - return Objects.equals(loc.getWorldName(), this.minLoc.getWorldName()) && playerX >= this.minLoc.getPosX() - additionalArea && - playerX < this.maxLoc.getPosX() + 1 + additionalArea && - playerY >= this.minLoc.getPosY() - additionalArea && - playerY < this.maxLoc.getPosY() + 1 + additionalArea && - playerZ >= this.minLoc.getPosZ() - additionalArea && - playerZ < this.maxLoc.getPosZ() + 1 + additionalArea; + return Objects.equals(loc.getWorldName(), this.minLoc.getWorldName()) + && playerX >= this.minLoc.getPosX() - additionalArea + && playerX < this.maxLoc.getPosX() + 1 + additionalArea + && playerY >= this.minLoc.getPosY() - additionalArea + && playerY < this.maxLoc.getPosY() + 1 + additionalArea + && playerZ >= this.minLoc.getPosZ() - additionalArea + && playerZ < this.maxLoc.getPosZ() + 1 + additionalArea; } - public void setArgValues(DataTag portalTag) { this.setArgValues(portalTag.NAME, portalTag.VALUES); } public ArrayList getArgs() { ArrayList tagList = new ArrayList<>(); - for(Map.Entry entry : this.args.entrySet()){ + for (Map.Entry entry : this.args.entrySet()) { tagList.add(new DataTag(entry.getKey(), entry.getValue())); } return tagList; @@ -201,9 +206,9 @@ public ArrayList getArgs() { public boolean isTriggerBlock(String blockMaterial) { var triggerBlocks = this.getArgValues(TriggerBlockTag.TAG_NAME); - if(triggerBlocks != null) { - for(String triggerBlock : triggerBlocks) { - if(blockMaterial.equals(triggerBlock)) { + if (triggerBlocks != null) { + for (String triggerBlock : triggerBlocks) { + if (blockMaterial.equals(triggerBlock)) { return true; } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/registry/CommandErrorCode.java b/core/src/main/java/com/sekwah/advancedportals/core/registry/CommandErrorCode.java index 7bdb4b85..6377b81e 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/registry/CommandErrorCode.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/registry/CommandErrorCode.java @@ -4,8 +4,5 @@ public enum CommandErrorCode { INSUFFICIENT_ARGUMENTS(""), NO_PERMISSION(""); - - CommandErrorCode(String message) { - - } + CommandErrorCode(String message) {} } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/registry/CommandHandler.java b/core/src/main/java/com/sekwah/advancedportals/core/registry/CommandHandler.java index b9837a29..c2a4c6b4 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/registry/CommandHandler.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/registry/CommandHandler.java @@ -4,9 +4,17 @@ import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer; public interface CommandHandler { - void onExecute(String commandName, String parentCommand, CommandSenderContainer sender, ImmutableList args); + void onExecute( + String commandName, + String parentCommand, + CommandSenderContainer sender, + ImmutableList args); - default void onCommandFailure(String[] command, CommandSenderContainer sender, CommandException exception, ImmutableList args) { + default void onCommandFailure( + String[] command, + CommandSenderContainer sender, + CommandException exception, + ImmutableList args) { sender.sendMessage(exception.getMessage()); } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/registry/RegisterBuilder.java b/core/src/main/java/com/sekwah/advancedportals/core/registry/RegisterBuilder.java index 1df394b4..d71cb32c 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/registry/RegisterBuilder.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/registry/RegisterBuilder.java @@ -1,28 +1,21 @@ package com.sekwah.advancedportals.core.registry; -import com.google.common.collect.ImmutableSet; -import com.google.common.reflect.ClassPath; -import java.io.IOException; import java.lang.reflect.ParameterizedType; -import java.util.HashMap; -import java.util.Map; -import java.util.stream.Collectors; -import java.util.stream.Stream; public class RegisterBuilder { public static RegisterBuilder newBuilder() { return new RegisterBuilder(); } - private RegisterBuilder() { - } + private RegisterBuilder() {} private boolean allowPermissionInheritance; private String scanDirectory; - private final Class genericType = (Class) ((ParameterizedType) getClass() - .getGenericSuperclass()).getActualTypeArguments()[0]; - + private final Class genericType = + (Class) + ((ParameterizedType) getClass().getGenericSuperclass()) + .getActualTypeArguments()[0]; public RegisterBuilder inheritPermissions(boolean allowInheritance) { allowPermissionInheritance = allowInheritance; @@ -33,5 +26,4 @@ public RegisterBuilder scanDirectory(String directoryName) { this.scanDirectory = directoryName; return this; } - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/registry/SubCommandRegistry.java b/core/src/main/java/com/sekwah/advancedportals/core/registry/SubCommandRegistry.java index 6639ede1..dac8ed07 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/registry/SubCommandRegistry.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/registry/SubCommandRegistry.java @@ -11,8 +11,8 @@ /** * Do not register to here. Register to the sprcific subcommand registry classes. - *

- * Designed to let addons add new command sections to access, edit or add new functonality. + * + *

Designed to let addons add new command sections to access, edit or add new functonality. * * @author sekwah41 */ @@ -20,13 +20,10 @@ public class SubCommandRegistry { protected Map subCommandMap = new HashMap<>(); - /** - * List of subcommand names which should be in order alphabetically - */ + /** List of subcommand names which should be in order alphabetically */ protected ArrayList subCommands = new ArrayList<>(); - @Inject - private InfoLogger infoLogger; + @Inject private InfoLogger infoLogger; /** * @param arg argument needed to activate @@ -40,7 +37,7 @@ public boolean registerSubCommand(String arg, SubCommand subCommand) { return false; } - if(this.subCommandMap.containsKey(arg)){ + if (this.subCommandMap.containsKey(arg)) { this.infoLogger.warning("The subcommand '" + arg + "' already exists."); return false; } @@ -57,28 +54,30 @@ public boolean registerSubCommand(String arg, SubCommand subCommand) { /** * @return a list of arguments of registered subcommands */ - public ArrayList getSubCommands(){ + public ArrayList getSubCommands() { return this.subCommands; } /** * I may be wrong but for larger lists containsKey is faster with a hashmap than arraylist. * - * Though im not sure at what size it becomes more efficient. + *

Though im not sure at what size it becomes more efficient. + * * @param arg * @return if the argument is registered */ - public boolean isArgRegistered(String arg){ + public boolean isArgRegistered(String arg) { return this.subCommandMap.containsKey(arg.toLowerCase()); } /** * Gets the subcommand corresponding to the string argument + * * @param arg * @return the subcommand linked to the arg */ - public SubCommand getSubCommand(String arg){ - if(this.subCommandMap.containsKey(arg.toLowerCase())){ + public SubCommand getSubCommand(String arg) { + if (this.subCommandMap.containsKey(arg.toLowerCase())) { return this.subCommandMap.get(arg.toLowerCase()); } return null; diff --git a/core/src/main/java/com/sekwah/advancedportals/core/registry/TagTarget.java b/core/src/main/java/com/sekwah/advancedportals/core/registry/TagTarget.java index eeffa89b..1b67305c 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/registry/TagTarget.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/registry/TagTarget.java @@ -1,12 +1,11 @@ package com.sekwah.advancedportals.core.registry; -/** - * Something that a tag can be executed on. - */ +/** Something that a tag can be executed on. */ public interface TagTarget { /** * Get the values for the arg + * * @param argName * @return */ @@ -14,6 +13,7 @@ public interface TagTarget { /** * Set the values for the arg + * * @param argName * @param argValues */ @@ -21,6 +21,7 @@ public interface TagTarget { /** * Add a new arg to the tag + * * @param argName * @param argValues */ @@ -28,6 +29,7 @@ public interface TagTarget { /** * Remove the arg entirely from the target + * * @param arg */ void removeArg(String arg); diff --git a/core/src/main/java/com/sekwah/advancedportals/core/repository/IDestinationRepository.java b/core/src/main/java/com/sekwah/advancedportals/core/repository/IDestinationRepository.java index 3d1161c8..974a8cfc 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/repository/IDestinationRepository.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/repository/IDestinationRepository.java @@ -2,8 +2,4 @@ import com.sekwah.advancedportals.core.destination.Destination; -import java.io.IOException; - -public interface IDestinationRepository extends IJsonRepository { - -} +public interface IDestinationRepository extends IJsonRepository {} diff --git a/core/src/main/java/com/sekwah/advancedportals/core/repository/IPlayerDataRepository.java b/core/src/main/java/com/sekwah/advancedportals/core/repository/IPlayerDataRepository.java index 975170d5..efd982b3 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/repository/IPlayerDataRepository.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/repository/IPlayerDataRepository.java @@ -1,11 +1,5 @@ package com.sekwah.advancedportals.core.repository; -import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; -import com.sekwah.advancedportals.core.serializeddata.BlockLocation; -import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; import com.sekwah.advancedportals.core.serializeddata.PlayerData; -import java.util.UUID; - -public interface IPlayerDataRepository extends IJsonRepository { -} +public interface IPlayerDataRepository extends IJsonRepository {} diff --git a/core/src/main/java/com/sekwah/advancedportals/core/repository/IPortalRepository.java b/core/src/main/java/com/sekwah/advancedportals/core/repository/IPortalRepository.java index 0add6768..6a3751e2 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/repository/IPortalRepository.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/repository/IPortalRepository.java @@ -2,6 +2,4 @@ import com.sekwah.advancedportals.core.portal.AdvancedPortal; -public interface IPortalRepository extends IJsonRepository { - -} +public interface IPortalRepository extends IJsonRepository {} diff --git a/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/ConfigRepositoryImpl.java b/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/ConfigRepositoryImpl.java index 1780d1e7..7dfd00a6 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/ConfigRepositoryImpl.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/ConfigRepositoryImpl.java @@ -1,9 +1,9 @@ package com.sekwah.advancedportals.core.repository.impl; import com.google.inject.Singleton; -import com.sekwah.advancedportals.core.serializeddata.config.Config; -import com.sekwah.advancedportals.core.serializeddata.DataStorage; import com.sekwah.advancedportals.core.repository.ConfigRepository; +import com.sekwah.advancedportals.core.serializeddata.DataStorage; +import com.sekwah.advancedportals.core.serializeddata.config.Config; import java.util.HashMap; @@ -15,7 +15,7 @@ public class ConfigRepositoryImpl implements ConfigRepository { private DataStorage dataStorage; public ConfigRepositoryImpl() { - configs = new HashMap(); + configs = new HashMap(); } public T getValue(String output) { @@ -103,5 +103,4 @@ public boolean playFailSound() { public void storeConfig() { this.dataStorage.storeFile(this.config, "config.yaml"); } - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/DestinationRepositoryImpl.java b/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/DestinationRepositoryImpl.java index 055a3182..e5135b2f 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/DestinationRepositoryImpl.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/DestinationRepositoryImpl.java @@ -6,16 +6,16 @@ import com.sekwah.advancedportals.core.serializeddata.DataStorage; import com.sekwah.advancedportals.core.tags.activation.NameTag; -import javax.inject.Singleton; import java.util.ArrayList; import java.util.List; +import javax.inject.Singleton; + @Singleton public class DestinationRepositoryImpl implements IDestinationRepository { private final String fileLocation = "desti/"; - @Inject - DataStorage dataStorage; + @Inject DataStorage dataStorage; @Override public boolean save(String name, Destination destination) { @@ -48,8 +48,8 @@ public List getAll() { Destination destination = this.get(fileName); // Forces the name tag to be up-to-date on load String[] name = destination.getArgValues(NameTag.TAG_NAME); - if(name != null && name.length > 0) { - destination.setArgValues(NameTag.TAG_NAME, new String[]{fileName}); + if (name != null && name.length > 0) { + destination.setArgValues(NameTag.TAG_NAME, new String[] {fileName}); } destinations.add(destination); } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/PlayerDataRepositoryImpl.java b/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/PlayerDataRepositoryImpl.java index 0c0458a3..b3229d34 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/PlayerDataRepositoryImpl.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/PlayerDataRepositoryImpl.java @@ -11,8 +11,7 @@ public class PlayerDataRepositoryImpl implements IPlayerDataRepository { private final String fileLocation = "playerData/"; - @Inject - DataStorage dataStorage; + @Inject DataStorage dataStorage; @Override public boolean save(String name, PlayerData playerData) { diff --git a/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/PortalRepositoryImpl.java b/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/PortalRepositoryImpl.java index 1f3586ff..ea7d8202 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/PortalRepositoryImpl.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/repository/impl/PortalRepositoryImpl.java @@ -4,8 +4,8 @@ import com.google.inject.Singleton; import com.sekwah.advancedportals.core.AdvancedPortalsCore; import com.sekwah.advancedportals.core.portal.AdvancedPortal; -import com.sekwah.advancedportals.core.serializeddata.DataStorage; import com.sekwah.advancedportals.core.repository.IPortalRepository; +import com.sekwah.advancedportals.core.serializeddata.DataStorage; import com.sekwah.advancedportals.core.tags.activation.NameTag; import java.util.*; @@ -15,13 +15,13 @@ public class PortalRepositoryImpl implements IPortalRepository { private final String fileLocation = "portals/"; - @Inject - DataStorage dataStorage; + @Inject DataStorage dataStorage; /** * In memory copy of the portal files as they will be accessed every movement tick. * - * If we need to get it by name we can just load it from the file, but this is good for looping fast for the player move events. + *

If we need to get it by name we can just load it from the file, but this is good for + * looping fast for the player move events. */ private List portals = new ArrayList<>(); @@ -43,7 +43,7 @@ public boolean delete(String name) { @Override public AdvancedPortal get(String name) { var portal = dataStorage.loadFile(AdvancedPortal.class, fileLocation + name + ".yaml"); - if(portal != null) { + if (portal != null) { AdvancedPortalsCore.getInstance().getModule().getInjector().injectMembers(portal); } return portal; @@ -59,11 +59,12 @@ public List getAll() { List portals = new ArrayList<>(); List allFiles = dataStorage.listAllFiles(fileLocation, false); for (String fileName : allFiles) { - AdvancedPortal portal = dataStorage.loadFile(AdvancedPortal.class, fileLocation + fileName); + AdvancedPortal portal = + dataStorage.loadFile(AdvancedPortal.class, fileLocation + fileName); // Forces the name tag to be up-to-date on load String[] name = portal.getArgValues(NameTag.TAG_NAME); - if(name != null && name.length > 0) { - portal.setArgValues(NameTag.TAG_NAME, new String[]{fileName.replace(".yaml", "")}); + if (name != null && name.length > 0) { + portal.setArgValues(NameTag.TAG_NAME, new String[] {fileName.replace(".yaml", "")}); } portals.add(portal); } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/BlockLocation.java b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/BlockLocation.java index 2a5d6afd..a5cfc596 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/BlockLocation.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/BlockLocation.java @@ -2,8 +2,6 @@ import com.sekwah.advancedportals.core.data.Direction; -import java.io.Serializable; - public class BlockLocation { // These should be treated as final, they only are not for serialization purposes @@ -34,7 +32,6 @@ public BlockLocation(BlockLocation location, Direction direction) { this.posX = location.posX + direction.x; this.posY = location.posY + direction.y; this.posZ = location.posZ + direction.z; - } public int getPosX() { @@ -54,7 +51,10 @@ public String getWorldName() { } public boolean equals(BlockLocation location) { - return location.posX == this.posX && location.posY == this.posY && location.posZ == this.posZ && location.worldName.equals(this.worldName); + return location.posX == this.posX + && location.posY == this.posY + && location.posZ == this.posZ + && location.worldName.equals(this.worldName); } public double distanceTo(BlockLocation pos) { diff --git a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/DataStorage.java b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/DataStorage.java index 3c408a50..b938b509 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/DataStorage.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/DataStorage.java @@ -3,12 +3,12 @@ import com.google.inject.Inject; import com.sekwah.advancedportals.core.AdvancedPortalsCore; import com.sekwah.advancedportals.core.util.InfoLogger; + import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.LoaderOptions; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.inspector.TagInspector; import org.yaml.snakeyaml.nodes.Tag; -import org.yaml.snakeyaml.representer.Representer; import java.io.*; import java.lang.reflect.InvocationTargetException; @@ -21,11 +21,9 @@ public class DataStorage { private final File dataFolder; - @Inject - private AdvancedPortalsCore portalsCore; + @Inject private AdvancedPortalsCore portalsCore; - @Inject - private InfoLogger infoLogger; + @Inject private InfoLogger infoLogger; public DataStorage(File dataStorageLoc) { this.dataFolder = dataStorageLoc; @@ -66,7 +64,10 @@ public T loadFile(Class dataHolder, String location) { if (yamlResource == null) { try { return dataHolder.getDeclaredConstructor().newInstance(); - } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) { + } catch (InstantiationException + | IllegalAccessException + | NoSuchMethodException + | InvocationTargetException e) { e.printStackTrace(); } return null; @@ -102,7 +103,8 @@ public boolean storeFile(Object dataHolder, String location) { * Copies the specified file out of the plugin and into the plugins folder. * * @param fileLoc - * @return if the file is copied, will be false if override is false and the file already existed. + * @return if the file is copied, will be false if override is false and the file already + * existed. */ public boolean copyDefaultFile(String fileLoc, boolean overwrite) { return this.copyDefaultFile(fileLoc, fileLoc, overwrite); @@ -113,7 +115,8 @@ public boolean copyDefaultFile(String fileLoc, boolean overwrite) { * * @param sourceLoc - location of the file in the jar * @param fileLoc - location to save the file - * @return if the file is copied, will be false if override is false and the file already existed. + * @return if the file is copied, will be false if override is false and the file already + * existed. */ public boolean copyDefaultFile(String sourceLoc, String fileLoc, boolean overwrite) { File outFile = new File(this.dataFolder, fileLoc); @@ -122,16 +125,20 @@ public boolean copyDefaultFile(String sourceLoc, String fileLoc, boolean overwri } if (!outFile.exists() || overwrite) { try { - InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(sourceLoc); - if(inputStream == null) { + InputStream inputStream = + this.getClass().getClassLoader().getResourceAsStream(sourceLoc); + if (inputStream == null) { return false; } writeToFile(inputStream, outFile); } catch (NullPointerException e) { e.printStackTrace(); - this.infoLogger.warning("Could not load " + sourceLoc + ". The file does" + - "not exist or there has been an error reading the file."); + this.infoLogger.warning( + "Could not load " + + sourceLoc + + ". The file does" + + "not exist or there has been an error reading the file."); return false; } catch (FileNotFoundException e) { e.printStackTrace(); @@ -145,8 +152,11 @@ public boolean copyDefaultFile(String sourceLoc, String fileLoc, boolean overwri } /** - * A method to try to grab the files from the plugin and if its in the plugin folder load from there instead. + * A method to try to grab the files from the plugin and if its in the plugin folder load from + * there instead. + * *

+ * * @param location * @return */ @@ -165,8 +175,11 @@ public InputStream loadResource(String location) { return this.getClass().getClassLoader().getResourceAsStream(location); } catch (NullPointerException e) { e.printStackTrace(); - this.infoLogger.warning("Could not load " + location + ". The file does" + - "not exist or there has been an error reading the file."); + this.infoLogger.warning( + "Could not load " + + location + + ". The file does" + + "not exist or there has been an error reading the file."); return null; } } @@ -216,7 +229,8 @@ public List listAllFiles(String fileLocation, boolean trimExtension, Str for (File file : files) { if (file.isFile()) { String fileName = file.getName(); - boolean extensionMatches = (extension == null || fileName.endsWith("." + extension)); + boolean extensionMatches = + (extension == null || fileName.endsWith("." + extension)); if (extensionMatches) { if (trimExtension) { diff --git a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/DataTag.java b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/DataTag.java index 9eb54ae7..0e113a60 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/DataTag.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/DataTag.java @@ -9,5 +9,4 @@ public DataTag(String argName, String... values) { this.NAME = argName; this.VALUES = values; } - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/PlayerData.java b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/PlayerData.java index 8631427e..86a0a69d 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/PlayerData.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/PlayerData.java @@ -5,40 +5,30 @@ /** * Possibly one of the only files in this package not designed to be serialised. * - * Any temporary data about players will be stored here and cleaned up when the player leaves the server. + *

Any temporary data about players will be stored here and cleaned up when the player leaves the + * server. * - * This is not a place to store long term data e.g. if you want to make a player unable to use a portal over hours/days. + *

This is not a place to store long term data e.g. if you want to make a player unable to use a + * portal over hours/days. */ public class PlayerData { - /** - * Portal selection position 1 - */ + /** Portal selection position 1 */ private BlockLocation pos1; - /** - * Portal selection position 2 - */ + /** Portal selection position 2 */ private BlockLocation pos2; - /** - * If to show portals near the player - */ + /** If to show portals near the player */ private boolean portalVisible = false; - /** - * If to show destination blocks near the player - */ + /** If to show destination blocks near the player */ private boolean destiVisible; - /** - * If the player is in a portal. Stops re-triggering. - */ + /** If the player is in a portal. Stops re-triggering. */ private transient boolean isInPortal = false; - /** - * The next time System.currentTimeMillis() a player can use a portal. - */ + /** The next time System.currentTimeMillis() a player can use a portal. */ private transient long joinCooldown; private transient long netherPortalCooldown; @@ -120,7 +110,8 @@ public void setPortalCooldown(String portalName, long cooldown) { } public boolean hasPortalCooldown(String portalName) { - return perPortalCooldowns.containsKey(portalName) && System.currentTimeMillis() < perPortalCooldowns.get(portalName); + return perPortalCooldowns.containsKey(portalName) + && System.currentTimeMillis() < perPortalCooldowns.get(portalName); } public double getPortalCooldownLeft(String portalName) { diff --git a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/PlayerLocation.java b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/PlayerLocation.java index 4d7b7890..82a690c8 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/PlayerLocation.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/PlayerLocation.java @@ -1,6 +1,5 @@ package com.sekwah.advancedportals.core.serializeddata; - public class PlayerLocation extends WorldLocation { private final float yaw; @@ -19,7 +18,8 @@ public PlayerLocation(String worldName, double posX, double posY, double posZ) { this.pitch = 0; } - public PlayerLocation(String worldName, double posX, double posY, double posZ, float yaw, float pitch) { + public PlayerLocation( + String worldName, double posX, double posY, double posZ, float yaw, float pitch) { super(worldName, posX, posY, posZ); this.yaw = yaw; this.pitch = pitch; diff --git a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/WorldLocation.java b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/WorldLocation.java index 3d65511b..168732aa 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/WorldLocation.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/WorldLocation.java @@ -10,6 +10,10 @@ public WorldLocation(String worldName, double posX, double posY, double posZ) { } public BlockLocation toBlockPos() { - return new BlockLocation(this.worldName, (int) Math.floor(this.x), (int) Math.floor(this.y), (int) Math.floor(this.z)); + return new BlockLocation( + this.worldName, + (int) Math.floor(this.x), + (int) Math.floor(this.y), + (int) Math.floor(this.z)); } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/config/Config.java b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/config/Config.java index 33b75e60..81801ff0 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/config/Config.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/serializeddata/config/Config.java @@ -1,8 +1,6 @@ package com.sekwah.advancedportals.core.serializeddata.config; -/** - * To store the data for config - */ +/** To store the data for config */ public class Config { public boolean useOnlySpecialAxe = true; diff --git a/core/src/main/java/com/sekwah/advancedportals/core/services/DestinationServices.java b/core/src/main/java/com/sekwah/advancedportals/core/services/DestinationServices.java index e597cc8e..cb2218ce 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/services/DestinationServices.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/services/DestinationServices.java @@ -1,31 +1,28 @@ package com.sekwah.advancedportals.core.services; - import com.google.inject.Inject; import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; +import com.sekwah.advancedportals.core.destination.Destination; import com.sekwah.advancedportals.core.registry.TagRegistry; +import com.sekwah.advancedportals.core.repository.IDestinationRepository; import com.sekwah.advancedportals.core.serializeddata.DataTag; import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; -import com.sekwah.advancedportals.core.destination.Destination; -import com.sekwah.advancedportals.core.repository.IDestinationRepository; import com.sekwah.advancedportals.core.util.Lang; import com.sekwah.advancedportals.core.warphandler.Tag; -import javax.inject.Singleton; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.inject.Singleton; + @Singleton public class DestinationServices { - @Inject - private IDestinationRepository destinationRepository; - + @Inject private IDestinationRepository destinationRepository; - @Inject - TagRegistry tagRegistry; + @Inject TagRegistry tagRegistry; private final Map destinationCache = new HashMap<>(); @@ -50,23 +47,34 @@ public Destination createDesti(PlayerLocation playerLocation, List tags return createDesti(null, playerLocation, tags); } - public Destination createDesti(PlayerContainer player, PlayerLocation playerLocation, List tags) { + public Destination createDesti( + PlayerContainer player, PlayerLocation playerLocation, List tags) { // Find the tag with the "name" NAME - DataTag nameTag = tags.stream().filter(tag -> tag.NAME.equals("name")).findFirst().orElse(null); + DataTag nameTag = + tags.stream().filter(tag -> tag.NAME.equals("name")).findFirst().orElse(null); String name = nameTag == null ? null : nameTag.VALUES[0]; // If the name is null, send an error saying that the name is required. if (nameTag == null) { - if (player != null) player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("desti.error.noname")); + if (player != null) + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("desti.error.noname")); return null; } if (name == null || name.equals("")) { - if (player != null) player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.error.noname")); + if (player != null) + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.error.noname")); return null; } else if (this.destinationRepository.containsKey(name)) { - if (player != null) player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translateInsertVariables("command.error.nametaken", name)); + if (player != null) + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translateInsertVariables("command.error.nametaken", name)); return null; } @@ -76,28 +84,29 @@ public Destination createDesti(PlayerContainer player, PlayerLocation playerLoca } for (DataTag destiTag : tags) { Tag.Creation creation = tagRegistry.getCreationHandler(destiTag.NAME); - if(creation != null) { - if(!creation.created(desti, player, destiTag.VALUES)) { + if (creation != null) { + if (!creation.created(desti, player, destiTag.VALUES)) { return null; } } } try { - if(this.destinationRepository.save(name, desti)) { + if (this.destinationRepository.save(name, desti)) { this.destinationCache.put(name, desti); } else { return null; } } catch (Exception e) { e.printStackTrace(); - player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("desti.error.save")); + player.sendMessage( + Lang.translate("messageprefix.negative") + Lang.translate("desti.error.save")); } return desti; } public boolean removeDestination(String name, PlayerContainer playerContainer) { this.destinationCache.remove(name); - if(this.destinationRepository.containsKey(name)) { + if (this.destinationRepository.containsKey(name)) { this.destinationRepository.delete(name); return true; } @@ -109,7 +118,7 @@ public Destination getDestination(String name) { } public boolean teleportToDestination(String name, PlayerContainer playerContainer) { - if(this.destinationRepository.containsKey(name)) { + if (this.destinationRepository.containsKey(name)) { playerContainer.teleport(this.destinationRepository.get(name).getLoc()); return true; } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/services/PlayerDataServices.java b/core/src/main/java/com/sekwah/advancedportals/core/services/PlayerDataServices.java index c8ff2577..37ef2ff8 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/services/PlayerDataServices.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/services/PlayerDataServices.java @@ -8,35 +8,33 @@ import com.sekwah.advancedportals.core.serializeddata.PlayerData; import com.sekwah.advancedportals.core.util.Lang; -import javax.inject.Singleton; import java.util.HashMap; import java.util.Map; import java.util.UUID; +import javax.inject.Singleton; + @Singleton public final class PlayerDataServices { - - /** - * Possibly change to the cache map Aztec was talking about - */ + /** Possibly change to the cache map Aztec was talking about */ private Map tempDataMap = new HashMap<>(); - @Inject - private IPlayerDataRepository tempDataRepository; + @Inject private IPlayerDataRepository tempDataRepository; - @Inject - private ConfigRepository configRepository; + @Inject private ConfigRepository configRepository; public PlayerData getPlayerData(PlayerContainer player) { - return tempDataMap.computeIfAbsent(player.getUUID(), uuid -> { - var tempData = tempDataRepository.get(player.getUUID().toString()); - - if(tempData == null) { - tempData = new PlayerData(); - } - return tempData; - }); + return tempDataMap.computeIfAbsent( + player.getUUID(), + uuid -> { + var tempData = tempDataRepository.get(player.getUUID().toString()); + + if (tempData == null) { + tempData = new PlayerData(); + } + return tempData; + }); } public void setJoinCooldown(PlayerContainer player) { @@ -49,13 +47,20 @@ public void playerLeave(PlayerContainer player) { tempDataMap.remove(player.getUUID()); } - public void playerSelectorActivate(PlayerContainer player, BlockLocation blockLoc, boolean leftClick) { + public void playerSelectorActivate( + PlayerContainer player, BlockLocation blockLoc, boolean leftClick) { var tempData = getPlayerData(player); - if(leftClick) { + if (leftClick) { tempData.setPos1(blockLoc); } else { tempData.setPos2(blockLoc); } - player.sendMessage(Lang.translateInsertVariables("portal.selector.poschange", leftClick ? "1" : "2", blockLoc.getPosX(), blockLoc.getPosY(), blockLoc.getPosZ())); + player.sendMessage( + Lang.translateInsertVariables( + "portal.selector.poschange", + leftClick ? "1" : "2", + blockLoc.getPosX(), + blockLoc.getPosY(), + blockLoc.getPosZ())); } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/services/PortalServices.java b/core/src/main/java/com/sekwah/advancedportals/core/services/PortalServices.java index 0f2be0e4..31d660de 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/services/PortalServices.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/services/PortalServices.java @@ -2,56 +2,52 @@ import com.google.inject.Inject; import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; +import com.sekwah.advancedportals.core.portal.AdvancedPortal; import com.sekwah.advancedportals.core.registry.TagRegistry; import com.sekwah.advancedportals.core.repository.ConfigRepository; import com.sekwah.advancedportals.core.repository.IPortalRepository; import com.sekwah.advancedportals.core.serializeddata.BlockLocation; import com.sekwah.advancedportals.core.serializeddata.DataTag; -import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; -import com.sekwah.advancedportals.core.portal.AdvancedPortal; import com.sekwah.advancedportals.core.serializeddata.PlayerData; +import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; import com.sekwah.advancedportals.core.tags.activation.NameTag; import com.sekwah.advancedportals.core.util.Lang; import com.sekwah.advancedportals.core.util.PlayerUtils; import com.sekwah.advancedportals.core.warphandler.Tag; -import javax.inject.Singleton; import java.util.*; +import javax.inject.Singleton; + @Singleton public class PortalServices { - @Inject - private IPortalRepository portalRepository; + @Inject private IPortalRepository portalRepository; - @Inject - private transient PlayerDataServices playerDataServices; + @Inject private transient PlayerDataServices playerDataServices; - @Inject - private ConfigRepository configRepository; + @Inject private ConfigRepository configRepository; private final Map portalCache = new HashMap<>(); - @Inject - TagRegistry tagRegistry; + @Inject TagRegistry tagRegistry; public void loadPortals() { List portalNames = portalRepository.getAllNames(); portalCache.clear(); for (String name : portalNames) { AdvancedPortal portal = portalRepository.get(name); - if(portal == null) { + if (portal == null) { continue; } portalCache.put(name, portal); portal.updateBounds(portal.getMinLoc(), portal.getMaxLoc()); } - } public boolean inPortalRegionProtected(BlockLocation loc) { for (AdvancedPortal portal : portalCache.values()) { - if(portal.isLocationInPortal(loc, configRepository.getProtectionRadius())) { + if (portal.isLocationInPortal(loc, configRepository.getProtectionRadius())) { return true; } } @@ -60,7 +56,7 @@ public boolean inPortalRegionProtected(BlockLocation loc) { public boolean inPortalRegionProtected(PlayerLocation loc) { for (AdvancedPortal portal : portalCache.values()) { - if(portal.isLocationInPortal(loc, configRepository.getProtectionRadius())) { + if (portal.isLocationInPortal(loc, configRepository.getProtectionRadius())) { return true; } } @@ -69,7 +65,7 @@ public boolean inPortalRegionProtected(PlayerLocation loc) { public boolean inPortalRegion(BlockLocation loc, int extraBlocks) { for (AdvancedPortal portal : portalCache.values()) { - if(portal.isLocationInPortal(loc, extraBlocks)) { + if (portal.isLocationInPortal(loc, extraBlocks)) { return true; } } @@ -86,10 +82,9 @@ public void playerMove(PlayerContainer player, PlayerLocation toLoc) { var notInPortal = true; for (AdvancedPortal portal : portalCache.values()) { - if ((portal.isLocationInPortal(toLoc) - && portal.isTriggerBlock(blockMaterial)) + if ((portal.isLocationInPortal(toLoc) && portal.isTriggerBlock(blockMaterial)) || (portal.isLocationInPortal(blockEntityTopLoc) - && portal.isTriggerBlock(blockEntityTopMaterial))) { + && portal.isTriggerBlock(blockEntityTopMaterial))) { notInPortal = false; if (portal.activate(player, true)) { return; @@ -116,7 +111,7 @@ public List getPortals() { public boolean removePortal(String name, PlayerContainer player) { this.portalCache.remove(name); - if(this.portalRepository.containsKey(name)) { + if (this.portalRepository.containsKey(name)) { this.portalRepository.delete(name); return true; } @@ -130,30 +125,44 @@ public AdvancedPortal createPortal(BlockLocation pos1, BlockLocation pos2, List< public AdvancedPortal createPortal(PlayerContainer player, ArrayList tags) { PlayerData tempData = playerDataServices.getPlayerData(player); - if(tempData.getPos1() == null || tempData.getPos2() == null) { - player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("portal.error.selection.missing")); + if (tempData.getPos1() == null || tempData.getPos2() == null) { + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("portal.error.selection.missing")); return null; } - if(!tempData.getPos1().getWorldName().equals(tempData.getPos2().getWorldName())) { - player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("portal.error.selection.differentworlds")); + if (!tempData.getPos1().getWorldName().equals(tempData.getPos2().getWorldName())) { + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("portal.error.selection.differentworlds")); return null; } return createPortal(player, tempData.getPos1(), tempData.getPos2(), tags); } - public AdvancedPortal createPortal(PlayerContainer player, BlockLocation pos1, BlockLocation pos2, List tags) { + public AdvancedPortal createPortal( + PlayerContainer player, BlockLocation pos1, BlockLocation pos2, List tags) { // Find the tag with the "name" NAME - DataTag nameTag = tags.stream().filter(tag -> tag.NAME.equals(NameTag.TAG_NAME)).findFirst().orElse(null); + DataTag nameTag = + tags.stream() + .filter(tag -> tag.NAME.equals(NameTag.TAG_NAME)) + .findFirst() + .orElse(null); String name = nameTag == null ? null : nameTag.VALUES[0]; - if(nameTag == null || name == null || name.isEmpty()) { - if(player != null) player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("command.error.noname")); + if (nameTag == null || name == null || name.isEmpty()) { + if (player != null) + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("command.error.noname")); return null; - } - else if(this.portalRepository.containsKey(name)) { - if(player != null) player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translateInsertVariables("command.error.nametaken", name)); + } else if (this.portalRepository.containsKey(name)) { + if (player != null) + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translateInsertVariables("command.error.nametaken", name)); return null; } @@ -165,22 +174,25 @@ else if(this.portalRepository.containsKey(name)) { for (DataTag portalTag : tags) { Tag.Creation creation = tagRegistry.getCreationHandler(portalTag.NAME); - if(creation != null) { - if(!creation.created(portal, player, portalTag.VALUES)) { + if (creation != null) { + if (!creation.created(portal, player, portalTag.VALUES)) { return null; } } } try { - if(this.portalRepository.save(name, portal)) { + if (this.portalRepository.save(name, portal)) { this.portalCache.put(name, portal); } else { return null; } } catch (Exception e) { e.printStackTrace(); - if(player != null) player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("portal.error.save")); + if (player != null) + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("portal.error.save")); } return portal; diff --git a/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/DestiTag.java b/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/DestiTag.java index 1aaa1fdc..ec8da425 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/DestiTag.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/DestiTag.java @@ -11,19 +11,18 @@ import com.sekwah.advancedportals.core.warphandler.ActivationData; import com.sekwah.advancedportals.core.warphandler.Tag; -import javax.annotation.Nullable; import java.util.List; +import javax.annotation.Nullable; + public class DestiTag implements Tag.Activation, Tag.AutoComplete, Tag.Split { public static String TAG_NAME = "destination"; - @Inject - DestinationServices destinationServices; + @Inject DestinationServices destinationServices; - @Inject - WarpEffectRegistry warpEffectRegistry; + @Inject WarpEffectRegistry warpEffectRegistry; - private final TagType[] tagTypes = new TagType[]{ TagType.PORTAL }; + private final TagType[] tagTypes = new TagType[] {TagType.PORTAL}; @Override public TagType[] getTagTypes() { @@ -37,7 +36,7 @@ public String getName() { @Override public String[] getAliases() { - return new String[]{"desti"}; + return new String[] {"desti"}; } @Override @@ -46,7 +45,8 @@ public String description() { } @Override - public boolean preActivated(TagTarget target, PlayerContainer player, ActivationData activeData, String[] argData) { + public boolean preActivated( + TagTarget target, PlayerContainer player, ActivationData activeData, String[] argData) { // Check that the destination exists. for (String destiName : destinationServices.getDestinationNames()) { if (destiName.equalsIgnoreCase(argData[0])) { @@ -57,12 +57,18 @@ public boolean preActivated(TagTarget target, PlayerContainer player, Activation } @Override - public void postActivated(TagTarget target, PlayerContainer player, ActivationData activationData, String[] argData) { - - } + public void postActivated( + TagTarget target, + PlayerContainer player, + ActivationData activationData, + String[] argData) {} @Override - public boolean activated(TagTarget target, PlayerContainer player, ActivationData activationData, String[] argData) { + public boolean activated( + TagTarget target, + PlayerContainer player, + ActivationData activationData, + String[] argData) { Destination destination = destinationServices.getDestination(argData[0]); if (destination != null) { var warpEffectVisual = warpEffectRegistry.getVisualEffect("ender"); diff --git a/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/NameTag.java b/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/NameTag.java index e758f92d..201f2841 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/NameTag.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/NameTag.java @@ -3,24 +3,25 @@ import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; import com.sekwah.advancedportals.core.registry.TagTarget; import com.sekwah.advancedportals.core.util.Lang; -import com.sekwah.advancedportals.core.warphandler.ActivationData; import com.sekwah.advancedportals.core.warphandler.Tag; -import javax.annotation.Nullable; import java.util.List; +import javax.annotation.Nullable; + /** * The name of the destination or portal. - *

- * Most of the implementation of this tag is external, this is just to allow for the tag to be used. - *

- * Most tags shouldn't be like this unless they are to be paired with another tag. + * + *

Most of the implementation of this tag is external, this is just to allow for the tag to be + * used. + * + *

Most tags shouldn't be like this unless they are to be paired with another tag. */ public class NameTag implements Tag.AutoComplete, Tag.Creation { public static String TAG_NAME = "name"; - private final TagType[] tagTypes = new TagType[]{ TagType.PORTAL, TagType.DESTINATION }; + private final TagType[] tagTypes = new TagType[] {TagType.PORTAL, TagType.DESTINATION}; @Override public TagType[] getTagTypes() { @@ -58,7 +59,9 @@ public boolean created(TagTarget target, PlayerContainer player, String[] argDat if (argData.length > 0) { String name = argData[0]; if (name.contains(" ")) { - player.sendMessage(Lang.translate("messageprefix.negative") + Lang.translate("tag.name.error.nospaces")); + player.sendMessage( + Lang.translate("messageprefix.negative") + + Lang.translate("tag.name.error.nospaces")); return false; } } @@ -66,7 +69,5 @@ public boolean created(TagTarget target, PlayerContainer player, String[] argDat } @Override - public void destroyed(TagTarget target, PlayerContainer player, String[] argData) { - - } + public void destroyed(TagTarget target, PlayerContainer player, String[] argData) {} } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/PermissionTag.java b/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/PermissionTag.java index 82a14057..1533144f 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/PermissionTag.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/PermissionTag.java @@ -1,8 +1,6 @@ package com.sekwah.advancedportals.core.tags.activation; import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; -import com.sekwah.advancedportals.core.permissions.PortalPermissions; -import com.sekwah.advancedportals.core.portal.AdvancedPortal; import com.sekwah.advancedportals.core.registry.TagTarget; import com.sekwah.advancedportals.core.repository.ConfigRepository; import com.sekwah.advancedportals.core.services.PlayerDataServices; @@ -13,24 +11,20 @@ import javax.annotation.Nullable; import javax.inject.Inject; -import java.util.List; -public class PermissionTag implements Tag.Activation{ +public class PermissionTag implements Tag.Activation { - @Inject - transient PlayerDataServices playerDataServices; + @Inject transient PlayerDataServices playerDataServices; - @Inject - transient ConfigRepository configRepository; + @Inject transient ConfigRepository configRepository; - @Inject - private InfoLogger infoLogger; + @Inject private InfoLogger infoLogger; public static String TAG_NAME = "permission"; - private final String[] aliases = new String[]{ "perm" }; + private final String[] aliases = new String[] {"perm"}; - private final TagType[] tagTypes = new TagType[]{ TagType.PORTAL }; + private final TagType[] tagTypes = new TagType[] {TagType.PORTAL}; @Override public TagType[] getTagTypes() { @@ -54,7 +48,8 @@ public String description() { } @Override - public boolean preActivated(TagTarget target, PlayerContainer player, ActivationData activeData, String[] argData) { + public boolean preActivated( + TagTarget target, PlayerContainer player, ActivationData activeData, String[] argData) { if (!player.hasPermission(argData[1])) { player.sendMessage(Lang.translate("portal.error.nopermission")); return false; @@ -63,12 +58,18 @@ public boolean preActivated(TagTarget target, PlayerContainer player, Activation } @Override - public void postActivated(TagTarget target, PlayerContainer player, ActivationData activationData, String[] argData) { - - } + public void postActivated( + TagTarget target, + PlayerContainer player, + ActivationData activationData, + String[] argData) {} @Override - public boolean activated(TagTarget target, PlayerContainer player, ActivationData activationData, String[] argData) { + public boolean activated( + TagTarget target, + PlayerContainer player, + ActivationData activationData, + String[] argData) { return true; } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/TriggerBlockTag.java b/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/TriggerBlockTag.java index 3cb3dc6d..ab940ccd 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/TriggerBlockTag.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/tags/activation/TriggerBlockTag.java @@ -5,17 +5,17 @@ import com.sekwah.advancedportals.core.util.Lang; import com.sekwah.advancedportals.core.warphandler.Tag; -import javax.annotation.Nullable; import java.util.List; +import javax.annotation.Nullable; + public class TriggerBlockTag implements Tag.AutoComplete, Tag.Split { - @Inject - private ServerContainer serverContainer; + @Inject private ServerContainer serverContainer; public static String TAG_NAME = "triggerblock"; - private final TagType[] tagTypes = new TagType[]{ TagType.PORTAL }; + private final TagType[] tagTypes = new TagType[] {TagType.PORTAL}; @Override public TagType[] getTagTypes() { diff --git a/core/src/main/java/com/sekwah/advancedportals/core/util/Debug.java b/core/src/main/java/com/sekwah/advancedportals/core/util/Debug.java index 892208bf..1440c421 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/util/Debug.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/util/Debug.java @@ -2,12 +2,16 @@ import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; import com.sekwah.advancedportals.core.serializeddata.BlockLocation; -import com.sekwah.advancedportals.core.util.FriendlyDataOutput; import java.awt.*; public class Debug { - public static boolean addMarker(PlayerContainer player, BlockLocation blockPos, String name, Color color, int milliseconds) { + public static boolean addMarker( + PlayerContainer player, + BlockLocation blockPos, + String name, + Color color, + int milliseconds) { FriendlyDataOutput out = new FriendlyDataOutput(); out.writeBlock(blockPos); out.writeInt(color(color)); @@ -34,18 +38,18 @@ public static int color(int r, int g, int b, int a) { } public float getR(int color) { - return (float)(color >> 16 & 255) / 255.0F; + return (float) (color >> 16 & 255) / 255.0F; } public float getG(int color) { - return (float)(color >> 8 & 255) / 255.0F; + return (float) (color >> 8 & 255) / 255.0F; } public float getB(int color) { - return (float)(color & 255) / 255.0F; + return (float) (color & 255) / 255.0F; } public float getA(int color) { - return (float)(color >> 24 & 255) / 255.0F; + return (float) (color >> 24 & 255) / 255.0F; } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/util/FriendlyDataOutput.java b/core/src/main/java/com/sekwah/advancedportals/core/util/FriendlyDataOutput.java index 11e02464..51d1c6c4 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/util/FriendlyDataOutput.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/util/FriendlyDataOutput.java @@ -1,15 +1,14 @@ package com.sekwah.advancedportals.core.util; import com.sekwah.advancedportals.core.serializeddata.BlockLocation; + import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.handler.codec.EncoderException; import java.nio.charset.StandardCharsets; -/** - * Meant to be similar to FriendlyByteBuf if you have used that before. - */ +/** Meant to be similar to FriendlyByteBuf if you have used that before. */ public class FriendlyDataOutput { private final ByteBuf dataOutput; @@ -52,12 +51,14 @@ public void writeUtf(String text) { public void writeUtf(String text, int maxLength) { if (text.length() > maxLength) { - throw new EncoderException("String too big (was " + text.length() + " characters, max " + maxLength + ")"); + throw new EncoderException( + "String too big (was " + text.length() + " characters, max " + maxLength + ")"); } else { byte[] abyte = text.getBytes(StandardCharsets.UTF_8); int i = getMaxEncodedUtfLength(maxLength); if (abyte.length > i) { - throw new EncoderException("String too big (was " + abyte.length + " bytes encoded, max " + i + ")"); + throw new EncoderException( + "String too big (was " + abyte.length + " bytes encoded, max " + i + ")"); } else { this.writeVarInt(abyte.length); this.writeBytes(abyte); @@ -66,7 +67,7 @@ public void writeUtf(String text, int maxLength) { } public void writeVarInt(int p_130131_) { - while((p_130131_ & -128) != 0) { + while ((p_130131_ & -128) != 0) { this.writeByte(p_130131_ & 127 | 128); p_130131_ >>>= 7; } @@ -97,7 +98,9 @@ public byte[] toByteArray() { } // Only for block serialising and such - private static final int PACKED_X_LENGTH = 26; // 1 + Mth.log2(Mth.smallestEncompassingPowerOfTwo(30000000)) (im not gonna add all the mojang math stuff to calculate this. + private static final int PACKED_X_LENGTH = + 26; // 1 + Mth.log2(Mth.smallestEncompassingPowerOfTwo(30000000)) (im not gonna add all + // the mojang math stuff to calculate this. private static final int PACKED_Z_LENGTH = PACKED_X_LENGTH; public static final int PACKED_Y_LENGTH = 64 - PACKED_X_LENGTH - PACKED_Z_LENGTH; private static final long PACKED_X_MASK = (1L << PACKED_X_LENGTH) - 1L; @@ -113,8 +116,8 @@ public void writeBlock(BlockLocation blockLoc) { private long blockAsLong(BlockLocation blockLoc) { long i = 0L; - i |= ((long)blockLoc.getPosX() & PACKED_X_MASK) << X_OFFSET; - i |= ((long)blockLoc.getPosY() & PACKED_Y_MASK) << 0; - return i | ((long)blockLoc.getPosZ() & PACKED_Z_MASK) << Z_OFFSET; + i |= ((long) blockLoc.getPosX() & PACKED_X_MASK) << X_OFFSET; + i |= ((long) blockLoc.getPosY() & PACKED_Y_MASK) << 0; + return i | ((long) blockLoc.getPosZ() & PACKED_Z_MASK) << Z_OFFSET; } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/util/GameScheduler.java b/core/src/main/java/com/sekwah/advancedportals/core/util/GameScheduler.java index 54611bed..4021d6ee 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/util/GameScheduler.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/util/GameScheduler.java @@ -1,19 +1,17 @@ package com.sekwah.advancedportals.core.util; -import javax.inject.Singleton; import java.util.ArrayList; import java.util.Iterator; -/** - * For all delayed and repeating tasks. - */ +import javax.inject.Singleton; + +/** For all delayed and repeating tasks. */ @Singleton public final class GameScheduler { private final ArrayList newTickEvents = new ArrayList<>(); private final ArrayList delayedTickEvents = new ArrayList<>(); - public void tick() { this.delayedTickEvents.addAll(this.newTickEvents); this.newTickEvents.clear(); @@ -23,8 +21,7 @@ public void tick() { event.tick(); if (event.shouldRun()) { event.run(); - if(!(event instanceof DelayedGameIntervalEvent)) - tickEventIterator.remove(); + if (!(event instanceof DelayedGameIntervalEvent)) tickEventIterator.remove(); } } } @@ -81,6 +78,5 @@ public void run() { this.ticks = interval; super.run(); } - } } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/util/InfoLogger.java b/core/src/main/java/com/sekwah/advancedportals/core/util/InfoLogger.java index 656275d7..bc4a5005 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/util/InfoLogger.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/util/InfoLogger.java @@ -1,16 +1,17 @@ package com.sekwah.advancedportals.core.util; - public abstract class InfoLogger { /** * Problematic messages + * * @param s warning message */ public abstract void warning(String s); /** * General information logging + * * @param s info message */ public abstract void info(String s); diff --git a/core/src/main/java/com/sekwah/advancedportals/core/util/Lang.java b/core/src/main/java/com/sekwah/advancedportals/core/util/Lang.java index 42465626..cf667562 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/util/Lang.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/util/Lang.java @@ -13,27 +13,24 @@ /** * @author sekwah41 - *

- * The language translation file for the game. Will always load english first - * so that if the translations are missing any then they are still readable and can then be translated. - * (It's better than a raw translate string) - *

+ *

The language translation file for the game. Will always load english first so that if the + * translations are missing any then they are still readable and can then be translated. (It's + * better than a raw translate string) + *

*/ public class Lang { public static final Lang instance = new Lang(); private final HashMap languageMap = new HashMap<>(); - @Inject - private DataStorage dataStorage; + @Inject private DataStorage dataStorage; - @Inject - private InfoLogger infoLogger; + @Inject private InfoLogger infoLogger; public static final String DEFAULT_LANG = "en_GB"; public static void loadLanguage(String fileName) { - if(!DEFAULT_LANG.equals(fileName)) { + if (!DEFAULT_LANG.equals(fileName)) { instance.injectTranslations(DEFAULT_LANG); } instance.injectTranslations(fileName); @@ -53,7 +50,7 @@ public static String translate(String s) { public static String translateInsertVariables(String s, Object... args) { String translation = translate(s); for (int i = 1; i <= args.length; i++) { - translation = translation.replaceAll("%" + i + "\\$s", args[i-1].toString()); + translation = translation.replaceAll("%" + i + "\\$s", args[i - 1].toString()); } return translation; } @@ -67,7 +64,8 @@ public Map getLanguageMap(String fileName) { } public Map getInternalLanguageMap(String fileName) { - InputStream stream = this.getClass().getClassLoader().getResourceAsStream("lang/" + fileName + ".lang"); + InputStream stream = + this.getClass().getClassLoader().getResourceAsStream("lang/" + fileName + ".lang"); if (stream != null) { return Lang.parseLang(stream); } @@ -76,6 +74,7 @@ public Map getInternalLanguageMap(String fileName) { /** * Length of text excluding colour codes + * * @param text * @return */ @@ -83,10 +82,9 @@ public static int textLength(String text) { int length = 0; for (int i = 0; i < text.length(); i++) { char c = text.charAt(i); - if(c == '\u00A7') { + if (c == '\u00A7') { i++; - } - else { + } else { length++; } } @@ -94,7 +92,9 @@ public static int textLength(String text) { } /** - * The default font is not monospaced, so this will likely be a little thinner to be on the safe side + * The default font is not monospaced, so this will likely be a little thinner to be on the safe + * side + * * @param title * @return */ @@ -108,19 +108,27 @@ public static String centeredTitle(String title) { private void injectTranslations(String fileName) { try { - URL url = Lang.instance.getClass().getClassLoader().getResource("lang/" + fileName + ".lang"); + URL url = + Lang.instance + .getClass() + .getClassLoader() + .getResource("lang/" + fileName + ".lang"); if (url != null) { Map initialMap = Lang.parseLang(url.openStream()); Lang.instance.languageMap.putAll(initialMap); } else { - this.infoLogger.warning("Could not load " + fileName + ".lang from within Advanced Portals as it doesn't exist."); + this.infoLogger.warning( + "Could not load " + + fileName + + ".lang from within Advanced Portals as it doesn't exist."); } } catch (IOException e) { e.printStackTrace(); - this.infoLogger.warning("Could not load " + fileName + ".lang from within Advanced Portals."); + this.infoLogger.warning( + "Could not load " + fileName + ".lang from within Advanced Portals."); } - Map newLangMap = this.getLanguageMap(fileName ); + Map newLangMap = this.getLanguageMap(fileName); Lang.instance.languageMap.putAll(newLangMap); } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/util/TagReader.java b/core/src/main/java/com/sekwah/advancedportals/core/util/TagReader.java index 42bf6051..c1456724 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/util/TagReader.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/util/TagReader.java @@ -1,11 +1,9 @@ package com.sekwah.advancedportals.core.util; import com.sekwah.advancedportals.core.serializeddata.DataTag; -import com.sekwah.advancedportals.core.warphandler.Tag; import java.util.ArrayList; import java.util.HashMap; -import java.util.List; public class TagReader { @@ -43,10 +41,9 @@ public static ArrayList getTagsFromArgs(String[] args) { if (arg.contains(":") && !inQuotes) { if (currentIdentifier != null) { ArrayList tags; - if(tagMap.containsKey(currentIdentifier)) { + if (tagMap.containsKey(currentIdentifier)) { tags = tagMap.get(currentIdentifier); - } - else { + } else { tags = new ArrayList<>(); tagMap.put(currentIdentifier, tags); } @@ -70,10 +67,9 @@ public static ArrayList getTagsFromArgs(String[] args) { if (currentIdentifier != null) { ArrayList tags; - if(tagMap.containsKey(currentIdentifier)) { + if (tagMap.containsKey(currentIdentifier)) { tags = tagMap.get(currentIdentifier); - } - else { + } else { tags = new ArrayList<>(); tagMap.put(currentIdentifier, tags); } @@ -89,13 +85,11 @@ public static ArrayList getTagsFromArgs(String[] args) { return tags; } - public static String getTag(String arg) { int splitLoc = arg.indexOf(":"); - if(splitLoc != -1) { - return arg.substring(0,splitLoc); + if (splitLoc != -1) { + return arg.substring(0, splitLoc); } return null; } - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/warphandler/ActivationData.java b/core/src/main/java/com/sekwah/advancedportals/core/warphandler/ActivationData.java index 60e76622..ea8c9de1 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/warphandler/ActivationData.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/warphandler/ActivationData.java @@ -1,6 +1,5 @@ package com.sekwah.advancedportals.core.warphandler; - import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; /** @@ -36,7 +35,8 @@ public void setWarpStatus(WarpedStatus warped) { } /** - * In case you need to set the status back down a step for whatever reason. However it is not recommended. + * In case you need to set the status back down a step for whatever reason. However it is not + * recommended. * * @param warped */ @@ -57,18 +57,11 @@ public boolean hasActivated() { } public enum WarpedStatus { - /** - * Player has moved or something major has happened. (only one of these should activate) - */ + /** Player has moved or something major has happened. (only one of these should activate) */ WARPED, - /** - * Shows that the portal has been activated even if a major function is not performed. - */ + /** Shows that the portal has been activated even if a major function is not performed. */ ACTIVATED, - /** - * Nothing has activated on the portal (may need to come up with a new name) - */ + /** Nothing has activated on the portal (may need to come up with a new name) */ NOTACTIVATED; } - } diff --git a/core/src/main/java/com/sekwah/advancedportals/core/warphandler/Tag.java b/core/src/main/java/com/sekwah/advancedportals/core/warphandler/Tag.java index 8cbe5afb..c26aaed3 100644 --- a/core/src/main/java/com/sekwah/advancedportals/core/warphandler/Tag.java +++ b/core/src/main/java/com/sekwah/advancedportals/core/warphandler/Tag.java @@ -3,18 +3,19 @@ import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; import com.sekwah.advancedportals.core.registry.TagTarget; -import javax.annotation.Nullable; import java.util.List; +import javax.annotation.Nullable; + /** - * If a tag can be used for any of them then either make it cast the target or if it doesn't need a target - * then the exact same tag can be registered into both and ignore the portal info. + * If a tag can be used for any of them then either make it cast the target or if it doesn't need a + * target then the exact same tag can be registered into both and ignore the portal info. * - * Will probably make better documentation on how to do so or some tutorial videos though take a look at the source code - * on GitHub for how the current tags are added. + *

Will probably make better documentation on how to do so or some tutorial videos though take a + * look at the source code on GitHub for how the current tags are added. * - * Also, not sure if its good practice or not in java however these all extend TagHandler, so they can be accepted in 1 - * method nicer than if they didn't + *

Also, not sure if its good practice or not in java however these all extend TagHandler, so + * they can be accepted in 1 method nicer than if they didn't * * @author sekwah41 */ @@ -23,8 +24,7 @@ public interface Tag { /** * By default, all tags should be able to use either. * - * Though you may have use cases where you want to limit it to one or the other. - * + *

Though you may have use cases where you want to limit it to one or the other. */ enum TagType { PORTAL, @@ -33,6 +33,7 @@ enum TagType { /** * Used to flag where the auto complete should show more or less info. + * * @return */ TagType[] getTagTypes(); @@ -47,7 +48,8 @@ enum TagType { interface AutoComplete extends Tag { /** - * This is used to get the auto complete for the tag. This is called when the player is typing the tag. + * This is used to get the auto complete for the tag. This is called when the player is + * typing the tag. * * @param argData * @return @@ -68,12 +70,9 @@ interface Split extends Tag { */ @Nullable String splitString(); - } - /** - * The events for portal creation and destroying - */ + /** The events for portal creation and destroying */ interface Creation extends Tag { /** @@ -92,68 +91,69 @@ interface Creation extends Tag { * @param argData */ void destroyed(TagTarget target, PlayerContainer player, String[] argData); - } /** - * Order of activation - * Portal and Desti: - * preActivated - * activated - * postActivated + * Order of activation Portal and Desti: preActivated activated postActivated * - * Order of them combined: - * Portal.preActivated - * Portal.activated - when desti tag is hit (if listed) then next two actions are activated - * - Desti.preActivate - * - Desti.activate - * Portal.postActivate - when desti tag is hit (if listed) then the next action is activated - * - Desti.postActivate + *

Order of them combined: Portal.preActivated Portal.activated - when desti tag is hit (if + * listed) then next two actions are activated - Desti.preActivate - Desti.activate + * Portal.postActivate - when desti tag is hit (if listed) then the next action is activated - + * Desti.postActivate */ interface Activation extends Tag { /** - * Activates before the main part of activation. This should be for prechecks e.g. if the player has enough - * money before then taking the money in postActivated. + * Activates before the main part of activation. This should be for prechecks e.g. if the + * player has enough money before then taking the money in postActivated. * * @param player * @param activeData * @param argData - * * @return If the tag has allowed the warp */ - boolean preActivated(TagTarget target, PlayerContainer player, ActivationData activeData, String[] argData); + boolean preActivated( + TagTarget target, + PlayerContainer player, + ActivationData activeData, + String[] argData); /** - * Activates after activation, should be used for actions such as removing money for a teleport. + * Activates after activation, should be used for actions such as removing money for a + * teleport. * - * Any actions to do with player location should be done in activate + *

Any actions to do with player location should be done in activate * * @param player * @param activationData * @param argData */ - void postActivated(TagTarget target, PlayerContainer player, ActivationData activationData, String[] argData); + void postActivated( + TagTarget target, + PlayerContainer player, + ActivationData activationData, + String[] argData); /** - * Activates if the portal is allowed from preActivating. Should be used to set the intended warp location + * Activates if the portal is allowed from preActivating. Should be used to set the intended + * warp location * - * You should do some second checks if it can be dependent on the preActivate, the destination tags will also be - * triggered here if a desti is listed. + *

You should do some second checks if it can be dependent on the preActivate, the + * destination tags will also be triggered here if a desti is listed. * * @param player * @param activationData * @param argData - * * @return Action performed (only return false if the tag failed to do anything) */ - boolean activated(TagTarget target, PlayerContainer player, ActivationData activationData, String[] argData); - + boolean activated( + TagTarget target, + PlayerContainer player, + ActivationData activationData, + String[] argData); } - /** - * Triggers when a tag is added or removed from a portal or destination - */ + /** Triggers when a tag is added or removed from a portal or destination */ interface TagStatus extends Tag { /** @@ -168,7 +168,8 @@ interface TagStatus extends Tag { boolean tagAdded(TagTarget target, PlayerContainer player, int index, String argData); /** - * If the user has access to remove the tag (this does not include being added on destruction) + * If the user has access to remove the tag (this does not include being added on + * destruction) * * @param target the target of the tag * @param player if null then removed by the server or a plugin @@ -177,7 +178,5 @@ interface TagStatus extends Tag { * @return if the tag will be removed. */ boolean tagRemoved(TagTarget target, PlayerContainer player, int index, String argData); - } - } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/AdvancedPortalsPlugin.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/AdvancedPortalsPlugin.java index 24625227..c4791995 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/AdvancedPortalsPlugin.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/AdvancedPortalsPlugin.java @@ -10,13 +10,12 @@ import com.sekwah.advancedportals.spigot.connector.container.SpigotServerContainer; import com.sekwah.advancedportals.spigot.metrics.Metrics; import com.sekwah.advancedportals.spigot.warpeffects.SpigotWarpEffects; + import org.bukkit.plugin.java.JavaPlugin; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static java.awt.SystemColor.text; - public class AdvancedPortalsPlugin extends JavaPlugin { private AdvancedPortalsCore portalsCore; @@ -39,9 +38,12 @@ public void onEnable() { String mcVersion = this.getServer().getVersion(); Pattern pattern = Pattern.compile("\\(MC: ([\\d.]+)\\)"); Matcher matcher = pattern.matcher(mcVersion); - this.portalsCore = new AdvancedPortalsCore(matcher.find() ? matcher.group(1) : "0.0.0", this.getDataFolder(), - new SpigotInfoLogger(this), - new SpigotServerContainer(this.getServer())); + this.portalsCore = + new AdvancedPortalsCore( + matcher.find() ? matcher.group(1) : "0.0.0", + this.getDataFolder(), + new SpigotInfoLogger(this), + new SpigotServerContainer(this.getServer())); AdvancedPortalsModule module = this.portalsCore.getModule(); module.addInstanceBinding(CommandRegister.class, new SpigotCommandRegister(this)); @@ -73,5 +75,4 @@ public void onEnable() { public void onDisable() { this.portalsCore.onDisable(); } - } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/Listeners.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/Listeners.java index 2c5c572b..79b00598 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/Listeners.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/Listeners.java @@ -8,6 +8,7 @@ import com.sekwah.advancedportals.spigot.connector.container.SpigotEntityContainer; import com.sekwah.advancedportals.spigot.connector.container.SpigotPlayerContainer; import com.sekwah.advancedportals.spigot.utils.ContainerHelpers; + import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.entity.Player; @@ -24,18 +25,16 @@ import java.util.List; /** - * Some of these will be passed to the core listener to handle the events, others it's easier to just check directly. + * Some of these will be passed to the core listener to handle the events, others it's easier to + * just check directly. */ public class Listeners implements Listener { - @Inject - private CoreListeners coreListeners; + @Inject private CoreListeners coreListeners; - @Inject - private PortalServices portalServices; + @Inject private PortalServices portalServices; - @Inject - private ConfigRepository configRepository; + @Inject private ConfigRepository configRepository; // Entity and portal events @EventHandler @@ -45,47 +44,47 @@ public void onJoinEvent(PlayerJoinEvent event) { @EventHandler public void onPlayerQuitEvent(PlayerQuitEvent event) { - coreListeners.playerLeave(new SpigotPlayerContainer(event.getPlayer())); + coreListeners.playerLeave(new SpigotPlayerContainer(event.getPlayer())); } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onMoveEvent(PlayerMoveEvent event) { var to = event.getTo(); - coreListeners.playerMove(new SpigotPlayerContainer(event.getPlayer()), ContainerHelpers.toPlayerLocation(to)); + coreListeners.playerMove( + new SpigotPlayerContainer(event.getPlayer()), + ContainerHelpers.toPlayerLocation(to)); } - @EventHandler(ignoreCancelled = true) public void onEntityPortalEvent(EntityPortalEvent event) { - if(!this.coreListeners.entityPortalEvent(new SpigotEntityContainer(event.getEntity()))) { + if (!this.coreListeners.entityPortalEvent(new SpigotEntityContainer(event.getEntity()))) { event.setCancelled(true); } } - @EventHandler(ignoreCancelled = true) public void onPortalEvent(PlayerPortalEvent event) { - if(!this.coreListeners.entityPortalEvent(new SpigotPlayerContainer(event.getPlayer()))) { + if (!this.coreListeners.entityPortalEvent(new SpigotPlayerContainer(event.getPlayer()))) { event.setCancelled(true); } } - @EventHandler(ignoreCancelled = true) public void onDamEvent(EntityDamageEvent event) { - if (event.getEntity() instanceof Player && (event.getCause() == EntityDamageEvent.DamageCause.LAVA - || event.getCause() == EntityDamageEvent.DamageCause.FIRE - || event.getCause() == EntityDamageEvent.DamageCause.FIRE_TICK)) { - if(this.coreListeners.preventEntityCombust(new SpigotEntityContainer(event.getEntity()))) { + if (event.getEntity() instanceof Player + && (event.getCause() == EntityDamageEvent.DamageCause.LAVA + || event.getCause() == EntityDamageEvent.DamageCause.FIRE + || event.getCause() == EntityDamageEvent.DamageCause.FIRE_TICK)) { + if (this.coreListeners.preventEntityCombust( + new SpigotEntityContainer(event.getEntity()))) { event.setCancelled(true); } } } - @EventHandler(ignoreCancelled = true) public void onCombustEntityEvent(EntityCombustEvent event) { - if(this.coreListeners.preventEntityCombust(new SpigotEntityContainer(event.getEntity()))) { + if (this.coreListeners.preventEntityCombust(new SpigotEntityContainer(event.getEntity()))) { event.setCancelled(true); } } @@ -94,9 +93,16 @@ public void onCombustEntityEvent(EntityCombustEvent event) { public void onBlockPlace(BlockPlaceEvent event) { if (!event.isCancelled()) { Location blockloc = event.getBlock().getLocation(); - if(!this.coreListeners.blockPlace(new SpigotPlayerContainer(event.getPlayer()), - new BlockLocation(blockloc.getWorld().getName(), blockloc.getBlockX(), blockloc.getBlockY(), blockloc.getBlockZ()), event.getBlockPlaced().getType().toString(), - event.getItemInHand().getType().toString(), event.getItemInHand().getItemMeta().getDisplayName())) { + if (!this.coreListeners.blockPlace( + new SpigotPlayerContainer(event.getPlayer()), + new BlockLocation( + blockloc.getWorld().getName(), + blockloc.getBlockX(), + blockloc.getBlockY(), + blockloc.getBlockZ()), + event.getBlockPlaced().getType().toString(), + event.getItemInHand().getType().toString(), + event.getItemInHand().getItemMeta().getDisplayName())) { event.setCancelled(true); } } @@ -109,21 +115,32 @@ public void onWorldChangeEvent(PlayerChangedWorldEvent event) { @EventHandler public void onItemInteract(PlayerInteractEvent event) { - if (!event.isCancelled() && (event.getAction() == Action.LEFT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_BLOCK) && event.getItem() != null) { + if (!event.isCancelled() + && (event.getAction() == Action.LEFT_CLICK_BLOCK + || event.getAction() == Action.RIGHT_CLICK_BLOCK) + && event.getItem() != null) { Location blockloc = event.getClickedBlock().getLocation(); - boolean allowEvent = this.coreListeners.playerInteractWithBlock(new SpigotPlayerContainer(event.getPlayer()), - event.getClickedBlock().getType().toString(), - event.getMaterial().toString(), - event.getItem().getItemMeta().getDisplayName(), - new BlockLocation(blockloc.getWorld().getName(), blockloc.getBlockX(), blockloc.getBlockY(), blockloc.getBlockZ()), - event.getAction() == Action.LEFT_CLICK_BLOCK); + boolean allowEvent = + this.coreListeners.playerInteractWithBlock( + new SpigotPlayerContainer(event.getPlayer()), + event.getClickedBlock().getType().toString(), + event.getMaterial().toString(), + event.getItem().getItemMeta().getDisplayName(), + new BlockLocation( + blockloc.getWorld().getName(), + blockloc.getBlockX(), + blockloc.getBlockY(), + blockloc.getBlockZ()), + event.getAction() == Action.LEFT_CLICK_BLOCK); event.setCancelled(!allowEvent); } } @EventHandler(ignoreCancelled = true) public void spawnMobEvent(CreatureSpawnEvent event) { - if(event.getSpawnReason() == CreatureSpawnEvent.SpawnReason.NETHER_PORTAL && portalServices.inPortalRegionProtected(ContainerHelpers.toPlayerLocation(event.getLocation()))) { + if (event.getSpawnReason() == CreatureSpawnEvent.SpawnReason.NETHER_PORTAL + && portalServices.inPortalRegionProtected( + ContainerHelpers.toPlayerLocation(event.getLocation()))) { event.setCancelled(true); } } @@ -132,18 +149,21 @@ public void spawnMobEvent(CreatureSpawnEvent event) { @EventHandler(priority = EventPriority.HIGH) public void onBlockFromTo(BlockFromToEvent event) { - if(!configRepository.getStopWaterFlow()) { + if (!configRepository.getStopWaterFlow()) { return; } - if(!coreListeners.blockPlace(null, - ContainerHelpers.toBlockLocation(event.getBlock().getLocation()), - event.getBlock().getType().toString(), - null, - null) || !coreListeners.blockPlace(null, - ContainerHelpers.toBlockLocation(event.getToBlock().getLocation()), - event.getBlock().getType().toString(), - null, - null)) { + if (!coreListeners.blockPlace( + null, + ContainerHelpers.toBlockLocation(event.getBlock().getLocation()), + event.getBlock().getType().toString(), + null, + null) + || !coreListeners.blockPlace( + null, + ContainerHelpers.toBlockLocation(event.getToBlock().getLocation()), + event.getBlock().getType().toString(), + null, + null)) { event.setCancelled(true); } } @@ -151,24 +171,27 @@ public void onBlockFromTo(BlockFromToEvent event) { @EventHandler(priority = EventPriority.HIGH) public void onBlockBreak(BlockBreakEvent event) { var itemInHand = event.getPlayer().getItemInHand(); - if(!coreListeners.blockBreak(new SpigotPlayerContainer(event.getPlayer()), + if (!coreListeners.blockBreak( + new SpigotPlayerContainer(event.getPlayer()), ContainerHelpers.toBlockLocation(event.getBlock().getLocation()), event.getBlock().getType().toString(), itemInHand == null ? null : itemInHand.getType().toString(), - itemInHand == null || itemInHand.getItemMeta() == null ? null : itemInHand.getItemMeta().getDisplayName())) { + itemInHand == null || itemInHand.getItemMeta() == null + ? null + : itemInHand.getItemMeta().getDisplayName())) { event.setCancelled(true); } } - @EventHandler(priority = EventPriority.HIGH) public void onExplosion(EntityExplodeEvent event) { - if(!configRepository.getPortalProtection()) return; + if (!configRepository.getPortalProtection()) return; List blockList = event.blockList(); for (int i = 0; i < blockList.size(); i++) { Block block = blockList.get(i); - if (portalServices.inPortalRegionProtected(ContainerHelpers.toBlockLocation(block.getLocation()))) { + if (portalServices.inPortalRegionProtected( + ContainerHelpers.toBlockLocation(block.getLocation()))) { blockList.remove(i); i--; } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/SpigotInfoLogger.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/SpigotInfoLogger.java index 54b5cef9..ac179cd3 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/SpigotInfoLogger.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/SpigotInfoLogger.java @@ -26,6 +26,4 @@ public void info(String s) { public void error(Exception e) { plugin.getLogger().log(Level.SEVERE, e.getMessage(), e); } - - } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/commands/subcommands/portal/UpdatePortalSubCommand.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/commands/subcommands/portal/UpdatePortalSubCommand.java index 121ed5d0..48d4e78b 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/commands/subcommands/portal/UpdatePortalSubCommand.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/commands/subcommands/portal/UpdatePortalSubCommand.java @@ -3,8 +3,6 @@ import com.google.inject.Inject; import com.sekwah.advancedportals.core.commands.SubCommand; import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer; -import com.sekwah.advancedportals.core.destination.Destination; -import com.sekwah.advancedportals.core.portal.AdvancedPortal; import com.sekwah.advancedportals.core.serializeddata.BlockLocation; import com.sekwah.advancedportals.core.serializeddata.DataTag; import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; @@ -13,92 +11,109 @@ import com.sekwah.advancedportals.core.util.Lang; import com.sekwah.advancedportals.spigot.AdvancedPortalsPlugin; import com.sekwah.advancedportals.spigot.commands.subcommands.portal.update.ConfigAccessor; + import org.bukkit.configuration.ConfigurationSection; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; public class UpdatePortalSubCommand implements SubCommand { - @Inject - PortalServices portalServices; + @Inject PortalServices portalServices; - @Inject - DestinationServices destinationServices; + @Inject DestinationServices destinationServices; - @Inject - PortalServices portalService; + @Inject PortalServices portalService; @Override public void onCommand(CommandSenderContainer sender, String[] args) { - if(args.length > 1 && "confirm".equals(args[1])) { - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translateInsertVariables("command.portal.update.confirm")); + if (args.length > 1 && "confirm".equals(args[1])) { + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translateInsertVariables("command.portal.update.confirm")); int destinations = importDestinations(); int portals = importPortals(); - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translateInsertVariables("command.portal.update.complete", portals, destinations)); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translateInsertVariables( + "command.portal.update.complete", portals, destinations)); return; } - sender.sendMessage(Lang.translate("messageprefix.positive") + Lang.translateInsertVariables("command.portal.update", getPortalCount(), getDestinationCount())); + sender.sendMessage( + Lang.translate("messageprefix.positive") + + Lang.translateInsertVariables( + "command.portal.update", getPortalCount(), getDestinationCount())); } private int importPortals() { - ConfigAccessor portalConfig = new ConfigAccessor(AdvancedPortalsPlugin.getInstance(), "portals.yaml"); + ConfigAccessor portalConfig = + new ConfigAccessor(AdvancedPortalsPlugin.getInstance(), "portals.yaml"); var config = portalConfig.getConfig(); Set portalSet = config.getKeys(false); int count = 0; - for(String portalName : portalSet) { - BlockLocation pos1 = new BlockLocation(config.getString(portalName + ".world"), - config.getInt(portalName + ".pos1.X"), - config.getInt(portalName + ".pos1.Y"), - config.getInt(portalName + ".pos1.Z")); - BlockLocation pos2 = new BlockLocation(config.getString(portalName + ".world"), - config.getInt(portalName + ".pos2.X"), - config.getInt(portalName + ".pos2.Y"), - config.getInt(portalName + ".pos2.Z")); + for (String portalName : portalSet) { + BlockLocation pos1 = + new BlockLocation( + config.getString(portalName + ".world"), + config.getInt(portalName + ".pos1.X"), + config.getInt(portalName + ".pos1.Y"), + config.getInt(portalName + ".pos1.Z")); + BlockLocation pos2 = + new BlockLocation( + config.getString(portalName + ".world"), + config.getInt(portalName + ".pos2.X"), + config.getInt(portalName + ".pos2.Y"), + config.getInt(portalName + ".pos2.Z")); List args = new ArrayList<>(); args.add(new DataTag("name", portalName)); var triggerblock = config.getString(portalName + ".triggerblock"); - if(triggerblock != null) args.add(new DataTag("triggerblock", triggerblock.split(","))); + if (triggerblock != null) + args.add(new DataTag("triggerblock", triggerblock.split(","))); // It's called bungee as that's the implementation behind it var bungee = config.getString(portalName + ".bungee"); - if(bungee != null) args.add(new DataTag("bungee", bungee.split(","))); + if (bungee != null) args.add(new DataTag("bungee", bungee.split(","))); var destination = config.getString(portalName + ".destination"); - if(destination != null) args.add(new DataTag("destination", destination.split(","))); + if (destination != null) args.add(new DataTag("destination", destination.split(","))); ConfigurationSection portalConfigSection = config.getConfigurationSection(portalName); - ConfigurationSection portalArgsConf = portalConfigSection.getConfigurationSection("portalArgs"); + ConfigurationSection portalArgsConf = + portalConfigSection.getConfigurationSection("portalArgs"); if (portalArgsConf != null) { Set argsSet = portalArgsConf.getKeys(true); for (Object argName : argsSet.toArray()) { // skip if it argName starts with command. if (portalArgsConf.isString(argName.toString())) { - args.add(new DataTag(argName.toString(), portalArgsConf.getString(argName.toString()))); + args.add( + new DataTag( + argName.toString(), + portalArgsConf.getString(argName.toString()))); } } } // Check if command.1 is set List commands = new ArrayList<>(); - if(getArg(args, "command.1") != null) { + if (getArg(args, "command.1") != null) { int i = 1; - while(getArg(args, "command." + i) != null) { + while (getArg(args, "command." + i) != null) { commands.add(getArg(args, "command." + i)); i++; } } - if(!commands.isEmpty()) { + if (!commands.isEmpty()) { args.add(new DataTag("commands", commands.toArray(new String[0]))); } - args.stream().filter(dataTag -> dataTag.NAME.startsWith("command.")).toList().forEach(args::remove); + args.stream() + .filter(dataTag -> dataTag.NAME.startsWith("command.")) + .toList() + .forEach(args::remove); var portal = portalService.createPortal(pos1, pos2, args); - if(portal != null) count++; + if (portal != null) count++; } return count; @@ -114,26 +129,32 @@ public String getArg(List tags, String arg) { } public int importDestinations() { - ConfigAccessor destiConfig = new ConfigAccessor(AdvancedPortalsPlugin.getInstance(), "destinations.yaml"); + ConfigAccessor destiConfig = + new ConfigAccessor(AdvancedPortalsPlugin.getInstance(), "destinations.yaml"); var config = destiConfig.getConfig(); Set destiSet = config.getKeys(false); int count = 0; - for(String destiName : destiSet) { + for (String destiName : destiSet) { var destiPos = destiName + ".pos"; - var desti = destinationServices.createDesti(new PlayerLocation(config.getString(destiName + ".world"), - config.getDouble(destiPos + ".X"), - config.getDouble(destiPos + ".Y"), - config.getDouble(destiPos + ".Z"), - (float) config.getDouble(destiPos + ".yaw"), - (float) config.getDouble(destiPos + ".pitch")), List.of(new DataTag("name", destiName))); - if(desti != null) count++; + var desti = + destinationServices.createDesti( + new PlayerLocation( + config.getString(destiName + ".world"), + config.getDouble(destiPos + ".X"), + config.getDouble(destiPos + ".Y"), + config.getDouble(destiPos + ".Z"), + (float) config.getDouble(destiPos + ".yaw"), + (float) config.getDouble(destiPos + ".pitch")), + List.of(new DataTag("name", destiName))); + if (desti != null) count++; } return count; } public int getDestinationCount() { - ConfigAccessor destiConfig = new ConfigAccessor(AdvancedPortalsPlugin.getInstance(), "destinations.yaml"); + ConfigAccessor destiConfig = + new ConfigAccessor(AdvancedPortalsPlugin.getInstance(), "destinations.yaml"); var config = destiConfig.getConfig(); Set destiSet = config.getKeys(false); @@ -141,7 +162,8 @@ public int getDestinationCount() { } public int getPortalCount() { - ConfigAccessor portalConfig = new ConfigAccessor(AdvancedPortalsPlugin.getInstance(), "portals.yaml"); + ConfigAccessor portalConfig = + new ConfigAccessor(AdvancedPortalsPlugin.getInstance(), "portals.yaml"); var config = portalConfig.getConfig(); Set portalSet = config.getKeys(false); diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/commands/subcommands/portal/update/ConfigAccessor.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/commands/subcommands/portal/update/ConfigAccessor.java index e2363657..e5afba69 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/commands/subcommands/portal/update/ConfigAccessor.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/commands/subcommands/portal/update/ConfigAccessor.java @@ -25,8 +25,7 @@ public ConfigAccessor(JavaPlugin plugin, String fileName) { public void reloadConfig() { if (configFile == null) { File dataFolder = plugin.getDataFolder(); - if (dataFolder == null) - throw new IllegalStateException(); + if (dataFolder == null) throw new IllegalStateException(); configFile = new File(dataFolder, fileName); } fileConfiguration = YamlConfiguration.loadConfiguration(configFile); @@ -55,11 +54,8 @@ public void saveConfig() { // Saves /** - * public void saveDefaultConfig() { - * if (!configFile.exists()) { - * this.plugin.saveResource(fileName, false); - * } - * } + * public void saveDefaultConfig() { if (!configFile.exists()) { + * this.plugin.saveResource(fileName, false); } } */ // New save default config saving code, it checks if the needed config is in the jar file before @@ -72,5 +68,4 @@ public void saveDefaultConfig() { plugin.saveResource(fileName, false); } } - } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/command/SpigotCommandHandler.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/command/SpigotCommandHandler.java index 188504f7..824b84f6 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/command/SpigotCommandHandler.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/command/SpigotCommandHandler.java @@ -2,6 +2,7 @@ import com.sekwah.advancedportals.core.commands.CommandTemplate; import com.sekwah.advancedportals.spigot.connector.container.SpigotCommandSenderContainer; + import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -18,13 +19,17 @@ public SpigotCommandHandler(CommandTemplate commandExecutor) { } @Override - public boolean onCommand(CommandSender commandSender, Command command, String s, String[] args) { - this.commandExecutor.onCommand(new SpigotCommandSenderContainer(commandSender), command.getName(), args); + public boolean onCommand( + CommandSender commandSender, Command command, String s, String[] args) { + this.commandExecutor.onCommand( + new SpigotCommandSenderContainer(commandSender), command.getName(), args); return true; } @Override - public List onTabComplete(CommandSender commandSender, Command command, String s, String[] args) { - return this.commandExecutor.onTabComplete(new SpigotCommandSenderContainer(commandSender), args); + public List onTabComplete( + CommandSender commandSender, Command command, String s, String[] args) { + return this.commandExecutor.onTabComplete( + new SpigotCommandSenderContainer(commandSender), args); } } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/command/SpigotCommandRegister.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/command/SpigotCommandRegister.java index 720153f0..ccb50590 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/command/SpigotCommandRegister.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/command/SpigotCommandRegister.java @@ -4,9 +4,7 @@ import com.sekwah.advancedportals.core.connector.commands.CommandRegister; import com.sekwah.advancedportals.spigot.AdvancedPortalsPlugin; -/** - * Register the CommandTemplate files to the appropriate system - */ +/** Register the CommandTemplate files to the appropriate system */ public class SpigotCommandRegister implements CommandRegister { private final AdvancedPortalsPlugin plugin; @@ -17,6 +15,7 @@ public SpigotCommandRegister(AdvancedPortalsPlugin plugin) { /** * Registers the command to the appropriate system + * * @param commandName * @param commandExecutor */ diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotCommandSenderContainer.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotCommandSenderContainer.java index 5f2e48d5..bd61a9ff 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotCommandSenderContainer.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotCommandSenderContainer.java @@ -1,6 +1,7 @@ package com.sekwah.advancedportals.spigot.connector.container; import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer; + import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotEntityContainer.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotEntityContainer.java index adcddc10..894f4f46 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotEntityContainer.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotEntityContainer.java @@ -7,17 +7,15 @@ import com.sekwah.advancedportals.core.serializeddata.BlockLocation; import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; import com.sekwah.advancedportals.core.serializeddata.Vector; + import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.entity.Entity; -/** - * Just a temporary container for whenever advanced portals needs to get data from a player - */ +/** Just a temporary container for whenever advanced portals needs to get data from a player */ public class SpigotEntityContainer implements EntityContainer { - @Inject - private AdvancedPortalsCore portalsCore; + @Inject private AdvancedPortalsCore portalsCore; private final Entity entity; @@ -28,13 +26,20 @@ public SpigotEntityContainer(Entity entity) { @Override public PlayerLocation getLoc() { Location loc = this.entity.getLocation(); - return new PlayerLocation(loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch()); + return new PlayerLocation( + loc.getWorld().getName(), + loc.getX(), + loc.getY(), + loc.getZ(), + loc.getYaw(), + loc.getPitch()); } @Override public BlockLocation getBlockLoc() { Location loc = this.entity.getLocation(); - return new BlockLocation(loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); + return new BlockLocation( + loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); } @Override @@ -44,7 +49,12 @@ public double getHeight() { @Override public boolean teleport(PlayerLocation location) { - return this.entity.teleport(new Location(Bukkit.getWorld(location.getWorldName()), location.getPosX(), location.getPosY(), location.getPosZ())); + return this.entity.teleport( + new Location( + Bukkit.getWorld(location.getWorldName()), + location.getPosX(), + location.getPosY(), + location.getPosZ())); } @Override @@ -64,6 +74,7 @@ public String getWorldName() { @Override public void setVelocity(Vector vector) { - this.entity.setVelocity(new org.bukkit.util.Vector(vector.getX(), vector.getY(), vector.getZ())); + this.entity.setVelocity( + new org.bukkit.util.Vector(vector.getX(), vector.getY(), vector.getZ())); } } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotPlayerContainer.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotPlayerContainer.java index 3c5034d0..c2368809 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotPlayerContainer.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/connector/container/SpigotPlayerContainer.java @@ -3,11 +3,11 @@ import com.google.inject.Inject; import com.sekwah.advancedportals.core.AdvancedPortalsCore; import com.sekwah.advancedportals.core.connector.containers.PlayerContainer; -import com.sekwah.advancedportals.core.connector.containers.WorldContainer; import com.sekwah.advancedportals.core.serializeddata.BlockLocation; import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; import com.sekwah.advancedportals.spigot.AdvancedPortalsPlugin; import com.sekwah.advancedportals.spigot.reflection.MinecraftCustomPayload; + import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -18,13 +18,10 @@ import java.util.Arrays; import java.util.UUID; -/** - * Just a temporary container for whenever advanced portals needs to get data from a player - */ +/** Just a temporary container for whenever advanced portals needs to get data from a player */ public class SpigotPlayerContainer extends SpigotEntityContainer implements PlayerContainer { - @Inject - private AdvancedPortalsCore portalsCore; + @Inject private AdvancedPortalsCore portalsCore; private final Player player; @@ -50,7 +47,12 @@ public boolean isOp() { @Override public boolean teleport(PlayerLocation location) { - return this.player.teleport(new Location(Bukkit.getWorld(location.getWorldName()), location.getPosX(), location.getPosY(), location.getPosZ())); + return this.player.teleport( + new Location( + Bukkit.getWorld(location.getWorldName()), + location.getPosX(), + location.getPosY(), + location.getPosZ())); } @Override @@ -63,20 +65,17 @@ public boolean hasPermission(String permission) { * @param material */ @Override - public void sendFakeBlock(BlockLocation blockPos, String material) { - - } + public void sendFakeBlock(BlockLocation blockPos, String material) {} /** * Only 1.12 and below supported + * * @param blockPos * @param material * @param data */ @Override - public void sendFakeBlockWithData(BlockLocation blockPos, String material, byte data) { - - } + public void sendFakeBlockWithData(BlockLocation blockPos, String material, byte data) {} @Override public void giveItem(String material, String itemName, String... itemDescription) { @@ -90,7 +89,7 @@ public void giveItem(String material, String itemName, String... itemDescription @Override public boolean sendPacket(String channel, byte[] bytes) { - if(channel.startsWith("minecraft:")) { + if (channel.startsWith("minecraft:")) { return MinecraftCustomPayload.sendCustomPayload(player, channel, bytes); } else { player.sendPluginMessage(AdvancedPortalsPlugin.getInstance(), channel, bytes); diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/metrics/Metrics.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/metrics/Metrics.java index d6ddbdc2..10c834a5 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/metrics/Metrics.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/metrics/Metrics.java @@ -3,6 +3,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; + import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; @@ -10,7 +11,6 @@ import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.ServicePriority; -import javax.net.ssl.HttpsURLConnection; import java.io.*; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -21,24 +21,39 @@ import java.util.logging.Level; import java.util.zip.GZIPOutputStream; +import javax.net.ssl.HttpsURLConnection; + /** * bStats collects some data for plugin authors. - *

- * Check out https://bStats.org/ to learn more about bStats! + * + *

Check out https://bStats.org/ to learn more about bStats! */ @SuppressWarnings({"WeakerAccess", "unused"}) public class Metrics { static { // You can use the property to disable the check in your test environment - if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck").equals("false")) { - // Maven's Relocate is clever and changes strings, too. So we have to use this little "trick" ... :D - final String defaultPackage = new String( - new byte[]{'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', 'k', 'k', 'i', 't'}); - final String examplePackage = new String(new byte[]{'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e'}); - // We want to make sure nobody just copy & pastes the example and use the wrong package names - if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage().getName().equals(examplePackage)) { - throw new IllegalStateException("bStats Metrics class has not been relocated correctly!"); + if (System.getProperty("bstats.relocatecheck") == null + || !System.getProperty("bstats.relocatecheck").equals("false")) { + // Maven's Relocate is clever and changes strings, too. So we have to use this little + // "trick" ... :D + final String defaultPackage = + new String( + new byte[] { + 'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', + 'k', 'k', 'i', 't' + }); + final String examplePackage = + new String( + new byte[] { + 'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e' + }); + // We want to make sure nobody just copy & pastes the example and use the wrong package + // names + if (Metrics.class.getPackage().getName().equals(defaultPackage) + || Metrics.class.getPackage().getName().equals(examplePackage)) { + throw new IllegalStateException( + "bStats Metrics class has not been relocated correctly!"); } } } @@ -101,15 +116,18 @@ public Metrics(Plugin plugin) { config.addDefault("logResponseStatusText", false); // Inform the server owners about bStats - config.options().header( - "bStats collects some data for plugin authors like how many servers are using their plugins.\n" + - "To honor their work, you should not disable it.\n" + - "This has nearly no effect on the server performance!\n" + - "Check out https://bStats.org/ to learn more :)" - ).copyDefaults(true); + config.options() + .header( + "bStats collects some data for plugin authors like how many servers are" + + " using their plugins.\n" + + "To honor their work, you should not disable it.\n" + + "This has nearly no effect on the server performance!\n" + + "Check out https://bStats.org/ to learn more :)") + .copyDefaults(true); try { config.save(configFile); - } catch (IOException ignored) { } + } catch (IOException ignored) { + } } // Load the data @@ -127,10 +145,12 @@ public Metrics(Plugin plugin) { service.getField("B_STATS_VERSION"); // Our identifier :) found = true; // We aren't the first break; - } catch (NoSuchFieldException ignored) { } + } catch (NoSuchFieldException ignored) { + } } // Register our service - Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal); + Bukkit.getServicesManager() + .register(Metrics.class, this, plugin, ServicePriority.Normal); if (!found) { // We are the first! startSubmitting(); @@ -159,31 +179,37 @@ public void addCustomChart(CustomChart chart) { charts.add(chart); } - /** - * Starts the Scheduler which submits our data every 30 minutes. - */ + /** Starts the Scheduler which submits our data every 30 minutes. */ private void startSubmitting() { - final Timer timer = new Timer(true); // We use a timer cause the Bukkit scheduler is affected by server lags - timer.scheduleAtFixedRate(new TimerTask() { - @Override - public void run() { - if (!plugin.isEnabled()) { // Plugin was disabled - timer.cancel(); - return; - } - // Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler - // Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;) - Bukkit.getScheduler().runTask(plugin, () -> submitData()); - } - }, 1000 * 60 * 5, 1000 * 60 * 30); - // Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start + final Timer timer = + new Timer( + true); // We use a timer cause the Bukkit scheduler is affected by server + // lags + timer.scheduleAtFixedRate( + new TimerTask() { + @Override + public void run() { + if (!plugin.isEnabled()) { // Plugin was disabled + timer.cancel(); + return; + } + // Nevertheless we want our code to run in the Bukkit main thread, so we + // have to use the Bukkit scheduler + // Don't be afraid! The connection to the bStats server is still async, only + // the stats collection is sync ;) + Bukkit.getScheduler().runTask(plugin, () -> submitData()); + } + }, + 1000 * 60 * 5, + 1000 * 60 * 30); + // Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough + // time to start // WARNING: Changing the frequency has no effect but your plugin WILL be blocked/deleted! // WARNING: Just don't do it! } /** - * Gets the plugin specific data. - * This method is called using Reflection. + * Gets the plugin specific data. This method is called using Reflection. * * @return The plugin specific data. */ @@ -219,13 +245,19 @@ private JsonObject getServerData() { int playerAmount; try { // Around MC 1.8 the return type was changed to a collection from an array, - // This fixes java.lang.NoSuchMethodError: org.bukkit.Bukkit.getOnlinePlayers()Ljava/util/Collection; - Method onlinePlayersMethod = Class.forName("org.bukkit.Server").getMethod("getOnlinePlayers"); - playerAmount = onlinePlayersMethod.getReturnType().equals(Collection.class) - ? ((Collection) onlinePlayersMethod.invoke(Bukkit.getServer())).size() - : ((Player[]) onlinePlayersMethod.invoke(Bukkit.getServer())).length; + // This fixes java.lang.NoSuchMethodError: + // org.bukkit.Bukkit.getOnlinePlayers()Ljava/util/Collection; + Method onlinePlayersMethod = + Class.forName("org.bukkit.Server").getMethod("getOnlinePlayers"); + playerAmount = + onlinePlayersMethod.getReturnType().equals(Collection.class) + ? ((Collection) onlinePlayersMethod.invoke(Bukkit.getServer())) + .size() + : ((Player[]) onlinePlayersMethod.invoke(Bukkit.getServer())).length; } catch (Exception e) { - playerAmount = Bukkit.getOnlinePlayers().size(); // Just use the new method if the Reflection failed + playerAmount = + Bukkit.getOnlinePlayers() + .size(); // Just use the new method if the Reflection failed } int onlineMode = Bukkit.getOnlineMode() ? 1 : 0; String bukkitVersion = Bukkit.getVersion(); @@ -256,9 +288,7 @@ private JsonObject getServerData() { return data; } - /** - * Collects the data and sends it afterwards. - */ + /** Collects the data and sends it afterwards. */ private void submitData() { final JsonObject data = getServerData(); @@ -268,51 +298,75 @@ private void submitData() { try { service.getField("B_STATS_VERSION"); // Our identifier :) - for (RegisteredServiceProvider provider : Bukkit.getServicesManager().getRegistrations(service)) { + for (RegisteredServiceProvider provider : + Bukkit.getServicesManager().getRegistrations(service)) { try { - Object plugin = provider.getService().getMethod("getPluginData").invoke(provider.getProvider()); + Object plugin = + provider.getService() + .getMethod("getPluginData") + .invoke(provider.getProvider()); if (plugin instanceof JsonObject) { pluginData.add((JsonObject) plugin); } else { // old bstats version compatibility try { - Class jsonObjectJsonSimple = Class.forName("org.json.simple.JSONObject"); + Class jsonObjectJsonSimple = + Class.forName("org.json.simple.JSONObject"); if (plugin.getClass().isAssignableFrom(jsonObjectJsonSimple)) { - Method jsonStringGetter = jsonObjectJsonSimple.getDeclaredMethod("toJSONString"); + Method jsonStringGetter = + jsonObjectJsonSimple.getDeclaredMethod("toJSONString"); jsonStringGetter.setAccessible(true); String jsonString = (String) jsonStringGetter.invoke(plugin); - JsonObject object = new JsonParser().parse(jsonString).getAsJsonObject(); + JsonObject object = + new JsonParser().parse(jsonString).getAsJsonObject(); pluginData.add(object); } } catch (ClassNotFoundException e) { // minecraft version 1.14+ if (logFailedRequests) { - this.plugin.getLogger().log(Level.SEVERE, "Encountered unexpected exception", e); + this.plugin + .getLogger() + .log( + Level.SEVERE, + "Encountered unexpected exception", + e); } continue; // continue looping since we cannot do any other thing. } } - } catch (NullPointerException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { } + } catch (NullPointerException + | NoSuchMethodException + | IllegalAccessException + | InvocationTargetException ignored) { + } } - } catch (NoSuchFieldException ignored) { } + } catch (NoSuchFieldException ignored) { + } } data.add("plugins", pluginData); // Create a new thread for the connection to the bStats server - new Thread(new Runnable() { - @Override - public void run() { - try { - // Send the data - sendData(plugin, data); - } catch (Exception e) { - // Something went wrong! :( - if (logFailedRequests) { - plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e); - } - } - } - }).start(); + new Thread( + new Runnable() { + @Override + public void run() { + try { + // Send the data + sendData(plugin, data); + } catch (Exception e) { + // Something went wrong! :( + if (logFailedRequests) { + plugin.getLogger() + .log( + Level.WARNING, + "Could not submit plugin stats of " + + plugin.getName(), + e); + } + } + } + }) + .start(); } /** @@ -327,7 +381,8 @@ private static void sendData(Plugin plugin, JsonObject data) throws Exception { throw new IllegalArgumentException("Data cannot be null!"); } if (Bukkit.isPrimaryThread()) { - throw new IllegalAccessException("This method must not be called from the main thread!"); + throw new IllegalAccessException( + "This method must not be called from the main thread!"); } if (logSentData) { plugin.getLogger().info("Sending data to bStats: " + data.toString()); @@ -343,7 +398,8 @@ private static void sendData(Plugin plugin, JsonObject data) throws Exception { connection.addRequestProperty("Connection", "close"); connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length)); - connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format + connection.setRequestProperty( + "Content-Type", "application/json"); // We send our data in JSON format connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION); // Send data @@ -363,7 +419,8 @@ private static void sendData(Plugin plugin, JsonObject data) throws Exception { } bufferedReader.close(); if (logResponseStatusText) { - plugin.getLogger().info("Sent data to bStats and received response: " + builder.toString()); + plugin.getLogger() + .info("Sent data to bStats and received response: " + builder.toString()); } } @@ -385,10 +442,8 @@ private static byte[] compress(final String str) throws IOException { return outputStream.toByteArray(); } - /** - * Represents a custom chart. - */ - public static abstract class CustomChart { + /** Represents a custom chart. */ + public abstract static class CustomChart { // The id of the chart final String chartId; @@ -417,7 +472,11 @@ private JsonObject getRequestJsonObject() { chart.add("data", data); } catch (Throwable t) { if (logFailedRequests) { - Bukkit.getLogger().log(Level.WARNING, "Failed to get data for custom chart with id " + chartId, t); + Bukkit.getLogger() + .log( + Level.WARNING, + "Failed to get data for custom chart with id " + chartId, + t); } return null; } @@ -425,12 +484,9 @@ private JsonObject getRequestJsonObject() { } protected abstract JsonObject getChartData() throws Exception; - } - /** - * Represents a custom simple pie. - */ + /** Represents a custom simple pie. */ public static class SimplePie extends CustomChart { private final Callable callable; @@ -459,9 +515,7 @@ protected JsonObject getChartData() throws Exception { } } - /** - * Represents a custom advanced pie. - */ + /** Represents a custom advanced pie. */ public static class AdvancedPie extends CustomChart { private final Callable> callable; @@ -503,9 +557,7 @@ protected JsonObject getChartData() throws Exception { } } - /** - * Represents a custom drilldown pie. - */ + /** Represents a custom drilldown pie. */ public static class DrilldownPie extends CustomChart { private final Callable>> callable; @@ -534,7 +586,8 @@ public JsonObject getChartData() throws Exception { for (Map.Entry> entryValues : map.entrySet()) { JsonObject value = new JsonObject(); boolean allSkipped = true; - for (Map.Entry valueEntry : map.get(entryValues.getKey()).entrySet()) { + for (Map.Entry valueEntry : + map.get(entryValues.getKey()).entrySet()) { value.addProperty(valueEntry.getKey(), valueEntry.getValue()); allSkipped = false; } @@ -552,9 +605,7 @@ public JsonObject getChartData() throws Exception { } } - /** - * Represents a custom single line chart. - */ + /** Represents a custom single line chart. */ public static class SingleLineChart extends CustomChart { private final Callable callable; @@ -581,12 +632,9 @@ protected JsonObject getChartData() throws Exception { data.addProperty("value", value); return data; } - } - /** - * Represents a custom multi line chart. - */ + /** Represents a custom multi line chart. */ public static class MultiLineChart extends CustomChart { private final Callable> callable; @@ -626,12 +674,9 @@ protected JsonObject getChartData() throws Exception { data.add("values", values); return data; } - } - /** - * Represents a custom simple bar chart. - */ + /** Represents a custom simple bar chart. */ public static class SimpleBarChart extends CustomChart { private final Callable> callable; @@ -664,12 +709,9 @@ protected JsonObject getChartData() throws Exception { data.add("values", values); return data; } - } - /** - * Represents a custom advanced bar chart. - */ + /** Represents a custom advanced bar chart. */ public static class AdvancedBarChart extends CustomChart { private final Callable> callable; @@ -714,5 +756,4 @@ protected JsonObject getChartData() throws Exception { return data; } } - } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/reflection/MinecraftCustomPayload.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/reflection/MinecraftCustomPayload.java index 56138fb0..025438b6 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/reflection/MinecraftCustomPayload.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/reflection/MinecraftCustomPayload.java @@ -8,8 +8,8 @@ /** * Just a util class to force spigot to allow us to have fun with the minecraft: channel category * - * Atm at least this is just designed to be able to access debug/ for showing visuals of the portals and such - * + *

Atm at least this is just designed to be able to access debug/ for showing visuals of the + * portals and such */ public class MinecraftCustomPayload { @@ -23,7 +23,10 @@ public static boolean sendCustomPayload(Player player, String channel, byte[] da Object minecraftKey = minecraftKeyConstructor.newInstance(channel); // Access the sendCustomPayload method in the CraftPlayer class - Method sendCustomPayloadMethod = player.getClass().getDeclaredMethod("sendCustomPayload", minecraftKeyClass, byte[].class); + Method sendCustomPayloadMethod = + player.getClass() + .getDeclaredMethod( + "sendCustomPayload", minecraftKeyClass, byte[].class); // Make the private method accessible sendCustomPayloadMethod.setAccessible(true); diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/utils/ContainerHelpers.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/utils/ContainerHelpers.java index 8e8f26bb..aa75c6ff 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/utils/ContainerHelpers.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/utils/ContainerHelpers.java @@ -2,17 +2,23 @@ import com.sekwah.advancedportals.core.serializeddata.BlockLocation; import com.sekwah.advancedportals.core.serializeddata.PlayerLocation; + import org.bukkit.Location; public class ContainerHelpers { public static PlayerLocation toPlayerLocation(Location loc) { - return new PlayerLocation(loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch()); + return new PlayerLocation( + loc.getWorld().getName(), + loc.getX(), + loc.getY(), + loc.getZ(), + loc.getYaw(), + loc.getPitch()); } public static BlockLocation toBlockLocation(Location loc) { - return new BlockLocation(loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); + return new BlockLocation( + loc.getWorld().getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()); } - - } diff --git a/spigot/src/main/java/com/sekwah/advancedportals/spigot/warpeffects/SpigotWarpEffects.java b/spigot/src/main/java/com/sekwah/advancedportals/spigot/warpeffects/SpigotWarpEffects.java index 5a2650ea..1324baa7 100644 --- a/spigot/src/main/java/com/sekwah/advancedportals/spigot/warpeffects/SpigotWarpEffects.java +++ b/spigot/src/main/java/com/sekwah/advancedportals/spigot/warpeffects/SpigotWarpEffects.java @@ -1,17 +1,14 @@ package com.sekwah.advancedportals.spigot.warpeffects; -import com.sekwah.advancedportals.core.effect.WarpEffect; import com.sekwah.advancedportals.core.registry.WarpEffectRegistry; import javax.inject.Inject; public class SpigotWarpEffects { - @Inject - private WarpEffectRegistry warpEffectRegistry; + @Inject private WarpEffectRegistry warpEffectRegistry; public void registerEffects() { warpEffectRegistry.registerEffect("ender", new EnderWarpEffect()); } - }