From b409dc6961ea5a910f5f17c1511b1763a6623d03 Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+racoondog@users.noreply.github.com> Date: Mon, 27 Jan 2025 18:55:36 -0500 Subject: [PATCH 1/8] defer sponge command registration --- .../registry/CommandRegistrationCallback.java | 23 +++++++++++++++++++ .../impl/command/CommandInitializer.java | 5 ++++ .../fabric/impl/command/ImplInit.java | 11 +++++---- .../fabric/impl/command/ImplInit.java | 11 +++++---- .../fabric/impl/command/ImplInit.java | 11 +++++---- .../fabric/impl/command/ImplInit.java | 11 +++++---- 6 files changed, 56 insertions(+), 16 deletions(-) create mode 100644 legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java diff --git a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java new file mode 100644 index 000000000..402cf9cb3 --- /dev/null +++ b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java @@ -0,0 +1,23 @@ +package net.legacyfabric.fabric.api.registry; + +import net.legacyfabric.fabric.api.event.Event; +import net.legacyfabric.fabric.api.event.EventFactory; + +/** + * An event for registering commands to the {@link CommandRegistry} + */ +@FunctionalInterface +public interface CommandRegistrationCallback { + Event EVENT = EventFactory.createArrayBacked(CommandRegistrationCallback.class, listeners -> registry -> { + for (CommandRegistrationCallback registrar : listeners) { + registrar.register(registry); + } + }); + + /** + * Register your commands here. + * + * @param registry The command registry + */ + void register(CommandRegistry registry); +} diff --git a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/command/CommandInitializer.java b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/command/CommandInitializer.java index c573655a4..5938ecc00 100644 --- a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/command/CommandInitializer.java +++ b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/command/CommandInitializer.java @@ -17,6 +17,9 @@ package net.legacyfabric.fabric.impl.command; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; +import net.legacyfabric.fabric.api.registry.CommandRegistry; + import net.minecraft.server.command.CommandManager; import net.fabricmc.api.ModInitializer; @@ -27,6 +30,8 @@ public class CommandInitializer implements ModInitializer { @Override public void onInitialize() { ServerLifecycleEvents.SERVER_STARTING.register(server -> { + CommandRegistrationCallback.EVENT.invoker().register(CommandRegistry.INSTANCE); + boolean dedicated = server.isDedicated(); CommandManager manager = (CommandManager) server.getCommandManager(); CommandRegistryImpl.getCommandMap().forEach((command, commandSide) -> { diff --git a/legacy-fabric-command-api-v2/1.12.2/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java b/legacy-fabric-command-api-v2/1.12.2/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java index 8858416fe..18bf4a427 100644 --- a/legacy-fabric-command-api-v2/1.12.2/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java +++ b/legacy-fabric-command-api-v2/1.12.2/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java @@ -22,15 +22,18 @@ import net.legacyfabric.fabric.api.command.v2.CommandRegistrar; import net.legacyfabric.fabric.api.command.v2.lib.sponge.CommandManager; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; import net.legacyfabric.fabric.api.registry.CommandRegistry; public class ImplInit implements DedicatedServerModInitializer, ClientModInitializer, CommandRegistrar { @Override public void register(CommandManager manager, boolean dedicated) { - CommandRegistrar.EVENT.invoker().register(manager, dedicated); - InternalObjects.getCommandManager().getCommands().forEach(mapping -> { - CommandWrapper wrapper = new CommandWrapper(mapping); - CommandRegistry.INSTANCE.register(wrapper); + CommandRegistrationCallback.EVENT.register(registry -> { + CommandRegistrar.EVENT.invoker().register(manager, dedicated); + InternalObjects.getCommandManager().getCommands().forEach(mapping -> { + CommandWrapper wrapper = new CommandWrapper(mapping); + CommandRegistry.INSTANCE.register(wrapper); + }); }); } diff --git a/legacy-fabric-command-api-v2/1.6.4/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java b/legacy-fabric-command-api-v2/1.6.4/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java index 8858416fe..18bf4a427 100644 --- a/legacy-fabric-command-api-v2/1.6.4/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java +++ b/legacy-fabric-command-api-v2/1.6.4/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java @@ -22,15 +22,18 @@ import net.legacyfabric.fabric.api.command.v2.CommandRegistrar; import net.legacyfabric.fabric.api.command.v2.lib.sponge.CommandManager; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; import net.legacyfabric.fabric.api.registry.CommandRegistry; public class ImplInit implements DedicatedServerModInitializer, ClientModInitializer, CommandRegistrar { @Override public void register(CommandManager manager, boolean dedicated) { - CommandRegistrar.EVENT.invoker().register(manager, dedicated); - InternalObjects.getCommandManager().getCommands().forEach(mapping -> { - CommandWrapper wrapper = new CommandWrapper(mapping); - CommandRegistry.INSTANCE.register(wrapper); + CommandRegistrationCallback.EVENT.register(registry -> { + CommandRegistrar.EVENT.invoker().register(manager, dedicated); + InternalObjects.getCommandManager().getCommands().forEach(mapping -> { + CommandWrapper wrapper = new CommandWrapper(mapping); + CommandRegistry.INSTANCE.register(wrapper); + }); }); } diff --git a/legacy-fabric-command-api-v2/1.7.10/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java b/legacy-fabric-command-api-v2/1.7.10/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java index 8858416fe..18bf4a427 100644 --- a/legacy-fabric-command-api-v2/1.7.10/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java +++ b/legacy-fabric-command-api-v2/1.7.10/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java @@ -22,15 +22,18 @@ import net.legacyfabric.fabric.api.command.v2.CommandRegistrar; import net.legacyfabric.fabric.api.command.v2.lib.sponge.CommandManager; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; import net.legacyfabric.fabric.api.registry.CommandRegistry; public class ImplInit implements DedicatedServerModInitializer, ClientModInitializer, CommandRegistrar { @Override public void register(CommandManager manager, boolean dedicated) { - CommandRegistrar.EVENT.invoker().register(manager, dedicated); - InternalObjects.getCommandManager().getCommands().forEach(mapping -> { - CommandWrapper wrapper = new CommandWrapper(mapping); - CommandRegistry.INSTANCE.register(wrapper); + CommandRegistrationCallback.EVENT.register(registry -> { + CommandRegistrar.EVENT.invoker().register(manager, dedicated); + InternalObjects.getCommandManager().getCommands().forEach(mapping -> { + CommandWrapper wrapper = new CommandWrapper(mapping); + CommandRegistry.INSTANCE.register(wrapper); + }); }); } diff --git a/legacy-fabric-command-api-v2/1.8.9/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java b/legacy-fabric-command-api-v2/1.8.9/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java index 8858416fe..18bf4a427 100644 --- a/legacy-fabric-command-api-v2/1.8.9/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java +++ b/legacy-fabric-command-api-v2/1.8.9/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java @@ -22,15 +22,18 @@ import net.legacyfabric.fabric.api.command.v2.CommandRegistrar; import net.legacyfabric.fabric.api.command.v2.lib.sponge.CommandManager; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; import net.legacyfabric.fabric.api.registry.CommandRegistry; public class ImplInit implements DedicatedServerModInitializer, ClientModInitializer, CommandRegistrar { @Override public void register(CommandManager manager, boolean dedicated) { - CommandRegistrar.EVENT.invoker().register(manager, dedicated); - InternalObjects.getCommandManager().getCommands().forEach(mapping -> { - CommandWrapper wrapper = new CommandWrapper(mapping); - CommandRegistry.INSTANCE.register(wrapper); + CommandRegistrationCallback.EVENT.register(registry -> { + CommandRegistrar.EVENT.invoker().register(manager, dedicated); + InternalObjects.getCommandManager().getCommands().forEach(mapping -> { + CommandWrapper wrapper = new CommandWrapper(mapping); + CommandRegistry.INSTANCE.register(wrapper); + }); }); } From 0462f74352a7d3d639560ebaa1d5fbb8b573e50e Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+racoondog@users.noreply.github.com> Date: Mon, 27 Jan 2025 19:07:33 -0500 Subject: [PATCH 2/8] use callback parameter --- .../java/net/legacyfabric/fabric/impl/command/ImplInit.java | 3 +-- .../java/net/legacyfabric/fabric/impl/command/ImplInit.java | 3 +-- .../java/net/legacyfabric/fabric/impl/command/ImplInit.java | 3 +-- .../java/net/legacyfabric/fabric/impl/command/ImplInit.java | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/legacy-fabric-command-api-v2/1.12.2/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java b/legacy-fabric-command-api-v2/1.12.2/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java index 18bf4a427..15e8c92c3 100644 --- a/legacy-fabric-command-api-v2/1.12.2/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java +++ b/legacy-fabric-command-api-v2/1.12.2/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java @@ -23,7 +23,6 @@ import net.legacyfabric.fabric.api.command.v2.CommandRegistrar; import net.legacyfabric.fabric.api.command.v2.lib.sponge.CommandManager; import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; -import net.legacyfabric.fabric.api.registry.CommandRegistry; public class ImplInit implements DedicatedServerModInitializer, ClientModInitializer, CommandRegistrar { @Override @@ -32,7 +31,7 @@ public void register(CommandManager manager, boolean dedicated) { CommandRegistrar.EVENT.invoker().register(manager, dedicated); InternalObjects.getCommandManager().getCommands().forEach(mapping -> { CommandWrapper wrapper = new CommandWrapper(mapping); - CommandRegistry.INSTANCE.register(wrapper); + registry.register(wrapper); }); }); } diff --git a/legacy-fabric-command-api-v2/1.6.4/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java b/legacy-fabric-command-api-v2/1.6.4/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java index 18bf4a427..15e8c92c3 100644 --- a/legacy-fabric-command-api-v2/1.6.4/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java +++ b/legacy-fabric-command-api-v2/1.6.4/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java @@ -23,7 +23,6 @@ import net.legacyfabric.fabric.api.command.v2.CommandRegistrar; import net.legacyfabric.fabric.api.command.v2.lib.sponge.CommandManager; import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; -import net.legacyfabric.fabric.api.registry.CommandRegistry; public class ImplInit implements DedicatedServerModInitializer, ClientModInitializer, CommandRegistrar { @Override @@ -32,7 +31,7 @@ public void register(CommandManager manager, boolean dedicated) { CommandRegistrar.EVENT.invoker().register(manager, dedicated); InternalObjects.getCommandManager().getCommands().forEach(mapping -> { CommandWrapper wrapper = new CommandWrapper(mapping); - CommandRegistry.INSTANCE.register(wrapper); + registry.register(wrapper); }); }); } diff --git a/legacy-fabric-command-api-v2/1.7.10/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java b/legacy-fabric-command-api-v2/1.7.10/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java index 18bf4a427..15e8c92c3 100644 --- a/legacy-fabric-command-api-v2/1.7.10/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java +++ b/legacy-fabric-command-api-v2/1.7.10/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java @@ -23,7 +23,6 @@ import net.legacyfabric.fabric.api.command.v2.CommandRegistrar; import net.legacyfabric.fabric.api.command.v2.lib.sponge.CommandManager; import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; -import net.legacyfabric.fabric.api.registry.CommandRegistry; public class ImplInit implements DedicatedServerModInitializer, ClientModInitializer, CommandRegistrar { @Override @@ -32,7 +31,7 @@ public void register(CommandManager manager, boolean dedicated) { CommandRegistrar.EVENT.invoker().register(manager, dedicated); InternalObjects.getCommandManager().getCommands().forEach(mapping -> { CommandWrapper wrapper = new CommandWrapper(mapping); - CommandRegistry.INSTANCE.register(wrapper); + registry.register(wrapper); }); }); } diff --git a/legacy-fabric-command-api-v2/1.8.9/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java b/legacy-fabric-command-api-v2/1.8.9/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java index 18bf4a427..15e8c92c3 100644 --- a/legacy-fabric-command-api-v2/1.8.9/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java +++ b/legacy-fabric-command-api-v2/1.8.9/src/main/java/net/legacyfabric/fabric/impl/command/ImplInit.java @@ -23,7 +23,6 @@ import net.legacyfabric.fabric.api.command.v2.CommandRegistrar; import net.legacyfabric.fabric.api.command.v2.lib.sponge.CommandManager; import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; -import net.legacyfabric.fabric.api.registry.CommandRegistry; public class ImplInit implements DedicatedServerModInitializer, ClientModInitializer, CommandRegistrar { @Override @@ -32,7 +31,7 @@ public void register(CommandManager manager, boolean dedicated) { CommandRegistrar.EVENT.invoker().register(manager, dedicated); InternalObjects.getCommandManager().getCommands().forEach(mapping -> { CommandWrapper wrapper = new CommandWrapper(mapping); - CommandRegistry.INSTANCE.register(wrapper); + registry.register(wrapper); }); }); } From a5d9deb327b7f1b92d1850d62f0cd0d7d7033d41 Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+racoondog@users.noreply.github.com> Date: Mon, 27 Jan 2025 20:39:59 -0500 Subject: [PATCH 3/8] style changes --- .../registry/CommandRegistrationCallback.java | 17 +++++++++++++++++ .../fabric/impl/command/CommandInitializer.java | 5 ++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java index 402cf9cb3..c95ca8b25 100644 --- a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java +++ b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java @@ -1,3 +1,20 @@ +/* + * Copyright (c) 2020 - 2024 Legacy Fabric + * Copyright (c) 2016 - 2022 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package net.legacyfabric.fabric.api.registry; import net.legacyfabric.fabric.api.event.Event; diff --git a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/command/CommandInitializer.java b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/command/CommandInitializer.java index 5938ecc00..73fc53d7a 100644 --- a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/command/CommandInitializer.java +++ b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/command/CommandInitializer.java @@ -17,14 +17,13 @@ package net.legacyfabric.fabric.impl.command; -import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; -import net.legacyfabric.fabric.api.registry.CommandRegistry; - import net.minecraft.server.command.CommandManager; import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; +import net.legacyfabric.fabric.api.registry.CommandRegistry; public class CommandInitializer implements ModInitializer { @Override From 556f95070b702741e49bf45e478be7bd02af82d6 Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+racoondog@users.noreply.github.com> Date: Mon, 27 Jan 2025 21:11:16 -0500 Subject: [PATCH 4/8] style changes --- .../fabric/api/registry/CommandRegistrationCallback.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java index c95ca8b25..ac1fcc71f 100644 --- a/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java +++ b/legacy-fabric-command-api-v1/common/src/main/java/net/legacyfabric/fabric/api/registry/CommandRegistrationCallback.java @@ -21,7 +21,7 @@ import net.legacyfabric.fabric.api.event.EventFactory; /** - * An event for registering commands to the {@link CommandRegistry} + * An event for registering commands to the {@link CommandRegistry}. */ @FunctionalInterface public interface CommandRegistrationCallback { From d9a624a9f9f9a3ec4a62856d78a15907aee21aee Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+racoondog@users.noreply.github.com> Date: Fri, 31 Jan 2025 16:44:26 -0500 Subject: [PATCH 5/8] use registration callback in test mods --- .../net/legacyfabric/fabric/test/command/CommandV1Test.java | 6 ++++-- .../net/legacyfabric/fabric/test/command/CommandV1Test.java | 6 ++++-- .../net/legacyfabric/fabric/test/command/CommandV1Test.java | 6 ++++-- .../net/legacyfabric/fabric/test/command/CommandV1Test.java | 6 ++++-- .../net/legacyfabric/fabric/test/command/CommandV1Test.java | 6 ++++-- .../net/legacyfabric/fabric/test/command/CommandV1Test.java | 6 ++++-- .../net/legacyfabric/fabric/test/command/CommandV1Test.java | 6 ++++-- .../net/legacyfabric/fabric/test/command/CommandV1Test.java | 6 ++++-- 8 files changed, 32 insertions(+), 16 deletions(-) diff --git a/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java b/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java index 390a8a7ab..f805017f8 100644 --- a/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java +++ b/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java @@ -20,13 +20,15 @@ import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.logger.v1.Logger; -import net.legacyfabric.fabric.api.registry.CommandRegistry; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; public class CommandV1Test implements ModInitializer { public static final Logger LOGGER = Logger.get("LegacyFabricAPI", "Test", "CommandV1Test"); @Override public void onInitialize() { - CommandRegistry.INSTANCE.register(new ModMetadataCommandV1()); + CommandRegistrationCallback.EVENT.register(registry -> { + registry.register(new ModMetadataCommandV1()); + }); } } diff --git a/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java b/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java index 390a8a7ab..f805017f8 100644 --- a/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java +++ b/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java @@ -20,13 +20,15 @@ import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.logger.v1.Logger; -import net.legacyfabric.fabric.api.registry.CommandRegistry; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; public class CommandV1Test implements ModInitializer { public static final Logger LOGGER = Logger.get("LegacyFabricAPI", "Test", "CommandV1Test"); @Override public void onInitialize() { - CommandRegistry.INSTANCE.register(new ModMetadataCommandV1()); + CommandRegistrationCallback.EVENT.register(registry -> { + registry.register(new ModMetadataCommandV1()); + }); } } diff --git a/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java b/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java index 390a8a7ab..f805017f8 100644 --- a/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java +++ b/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java @@ -20,13 +20,15 @@ import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.logger.v1.Logger; -import net.legacyfabric.fabric.api.registry.CommandRegistry; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; public class CommandV1Test implements ModInitializer { public static final Logger LOGGER = Logger.get("LegacyFabricAPI", "Test", "CommandV1Test"); @Override public void onInitialize() { - CommandRegistry.INSTANCE.register(new ModMetadataCommandV1()); + CommandRegistrationCallback.EVENT.register(registry -> { + registry.register(new ModMetadataCommandV1()); + }); } } diff --git a/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java b/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java index 390a8a7ab..f805017f8 100644 --- a/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java +++ b/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java @@ -20,13 +20,15 @@ import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.logger.v1.Logger; -import net.legacyfabric.fabric.api.registry.CommandRegistry; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; public class CommandV1Test implements ModInitializer { public static final Logger LOGGER = Logger.get("LegacyFabricAPI", "Test", "CommandV1Test"); @Override public void onInitialize() { - CommandRegistry.INSTANCE.register(new ModMetadataCommandV1()); + CommandRegistrationCallback.EVENT.register(registry -> { + registry.register(new ModMetadataCommandV1()); + }); } } diff --git a/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java b/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java index 390a8a7ab..f805017f8 100644 --- a/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java +++ b/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java @@ -20,13 +20,15 @@ import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.logger.v1.Logger; -import net.legacyfabric.fabric.api.registry.CommandRegistry; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; public class CommandV1Test implements ModInitializer { public static final Logger LOGGER = Logger.get("LegacyFabricAPI", "Test", "CommandV1Test"); @Override public void onInitialize() { - CommandRegistry.INSTANCE.register(new ModMetadataCommandV1()); + CommandRegistrationCallback.EVENT.register(registry -> { + registry.register(new ModMetadataCommandV1()); + }); } } diff --git a/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java b/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java index 390a8a7ab..f805017f8 100644 --- a/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java +++ b/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java @@ -20,13 +20,15 @@ import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.logger.v1.Logger; -import net.legacyfabric.fabric.api.registry.CommandRegistry; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; public class CommandV1Test implements ModInitializer { public static final Logger LOGGER = Logger.get("LegacyFabricAPI", "Test", "CommandV1Test"); @Override public void onInitialize() { - CommandRegistry.INSTANCE.register(new ModMetadataCommandV1()); + CommandRegistrationCallback.EVENT.register(registry -> { + registry.register(new ModMetadataCommandV1()); + }); } } diff --git a/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java b/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java index 390a8a7ab..f805017f8 100644 --- a/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java +++ b/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java @@ -20,13 +20,15 @@ import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.logger.v1.Logger; -import net.legacyfabric.fabric.api.registry.CommandRegistry; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; public class CommandV1Test implements ModInitializer { public static final Logger LOGGER = Logger.get("LegacyFabricAPI", "Test", "CommandV1Test"); @Override public void onInitialize() { - CommandRegistry.INSTANCE.register(new ModMetadataCommandV1()); + CommandRegistrationCallback.EVENT.register(registry -> { + registry.register(new ModMetadataCommandV1()); + }); } } diff --git a/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java b/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java index 390a8a7ab..f805017f8 100644 --- a/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java +++ b/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/CommandV1Test.java @@ -20,13 +20,15 @@ import net.fabricmc.api.ModInitializer; import net.legacyfabric.fabric.api.logger.v1.Logger; -import net.legacyfabric.fabric.api.registry.CommandRegistry; +import net.legacyfabric.fabric.api.registry.CommandRegistrationCallback; public class CommandV1Test implements ModInitializer { public static final Logger LOGGER = Logger.get("LegacyFabricAPI", "Test", "CommandV1Test"); @Override public void onInitialize() { - CommandRegistry.INSTANCE.register(new ModMetadataCommandV1()); + CommandRegistrationCallback.EVENT.register(registry -> { + registry.register(new ModMetadataCommandV1()); + }); } } From f4bfd99688a98780ba709931c61808f768462615 Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+racoondog@users.noreply.github.com> Date: Tue, 4 Feb 2025 01:43:06 -0500 Subject: [PATCH 6/8] clean up test commands --- .../test/command/ModMetadataCommand.java | 11 ++--- .../test/command/ModMetadataCommandV1.java | 26 ++++++++---- .../test/command/ModMetadataCommand.java | 11 ++--- .../test/command/ModMetadataCommandV1.java | 26 ++++++++---- .../test/command/ModMetadataCommand.java | 11 ++--- .../test/command/ModMetadataCommandV1.java | 26 ++++++++---- .../test/command/ModMetadataCommand.java | 7 +--- .../test/command/ModMetadataCommandV1.java | 42 +++++++++++-------- .../test/command/ModMetadataCommand.java | 11 ++--- .../test/command/ModMetadataCommandV1.java | 24 +++++++---- .../test/command/ModMetadataCommand.java | 11 ++--- .../test/command/ModMetadataCommandV1.java | 26 ++++++++---- .../test/command/ModMetadataCommand.java | 11 ++--- .../test/command/ModMetadataCommandV1.java | 25 +++++++---- .../test/command/ModMetadataCommand.java | 11 ++--- .../test/command/ModMetadataCommandV1.java | 26 ++++++++---- 16 files changed, 166 insertions(+), 139 deletions(-) diff --git a/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java b/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java index 435f23c03..0f6cb02cc 100644 --- a/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java +++ b/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java @@ -17,12 +17,9 @@ package net.legacyfabric.fabric.test.command; -import java.util.Objects; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; @@ -45,10 +42,8 @@ public static void register(CommandManager manager) { ); } - private static final boolean useStyle = !Objects.equals(FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(), "1.8"); - private static CommandResult execute(PermissibleCommandSource source, CommandContext ctx) throws CommandException { - ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("mod not found"))); + ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("Couldn't find Mod container"))); LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); @@ -58,7 +53,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); LiteralText issueUrl = new LiteralText(contact.get("issues").get()); - if (useStyle) issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); @@ -68,7 +63,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); - if (useStyle) sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); diff --git a/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 1f0c11714..9dd9b201d 100644 --- a/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -20,7 +20,6 @@ import java.util.Optional; import net.minecraft.command.AbstractCommand; -import net.minecraft.command.CommandException; import net.minecraft.command.CommandSource; import net.minecraft.server.MinecraftServer; @@ -28,6 +27,11 @@ import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { @@ -40,40 +44,44 @@ public String getUsageTranslationKey(CommandSource source) { } @Override - public void method_3279(MinecraftServer minecraftServer, CommandSource commandSource, String[] args) throws CommandException { + public void method_3279(MinecraftServer minecraftServer, CommandSource commandSource, String[] args) { if (args.length > 0) { Optional optionalModContainer = FabricLoader.getInstance().getModContainer(args[0]); if (optionalModContainer.isPresent()) { ModContainer container = optionalModContainer.get(); - StringBuilder builder = new StringBuilder(); + LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); ContactInformation contact = container.getMetadata().getContact(); if (contact.get("issues").isPresent()) { - StringBuilder issueText = new StringBuilder(""); + LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); - StringBuilder issueUrl = new StringBuilder(contact.get("issues").get()); + LiteralText issueUrl = new LiteralText(contact.get("issues").get()); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); } if (contact.get("sources").isPresent()) { - StringBuilder sourcesText = new StringBuilder(""); + LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); - StringBuilder sourcesUrl = new StringBuilder(contact.get("sources").get()); + LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); } builder.append("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); - CommandV1Test.LOGGER.info(builder.toString()); + commandSource.sendMessage(builder); } else { - CommandV1Test.LOGGER.error("Couldn't find Mod container for mod id '" + args[0] + "'"); + LiteralText builder = new LiteralText("Couldn't find Mod container for mod id '" + args[0] + "'"); + builder.setStyle(new Style().setFormatting(Formatting.RED)); + commandSource.sendMessage(builder); } } } diff --git a/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java b/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java index 435f23c03..0f6cb02cc 100644 --- a/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java +++ b/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java @@ -17,12 +17,9 @@ package net.legacyfabric.fabric.test.command; -import java.util.Objects; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; @@ -45,10 +42,8 @@ public static void register(CommandManager manager) { ); } - private static final boolean useStyle = !Objects.equals(FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(), "1.8"); - private static CommandResult execute(PermissibleCommandSource source, CommandContext ctx) throws CommandException { - ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("mod not found"))); + ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("Couldn't find Mod container"))); LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); @@ -58,7 +53,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); LiteralText issueUrl = new LiteralText(contact.get("issues").get()); - if (useStyle) issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); @@ -68,7 +63,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); - if (useStyle) sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); diff --git a/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 1f0c11714..9dd9b201d 100644 --- a/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -20,7 +20,6 @@ import java.util.Optional; import net.minecraft.command.AbstractCommand; -import net.minecraft.command.CommandException; import net.minecraft.command.CommandSource; import net.minecraft.server.MinecraftServer; @@ -28,6 +27,11 @@ import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { @@ -40,40 +44,44 @@ public String getUsageTranslationKey(CommandSource source) { } @Override - public void method_3279(MinecraftServer minecraftServer, CommandSource commandSource, String[] args) throws CommandException { + public void method_3279(MinecraftServer minecraftServer, CommandSource commandSource, String[] args) { if (args.length > 0) { Optional optionalModContainer = FabricLoader.getInstance().getModContainer(args[0]); if (optionalModContainer.isPresent()) { ModContainer container = optionalModContainer.get(); - StringBuilder builder = new StringBuilder(); + LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); ContactInformation contact = container.getMetadata().getContact(); if (contact.get("issues").isPresent()) { - StringBuilder issueText = new StringBuilder(""); + LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); - StringBuilder issueUrl = new StringBuilder(contact.get("issues").get()); + LiteralText issueUrl = new LiteralText(contact.get("issues").get()); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); } if (contact.get("sources").isPresent()) { - StringBuilder sourcesText = new StringBuilder(""); + LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); - StringBuilder sourcesUrl = new StringBuilder(contact.get("sources").get()); + LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); } builder.append("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); - CommandV1Test.LOGGER.info(builder.toString()); + commandSource.sendMessage(builder); } else { - CommandV1Test.LOGGER.error("Couldn't find Mod container for mod id '" + args[0] + "'"); + LiteralText builder = new LiteralText("Couldn't find Mod container for mod id '" + args[0] + "'"); + builder.setStyle(new Style().setFormatting(Formatting.RED)); + commandSource.sendMessage(builder); } } } diff --git a/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java b/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java index 435f23c03..0f6cb02cc 100644 --- a/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java +++ b/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java @@ -17,12 +17,9 @@ package net.legacyfabric.fabric.test.command; -import java.util.Objects; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; @@ -45,10 +42,8 @@ public static void register(CommandManager manager) { ); } - private static final boolean useStyle = !Objects.equals(FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(), "1.8"); - private static CommandResult execute(PermissibleCommandSource source, CommandContext ctx) throws CommandException { - ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("mod not found"))); + ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("Couldn't find Mod container"))); LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); @@ -58,7 +53,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); LiteralText issueUrl = new LiteralText(contact.get("issues").get()); - if (useStyle) issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); @@ -68,7 +63,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); - if (useStyle) sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); diff --git a/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 1f0c11714..9dd9b201d 100644 --- a/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -20,7 +20,6 @@ import java.util.Optional; import net.minecraft.command.AbstractCommand; -import net.minecraft.command.CommandException; import net.minecraft.command.CommandSource; import net.minecraft.server.MinecraftServer; @@ -28,6 +27,11 @@ import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { @@ -40,40 +44,44 @@ public String getUsageTranslationKey(CommandSource source) { } @Override - public void method_3279(MinecraftServer minecraftServer, CommandSource commandSource, String[] args) throws CommandException { + public void method_3279(MinecraftServer minecraftServer, CommandSource commandSource, String[] args) { if (args.length > 0) { Optional optionalModContainer = FabricLoader.getInstance().getModContainer(args[0]); if (optionalModContainer.isPresent()) { ModContainer container = optionalModContainer.get(); - StringBuilder builder = new StringBuilder(); + LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); ContactInformation contact = container.getMetadata().getContact(); if (contact.get("issues").isPresent()) { - StringBuilder issueText = new StringBuilder(""); + LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); - StringBuilder issueUrl = new StringBuilder(contact.get("issues").get()); + LiteralText issueUrl = new LiteralText(contact.get("issues").get()); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); } if (contact.get("sources").isPresent()) { - StringBuilder sourcesText = new StringBuilder(""); + LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); - StringBuilder sourcesUrl = new StringBuilder(contact.get("sources").get()); + LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); } builder.append("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); - CommandV1Test.LOGGER.info(builder.toString()); + commandSource.sendMessage(builder); } else { - CommandV1Test.LOGGER.error("Couldn't find Mod container for mod id '" + args[0] + "'"); + LiteralText builder = new LiteralText("Couldn't find Mod container for mod id '" + args[0] + "'"); + builder.setStyle(new Style().setFormatting(Formatting.RED)); + commandSource.sendMessage(builder); } } } diff --git a/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java b/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java index b2945c5f1..45dbc82b9 100644 --- a/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java +++ b/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java @@ -17,11 +17,8 @@ package net.legacyfabric.fabric.test.command; -import java.util.Objects; - import net.minecraft.text.ChatMessage; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; @@ -44,10 +41,8 @@ public static void register(CommandManager manager) { ); } - private static final boolean useStyle = !Objects.equals(FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(), "1.8"); - private static CommandResult execute(PermissibleCommandSource source, CommandContext ctx) throws CommandException { - ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(ChatMessage.createTextMessage("mod not found"))); + ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(ChatMessage.createTextMessage("Couldn't find Mod container"))); ChatMessage builder = ChatMessage.createTextMessage(""); builder.addText("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.addText("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); diff --git a/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 6eb39bf34..925333553 100644 --- a/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -19,6 +19,10 @@ import java.util.Optional; +import net.minecraft.text.ChatMessage; + +import net.minecraft.util.Formatting; + import org.jetbrains.annotations.NotNull; import net.minecraft.command.AbstractCommand; @@ -49,33 +53,35 @@ public void execute(CommandSource commandSource, String[] args) throws CommandEx if (optionalModContainer.isPresent()) { ModContainer container = optionalModContainer.get(); - StringBuilder builder = new StringBuilder(); - builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); - builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); + ChatMessage builder = ChatMessage.createTextMessage(""); + builder.addText("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); + builder.addText("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); ContactInformation contact = container.getMetadata().getContact(); if (contact.get("issues").isPresent()) { - StringBuilder issueText = new StringBuilder(""); - issueText.append("Issues: "); - StringBuilder issueUrl = new StringBuilder(contact.get("issues").get()); - issueText.append(issueUrl); - issueText.append("\n"); - builder.append(issueText); + ChatMessage issueText = ChatMessage.createTextMessage(""); + issueText.addText("Issues: "); + ChatMessage issueUrl = ChatMessage.createTextMessage(contact.get("issues").get()); + issueText.addUsing(issueUrl); + issueText.addText("\n"); + builder.addUsing(issueText); } if (contact.get("sources").isPresent()) { - StringBuilder sourcesText = new StringBuilder(""); - sourcesText.append("Sources: "); - StringBuilder sourcesUrl = new StringBuilder(contact.get("sources").get()); - sourcesText.append(sourcesUrl); - sourcesText.append("\n"); - builder.append(sourcesText); + ChatMessage sourcesText = ChatMessage.createTextMessage(""); + sourcesText.addText("Sources: "); + ChatMessage sourcesUrl = ChatMessage.createTextMessage(contact.get("sources").get()); + sourcesText.addUsing(sourcesUrl); + sourcesText.addText("\n"); + builder.addUsing(sourcesText); } - builder.append("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); - CommandV1Test.LOGGER.info(builder.toString()); + builder.addText("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); + commandSource.method_5505(builder); } else { - CommandV1Test.LOGGER.error("Couldn't find Mod container for mod id '" + args[0] + "'"); + ChatMessage builder = ChatMessage.createTextMessage("Couldn't find Mod container for mod id '" + args[0] + "'"); + builder.setColor(Formatting.RED); + commandSource.method_5505(builder); } } } diff --git a/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java b/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java index a8f4d1726..31a3d0cda 100644 --- a/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java +++ b/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java @@ -17,13 +17,10 @@ package net.legacyfabric.fabric.test.command; -import java.util.Objects; - import net.minecraft.text.ClickEvent; import net.minecraft.text.ClickEventAction; import net.minecraft.text.LiteralText; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; @@ -46,10 +43,8 @@ public static void register(CommandManager manager) { ); } - private static final boolean useStyle = !Objects.equals(FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(), "1.8"); - private static CommandResult execute(PermissibleCommandSource source, CommandContext ctx) throws CommandException { - ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("mod not found"))); + ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("Couldn't find Mod container"))); LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); @@ -59,7 +54,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); LiteralText issueUrl = new LiteralText(contact.get("issues").get()); - if (useStyle) issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, issueUrl.computeValue()))); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); @@ -69,7 +64,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); - if (useStyle) sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, sourcesUrl.computeValue()))); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); diff --git a/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 6eb39bf34..32fa728cc 100644 --- a/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -19,6 +19,12 @@ import java.util.Optional; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.ClickEventAction; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; + import org.jetbrains.annotations.NotNull; import net.minecraft.command.AbstractCommand; @@ -49,33 +55,37 @@ public void execute(CommandSource commandSource, String[] args) throws CommandEx if (optionalModContainer.isPresent()) { ModContainer container = optionalModContainer.get(); - StringBuilder builder = new StringBuilder(); + LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); ContactInformation contact = container.getMetadata().getContact(); if (contact.get("issues").isPresent()) { - StringBuilder issueText = new StringBuilder(""); + LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); - StringBuilder issueUrl = new StringBuilder(contact.get("issues").get()); + LiteralText issueUrl = new LiteralText(contact.get("issues").get()); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); } if (contact.get("sources").isPresent()) { - StringBuilder sourcesText = new StringBuilder(""); + LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); - StringBuilder sourcesUrl = new StringBuilder(contact.get("sources").get()); + LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); } builder.append("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); - CommandV1Test.LOGGER.info(builder.toString()); + commandSource.sendMessage(builder); } else { - CommandV1Test.LOGGER.error("Couldn't find Mod container for mod id '" + args[0] + "'"); + LiteralText builder = new LiteralText("Couldn't find Mod container for mod id '" + args[0] + "'"); + builder.setStyle(new Style().setFormatting(Formatting.RED)); + commandSource.sendMessage(builder); } } } diff --git a/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java b/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java index 435f23c03..0f6cb02cc 100644 --- a/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java +++ b/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java @@ -17,12 +17,9 @@ package net.legacyfabric.fabric.test.command; -import java.util.Objects; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; @@ -45,10 +42,8 @@ public static void register(CommandManager manager) { ); } - private static final boolean useStyle = !Objects.equals(FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(), "1.8"); - private static CommandResult execute(PermissibleCommandSource source, CommandContext ctx) throws CommandException { - ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("mod not found"))); + ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("Couldn't find Mod container"))); LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); @@ -58,7 +53,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); LiteralText issueUrl = new LiteralText(contact.get("issues").get()); - if (useStyle) issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); @@ -68,7 +63,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); - if (useStyle) sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); diff --git a/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 6dbd21ea6..f0be56f65 100644 --- a/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -20,13 +20,17 @@ import java.util.Optional; import net.minecraft.command.AbstractCommand; -import net.minecraft.command.CommandException; import net.minecraft.command.CommandSource; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { @@ -39,40 +43,44 @@ public String getUsageTranslationKey(CommandSource source) { } @Override - public void execute(CommandSource commandSource, String[] args) throws CommandException { + public void execute(CommandSource commandSource, String[] args) { if (args.length > 0) { Optional optionalModContainer = FabricLoader.getInstance().getModContainer(args[0]); if (optionalModContainer.isPresent()) { ModContainer container = optionalModContainer.get(); - StringBuilder builder = new StringBuilder(); + LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); ContactInformation contact = container.getMetadata().getContact(); if (contact.get("issues").isPresent()) { - StringBuilder issueText = new StringBuilder(""); + LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); - StringBuilder issueUrl = new StringBuilder(contact.get("issues").get()); + LiteralText issueUrl = new LiteralText(contact.get("issues").get()); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); } if (contact.get("sources").isPresent()) { - StringBuilder sourcesText = new StringBuilder(""); + LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); - StringBuilder sourcesUrl = new StringBuilder(contact.get("sources").get()); + LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); } builder.append("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); - CommandV1Test.LOGGER.info(builder.toString()); + commandSource.sendMessage(builder); } else { - CommandV1Test.LOGGER.error("Couldn't find Mod container for mod id '" + args[0] + "'"); + LiteralText builder = new LiteralText("Couldn't find Mod container for mod id '" + args[0] + "'"); + builder.setStyle(new Style().setFormatting(Formatting.RED)); + commandSource.sendMessage(builder); } } } diff --git a/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java b/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java index a8f4d1726..31a3d0cda 100644 --- a/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java +++ b/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java @@ -17,13 +17,10 @@ package net.legacyfabric.fabric.test.command; -import java.util.Objects; - import net.minecraft.text.ClickEvent; import net.minecraft.text.ClickEventAction; import net.minecraft.text.LiteralText; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; @@ -46,10 +43,8 @@ public static void register(CommandManager manager) { ); } - private static final boolean useStyle = !Objects.equals(FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(), "1.8"); - private static CommandResult execute(PermissibleCommandSource source, CommandContext ctx) throws CommandException { - ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("mod not found"))); + ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("Couldn't find Mod container"))); LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); @@ -59,7 +54,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); LiteralText issueUrl = new LiteralText(contact.get("issues").get()); - if (useStyle) issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, issueUrl.computeValue()))); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); @@ -69,7 +64,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); - if (useStyle) sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, sourcesUrl.computeValue()))); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); diff --git a/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 40a9ffad0..a9ecbb5fd 100644 --- a/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -19,6 +19,13 @@ import java.util.Optional; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.ClickEventAction; +import net.minecraft.text.LiteralText; + +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; + import org.jetbrains.annotations.NotNull; import net.minecraft.command.AbstractCommand; @@ -48,33 +55,37 @@ public void execute(CommandSource commandSource, String[] args) { if (optionalModContainer.isPresent()) { ModContainer container = optionalModContainer.get(); - StringBuilder builder = new StringBuilder(); + LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); ContactInformation contact = container.getMetadata().getContact(); if (contact.get("issues").isPresent()) { - StringBuilder issueText = new StringBuilder(""); + LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); - StringBuilder issueUrl = new StringBuilder(contact.get("issues").get()); + LiteralText issueUrl = new LiteralText(contact.get("issues").get()); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); } if (contact.get("sources").isPresent()) { - StringBuilder sourcesText = new StringBuilder(""); + LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); - StringBuilder sourcesUrl = new StringBuilder(contact.get("sources").get()); + LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEventAction.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); } builder.append("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); - CommandV1Test.LOGGER.info(builder.toString()); + commandSource.sendMessage(builder); } else { - CommandV1Test.LOGGER.error("Couldn't find Mod container for mod id '" + args[0] + "'"); + LiteralText builder = new LiteralText("Couldn't find Mod container for mod id '" + args[0] + "'"); + builder.setStyle(new Style().setFormatting(Formatting.RED)); + commandSource.sendMessage(builder); } } } diff --git a/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java b/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java index 435f23c03..0f6cb02cc 100644 --- a/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java +++ b/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommand.java @@ -17,12 +17,9 @@ package net.legacyfabric.fabric.test.command; -import java.util.Objects; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; -import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; @@ -45,10 +42,8 @@ public static void register(CommandManager manager) { ); } - private static final boolean useStyle = !Objects.equals(FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(), "1.8"); - private static CommandResult execute(PermissibleCommandSource source, CommandContext ctx) throws CommandException { - ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("mod not found"))); + ModContainer container = ctx.getOne("modid").orElseThrow(() -> new CommandException(new LiteralText("Couldn't find Mod container"))); LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); @@ -58,7 +53,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); LiteralText issueUrl = new LiteralText(contact.get("issues").get()); - if (useStyle) issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); @@ -68,7 +63,7 @@ private static CommandResult execute(PermissibleCommandSource source, CommandCon LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); - if (useStyle) sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); diff --git a/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 1f0c11714..9dd9b201d 100644 --- a/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -20,7 +20,6 @@ import java.util.Optional; import net.minecraft.command.AbstractCommand; -import net.minecraft.command.CommandException; import net.minecraft.command.CommandSource; import net.minecraft.server.MinecraftServer; @@ -28,6 +27,11 @@ import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ContactInformation; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { @@ -40,40 +44,44 @@ public String getUsageTranslationKey(CommandSource source) { } @Override - public void method_3279(MinecraftServer minecraftServer, CommandSource commandSource, String[] args) throws CommandException { + public void method_3279(MinecraftServer minecraftServer, CommandSource commandSource, String[] args) { if (args.length > 0) { Optional optionalModContainer = FabricLoader.getInstance().getModContainer(args[0]); if (optionalModContainer.isPresent()) { ModContainer container = optionalModContainer.get(); - StringBuilder builder = new StringBuilder(); + LiteralText builder = new LiteralText(""); builder.append("Mod Name: ".concat(container.getMetadata().getName()).concat("\n")); builder.append("Description: ".concat(container.getMetadata().getDescription()).concat("\n")); ContactInformation contact = container.getMetadata().getContact(); if (contact.get("issues").isPresent()) { - StringBuilder issueText = new StringBuilder(""); + LiteralText issueText = new LiteralText(""); issueText.append("Issues: "); - StringBuilder issueUrl = new StringBuilder(contact.get("issues").get()); + LiteralText issueUrl = new LiteralText(contact.get("issues").get()); + issueUrl.setStyle(issueText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, issueUrl.computeValue()))); issueText.append(issueUrl); issueText.append("\n"); builder.append(issueText); } if (contact.get("sources").isPresent()) { - StringBuilder sourcesText = new StringBuilder(""); + LiteralText sourcesText = new LiteralText(""); sourcesText.append("Sources: "); - StringBuilder sourcesUrl = new StringBuilder(contact.get("sources").get()); + LiteralText sourcesUrl = new LiteralText(contact.get("sources").get()); + sourcesUrl.setStyle(sourcesText.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, sourcesUrl.computeValue()))); sourcesText.append(sourcesUrl); sourcesText.append("\n"); builder.append(sourcesText); } builder.append("Metadata Type: ".concat(container.getMetadata().getType()).concat("\n")); - CommandV1Test.LOGGER.info(builder.toString()); + commandSource.sendMessage(builder); } else { - CommandV1Test.LOGGER.error("Couldn't find Mod container for mod id '" + args[0] + "'"); + LiteralText builder = new LiteralText("Couldn't find Mod container for mod id '" + args[0] + "'"); + builder.setStyle(new Style().setFormatting(Formatting.RED)); + commandSource.sendMessage(builder); } } } From 99d78b009f5a4d115cae8079cf65ec65c0dd6102 Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+racoondog@users.noreply.github.com> Date: Tue, 4 Feb 2025 02:12:46 -0500 Subject: [PATCH 7/8] style changes --- .../fabric/test/command/ModMetadataCommandV1.java | 9 ++++----- .../fabric/test/command/ModMetadataCommandV1.java | 9 ++++----- .../fabric/test/command/ModMetadataCommandV1.java | 9 ++++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 9dd9b201d..db101f200 100644 --- a/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -22,16 +22,15 @@ import net.minecraft.command.AbstractCommand; import net.minecraft.command.CommandSource; import net.minecraft.server.MinecraftServer; - -import net.fabricmc.loader.api.FabricLoader; -import net.fabricmc.loader.api.ModContainer; -import net.fabricmc.loader.api.metadata.ContactInformation; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; import net.minecraft.text.Style; import net.minecraft.util.Formatting; +import net.fabricmc.loader.api.FabricLoader; +import net.fabricmc.loader.api.ModContainer; +import net.fabricmc.loader.api.metadata.ContactInformation; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { diff --git a/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 9dd9b201d..db101f200 100644 --- a/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -22,16 +22,15 @@ import net.minecraft.command.AbstractCommand; import net.minecraft.command.CommandSource; import net.minecraft.server.MinecraftServer; - -import net.fabricmc.loader.api.FabricLoader; -import net.fabricmc.loader.api.ModContainer; -import net.fabricmc.loader.api.metadata.ContactInformation; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; import net.minecraft.text.Style; import net.minecraft.util.Formatting; +import net.fabricmc.loader.api.FabricLoader; +import net.fabricmc.loader.api.ModContainer; +import net.fabricmc.loader.api.metadata.ContactInformation; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { diff --git a/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 9dd9b201d..db101f200 100644 --- a/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -22,16 +22,15 @@ import net.minecraft.command.AbstractCommand; import net.minecraft.command.CommandSource; import net.minecraft.server.MinecraftServer; - -import net.fabricmc.loader.api.FabricLoader; -import net.fabricmc.loader.api.ModContainer; -import net.fabricmc.loader.api.metadata.ContactInformation; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; import net.minecraft.text.Style; import net.minecraft.util.Formatting; +import net.fabricmc.loader.api.FabricLoader; +import net.fabricmc.loader.api.ModContainer; +import net.fabricmc.loader.api.metadata.ContactInformation; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { From 2294718f2a382c606ac8c972937e421dd3d988e4 Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+racoondog@users.noreply.github.com> Date: Wed, 19 Feb 2025 02:02:42 -0500 Subject: [PATCH 8/8] fix style --- .../fabric/test/command/ModMetadataCommandV1.java | 6 ++---- .../fabric/test/command/ModMetadataCommandV1.java | 11 +++++------ .../fabric/test/command/ModMetadataCommandV1.java | 9 ++++----- .../fabric/test/command/ModMetadataCommandV1.java | 12 +++++------- .../fabric/test/command/ModMetadataCommandV1.java | 9 ++++----- 5 files changed, 20 insertions(+), 27 deletions(-) diff --git a/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 925333553..5049f715c 100644 --- a/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.6.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -19,16 +19,14 @@ import java.util.Optional; -import net.minecraft.text.ChatMessage; - -import net.minecraft.util.Formatting; - import org.jetbrains.annotations.NotNull; import net.minecraft.command.AbstractCommand; import net.minecraft.command.Command; import net.minecraft.command.CommandException; import net.minecraft.command.CommandSource; +import net.minecraft.text.ChatMessage; +import net.minecraft.util.Formatting; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; diff --git a/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 32fa728cc..47650d1fd 100644 --- a/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -19,18 +19,17 @@ import java.util.Optional; -import net.minecraft.text.ClickEvent; -import net.minecraft.text.ClickEventAction; -import net.minecraft.text.LiteralText; -import net.minecraft.text.Style; -import net.minecraft.util.Formatting; - import org.jetbrains.annotations.NotNull; import net.minecraft.command.AbstractCommand; import net.minecraft.command.Command; import net.minecraft.command.CommandException; import net.minecraft.command.CommandSource; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.ClickEventAction; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; diff --git a/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index f0be56f65..b64039049 100644 --- a/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -21,16 +21,15 @@ import net.minecraft.command.AbstractCommand; import net.minecraft.command.CommandSource; - -import net.fabricmc.loader.api.FabricLoader; -import net.fabricmc.loader.api.ModContainer; -import net.fabricmc.loader.api.metadata.ContactInformation; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; import net.minecraft.text.Style; import net.minecraft.util.Formatting; +import net.fabricmc.loader.api.FabricLoader; +import net.fabricmc.loader.api.ModContainer; +import net.fabricmc.loader.api.metadata.ContactInformation; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() { diff --git a/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index a9ecbb5fd..eeebd6642 100644 --- a/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -19,18 +19,16 @@ import java.util.Optional; -import net.minecraft.text.ClickEvent; -import net.minecraft.text.ClickEventAction; -import net.minecraft.text.LiteralText; - -import net.minecraft.text.Style; -import net.minecraft.util.Formatting; - import org.jetbrains.annotations.NotNull; import net.minecraft.command.AbstractCommand; import net.minecraft.command.Command; import net.minecraft.command.CommandSource; +import net.minecraft.text.ClickEvent; +import net.minecraft.text.ClickEventAction; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Style; +import net.minecraft.util.Formatting; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; diff --git a/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java b/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java index 9dd9b201d..db101f200 100644 --- a/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java +++ b/legacyfabric-api/1.9.4/src/testmod/java/net/legacyfabric/fabric/test/command/ModMetadataCommandV1.java @@ -22,16 +22,15 @@ import net.minecraft.command.AbstractCommand; import net.minecraft.command.CommandSource; import net.minecraft.server.MinecraftServer; - -import net.fabricmc.loader.api.FabricLoader; -import net.fabricmc.loader.api.ModContainer; -import net.fabricmc.loader.api.metadata.ContactInformation; - import net.minecraft.text.ClickEvent; import net.minecraft.text.LiteralText; import net.minecraft.text.Style; import net.minecraft.util.Formatting; +import net.fabricmc.loader.api.FabricLoader; +import net.fabricmc.loader.api.ModContainer; +import net.fabricmc.loader.api.metadata.ContactInformation; + public class ModMetadataCommandV1 extends AbstractCommand { @Override public String getCommandName() {