From 023170b64054a7a57c5525563b877d9b7c36b596 Mon Sep 17 00:00:00 2001 From: WakelessSloth56 Date: Wed, 28 Sep 2022 00:09:44 +0800 Subject: [PATCH] refactor(next): remove CreativeModeTabArgument --- .../auioc/mcmod/arnicalib/Initialization.java | 2 - .../common/command/AHCommandArguments.java | 20 ------- .../argument/CreativeModeTabArgument.java | 52 ------------------- .../mixin/common/MixinCreativeModeTab.java | 21 -------- .../common/api/IMixinCreativeModeTab.java | 7 --- src/main/resources/arnicalib.mixin.json | 1 - .../assets/arnicalib/lang/en_us.json | 1 - .../assets/arnicalib/lang/zh_cn.json | 1 - 8 files changed, 105 deletions(-) delete mode 100644 src/main/java/org/auioc/mcmod/arnicalib/common/command/AHCommandArguments.java delete mode 100644 src/main/java/org/auioc/mcmod/arnicalib/common/command/argument/CreativeModeTabArgument.java delete mode 100644 src/main/java/org/auioc/mcmod/arnicalib/mixin/common/MixinCreativeModeTab.java delete mode 100644 src/main/java/org/auioc/mcmod/arnicalib/mixin/common/api/IMixinCreativeModeTab.java diff --git a/src/main/java/org/auioc/mcmod/arnicalib/Initialization.java b/src/main/java/org/auioc/mcmod/arnicalib/Initialization.java index e8ccaafc..01cd3ca5 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/Initialization.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/Initialization.java @@ -2,7 +2,6 @@ import org.auioc.mcmod.arnicalib.client.config.AHClientConfig; import org.auioc.mcmod.arnicalib.client.event.AHClientEventHandler; -import org.auioc.mcmod.arnicalib.common.command.AHCommandArguments; import org.auioc.mcmod.arnicalib.common.itemgroup.AHCreativeModeTabs; import org.auioc.mcmod.arnicalib.common.network.AHPacketHandler; import org.auioc.mcmod.arnicalib.server.event.AHServerEventHandler; @@ -52,7 +51,6 @@ public void registerConfig() {} private void modSetup() { AHPacketHandler.init(); - AHCommandArguments.init(); modEventBus.register(AHGlobalLootModifiers.class); AHLootItemConditions.LOOT_CONDITION_TYPES.register(modEventBus); AHLootItemFunctions.LOOT_FUNCTION_TYPES.register(modEventBus); diff --git a/src/main/java/org/auioc/mcmod/arnicalib/common/command/AHCommandArguments.java b/src/main/java/org/auioc/mcmod/arnicalib/common/command/AHCommandArguments.java deleted file mode 100644 index 26733b2f..00000000 --- a/src/main/java/org/auioc/mcmod/arnicalib/common/command/AHCommandArguments.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.auioc.mcmod.arnicalib.common.command; - -import com.mojang.brigadier.arguments.ArgumentType; -import org.auioc.mcmod.arnicalib.ArnicaLib; -import org.auioc.mcmod.arnicalib.common.command.argument.CreativeModeTabArgument; -import net.minecraft.commands.synchronization.ArgumentSerializer; -import net.minecraft.commands.synchronization.ArgumentTypes; -import net.minecraft.commands.synchronization.EmptyArgumentSerializer; - -public final class AHCommandArguments { - - private static > void register(String id, Class clazz, ArgumentSerializer serializer) { - ArgumentTypes.register(ArnicaLib.id(id).toString(), clazz, serializer); - } - - public static void init() { - register("creative_mode_tab", CreativeModeTabArgument.class, new EmptyArgumentSerializer<>(CreativeModeTabArgument::creativeModeTab)); - } - -} diff --git a/src/main/java/org/auioc/mcmod/arnicalib/common/command/argument/CreativeModeTabArgument.java b/src/main/java/org/auioc/mcmod/arnicalib/common/command/argument/CreativeModeTabArgument.java deleted file mode 100644 index f14364fb..00000000 --- a/src/main/java/org/auioc/mcmod/arnicalib/common/command/argument/CreativeModeTabArgument.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.auioc.mcmod.arnicalib.common.command.argument; - -import java.util.Arrays; -import java.util.concurrent.CompletableFuture; -import java.util.stream.Stream; -import org.auioc.mcmod.arnicalib.ArnicaLib; -import org.auioc.mcmod.arnicalib.mixin.common.api.IMixinCreativeModeTab; -import org.auioc.mcmod.arnicalib.utils.game.TextUtils; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.arguments.ArgumentType; -import com.mojang.brigadier.context.CommandContext; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.mojang.brigadier.exceptions.DynamicCommandExceptionType; -import com.mojang.brigadier.suggestion.Suggestions; -import com.mojang.brigadier.suggestion.SuggestionsBuilder; -import net.minecraft.commands.SharedSuggestionProvider; -import net.minecraft.world.item.CreativeModeTab; - -public class CreativeModeTabArgument implements ArgumentType { - - private static final DynamicCommandExceptionType UNKNOWN_CREATIVE_MODE_TAB = new DynamicCommandExceptionType( - (langId) -> TextUtils.translatable(ArnicaLib.i18n("argument.creative_mod_tab.unknown"), langId) - ); - - public static CreativeModeTabArgument creativeModeTab() { - return new CreativeModeTabArgument(); - } - - @Override - public CreativeModeTab parse(StringReader reader) throws CommandSyntaxException { - String langId = reader.readString(); - return getTabs() - .filter((tab) -> getLangId(tab).equals(langId)) - .findAny() - .orElseThrow(() -> UNKNOWN_CREATIVE_MODE_TAB.create(langId)); - } - - @Override - public CompletableFuture listSuggestions(CommandContext context, SuggestionsBuilder builder) { - return SharedSuggestionProvider.suggest(getTabs().map(CreativeModeTabArgument::getLangId), builder); - } - - public static Stream getTabs() { - return Arrays.asList(CreativeModeTab.TABS).stream(); - } - - public static String getLangId(CreativeModeTab tab) { - // return ((TranslatableComponent) tab.getDisplayName()).getKey().replaceFirst("^itemGroup\\.", ""); - return ((IMixinCreativeModeTab) tab).getLangId(); - } - -} diff --git a/src/main/java/org/auioc/mcmod/arnicalib/mixin/common/MixinCreativeModeTab.java b/src/main/java/org/auioc/mcmod/arnicalib/mixin/common/MixinCreativeModeTab.java deleted file mode 100644 index 2199d999..00000000 --- a/src/main/java/org/auioc/mcmod/arnicalib/mixin/common/MixinCreativeModeTab.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.auioc.mcmod.arnicalib.mixin.common; - -import org.auioc.mcmod.arnicalib.mixin.common.api.IMixinCreativeModeTab; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import net.minecraft.world.item.CreativeModeTab; - -@Mixin(value = CreativeModeTab.class) -public class MixinCreativeModeTab implements IMixinCreativeModeTab { - - @Shadow - @Final - private String langId; - - @Override - public String getLangId() { - return this.langId; - } - -} diff --git a/src/main/java/org/auioc/mcmod/arnicalib/mixin/common/api/IMixinCreativeModeTab.java b/src/main/java/org/auioc/mcmod/arnicalib/mixin/common/api/IMixinCreativeModeTab.java deleted file mode 100644 index c1c90e80..00000000 --- a/src/main/java/org/auioc/mcmod/arnicalib/mixin/common/api/IMixinCreativeModeTab.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.auioc.mcmod.arnicalib.mixin.common.api; - -public interface IMixinCreativeModeTab { - - String getLangId(); - -} diff --git a/src/main/resources/arnicalib.mixin.json b/src/main/resources/arnicalib.mixin.json index f705e112..7fdce4fe 100644 --- a/src/main/resources/arnicalib.mixin.json +++ b/src/main/resources/arnicalib.mixin.json @@ -6,7 +6,6 @@ "common.MixinPistonBaseBlock", "common.MixinMobEffectInstance", "common.MixinCommandSourceStack", - "common.MixinCreativeModeTab", "common.MixinItemStack", "common.MixinProjectile", "common.MixinArrow", diff --git a/src/main/resources/assets/arnicalib/lang/en_us.json b/src/main/resources/assets/arnicalib/lang/en_us.json index b50ff8bd..602b00eb 100644 --- a/src/main/resources/assets/arnicalib/lang/en_us.json +++ b/src/main/resources/assets/arnicalib/lang/en_us.json @@ -13,7 +13,6 @@ "arnicalib.command.failure.not_dedicated_server": "This command must be executed by the dedicated server", "arnicalib.command.failure.get_real_source.reflection": "Failed while using reflection to get real command source", - "arnicalib.argument.creative_mod_tab.unknown": "Unknown creative mod tab \"%s\"", "arnicalib.argument.language_info.unknown": "Unknown language \"%s\"", "arnicalib.command.version.success": "Version: %s (%s)", diff --git a/src/main/resources/assets/arnicalib/lang/zh_cn.json b/src/main/resources/assets/arnicalib/lang/zh_cn.json index b74deba3..7cb64cb0 100644 --- a/src/main/resources/assets/arnicalib/lang/zh_cn.json +++ b/src/main/resources/assets/arnicalib/lang/zh_cn.json @@ -13,7 +13,6 @@ "arnicalib.command.failure.not_dedicated_server": "此命令必须由专用服务器执行", "arnicalib.command.failure.get_real_source.reflection": "使用反射获取真实命令源失败", - "arnicalib.argument.creative_mod_tab.unknown": "未知的创造模式物品栏标签\"%s\"", "arnicalib.argument.language_info.unknown": "未知的语言\"%s\"", "arnicalib.command.version.success": "版本: %s (%s)",