aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/commands
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2022-12-15 16:53:12 +0100
committerGitHub <noreply@github.com>2022-12-15 16:53:12 +0100
commit8a581938862a4d612f510a8afed88727a34c3916 (patch)
tree0307ca87f3c06bbeda6d699aabbc2247b6f38efb /src/main/java/kubatech/commands
parent24a9953b153529191c855af0ae2d10f35844095f (diff)
downloadGT5-Unofficial-8a581938862a4d612f510a8afed88727a34c3916.tar.gz
GT5-Unofficial-8a581938862a4d612f510a8afed88727a34c3916.tar.bz2
GT5-Unofficial-8a581938862a4d612f510a8afed88727a34c3916.zip
MODULAR UI (#34)
* MODULAR UUUUUUUUIIIIIIIIIII * Tea * Add recipe to ULTIMATE TEA * Stupid MT Scripts. I hate it * Yeet * More TEA * Add blocks * More Modular UIs * Textures * Fix custom UI containers * Texture, tooltip * UI with tabs * ButtonWidget * fix * Fix * Texture * Color is fixed * More UI work * Modular UI is hard dependency now * Spotless * Simplify * Format numbers * A * Update TeaAcceptorTile.java * Shadow is fixed, lets gooooo * hardness * Mixins mixins mixins * Tab icons * Fix crash * Shop concept * Bump ModularUI * Bump Modular UI * Nooooooooooo * GREY -> GRAY * Bump ModularUI * Bump GT5 * EEC with MUI test * Include incomplete structure * REFLECTIONS !! * Just use slot filter * Update pos when needed * Update GT_MetaTileEntity_ExtremeExterminationChamber.java * Spawner status * Nice toggle button * Send messages * Next toggle button * Start work on IAADDS * Scrollable inventory test * Draw queen slots * Fix * Update dependencies.gradle * Use sync widget * Add button to enable/disable working * Configuration in Mega Apiary * Refactor a bit * Update ModularUI * Bump ModularUI * Bump GT5 * Fix build * Update dependencies.gradle * Update build.gradle * Update dependencies.gradle * spotless * Begin working on configuration window * Update dependencies.gradle * Deprecated * Update dependencies.gradle * Optimize bee storage rendering (2 fps -> 100 fps) * Make Mega Apiary storage GUI usable * Configuration window looks ok * Color is fixed * TC research * Disable for now * Finish tea command * ok * Fix * Update en_US.lang * ZzZ * Stuff changed
Diffstat (limited to 'src/main/java/kubatech/commands')
-rw-r--r--src/main/java/kubatech/commands/CommandHandler.java2
-rw-r--r--src/main/java/kubatech/commands/CommandTea.java109
2 files changed, 110 insertions, 1 deletions
diff --git a/src/main/java/kubatech/commands/CommandHandler.java b/src/main/java/kubatech/commands/CommandHandler.java
index d1822a1ff8..dfa612fcce 100644
--- a/src/main/java/kubatech/commands/CommandHandler.java
+++ b/src/main/java/kubatech/commands/CommandHandler.java
@@ -61,7 +61,7 @@ public class CommandHandler extends CommandBase {
}
}
- private static final ArrayList<String> aliases = new ArrayList<>(Collections.singleton("kt"));
+ private static final List<String> aliases = Collections.singletonList("kt");
public static final HashMap<String, ICommand> commands = new HashMap<>();
@Override
diff --git a/src/main/java/kubatech/commands/CommandTea.java b/src/main/java/kubatech/commands/CommandTea.java
new file mode 100644
index 0000000000..187b21c789
--- /dev/null
+++ b/src/main/java/kubatech/commands/CommandTea.java
@@ -0,0 +1,109 @@
+package kubatech.commands;
+
+import static kubatech.commands.CommandTea.Translations.*;
+
+import kubatech.savedata.PlayerData;
+import kubatech.savedata.PlayerDataManager;
+import net.minecraft.command.CommandBase;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.StatCollector;
+
+public class CommandTea extends CommandBase {
+ enum Translations {
+ INVALID_OPTION,
+ PLAYER_NOT_FOUND,
+ SUCCESS_GET,
+ SUCCESS_SET,
+ SUCCESS_ADD,
+ USAGE,
+ ;
+ final String key;
+
+ Translations() {
+ key = "command.tea." + this.name().toLowerCase();
+ }
+
+ public String get() {
+ return StatCollector.translateToLocal(key);
+ }
+
+ public String get(Object... args) {
+ return StatCollector.translateToLocalFormatted(key, args);
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ @Override
+ public String toString() {
+ return get();
+ }
+ }
+
+ @Override
+ public String getCommandName() {
+ return "tea";
+ }
+
+ @Override
+ public String getCommandUsage(ICommandSender p_71518_1_) {
+ return "tea " + USAGE.get();
+ }
+
+ @Override
+ public int getRequiredPermissionLevel() {
+ return 4;
+ }
+
+ @Override
+ public void processCommand(ICommandSender p_71515_1_, String[] p_71515_2_) {
+ if (p_71515_2_.length < 2) {
+ p_71515_1_.addChatMessage(new ChatComponentText(INVALID_OPTION.get()));
+ return;
+ }
+ PlayerData playerData = PlayerDataManager.getPlayer(p_71515_2_[0]);
+ if (playerData == null) {
+ p_71515_1_.addChatMessage(new ChatComponentText(PLAYER_NOT_FOUND.get()));
+ return;
+ }
+ if (!p_71515_2_[1].equalsIgnoreCase("get") && p_71515_2_.length < 3) {
+ p_71515_1_.addChatMessage(new ChatComponentText(INVALID_OPTION.get()));
+ return;
+ }
+ switch (p_71515_2_[1].toLowerCase()) {
+ case "get":
+ p_71515_1_.addChatMessage(new ChatComponentText(SUCCESS_GET.get(p_71515_2_[0], playerData.teaAmount)));
+ break;
+ case "set": {
+ long tea;
+ try {
+ tea = Long.parseLong(p_71515_2_[2]);
+ } catch (NumberFormatException ex) {
+ p_71515_1_.addChatMessage(new ChatComponentText(INVALID_OPTION.get()));
+ return;
+ }
+ playerData.teaAmount = tea;
+ playerData.markDirty();
+ p_71515_1_.addChatMessage(new ChatComponentText(SUCCESS_SET.get(p_71515_2_[0], playerData.teaAmount)));
+ break;
+ }
+ case "add": {
+ long tea;
+ try {
+ tea = Long.parseLong(p_71515_2_[2]);
+ } catch (NumberFormatException ex) {
+ p_71515_1_.addChatMessage(new ChatComponentText(INVALID_OPTION.get()));
+ return;
+ }
+ playerData.teaAmount += tea;
+ playerData.markDirty();
+ p_71515_1_.addChatMessage(new ChatComponentText(SUCCESS_ADD.get(p_71515_2_[0], playerData.teaAmount)));
+ break;
+ }
+ default:
+ break;
+ }
+ }
+}