diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2020-10-20 02:52:57 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2020-10-20 02:52:57 +0200 |
commit | 927613461a6a9021e55da187e87edfb25f13cb2f (patch) | |
tree | 99a94f9138ebb11e62d3cf747f7886b6526507b9 /src/main/java/re | |
parent | 4d1ec9a337db8b4915ea5672f5e46fccc351ca3a (diff) | |
download | parquet-927613461a6a9021e55da187e87edfb25f13cb2f.tar.gz |
reworked /savedata to /stats
Diffstat (limited to 'src/main/java/re')
-rw-r--r-- | src/main/java/re/jag/parquet/Parquet.java | 2 | ||||
-rw-r--r-- | src/main/java/re/jag/parquet/ParquetSettings.java | 8 | ||||
-rw-r--r-- | src/main/java/re/jag/parquet/commands/Stats.java (renamed from src/main/java/re/jag/parquet/commands/Savedata.java) | 97 |
3 files changed, 39 insertions, 68 deletions
diff --git a/src/main/java/re/jag/parquet/Parquet.java b/src/main/java/re/jag/parquet/Parquet.java index b115393..c5cb6a4 100644 --- a/src/main/java/re/jag/parquet/Parquet.java +++ b/src/main/java/re/jag/parquet/Parquet.java @@ -29,7 +29,7 @@ public class Parquet implements ModInitializer { } public static void registerCommands(CommandDispatcher<ServerCommandSource> dispatcher) { - if(settings.command_savedata) Savedata.register(dispatcher); + if(settings.command_stats) Stats.register(dispatcher); if(settings.command_cameramode) CameraMode.register(dispatcher); if(settings.command_calculator) Calculator.register(dispatcher); if(settings.command_timediff) TimeDIff.register(dispatcher); diff --git a/src/main/java/re/jag/parquet/ParquetSettings.java b/src/main/java/re/jag/parquet/ParquetSettings.java index 32c52dd..030306d 100644 --- a/src/main/java/re/jag/parquet/ParquetSettings.java +++ b/src/main/java/re/jag/parquet/ParquetSettings.java @@ -16,7 +16,7 @@ public class ParquetSettings { public final boolean stats_villager_trades; public final boolean command_cameramode; - public final boolean command_savedata; + public final boolean command_stats; public final boolean command_calculator; public final boolean command_rename; public final boolean command_timediff; @@ -32,7 +32,7 @@ public class ParquetSettings { this.stats_villager_trades = get_boolean("stats-villager-trades", true); this.command_cameramode = get_boolean("command-cameramode", true); - this.command_savedata = get_boolean("command-savedata", true); + this.command_stats = get_boolean("command-stats", true); this.command_calculator = get_boolean("command-calculator", true); this.command_rename = get_boolean("command-rename", true); this.command_timediff = get_boolean("command-timediff", true); @@ -45,9 +45,8 @@ public class ParquetSettings { try { InputStream inp = Files.newInputStream(_path); properties.load(inp); - } catch (IOException e) { - Parquet.LOG.error("Failed to read from " + _path.getFileName()); + Parquet.LOG.warn("Failed to read from " + _path.getFileName()); } } @@ -55,7 +54,6 @@ public class ParquetSettings { try { OutputStream out = Files.newOutputStream(_path); properties.store(out, "Parquet mod settings"); - } catch (IOException e) { Parquet.LOG.error("Failed to write to " + _path.getFileName()); } diff --git a/src/main/java/re/jag/parquet/commands/Savedata.java b/src/main/java/re/jag/parquet/commands/Stats.java index 12e0775..95803c5 100644 --- a/src/main/java/re/jag/parquet/commands/Savedata.java +++ b/src/main/java/re/jag/parquet/commands/Stats.java @@ -29,45 +29,38 @@ import net.minecraft.stat.ServerStatHandler; import net.minecraft.stat.Stat; import net.minecraft.stat.StatType; -public class Savedata { +public class Stats { public static void register(CommandDispatcher<ServerCommandSource> dispatcher) { - LiteralArgumentBuilder<ServerCommandSource> savedata = literal("savedata"). - requires(source -> source.hasPermissionLevel(4)). - executes((c) -> help(c.getSource())). - then( literal("playersave"). - then(literal("list"). - executes((c) -> list_local_saves(c.getSource())) - ) - ). - then(literal("stats"). - then(argument("player", StringArgumentType.word()). - suggests( (c, b) -> suggestMatching(c.getSource().getPlayerNames() , b)). - then(argument("criteria", StringArgumentType.greedyString()). - suggests((c,b) -> suggestMatching(get_stat_list(), b)). - executes((c) -> print_player_stat ( - c.getSource(), - StringArgumentType.getString(c, "player"), - StringArgumentType.getString(c, "criteria") - )). - then(literal("import").then(argument("score", ObjectiveArgumentType.objective()). - executes((c) -> import_stat_to_scoreboard ( - c.getSource(), - StringArgumentType.getString(c, "player"), - StringArgumentType.getString(c, "criteria"), - ObjectiveArgumentType.getWritableObjective(c, "score"), 1)). - then(argument("multiplier", FloatArgumentType.floatArg()). - executes((c) -> import_stat_to_scoreboard( - c.getSource(), - StringArgumentType.getString(c, "player"), - StringArgumentType.getString(c, "criteria"), - ObjectiveArgumentType.getWritableObjective(c, "score"), - FloatArgumentType.getFloat(c, "multiplier")) - ) - ) - )) - )) - ); - dispatcher.register(savedata); + LiteralArgumentBuilder<ServerCommandSource> savedata = literal("stats"). + requires(source -> source.hasPermissionLevel(4)). + executes((c) -> help(c.getSource())). + then(argument("player", StringArgumentType.word()). + suggests((c, b) -> suggestMatching(c.getSource().getPlayerNames(), b)). + then(literal("get"). + then(argument("criteria", StringArgumentType.greedyString()). + suggests((c, b) -> suggestMatching(get_stat_list(), b)). + executes((c) -> print_player_stat( + c.getSource(), + StringArgumentType.getString(c, "player"), + StringArgumentType.getString(c, "criteria") + )) + )). + then(literal("import").then(argument("score", ObjectiveArgumentType.objective()). + executes((c) -> import_stat_to_scoreboard( + c.getSource(), + StringArgumentType.getString(c, "player"), + ObjectiveArgumentType.getWritableObjective(c, "score"), 1)). + then(argument("multiplier", FloatArgumentType.floatArg()). + executes((c) -> import_stat_to_scoreboard( + c.getSource(), + StringArgumentType.getString(c, "player"), + ObjectiveArgumentType.getWritableObjective(c, "score"), + FloatArgumentType.getFloat(c, "multiplier")) + ) + ) + )) + ); + dispatcher.register(savedata); } private static int help(ServerCommandSource source) { @@ -121,35 +114,15 @@ public class Savedata { return stat; } - private static int list_local_saves(ServerCommandSource source) { - //TODO 1.16 fix - - /* - String uuid_list[] = source.getMinecraftServer().getWorld(DimensionType.OVERWORLD).getSaveHandler().getSavedPlayerIds(); - - for (int i = 0; i < uuid_list.length; i++) { - GameProfile profile = source.getMinecraftServer().getUserCache().getByUuid(UUID.fromString(uuid_list[i])); - String name = "N.A."; - - if(profile != null) - name = profile.getName(); - - source.sendFeedback(new LiteralText(name + " (" + uuid_list[i] + ")"), false); - } - */ - - source.sendError(new LiteralText("1.16 Incompatability")); - return 1; - } - - private static int import_stat_to_scoreboard(ServerCommandSource source, String player,String stat, ScoreboardObjective objective, float multiplier) { - int score = get_player_stat(source, player, stat); + private static int import_stat_to_scoreboard(ServerCommandSource source, String player, ScoreboardObjective objective, float multiplier) { + int score = get_player_stat(source, player, objective.getCriterion().getName()); if (score < 0) return 0; ServerScoreboard server_scoreboard = source.getMinecraftServer().getScoreboard(); ScoreboardPlayerScore player_score = server_scoreboard.getPlayerScore(player, objective); - + + int mod_score = multiplier >= 0 ? (int)((float)score * multiplier) : (int)((float)score / multiplier * (-1)); player_score.setScore(mod_score); |