Changed KillTPSCommand to support localisation

Using foundation.utility.Lang (TranslationTextComponents)
This commit is contained in:
Mike van der Velde 2020-01-02 16:48:11 +01:00
parent 039edb5519
commit 0469014ab7
3 changed files with 25 additions and 13 deletions

View file

@ -3,23 +3,27 @@ package com.simibubi.create.foundation.command;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import com.simibubi.create.Create;
import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TranslationTextComponent;
public class KillTPSCommand {
public static void register(CommandDispatcher<CommandSource> dispatcher) {
dispatcher.register(
Commands.literal("killtps")//todo replace String Components with Translation Components
Commands.literal(Lang.translate("command.killTPSCommand"))
.requires(cs -> cs.hasPermissionLevel(2))
.executes(ctx -> {
//killtps no arguments
ctx.getSource().sendFeedback(new StringTextComponent(String.format("[Create]: Server tick is currently slowed by %s ms",Create.lagger.isLagging() ? Create.lagger.getTickTime() : 0)), true);
ctx.getSource().sendFeedback(Lang.getTranslationComponent("command.killTPSCommand.status.slowed_by.0", Create.lagger.isLagging() ? Create.lagger.getTickTime() : 0), true);
if (Create.lagger.isLagging())
ctx.getSource().sendFeedback(new StringTextComponent("[Create]: use /killtps stop to bring back server tick to regular speed"), true);
ctx.getSource().sendFeedback(Lang.getTranslationComponent("command.killTPSCommand.status.usage.0"), true);
else
ctx.getSource().sendFeedback(new StringTextComponent("[Create]: use /killtps start <tickTime> to artificially slow down the server tick"),true);
ctx.getSource().sendFeedback(Lang.getTranslationComponent("command.killTPSCommand.status.usage.1"),true);
return 1;
})
@ -29,22 +33,22 @@ public class KillTPSCommand {
int tickTime = Create.lagger.getTickTime();
if (tickTime > 0){
Create.lagger.setLagging(true);
ctx.getSource().sendFeedback(new StringTextComponent(String.format("[Create]: Server tick is slowed by %s ms now :)", tickTime)),true);
ctx.getSource().sendFeedback(new StringTextComponent("[Create]: use /killtps stop to bring back server tick to regular speed"),true);
ctx.getSource().sendFeedback((Lang.getTranslationComponent("command.killTPSCommand.status.slowed_by.1", tickTime)),true);
ctx.getSource().sendFeedback(Lang.getTranslationComponent("command.killTPSCommand.status.usage.0"),true);
} else {
ctx.getSource().sendFeedback(new StringTextComponent("[Create]: use /killtps start <tickTime> to artificially slow down the server tick"),true);
ctx.getSource().sendFeedback(Lang.getTranslationComponent("command.killTPSCommand.status.usage.1"),true);
}
return 1;
})
.then(Commands.argument("tickTime", IntegerArgumentType.integer(1))
.then(Commands.argument(Lang.translate("command.killTPSCommand.argument.tickTime"), IntegerArgumentType.integer(1))
.executes(ctx -> {
//killtps start tickTime
int tickTime = IntegerArgumentType.getInteger(ctx, "tickTime");
int tickTime = IntegerArgumentType.getInteger(ctx, Lang.translate("command.killTPSCommand.argument.tickTime"));
Create.lagger.setTickTime(tickTime);
Create.lagger.setLagging(true);
ctx.getSource().sendFeedback(new StringTextComponent(String.format("[Create]: Server tick is slowed by %s ms now :)", tickTime)),true);
ctx.getSource().sendFeedback(new StringTextComponent("[Create]: use /killtps stop to bring server tick to regular speed again"),true);
ctx.getSource().sendFeedback((Lang.getTranslationComponent("command.killTPSCommand.status.slowed_by.1", tickTime)),true);
ctx.getSource().sendFeedback(Lang.getTranslationComponent("command.killTPSCommand.status.usage.0"),true);
return 1;
})
@ -54,7 +58,7 @@ public class KillTPSCommand {
.executes(ctx -> {
//killtps stop
Create.lagger.setLagging(false);
ctx.getSource().sendFeedback(new StringTextComponent("[Create]: Server tick is back to regular speed"), false);
ctx.getSource().sendFeedback(Lang.getTranslationComponent("command.killTPSCommand.status.slowed_by.2"), false);
return 1;
})

View file

@ -15,7 +15,7 @@ public class Lang {
return getTranslationComponent(key, args).getFormattedText();
}
private static TranslationTextComponent getTranslationComponent(String key, Object... args) {
public static TranslationTextComponent getTranslationComponent(String key, Object... args) {
return new TranslationTextComponent(Create.ID + "." + key, args);
}

View file

@ -432,6 +432,14 @@
"create.mechanical_mixer.min_ingredients": "Min. Ingredients",
"create.command.killTPSCommand": "killtps",
"create.command.killTPSCommand.status.slowed_by.0": "[Create]: Server tick is currently slowed by %s ms",
"create.command.killTPSCommand.status.slowed_by.1": "[Create]: Server tick is slowed by %s ms now :)",
"create.command.killTPSCommand.status.slowed_by.2": "[Create]: Server tick is back to regular speed",
"create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed",
"create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start <tickTime> to artificially slow down the server tick",
"create.command.killTPSCommand.argument.tickTime": "tickTime",
"_comment": "-------------------------] ITEM DESCRIPTIONS [------------------------------------------------",
"item.create.example_item.tooltip": "EXAMPLE ITEM (just a marker that this tooltip exists)",