diff --git a/.gitignore b/.gitignore
index ed0537e..78cf3e3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
/.gradle/
/build/
/.vscode/
+/.idea/
/bin/
/run/
/run-data/
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 359bb53..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# 默认忽略的文件
-/shelf/
-/workspace.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index b589d56..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/git_toolbox_blame.xml b/.idea/git_toolbox_blame.xml
deleted file mode 100644
index 7dc1249..0000000
--- a/.idea/git_toolbox_blame.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index 1fd1b27..0000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
deleted file mode 100644
index da4688f..0000000
--- a/.idea/jarRepositories.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index fe0b0da..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 93dbdd9..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/QuickCopy.main.iml b/.idea/modules/QuickCopy.main.iml
deleted file mode 100644
index b745635..0000000
--- a/.idea/modules/QuickCopy.main.iml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
- FORGE
- MIXIN
- MCP
-
- 1
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules/QuickCopy.test.iml b/.idea/modules/QuickCopy.test.iml
deleted file mode 100644
index b745635..0000000
--- a/.idea/modules/QuickCopy.test.iml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
- FORGE
- MIXIN
- MCP
-
- 1
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations/runClient.xml b/.idea/runConfigurations/runClient.xml
deleted file mode 100644
index 9cb5c53..0000000
--- a/.idea/runConfigurations/runClient.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/runData.xml b/.idea/runConfigurations/runData.xml
deleted file mode 100644
index 31ddcac..0000000
--- a/.idea/runConfigurations/runData.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/runGameTestServer.xml b/.idea/runConfigurations/runGameTestServer.xml
deleted file mode 100644
index 01a891e..0000000
--- a/.idea/runConfigurations/runGameTestServer.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/runServer.xml b/.idea/runConfigurations/runServer.xml
deleted file mode 100644
index 17b2891..0000000
--- a/.idea/runConfigurations/runServer.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index f464919..7dc456b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -86,6 +86,14 @@ minecraft {
client {
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
property 'forge.enabledGameTestNamespaces', mod_id
+
+ /*
+ 修复类似问题
+ [mixin/]: Mixing XxxMixin from jade.mixins.json into Xxx
+ [mixin/]: jade.mixins.json:XxxMixin: Class version 61 required is higher than the class version supported by the current version of Mixin (JAVA_16 supports class version 60)
+ */
+ property 'mixin.env.remapRefMap', 'true'
+ property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
}
server {
@@ -117,10 +125,15 @@ repositories {
maven { // CurseForge
url "https://www.cursemaven.com"
}
+ maven {
+ url = "https://api.modrinth.com/maven"
+ }
}
dependencies {
- implementation fg.deobf("curse.maven:jade-324717:6271651")
+ // jade_version example: 11.13.1+forge
+ // Visit https://modrinth.com/mod/jade/versions?l=forge to get the latest version
+ implementation fg.deobf("maven.modrinth:jade:${project.jade_version}")
implementation fg.deobf("curse.maven:slashblade-resharped-1022428:6298272")
// Specify the version of Minecraft to use.
diff --git a/gradle.properties b/gradle.properties
index af40848..dde0ff9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,7 +3,6 @@ org.gradle.daemon=false
minecraft_version=1.20.1
minecraft_version_range = [1.16.5,)
- ]
# The Minecraft version must agree with the Forge version to get a valid artifact
# The Minecraft version range can use any release version of Minecraft as bounds.
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
@@ -51,3 +50,6 @@ mod_group_id=net.exmo
mod_authors=canyuesama
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
mod_description=this is a simple tool to help you copy item id
+
+# Jade version
+jade_version=11.13.2+forge
diff --git a/src/main/java/net/exmo/quickcopy/Config.java b/src/main/java/net/exmo/quickcopy/Config.java
new file mode 100644
index 0000000..eb474e5
--- /dev/null
+++ b/src/main/java/net/exmo/quickcopy/Config.java
@@ -0,0 +1,21 @@
+package net.exmo.quickcopy;
+
+
+import net.minecraftforge.common.ForgeConfigSpec;
+import net.minecraftforge.common.ForgeConfigSpec.ConfigValue;
+
+public class Config {
+ public static ConfigValue isEnable;
+ public static ConfigValue showTip;
+ public static ConfigValue withTag;
+ public static final ForgeConfigSpec SPEC;
+ Config(ForgeConfigSpec.Builder builder) {
+ isEnable = builder.comment("是否开启").define("isEnable", true);
+ showTip = builder.comment("是否显示提示").define("ShowTooltip", true);
+ withTag = builder.comment("复制时是否包含NBT标签").define("withTag", false);
+ }
+
+ static {
+ SPEC = new ForgeConfigSpec.Builder().configure(Config::new).getRight();
+ }
+}
diff --git a/src/main/java/net/exmo/quickcopy/JadeBlockProvider.java b/src/main/java/net/exmo/quickcopy/JadeBlockProvider.java
new file mode 100644
index 0000000..868eb08
--- /dev/null
+++ b/src/main/java/net/exmo/quickcopy/JadeBlockProvider.java
@@ -0,0 +1,32 @@
+package net.exmo.quickcopy;
+
+import net.exmo.quickcopy.Quickcopy.KeyBindings;
+import net.exmo.quickcopy.Quickcopy.TooltipTracker;
+
+import net.minecraft.resources.ResourceLocation;
+import net.minecraftforge.registries.ForgeRegistries;
+import snownee.jade.api.*;
+import snownee.jade.api.config.IPluginConfig;
+
+public enum JadeBlockProvider implements IBlockComponentProvider {
+ INSTANCE;
+
+ @Override
+ public ResourceLocation getUid() {
+ return JadeSupport.blockProviderId;
+ }
+
+ @Override
+ public void appendTooltip(ITooltip iTooltip, BlockAccessor blockAccessor, IPluginConfig iPluginConfig) {
+ if (!Config.isEnable.get()) {
+ return;
+ }
+ if (!KeyBindings.COPY_INFO.isDown())
+ return;
+
+ ResourceLocation key = ForgeRegistries.BLOCKS.getKey(blockAccessor.getBlock());
+ String string = key.toString();
+ TooltipTracker.copyToClipboard(string);
+
+ }
+}
diff --git a/src/main/java/net/exmo/quickcopy/JadeEntityProvider.java b/src/main/java/net/exmo/quickcopy/JadeEntityProvider.java
new file mode 100644
index 0000000..3760026
--- /dev/null
+++ b/src/main/java/net/exmo/quickcopy/JadeEntityProvider.java
@@ -0,0 +1,32 @@
+package net.exmo.quickcopy;
+
+import net.exmo.quickcopy.Quickcopy.KeyBindings;
+import net.exmo.quickcopy.Quickcopy.TooltipTracker;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraftforge.registries.ForgeRegistries;
+import snownee.jade.api.EntityAccessor;
+import snownee.jade.api.IEntityComponentProvider;
+import snownee.jade.api.ITooltip;
+import snownee.jade.api.config.IPluginConfig;
+
+public enum JadeEntityProvider implements IEntityComponentProvider {
+ INSTANCE;
+
+ @Override
+ public ResourceLocation getUid() {
+ return JadeSupport.entityProviderId;
+ }
+
+ @Override
+ public void appendTooltip(ITooltip iTooltip, EntityAccessor entityAccessor, IPluginConfig iPluginConfig) {
+ if (!Config.isEnable.get()) {
+ return;
+ }
+ if (!KeyBindings.COPY_INFO.isDown())
+ return;
+
+ ResourceLocation key = ForgeRegistries.ENTITY_TYPES.getKey(entityAccessor.getEntity().getType());
+ String string = key.toString();
+ TooltipTracker.copyToClipboard(string);
+ }
+}
diff --git a/src/main/java/net/exmo/quickcopy/JadeSupport.java b/src/main/java/net/exmo/quickcopy/JadeSupport.java
index 9c52aa9..77056bc 100644
--- a/src/main/java/net/exmo/quickcopy/JadeSupport.java
+++ b/src/main/java/net/exmo/quickcopy/JadeSupport.java
@@ -4,7 +4,6 @@
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.level.block.Block;
import snownee.jade.api.IWailaClientRegistration;
-import snownee.jade.api.IWailaCommonRegistration;
import snownee.jade.api.IWailaPlugin;
import snownee.jade.api.WailaPlugin;
@@ -12,17 +11,12 @@
@WailaPlugin
public class JadeSupport implements IWailaPlugin {
- public static final ResourceLocation element_id = new ResourceLocation(MODID, "test");
- public static final ResourceLocation element_id2 = new ResourceLocation(MODID, "test_2");
- @Override
- public void register(IWailaCommonRegistration registration) {
- //TODO register data providers
- }
-
+ public static final ResourceLocation entityProviderId = new ResourceLocation(MODID, "entity");
+ public static final ResourceLocation blockProviderId = new ResourceLocation(MODID, "block");
@Override
public void registerClient(IWailaClientRegistration registration) {
- registration.registerEntityComponent(TestJadeProvider.INSTANCE, LivingEntity.class);
- registration.registerBlockComponent(TestJadeProviderBlock.INSTANCE, Block.class);
+ registration.registerEntityComponent(JadeEntityProvider.INSTANCE, LivingEntity.class);
+ registration.registerBlockComponent(JadeBlockProvider.INSTANCE, Block.class);
}
}
diff --git a/src/main/java/net/exmo/quickcopy/Quickcopy.java b/src/main/java/net/exmo/quickcopy/Quickcopy.java
index c3654db..6626b5b 100644
--- a/src/main/java/net/exmo/quickcopy/Quickcopy.java
+++ b/src/main/java/net/exmo/quickcopy/Quickcopy.java
@@ -4,115 +4,130 @@
import mods.flammpfeil.slashblade.item.ItemSlashBlade;
import net.minecraft.client.KeyMapping;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
-import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.RegisterKeyMappingsEvent;
+import net.minecraftforge.client.event.RenderTooltipEvent;
+import net.minecraftforge.client.event.ScreenEvent;
import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.TickEvent;
+import net.minecraftforge.event.TickEvent.ClientTickEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
-import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ModList;
+import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
-import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
-import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
+import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
+import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.registries.ForgeRegistries;
import org.lwjgl.glfw.GLFW;
-import java.util.logging.Logger;
+
+import com.mojang.blaze3d.platform.InputConstants;
+import com.mojang.logging.LogUtils;
+
+import io.netty.util.internal.StringUtil;
+
+import org.slf4j.Logger;
+
+import java.util.Optional;
@OnlyIn(Dist.CLIENT)
@Mod(Quickcopy.MODID)
public class Quickcopy {
public static final String MODID = "quickcopy";
-
- static Logger LOGGER = Logger.getLogger(MODID);
+ private static final Logger LOGGER = LogUtils.getLogger();
public Quickcopy() {
- IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
-
- modEventBus.addListener(this::commonSetup);
-
MinecraftForge.EVENT_BUS.register(this);
-
+ ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, Config.SPEC);
}
- private void commonSetup(final FMLCommonSetupEvent event) {
+ @Mod.EventBusSubscriber(modid = MODID, bus = Bus.MOD, value = Dist.CLIENT)
+ public static class KeyBindings {
+ @SubscribeEvent
+ public static void registerKeyMappings(RegisterKeyMappingsEvent event) {
+ event.register(COPY_INFO);
+ }
+
+ public static final KeyMapping COPY_INFO = new KeyMapping("key.quickcopy.copy",
+ InputConstants.Type.KEYSYM,
+ GLFW.GLFW_KEY_LEFT_ALT,
+ "key.categories.quickcopy");
}
- static boolean isKeyDown = false;
-
- @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
- public static class ClientInit {
-
- public static final KeyMapping COPY_ITEM_ID = new KeyMapping("key.quickcopy.copy", GLFW.GLFW_KEY_0,
- "key.categories.misc") {
- private boolean isDownOld = false;
-
- @Override
- public void setDown(boolean isDown) {
- super.setDown(isDown);
- if (isDownOld != isDown && isDown) {
- if (isKeyDown) {
- Minecraft.getInstance().getChatListener()
- .handleSystemMessage(Component.translatable("message.quickcopy.2"), false);
- isKeyDown = false;
- } else {
- Minecraft.getInstance().getChatListener()
- .handleSystemMessage(Component.translatable("message.quickcopy.1"), false);
- isKeyDown = true;
- }
- }
+ @Mod.EventBusSubscriber(modid = MODID, bus = Bus.FORGE, value = Dist.CLIENT)
+ public static class TooltipTracker {
+ public static ItemStack hoveredStack = ItemStack.EMPTY;
+ @SubscribeEvent
+ public static void onTooltipGather(RenderTooltipEvent.GatherComponents event) {
+ hoveredStack = event.getItemStack();
+ }
+
+ @SubscribeEvent
+ public static void renderTooltip(ItemTooltipEvent event) {
+ if (!Config.isEnable.get()) {
+ return;
+ }
+ var keyName = KeyBindings.COPY_INFO.getTranslatedKeyMessage().getString();
+ var tooltip = Component.translatable("tootip.quickcopy.tooltip", keyName);
+ if (Config.showTip.get()) {
+ event.getToolTip().add(tooltip);
}
- };
+ }
@SubscribeEvent
- public static void registerKeyMappings(RegisterKeyMappingsEvent event) {
- event.register(COPY_ITEM_ID);
+ public static void onClientTick(ClientTickEvent event) {
+ if (event.phase != TickEvent.Phase.END)
+ return;
+ if (Minecraft.getInstance().screen == null) {
+ hoveredStack = ItemStack.EMPTY;
+ }
}
- }
-
- @Mod.EventBusSubscriber(Dist.CLIENT)
- public static class ClientModEvents {
+ // 处理在GUI的按键事件,用于复制物品ID
@SubscribeEvent
- public static void renderTooltip(ItemTooltipEvent event) {
- if (isKeyDown) {
- event.getToolTip().add(Component.translatable("tootip.quickcopy.item"));
-
- if (Screen.hasAltDown()) {
- LOGGER.info("Copy item id");
- boolean flag = false;
- String anObject = "";
- if (ModList.get().isLoaded(SlashBlade.MODID)) {
- if (event.getItemStack().getItem() instanceof ItemSlashBlade) {
- flag = true;
- anObject = event.getItemStack().getTag().getCompound("bladeState")
- .getString("translationKey");
- }
- }
-
- if (!flag) {
- ResourceLocation key = ForgeRegistries.ITEMS.getKey(event.getItemStack().getItem());
- anObject = String.valueOf(key);
- }
- if (!Minecraft.getInstance().keyboardHandler.getClipboard().equals(anObject)) {
-
- Minecraft.getInstance().getChatListener().handleSystemMessage(
- Component.translatable("message.quickcopy.3").append(Component.literal(anObject)),
- false);
-
- Minecraft.getInstance().keyboardHandler.setClipboard(anObject);
-
- }
-
- }
+ public static void onGuiKeyPress(ScreenEvent.KeyPressed.Pre event) {
+ var key = InputConstants.getKey(event.getKeyCode(), event.getScanCode());
+ if (key != null && KeyBindings.COPY_INFO.isActiveAndMatches(key)) {
+ executeCopy(hoveredStack);
}
}
+
+ public static void executeCopy(ItemStack itemStack) {
+ if (itemStack.isEmpty()) {
+ return;
+ }
+ var item = itemStack.getItem();
+
+ if (ModList.get().isLoaded(SlashBlade.MODID) && item instanceof ItemSlashBlade) {
+ var info = Optional.ofNullable(itemStack.getTag())
+ .map(tag -> tag.getCompound("bladeState"))
+ .map(compound -> compound.getString("translationKey")).orElse("");
+ copyToClipboard(info);
+ return;
+ }
+
+ var key = ForgeRegistries.ITEMS.getKey(item).toString();
+ if (itemStack.hasTag() && Config.withTag.get()) {
+ key += itemStack.getTag();
+ }
+ copyToClipboard(key);
+ }
+
+ public static void copyToClipboard(String str) {
+ if (StringUtil.isNullOrEmpty(str) || Minecraft.getInstance().keyboardHandler.getClipboard().equals(str))
+ return;
+ Component message = Optional
+ .ofNullable(Component.translatable("message.quickcopy.completed").append(Component.literal(str)))
+ .orElse(Component.literal("获取到空的内容"));
+ Minecraft.getInstance().getChatListener().handleSystemMessage(message, false);
+ Minecraft.getInstance().keyboardHandler.setClipboard(str);
+ }
}
}
diff --git a/src/main/java/net/exmo/quickcopy/TestJadeProvider.java b/src/main/java/net/exmo/quickcopy/TestJadeProvider.java
deleted file mode 100644
index 46e53fa..0000000
--- a/src/main/java/net/exmo/quickcopy/TestJadeProvider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package net.exmo.quickcopy;
-
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.screens.Screen;
-import net.minecraft.network.chat.Component;
-import net.minecraft.resources.ResourceLocation;
-import net.minecraftforge.registries.ForgeRegistries;
-import snownee.jade.api.EntityAccessor;
-import snownee.jade.api.IEntityComponentProvider;
-import snownee.jade.api.ITooltip;
-import snownee.jade.api.config.IPluginConfig;
-
-import static net.exmo.quickcopy.Quickcopy.isKeyDown;
-
-public enum TestJadeProvider implements IEntityComponentProvider {
- INSTANCE;
-
-
- @Override
- public void appendTooltip(ITooltip iTooltip, EntityAccessor entityAccessor, IPluginConfig iPluginConfig) {
- if (Screen.hasAltDown()) {
- if (isKeyDown) {
-
- ResourceLocation key = ForgeRegistries.ENTITY_TYPES.getKey(entityAccessor.getEntity().getType());
- String string = key.toString();
- if (!Minecraft.getInstance().keyboardHandler.getClipboard().equals(string)) {
-
- Minecraft.getInstance().getChatListener().handleSystemMessage(Component.translatable("message.quickcopy.3").append(Component.literal(string)), false);
-
- Minecraft.getInstance().keyboardHandler.setClipboard(string);
-
- }
- }
- }
-
- }
- @Override
- public ResourceLocation getUid() {
- return JadeSupport.element_id;
- }
-}
diff --git a/src/main/java/net/exmo/quickcopy/TestJadeProviderBlock.java b/src/main/java/net/exmo/quickcopy/TestJadeProviderBlock.java
deleted file mode 100644
index a1c4629..0000000
--- a/src/main/java/net/exmo/quickcopy/TestJadeProviderBlock.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package net.exmo.quickcopy;
-
-
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.screens.Screen;
-import net.minecraft.network.chat.Component;
-import net.minecraft.resources.ResourceLocation;
-import net.minecraftforge.registries.ForgeRegistries;
-import snownee.jade.api.*;
-import snownee.jade.api.config.IPluginConfig;
-
-import static net.exmo.quickcopy.Quickcopy.isKeyDown;
-
-public enum TestJadeProviderBlock implements IBlockComponentProvider {
- INSTANCE;
-
-
-
- @Override
- public ResourceLocation getUid() {
- return JadeSupport.element_id2;
- }
-
- @Override
- public void appendTooltip(ITooltip iTooltip, BlockAccessor blockAccessor, IPluginConfig iPluginConfig) {
- if (Screen.hasAltDown()) {
- if (isKeyDown) {
-
- ResourceLocation key = ForgeRegistries.BLOCKS.getKey(blockAccessor.getBlock());
- String string = key.toString();
- if (!Minecraft.getInstance().keyboardHandler.getClipboard().equals(string)) {
-
- Minecraft.getInstance().getChatListener().handleSystemMessage(Component.translatable("message.quickcopy.3").append(Component.literal(string)), false);
-
- Minecraft.getInstance().keyboardHandler.setClipboard(string);
-
- }
- }
- }
- }
-}
diff --git a/src/main/resources/assets/quickcopy/lang/en_us.json b/src/main/resources/assets/quickcopy/lang/en_us.json
index 1afa4e8..872f775 100644
--- a/src/main/resources/assets/quickcopy/lang/en_us.json
+++ b/src/main/resources/assets/quickcopy/lang/en_us.json
@@ -1,7 +1,8 @@
{
"key.quickcopy.copy": "open or close item id copy function",
- "tootip.quickcopy.item": "§7Press \"Alt\" to copy item ID",
- "message.quickcopy.1": "§7[QuickCopy] Copy item ID function to activate",
- "message.quickcopy.2": "§7[QuickCopy] Copy item ID function to disable",
- "message.quickcopy.3": "§7[QuickCopy] Replicated:"
+ "key.categories.quickcopy": "QuickCopy",
+ "tootip.quickcopy.tooltip": "§7Press [{0}] to copy item ID",
+ "message.quickcopy.completed": "§7[QuickCopy] :",
+ "config.jade.plugin_quickcopy.block": "Copy Block ID",
+ "config.jade.plugin_quickcopy.entity": "Copy Entity ID"
}
\ No newline at end of file
diff --git a/src/main/resources/assets/quickcopy/lang/zh_cn.json b/src/main/resources/assets/quickcopy/lang/zh_cn.json
index 0f9c00c..3279c8e 100644
--- a/src/main/resources/assets/quickcopy/lang/zh_cn.json
+++ b/src/main/resources/assets/quickcopy/lang/zh_cn.json
@@ -1,7 +1,8 @@
{
- "key.quickcopy.copy": "打开或关闭复制物品ID功能",
- "tootip.quickcopy.item": "§7按下[Alt]来复制物品ID",
- "message.quickcopy.1": "§7[快捷复制] 复制物品ID功能已启动",
- "message.quickcopy.2": "§7[快捷复制] 复制物品ID功能已关闭",
- "message.quickcopy.3": "§7[快捷复制] 已复制:"
+ "key.quickcopy.copy": "复制物品ID",
+ "key.categories.quickcopy": "快捷复制",
+ "tootip.quickcopy.tooltip": "§7按下 [{0}] 来复制物品ID",
+ "message.quickcopy.completed": "§7[快捷复制] :",
+ "config.jade.plugin_quickcopy.block": "复制方块ID",
+ "config.jade.plugin_quickcopy.entity": "复制实体ID"
}
\ No newline at end of file