From b026c1331a95a3760b6d5413d76306caf8629317 Mon Sep 17 00:00:00 2001 From: Szum123321 Date: Tue, 24 Mar 2020 21:48:04 +0100 Subject: [PATCH] Some code cleanup and repaired mostly whitelist/blacklist commands. pt2 --- README.md | 2 +- .../szum123321/textile_backup/TextileBackup.java | 13 +++++++++++-- .../textile_backup/commands/BlacklistCommand.java | 12 +++++------- .../textile_backup/commands/CleanupCommand.java | 8 ++------ .../textile_backup/commands/StartBackupCommand.java | 10 +++------- .../textile_backup/commands/WhitelistCommand.java | 11 ++++------- .../textile_backup/core/BackupHelper.java | 2 -- .../szum123321/textile_backup/core/Utilities.java | 8 ++++---- 8 files changed, 30 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index c8588db..e8b3ce4 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Feel free to use this mod in your modpack or on server! ### Important -* Time format deafutly used by this mod is: dd.MM.yyyy_HH-mm-ss although it is configurable +* Time format defaultly used by this mod is: dd.MM.yyyy_HH-mm-ss although it is configurable * _This mod contains **Cotton Config** and its dependencies as jars in jar, which are property of **CottonMC**_ If you have any suggestions or found a problem please report it on github. \ No newline at end of file diff --git a/src/main/java/net/szum123321/textile_backup/TextileBackup.java b/src/main/java/net/szum123321/textile_backup/TextileBackup.java index 52030bb..6f01624 100644 --- a/src/main/java/net/szum123321/textile_backup/TextileBackup.java +++ b/src/main/java/net/szum123321/textile_backup/TextileBackup.java @@ -50,8 +50,17 @@ public class TextileBackup implements ModInitializer { private void registerCommands(){ CommandRegistry.INSTANCE.register(false, dispatcher -> dispatcher.register( LiteralArgumentBuilder.literal("backup") - .requires(ctx -> ctx.hasPermissionLevel(1)) - .then(BlacklistCommand.register()) + .requires((ctx) -> { + try { + return (config.whitelist.contains(ctx.getEntityOrThrow().getEntityName()) || + ctx.hasPermissionLevel(config.permissionLevel)) && + !config.blacklist.contains(ctx.getEntityOrThrow().getEntityName()); + }catch (Exception e){ //Command was called from server console. + System.out.println("Server!"); + return true; + } + } + ).then(BlacklistCommand.register()) .then(CleanupCommand.register()) .then(StartBackupCommand.register()) .then(WhitelistCommand.register()) diff --git a/src/main/java/net/szum123321/textile_backup/commands/BlacklistCommand.java b/src/main/java/net/szum123321/textile_backup/commands/BlacklistCommand.java index 8cb4ff5..d5bf80d 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/BlacklistCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/BlacklistCommand.java @@ -8,16 +8,14 @@ import net.minecraft.command.arguments.EntityArgumentType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.server.command.CommandManager; import net.minecraft.server.command.ServerCommandSource; +import net.minecraft.text.LiteralText; import net.minecraft.text.TranslatableText; import net.szum123321.textile_backup.TextileBackup; import net.szum123321.textile_backup.core.Utilities; public class BlacklistCommand { public static LiteralArgumentBuilder register(){ - return LiteralArgumentBuilder.literal("blacklist") - .requires(ctx -> (TextileBackup.config.whitelist.contains(ctx.getName()) || - ctx.hasPermissionLevel(TextileBackup.config.permissionLevel)) && - !TextileBackup.config.blacklist.contains(ctx.getName())) + return CommandManager.literal("blacklist") .then(CommandManager.literal("add") .then(CommandManager.argument("player", EntityArgumentType.player()) .executes(BlacklistCommand::executeAdd) @@ -32,7 +30,7 @@ public class BlacklistCommand { } private static int help(ServerCommandSource source){ - source.sendFeedback(new TranslatableText("Available command are: add [player], remove [player], list."), false); + source.sendFeedback(new LiteralText("Available command are: add [player], remove [player], list."), false); return 1; } @@ -56,7 +54,7 @@ public class BlacklistCommand { PlayerEntity player = EntityArgumentType.getPlayer(ctx, "player"); if(TextileBackup.config.blacklist.contains(player.getEntityName())) { - ctx.getSource().sendFeedback(new TranslatableText("Player: {} is already blacklisted.", player.getEntityName()), true); + ctx.getSource().sendFeedback(new TranslatableText("Player: %s is already blacklisted.", player.getEntityName()), false); }else{ TextileBackup.config.blacklist.add(player.getEntityName()); ConfigManager.saveConfig(TextileBackup.config); @@ -84,7 +82,7 @@ public class BlacklistCommand { PlayerEntity player = EntityArgumentType.getPlayer(ctx, "player"); if(!TextileBackup.config.blacklist.contains(player.getEntityName())) { - ctx.getSource().sendFeedback(new TranslatableText("Player: {} newer was blacklisted.", player.getEntityName()), false); + ctx.getSource().sendFeedback(new TranslatableText("Player: %s newer was blacklisted.", player.getEntityName()), false); }else{ TextileBackup.config.blacklist.remove(player.getEntityName()); ConfigManager.saveConfig(TextileBackup.config); diff --git a/src/main/java/net/szum123321/textile_backup/commands/CleanupCommand.java b/src/main/java/net/szum123321/textile_backup/commands/CleanupCommand.java index 1e9cbeb..7150348 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/CleanupCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/CleanupCommand.java @@ -21,22 +21,18 @@ package net.szum123321.textile_backup.commands; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import net.minecraft.server.command.CommandManager; import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.text.TranslatableText; -import net.szum123321.textile_backup.TextileBackup; +import net.minecraft.text.LiteralText; import net.szum123321.textile_backup.core.BackupHelper; public class CleanupCommand { public static LiteralArgumentBuilder register(){ return CommandManager.literal("cleanup") - .requires(ctx -> TextileBackup.config.whitelist.contains(ctx.getName()) || - ctx.hasPermissionLevel(TextileBackup.config.permissionLevel) && - !TextileBackup.config.blacklist.contains(ctx.getName())) .executes(ctx -> execute(ctx.getSource())); } private static int execute(ServerCommandSource source){ BackupHelper.executeFileLimit(source, source.getMinecraftServer().getLevelName()); - source.sendFeedback(new TranslatableText("Done"), false); + source.sendFeedback(new LiteralText("Done"), false); return 1; } diff --git a/src/main/java/net/szum123321/textile_backup/commands/StartBackupCommand.java b/src/main/java/net/szum123321/textile_backup/commands/StartBackupCommand.java index 06671fe..ac9c83c 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/StartBackupCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/StartBackupCommand.java @@ -23,22 +23,18 @@ import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; import net.minecraft.server.command.CommandManager; import net.minecraft.server.command.ServerCommandSource; -import net.szum123321.textile_backup.TextileBackup; import net.szum123321.textile_backup.core.BackupHelper; public class StartBackupCommand { public static LiteralArgumentBuilder register(){ return CommandManager.literal("start") - .requires(ctx -> TextileBackup.config.whitelist.contains(ctx.getName()) || - ctx.hasPermissionLevel(TextileBackup.config.permissionLevel) && - !TextileBackup.config.blacklist.contains(ctx.getName())) - .then(CommandManager.argument("Comment", StringArgumentType.word()) + .then(CommandManager.argument("comment", StringArgumentType.string()) .executes(StartBackupCommand::executeWithComment) ).executes(ctx -> execute(ctx.getSource())); } - private static int executeWithComment(CommandContext source){ - BackupHelper.create(source.getSource().getMinecraftServer(), source.getSource(), true, StringArgumentType.getString(source, "Comment")); + private static int executeWithComment(CommandContext source) { + BackupHelper.create(source.getSource().getMinecraftServer(), source.getSource(), true, StringArgumentType.getString(source, "comment").replace("#", "")); return 1; } diff --git a/src/main/java/net/szum123321/textile_backup/commands/WhitelistCommand.java b/src/main/java/net/szum123321/textile_backup/commands/WhitelistCommand.java index 15f4da6..2d8fde0 100644 --- a/src/main/java/net/szum123321/textile_backup/commands/WhitelistCommand.java +++ b/src/main/java/net/szum123321/textile_backup/commands/WhitelistCommand.java @@ -1,6 +1,5 @@ package net.szum123321.textile_backup.commands; -import com.mojang.brigadier.arguments.BoolArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.exceptions.CommandSyntaxException; @@ -9,6 +8,7 @@ import net.minecraft.command.arguments.EntityArgumentType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.server.command.CommandManager; import net.minecraft.server.command.ServerCommandSource; +import net.minecraft.text.LiteralText; import net.minecraft.text.TranslatableText; import net.szum123321.textile_backup.TextileBackup; import net.szum123321.textile_backup.core.Utilities; @@ -16,9 +16,6 @@ import net.szum123321.textile_backup.core.Utilities; public class WhitelistCommand { public static LiteralArgumentBuilder register(){ return CommandManager.literal("whitelist") - .requires(ctx -> TextileBackup.config.whitelist.contains(ctx.getName()) || - ctx.hasPermissionLevel(TextileBackup.config.permissionLevel) && - !TextileBackup.config.blacklist.contains(ctx.getName())) .then(CommandManager.literal("add") .then(CommandManager.argument("player", EntityArgumentType.player()) .executes(WhitelistCommand::executeAdd) @@ -33,7 +30,7 @@ public class WhitelistCommand { } private static int help(ServerCommandSource source){ - source.sendFeedback(new TranslatableText("Available command are: add [player], remove [player], list."), false); + source.sendFeedback(new LiteralText("Available command are: add [player], remove [player], list."), false); return 1; } @@ -57,7 +54,7 @@ public class WhitelistCommand { PlayerEntity player = EntityArgumentType.getPlayer(ctx, "player"); if(TextileBackup.config.whitelist.contains(player.getEntityName())) { - ctx.getSource().sendFeedback(new TranslatableText("Player: {} is already whitelisted.", player.getEntityName()), false); + ctx.getSource().sendFeedback(new TranslatableText("Player: %s is already whitelisted.", player.getEntityName()), false); }else{ TextileBackup.config.whitelist.add(player.getEntityName()); ConfigManager.saveConfig(TextileBackup.config); @@ -85,7 +82,7 @@ public class WhitelistCommand { PlayerEntity player = EntityArgumentType.getPlayer(ctx, "player"); if(!TextileBackup.config.whitelist.contains(player.getEntityName())) { - ctx.getSource().sendFeedback(new TranslatableText("Player: {} newer was on the whitelist.", player.getEntityName()), false); + ctx.getSource().sendFeedback(new TranslatableText("Player: %s newer was on the whitelist.", player.getEntityName()), false); }else{ TextileBackup.config.whitelist.remove(player.getEntityName()); ConfigManager.saveConfig(TextileBackup.config); diff --git a/src/main/java/net/szum123321/textile_backup/core/BackupHelper.java b/src/main/java/net/szum123321/textile_backup/core/BackupHelper.java index da849b5..64f248c 100644 --- a/src/main/java/net/szum123321/textile_backup/core/BackupHelper.java +++ b/src/main/java/net/szum123321/textile_backup/core/BackupHelper.java @@ -21,7 +21,6 @@ package net.szum123321.textile_backup.core; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.server.MinecraftServer; import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.text.TranslatableText; import net.szum123321.textile_backup.TextileBackup; import org.apache.commons.io.FileUtils; @@ -29,7 +28,6 @@ import java.io.File; import java.io.FileFilter; import java.time.LocalDateTime; import java.time.ZoneOffset; -import java.time.format.DateTimeFormatter; import java.util.Arrays; public class BackupHelper { diff --git a/src/main/java/net/szum123321/textile_backup/core/Utilities.java b/src/main/java/net/szum123321/textile_backup/core/Utilities.java index d9f5f3b..9e3491e 100644 --- a/src/main/java/net/szum123321/textile_backup/core/Utilities.java +++ b/src/main/java/net/szum123321/textile_backup/core/Utilities.java @@ -1,14 +1,14 @@ package net.szum123321.textile_backup.core; import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.LiteralText; import net.szum123321.textile_backup.TextileBackup; import java.time.format.DateTimeFormatter; public class Utilities { public static DateTimeFormatter getDateTimeFormatter(){ - if(TextileBackup.config.dateTimeFormat != null) + if(!TextileBackup.config.dateTimeFormat.equals("")) return DateTimeFormatter.ofPattern(TextileBackup.config.dateTimeFormat); else return getBackupDateTimeFormatter(); @@ -25,7 +25,7 @@ public class Utilities { public static void log(String s, ServerCommandSource ctx){ if(ctx != null) - ctx.sendFeedback(new TranslatableText(s), false); + ctx.sendFeedback(new LiteralText(s), false); if(TextileBackup.config.log) TextileBackup.logger.info(s); @@ -33,7 +33,7 @@ public class Utilities { public static void error(String s, ServerCommandSource ctx){ if(ctx != null) - ctx.sendFeedback(new TranslatableText(s), true); + ctx.sendFeedback(new LiteralText(s), true); if(TextileBackup.config.log) TextileBackup.logger.error(s);