diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-10-11 16:09:42 -0400 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-12-07 23:03:10 -0500 |
commit | c7088f48ef5b2f5a61f471d93ee23f4f2ccad010 (patch) | |
tree | 5706977bd98ebebea6e08eb6eba3daf505a6469e /src/main/java | |
parent | ab3d2e8535500225eb0b71b03026853999aef381 (diff) | |
download | Skyblocker-c7088f48ef5b2f5a61f471d93ee23f4f2ccad010.tar.gz Skyblocker-c7088f48ef5b2f5a61f471d93ee23f4f2ccad010.tar.bz2 Skyblocker-c7088f48ef5b2f5a61f471d93ee23f4f2ccad010.zip |
Add dump held item nbt command
Diffstat (limited to 'src/main/java')
4 files changed, 39 insertions, 35 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java index 1473d1de..ad5e442f 100644 --- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java +++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java @@ -5,7 +5,6 @@ import com.google.gson.GsonBuilder; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.debug.Debug; import de.hysky.skyblocker.skyblock.*; -import de.hysky.skyblocker.skyblock.waypoint.MythologicalRitual; import de.hysky.skyblocker.skyblock.dungeon.*; import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonSecrets; import de.hysky.skyblocker.skyblock.dungeon.secrets.SecretsTracker; @@ -18,11 +17,12 @@ import de.hysky.skyblocker.skyblock.quicknav.QuickNav; import de.hysky.skyblocker.skyblock.rift.TheRift; import de.hysky.skyblocker.skyblock.shortcut.Shortcuts; import de.hysky.skyblocker.skyblock.special.SpecialEffects; -import de.hysky.skyblocker.skyblock.waypoint.Relics; import de.hysky.skyblocker.skyblock.tabhud.TabHud; import de.hysky.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster; import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr; import de.hysky.skyblocker.skyblock.waypoint.FairySouls; +import de.hysky.skyblocker.skyblock.waypoint.MythologicalRitual; +import de.hysky.skyblocker.skyblock.waypoint.Relics; import de.hysky.skyblocker.utils.ApiUtils; import de.hysky.skyblocker.utils.NEURepoManager; import de.hysky.skyblocker.utils.Utils; diff --git a/src/main/java/de/hysky/skyblocker/debug/Debug.java b/src/main/java/de/hysky/skyblocker/debug/Debug.java index 1fc22d2a..86adcac6 100644 --- a/src/main/java/de/hysky/skyblocker/debug/Debug.java +++ b/src/main/java/de/hysky/skyblocker/debug/Debug.java @@ -1,14 +1,37 @@ package de.hysky.skyblocker.debug; +import com.mojang.brigadier.Command; +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import de.hysky.skyblocker.SkyblockerMod; +import de.hysky.skyblocker.utils.ItemUtils; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.text.Text; + +import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal; public class Debug { private static final boolean DEBUG_ENABLED = Boolean.parseBoolean(System.getProperty("skyblocker.debug", "false")); + public static boolean debugEnabled() { + return DEBUG_ENABLED || FabricLoader.getInstance().isDevelopmentEnvironment(); + } + public static void init() { - if (DEBUG_ENABLED || FabricLoader.getInstance().isDevelopmentEnvironment()) { - ClientCommandRegistrationCallback.EVENT.register(DumpPlayersCommand::register); + if (debugEnabled()) { + ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(literal(SkyblockerMod.NAMESPACE).then(literal("debug") + .then(dumpPlayersCommand()) + .then(ItemUtils.dumpHeldItemNbtCommand()) + ))); } } + + private static LiteralArgumentBuilder<FabricClientCommandSource> dumpPlayersCommand() { + return literal("dumpPlayers") + .executes(context -> { + context.getSource().getWorld().getPlayers().forEach(player -> context.getSource().sendFeedback(Text.of("'" + player.getName().getString() + "'"))); + return Command.SINGLE_SUCCESS; + }); + } } diff --git a/src/main/java/de/hysky/skyblocker/debug/DumpPlayersCommand.java b/src/main/java/de/hysky/skyblocker/debug/DumpPlayersCommand.java deleted file mode 100644 index 5f6e0362..00000000 --- a/src/main/java/de/hysky/skyblocker/debug/DumpPlayersCommand.java +++ /dev/null @@ -1,31 +0,0 @@ -package de.hysky.skyblocker.debug; - -import com.mojang.brigadier.Command; -import com.mojang.brigadier.CommandDispatcher; -import de.hysky.skyblocker.SkyblockerMod; -import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; -import net.minecraft.command.CommandRegistryAccess; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.text.Text; - -import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal; - -public class DumpPlayersCommand { - - static void register(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandRegistryAccess registryAccess) { - dispatcher.register(literal(SkyblockerMod.NAMESPACE) - .then(literal("debug") - .then(literal("dumpPlayers") - .executes(context -> { - FabricClientCommandSource source = context.getSource(); - - source.getWorld().getEntities().forEach(e -> { - if (e instanceof PlayerEntity player) { - source.sendFeedback(Text.of("'" + player.getName().getString() + "'")); - } - }); - - return Command.SINGLE_SUCCESS; - })))); - } -} diff --git a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java index ed46677d..6e80acea 100644 --- a/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java +++ b/src/main/java/de/hysky/skyblocker/utils/ItemUtils.java @@ -1,7 +1,10 @@ package de.hysky.skyblocker.utils; +import com.mojang.brigadier.Command; +import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.exceptions.CommandSyntaxException; import it.unimi.dsi.fastutil.ints.IntIntPair; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.minecraft.client.MinecraftClient; import net.minecraft.client.item.TooltipContext; import net.minecraft.item.ItemStack; @@ -18,6 +21,8 @@ import java.util.Optional; import java.util.function.Predicate; import java.util.regex.Pattern; +import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal; + public class ItemUtils { public static final String EXTRA_ATTRIBUTES = "ExtraAttributes"; public static final String ID = "id"; @@ -25,6 +30,13 @@ public class ItemUtils { public static final Pattern NOT_DURABILITY = Pattern.compile("[^0-9 /]"); public static final Predicate<String> FUEL_PREDICATE = line -> line.contains("Fuel: "); + public static LiteralArgumentBuilder<FabricClientCommandSource> dumpHeldItemNbtCommand() { + return literal("dumpHeldItemNbt").executes(context -> { + context.getSource().sendFeedback(Text.literal("[Skyblocker Debug] Held Item Nbt: " + context.getSource().getPlayer().getMainHandStack().writeNbt(new NbtCompound()))); + return Command.SINGLE_SUCCESS; + }); + } + public static List<Text> getTooltips(ItemStack item) { MinecraftClient client = MinecraftClient.getInstance(); return client.player == null || item == null ? Collections.emptyList() : item.getTooltip(client.player, TooltipContext.Default.BASIC); |