diff --git a/cannons-bukkit/src/main/java/at/pavlov/cannons/Enum/MessageEnum.java b/cannons-bukkit/src/main/java/at/pavlov/cannons/Enum/MessageEnum.java index 87001ceb..63dff77f 100644 --- a/cannons-bukkit/src/main/java/at/pavlov/cannons/Enum/MessageEnum.java +++ b/cannons-bukkit/src/main/java/at/pavlov/cannons/Enum/MessageEnum.java @@ -1,149 +1,141 @@ package at.pavlov.cannons.Enum; -public enum MessageEnum -{ - //Error Messages - ErrorFiringInProgress ("Error.FiringInProgress", true), - ErrorLoadingInProgress ("Error.LoadingInProgress", true), - ErrorBarrelTooHot ("Error.BarrelTooHot", true), - ErrorNotCleaned ("Error.NotCleaned", true), - ErrorNoGunpowder ("Error.NoGunpowder", true), - ErrorNoGunpowderNeeded ("Error.NoGunpowderNeeded", true), - ErrorNoProjectile ("Error.NoProjectile", true), - ErrorNoGunpowderInChest ("Error.NoGunpowderInChest", true), - ErrorNoProjectileInChest ("Error.NoProjectileInChest", true), - ErrorNotPushed ("Error.NotPushed", true), - ErrorNoFlintAndSteel ("Error.NoFlintAndSteel", true), - ErrorMaximumGunpowderLoaded ("Error.MaximumGunpowderLoaded", true), - ErrorProjectileAlreadyLoaded ("Error.ProjectileAlreadyLoaded", true), - ErrorCannonBuiltLimit ("Error.CannonBuiltLimit", true), - ErrorNotTheOwner ("Error.NotTheOwner", true), - ErrorDismantlingNotOwner ("Error.DismantlingNotOwner", true), - ErrorMissingSign ("Error.MissingSign", true), - ErrorNoMoney ("Error.NoMoney", true), - ErrorNotPaid ("Error.NotPaid", true), - ErrorAlreadyPaid ("Error.AlreadyPaid", true), - ErrorPlayerNotFound ("Error.PlayerNotFound", true), - ErrorGeneric ("Error.Generic", true), +import lombok.Getter; + +@Getter +public enum MessageEnum { + //Error Messages + ErrorFiringInProgress("Error.FiringInProgress", true), + ErrorLoadingInProgress("Error.LoadingInProgress", true), + ErrorBarrelTooHot("Error.BarrelTooHot", true), + ErrorNotCleaned("Error.NotCleaned", true), + ErrorNoGunpowder("Error.NoGunpowder", true), + ErrorNoGunpowderNeeded("Error.NoGunpowderNeeded", true), + ErrorNoProjectile("Error.NoProjectile", true), + ErrorNoGunpowderInChest("Error.NoGunpowderInChest", true), + ErrorNoProjectileInChest("Error.NoProjectileInChest", true), + ErrorNotPushed("Error.NotPushed", true), + ErrorNoFlintAndSteel("Error.NoFlintAndSteel", true), + ErrorMaximumGunpowderLoaded("Error.MaximumGunpowderLoaded", true), + ErrorProjectileAlreadyLoaded("Error.ProjectileAlreadyLoaded", true), + ErrorCannonBuiltLimit("Error.CannonBuiltLimit", true), + ErrorNotTheOwner("Error.NotTheOwner", true), + ErrorDismantlingNotOwner("Error.DismantlingNotOwner", true), + ErrorMissingSign("Error.MissingSign", true), + ErrorNoMoney("Error.NoMoney", true), + ErrorNotPaid("Error.NotPaid", true), + ErrorAlreadyPaid("Error.AlreadyPaid", true), + ErrorPlayerNotFound("Error.PlayerNotFound", true), + ErrorGeneric("Error.Generic", true), //Commands - CmdSelectCannon ("Commands.SelectCannon"), - CmdSelectBlock ("Commands.SelectBlock"), - CmdSelectCanceled ("Commands.SelectCanceled"), - CmdCannonNotFound ("Commands.CannonNotFound"), - CmdNoSentryWhitelist ("Commands.NoSentryWhitelist"), - CmdAddedWhitelist ("Commands.AddedWhitelist"), - CmdRemovedWhitelist ("Commands.RemovedWhitelist"), - CmdRemovedWhitelistOwner ("Commands.RemovedWhitelistOwner"), - CmdToggledTargetMob ("Commands.ToggledTargetMob"), - CmdToggledTargetPlayer ("Commands.ToggledTargetPlayer"), - CmdToggledTargetCannon ("Commands.ToggledTargetCannon"), - CmdToggledTargetOther ("Commands.ToggledTargetOther"), - CmdBuyCannon ("Commands.BuyCannon"), - CmdPaidCannon ("Commands.PaidCannon"), - CmdClaimCannonsStarted ("Commands.ClaimCannonsStarted"), - CmdClaimCannonsFinished ("Commands.ClaimCannonsFinished"), - - //Aiming - SettingCombinedAngle ("Aiming.SettingCombinedAngle"), - SettingVerticalAngleUp ("Aiming.SettingVerticalAngleUp"), - SettingVerticalAngleDown ("Aiming.SettingVerticalAngleDown"), - SettingHorizontalAngleRight ("Aiming.SettingHorizontalAngleRight"), - SettingHorizontalAngleLeft ("Aiming.SettingHorizontalAngleLeft"), - AimingModeEnabled ("Aiming.EnableAimingMode"), - AimingModeDisabled ("Aiming.DisableAimingMode"), - AimingModeTooFarAway ("Aiming.TooFarForAimingMode"), - - //load - loadProjectile ("Load.Projectile"), - loadGunpowder ("Load.Gunpowder"), - loadGunpowderAndProjectile ("Load.GunpowderAndProjectile"), - loadGunpowderNormalLimit ("Load.loadGunpowderNormalLimit"), - loadOverloadedGunpowder ("Load.OverloadedGunpowder"), - - //cannon - CannonCreated ("Cannon.Created"), - CannonDismantled ("Cannon.Dismantled"), - CannonDestroyed ("Cannon.Destroyed"), - CannonsReseted ("Cannon.Reseted"), - CannonFire ("Cannon.Fire"), - CannonObserverAdded ("Cannon.ObserverAdded"), - CannonObserverRemoved ("Cannon.ObserverRemoved"), - CannonInfo ("Cannon.Info"), - CannonRenameSuccess ("Cannon.RenameSuccess"), - CannonRenameFail ("Cannon.RenameFail"), + CmdSelectCannon("Commands.SelectCannon"), + CmdSelectBlock("Commands.SelectBlock"), + CmdSelectCanceled("Commands.SelectCanceled"), + CmdCannonNotFound("Commands.CannonNotFound"), + CmdNoSentryWhitelist("Commands.NoSentryWhitelist"), + CmdAddedWhitelist("Commands.AddedWhitelist"), + CmdRemovedWhitelist("Commands.RemovedWhitelist"), + CmdRemovedWhitelistOwner("Commands.RemovedWhitelistOwner"), + CmdToggledTargetMob("Commands.ToggledTargetMob"), + CmdToggledTargetPlayer("Commands.ToggledTargetPlayer"), + CmdToggledTargetCannon("Commands.ToggledTargetCannon"), + CmdToggledTargetOther("Commands.ToggledTargetOther"), + CmdBuyCannon("Commands.BuyCannon"), + CmdPaidCannon("Commands.PaidCannon"), + CmdClaimCannonsStarted("Commands.ClaimCannonsStarted"), + CmdClaimCannonsFinished("Commands.ClaimCannonsFinished"), + + //Aiming + SettingCombinedAngle("Aiming.SettingCombinedAngle"), + SettingVerticalAngleUp("Aiming.SettingVerticalAngleUp"), + SettingVerticalAngleDown("Aiming.SettingVerticalAngleDown"), + SettingHorizontalAngleRight("Aiming.SettingHorizontalAngleRight"), + SettingHorizontalAngleLeft("Aiming.SettingHorizontalAngleLeft"), + AimingModeEnabled("Aiming.EnableAimingMode"), + AimingModeDisabled("Aiming.DisableAimingMode"), + AimingModeTooFarAway("Aiming.TooFarForAimingMode"), + + //load + loadProjectile("Load.Projectile"), + loadGunpowder("Load.Gunpowder"), + loadGunpowderAndProjectile("Load.GunpowderAndProjectile"), + loadGunpowderNormalLimit("Load.loadGunpowderNormalLimit"), + loadOverloadedGunpowder("Load.OverloadedGunpowder"), + + //cannon + CannonCreated("Cannon.Created"), + CannonDismantled("Cannon.Dismantled"), + CannonDestroyed("Cannon.Destroyed"), + CannonsReseted("Cannon.Reseted"), + CannonFire("Cannon.Fire"), + CannonObserverAdded("Cannon.ObserverAdded"), + CannonObserverRemoved("Cannon.ObserverRemoved"), + CannonInfo("Cannon.Info"), + CannonRenameSuccess("Cannon.RenameSuccess"), + CannonRenameFail("Cannon.RenameFail"), //projectile - ProjectileExplosion ("Projectile.Explosion"), - ProjectileCanceled ("Projectile.Canceled"), + ProjectileExplosion("Projectile.Explosion"), + ProjectileCanceled("Projectile.Canceled"), //heatManagement - HeatManagementBurn ("HeatManagement.Burn"), - HeatManagementCooling ("HeatManagement.Cooling"), - HeatManagementInfo ("HeatManagement.Info"), - HeatManagementCritical ("HeatManagement.Critical"), - HeatManagementOverheated ("HeatManagement.Overheated"), + HeatManagementBurn("HeatManagement.Burn"), + HeatManagementCooling("HeatManagement.Cooling"), + HeatManagementInfo("HeatManagement.Info"), + HeatManagementCritical("HeatManagement.Critical"), + HeatManagementOverheated("HeatManagement.Overheated"), //ramrod - RamrodCleaning ("Ramrod.Cleaning"), - RamrodCleaningDone ("Ramrod.CleaningDone"), - RamrodPushingProjectile ("Ramrod.PushingProjectile"), - RamrodPushingProjectileDone ("Ramrod.PushingProjectileDone"), + RamrodCleaning("Ramrod.Cleaning"), + RamrodCleaningDone("Ramrod.CleaningDone"), + RamrodPushingProjectile("Ramrod.PushingProjectile"), + RamrodPushingProjectileDone("Ramrod.PushingProjectileDone"), //imitatedEffects - ImitatedEffectsEnabled ("ImitatedEffects.Enabled"), - ImitatedEffectsDisabled ("ImitatedEffects.Disabled"), - - //Permission - PermissionErrorRedstone ("Permission.ErrorRedstone", true), - PermissionErrorDismantle ("Permission.ErrorDismantle", true), - PermissionErrorBuild ("Permission.ErrorBuild", true), - PermissionErrorRename ("Permission.ErrorRename", true), - PermissionErrorFire ("Permission.ErrorFire", true), - PermissionErrorLoad ("Permission.ErrorLoad", true), - PermissionErrorAdjust ("Permission.ErrorAdjust", true), - PermissionErrorAutoaim ("Permission.ErrorAutoaim", true), - PermissionErrorObserver ("Permission.ErrorObserver", true), - PermissionErrorProjectile ("Permission.ErrorProjectile", true), - PermissionErrorThermometer ("Permission.ErrorThermometer", true), - PermissionErrorRamrod ("Permission.ErrorRamrod", true), - - //Death - DeathMessage1 ("Death.message1"), - DeathMessage2 ("Death.message2"), - DeathMessage3 ("Death.message3"), - - //Help - HelpText ("Help.Text"), - HelpBuild ("Help.Build"), - HelpFire ("Help.Fire"), - HelpAdjust ("Help.Adjust"); - - - private final String str; - private final boolean isError; - - MessageEnum(String str, boolean e) - { - this.str = str; + ImitatedEffectsEnabled("ImitatedEffects.Enabled"), + ImitatedEffectsDisabled("ImitatedEffects.Disabled"), + + //Permission + PermissionErrorRedstone("Permission.ErrorRedstone", true), + PermissionErrorDismantle("Permission.ErrorDismantle", true), + PermissionErrorBuild("Permission.ErrorBuild", true), + PermissionErrorRename("Permission.ErrorRename", true), + PermissionErrorFire("Permission.ErrorFire", true), + PermissionErrorLoad("Permission.ErrorLoad", true), + PermissionErrorAdjust("Permission.ErrorAdjust", true), + PermissionErrorAutoaim("Permission.ErrorAutoaim", true), + PermissionErrorObserver("Permission.ErrorObserver", true), + PermissionErrorProjectile("Permission.ErrorProjectile", true), + PermissionErrorThermometer("Permission.ErrorThermometer", true), + PermissionErrorRamrod("Permission.ErrorRamrod", true), + + //Death + DeathMessage1("Death.message1"), + DeathMessage2("Death.message2"), + DeathMessage3("Death.message3"), + + //Help + HelpText("Help.Text"), + HelpBuild("Help.Build"), + HelpFire("Help.Fire"), + HelpAdjust("Help.Adjust"), + HelpWiki("Help.Wiki"); + + + private final String string; + private final boolean isError; + + MessageEnum(String string, boolean e) { + this.string = string; this.isError = e; - } - MessageEnum(String str) - { - this.str = str; - isError = false; - } - - public String getString() - { - return str; - } - public boolean isValid() - { - return !isError; - } - public boolean isError() - { - return isError; - } + } + + MessageEnum(String string) { + this(string, false); + } + + public boolean isValid() { + return !isError; + } } diff --git a/cannons-bukkit/src/main/java/at/pavlov/cannons/commands/CannonsCommandManager.java b/cannons-bukkit/src/main/java/at/pavlov/cannons/commands/CannonsCommandManager.java index a0c61fa7..cb19ccd1 100644 --- a/cannons-bukkit/src/main/java/at/pavlov/cannons/commands/CannonsCommandManager.java +++ b/cannons-bukkit/src/main/java/at/pavlov/cannons/commands/CannonsCommandManager.java @@ -1,6 +1,8 @@ package at.pavlov.cannons.commands; import at.pavlov.cannons.Enum.SelectCannon; +import at.pavlov.cannons.cannon.DesignStorage; +import at.pavlov.cannons.projectile.ProjectileStorage; import co.aikar.commands.CommandIssuer; import co.aikar.commands.InvalidCommandArgument; import co.aikar.commands.PaperCommandManager; @@ -15,6 +17,13 @@ public class CannonsCommandManager extends PaperCommandManager { public CannonsCommandManager(Plugin plugin) { super(plugin); this.registerContexts(); + this.registerCompletions(); + } + + private void registerCompletions() { + var completions = this.getCommandCompletions(); + completions.registerAsyncCompletion("designs", c -> DesignStorage.getInstance().getDesignIds()); + completions.registerAsyncCompletion("projectiles", c -> ProjectileStorage.getProjectileIds()); } private void registerContexts() { diff --git a/cannons-bukkit/src/main/java/at/pavlov/cannons/commands/Commands.java b/cannons-bukkit/src/main/java/at/pavlov/cannons/commands/Commands.java index 6dafbdc7..c204a338 100644 --- a/cannons-bukkit/src/main/java/at/pavlov/cannons/commands/Commands.java +++ b/cannons-bukkit/src/main/java/at/pavlov/cannons/commands/Commands.java @@ -69,6 +69,11 @@ public static void onHelpCommand(Player sender) { userMessages.sendMessage(MessageEnum.HelpText, sender); } + @Subcommand("wiki") + public static void onWiki(Player sender) { + userMessages.sendMessage(MessageEnum.HelpWiki, sender); + } + @Subcommand("reload") @CommandPermission("cannons.admin.reload") public static void onReload(CommandSender sender) { @@ -164,6 +169,7 @@ public static void onList(CommandSender sender, @Optional String arg) { @Subcommand("create") @Syntax("[DESIGN]") + @CommandCompletion("@designs") @CommandPermission("cannons.admin.create") public static void onCreate(Player player, String arg) { //check if the design name is valid @@ -182,6 +188,7 @@ public static void onCreate(Player player, String arg) { @Subcommand("give") @Syntax("[PROJECTILE] ") + @CommandCompletion("@projectiles @range:1-64") @CommandPermission("cannons.admin.give") public static void onGive(Player player, String projectileString, @Default("1") int amount) { //check if the projectile id is valid diff --git a/cannons-bukkit/src/main/resources/localization/en_US.yml b/cannons-bukkit/src/main/resources/localization/en_US.yml index ec9dc382..eed34cd2 100644 --- a/cannons-bukkit/src/main/resources/localization/en_US.yml +++ b/cannons-bukkit/src/main/resources/localization/en_US.yml @@ -155,3 +155,4 @@ Help: NEWLINE YELLOW Shift right click will decrease the angle. NEWLINE YELLOW Clicking on the top of the barrel will change the vertical angle. NEWLINE YELLOW Clicking on the side will change the horizontal angle.' + Wiki: "GREEN [Cannons] You can find additional information at: https://github.com/Intybyte/Cannons/wiki"