From eda0d90c9064437399dee59734f260acd6528a22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E9=9B=A8=E8=90=BD?= Date: Wed, 26 Apr 2023 10:52:14 +0800 Subject: [PATCH] :sparkles: Fabric support! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 秋雨落 --- .../resources/assets/nbtedit/lang/zh_cn.json | 2 +- fabric/build.gradle | 34 +++++++++++-------- .../networking/NBTEditNetworkingServer.java | 2 +- .../S2COpenBlockEntityEditingGuiPacket.java | 4 ++- .../packet/S2COpenEntityEditingGuiPacket.java | 4 ++- .../S2COpenItemStackEditingGuiPacket.java | 4 ++- forge/build.gradle | 34 +++++++++---------- .../resources/META-INF/accesstransformer.cfg | 5 --- 8 files changed, 47 insertions(+), 42 deletions(-) delete mode 100644 forge/src/main/resources/META-INF/accesstransformer.cfg diff --git a/common/src/main/resources/assets/nbtedit/lang/zh_cn.json b/common/src/main/resources/assets/nbtedit/lang/zh_cn.json index 702b0a1..3d0998e 100644 --- a/common/src/main/resources/assets/nbtedit/lang/zh_cn.json +++ b/common/src/main/resources/assets/nbtedit/lang/zh_cn.json @@ -12,7 +12,7 @@ "gui.narration.button.special_character": "插入特殊符号", "gui.narration.sub_window.value_editor": "数值编辑子窗口", "gui.title.nbtedit_block_entity": "正在编辑位于 {0} {1} {2} 的方块实体", - "gui.title.nbtedit_entity": "正在编辑实体 ID: {0}", + "gui.title.nbtedit_entity": "正在编辑实体 ID:{0}", "gui.title.nbtedit_item_stack": "正在编辑名为 {0} 的物品", "key.category.nbtedit": "游戏内 NBT 修改器 (重制版)", "key.nbtedit.shortcut": "修改所指向内容的 NBT", diff --git a/fabric/build.gradle b/fabric/build.gradle index 72b185c..290cbba 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -1,5 +1,5 @@ plugins { - id "com.github.johnrengelman.shadow" version "7.1.2" + id 'com.github.johnrengelman.shadow' version '7.1.2' } architectury { @@ -8,7 +8,7 @@ architectury { } loom { - accessWidenerPath = project(":common").loom.accessWidenerPath + accessWidenerPath = project(':common').loom.accessWidenerPath } configurations { @@ -21,8 +21,8 @@ configurations { repositories { maven { - name = "Mod Menu" - url = "https://maven.terraformersmc.com/releases" + name = 'Mod Menu' + url = 'https://maven.terraformersmc.com/releases' } } @@ -30,25 +30,25 @@ dependencies { modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" modApi "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" - modRuntimeOnly "com.terraformersmc:modmenu:6.2.1" + modRuntimeOnly 'com.terraformersmc:modmenu:6.2.1' - common(project(path: ":common", configuration: "namedElements")) { transitive = false } - shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive = false } + common(project(path: ':common', configuration: 'namedElements')) { transitive = false } + shadowCommon(project(path: ':common', configuration: 'transformProductionFabric')) { transitive = false } } processResources { - inputs.property "version", project.version + inputs.property 'version', project.version - filesMatching("fabric.mod.json") { - expand "version": project.version + filesMatching('fabric.mod.json') { + expand 'version': project.version } } shadowJar { - exclude "architectury.common.json" + exclude 'architectury.common.json' configurations = [project.configurations.shadowCommon] - classifier "dev-shadow" + classifier 'dev-shadow' } remapJar { @@ -59,15 +59,19 @@ remapJar { } jar { - classifier "dev" + classifier 'dev' } sourcesJar { - def commonSources = project(":common").sourcesJar + def commonSources = project(':common').sourcesJar dependsOn commonSources from commonSources.archiveFile.map { zipTree(it) } } +remapJar { + classifier 'fabric' +} + components.java { withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { skip() @@ -77,7 +81,7 @@ components.java { publishing { publications { mavenFabric(MavenPublication) { - artifactId = rootProject.archives_base_name + "-" + project.name + artifactId = rootProject.archives_base_name + '-' + project.name from components.java } } diff --git a/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/NBTEditNetworkingServer.java b/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/NBTEditNetworkingServer.java index 2c5ab58..a607272 100644 --- a/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/NBTEditNetworkingServer.java +++ b/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/NBTEditNetworkingServer.java @@ -78,7 +78,7 @@ public void serverOpenClientGui(ServerPlayer player) { NBTEdit.getInstance().getLogger().info("Player " + player.getName().getString() + " is editing itself."); player.getServer().execute(() -> { var tag = new CompoundTag(); - player.save(tag); + player.saveWithoutId(tag); ServerPlayNetworking.send(player, new S2COpenEntityEditingGuiPacket(player.getUUID(), player.getId(), tag, true)); }); } else { diff --git a/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenBlockEntityEditingGuiPacket.java b/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenBlockEntityEditingGuiPacket.java index 1cdfa28..054aa2f 100644 --- a/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenBlockEntityEditingGuiPacket.java +++ b/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenBlockEntityEditingGuiPacket.java @@ -46,6 +46,8 @@ public static void clientHandle(Minecraft client, ClientPacketListener handler, NBTEdit.getInstance().getLogger().info("Editing BlockEntity at XYZ " + blockPos.getX() + " " + blockPos.getY() + " " + blockPos.getZ() + "."); - ScreenHelper.showNBTEditScreen(blockPos, compoundTag); + client.execute(() -> { + ScreenHelper.showNBTEditScreen(blockPos, compoundTag); + }); } } diff --git a/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenEntityEditingGuiPacket.java b/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenEntityEditingGuiPacket.java index 31a72bf..c9b7c1c 100644 --- a/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenEntityEditingGuiPacket.java +++ b/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenEntityEditingGuiPacket.java @@ -56,6 +56,8 @@ public static void clientHandle(Minecraft client, ClientPacketListener handler, var isSelf = buf.readBoolean(); NBTEdit.getInstance().getLogger().info("Editing entity with UUID " + entityUuid + "."); - ScreenHelper.showNBTEditScreen(entityUuid, entityId, compoundTag, isSelf); + client.execute(() -> { + ScreenHelper.showNBTEditScreen(entityUuid, entityId, compoundTag, isSelf); + }); } } diff --git a/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenItemStackEditingGuiPacket.java b/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenItemStackEditingGuiPacket.java index 0cf08fb..93b430d 100644 --- a/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenItemStackEditingGuiPacket.java +++ b/fabric/src/main/java/cx/rain/mc/nbtedit/fabric/networking/packet/S2COpenItemStackEditingGuiPacket.java @@ -46,6 +46,8 @@ public static void clientHandle(Minecraft client, ClientPacketListener handler, NBTEdit.getInstance().getLogger().info("Editing ItemStack " + itemStack.getDisplayName().getString() + "in hand."); - ScreenHelper.showNBTEditScreen(itemStack, compoundTag); + client.execute(() -> { + ScreenHelper.showNBTEditScreen(itemStack, compoundTag); + }); } } diff --git a/forge/build.gradle b/forge/build.gradle index 338225e..657793c 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -1,5 +1,5 @@ plugins { - id "com.github.johnrengelman.shadow" version "7.1.2" + id 'com.github.johnrengelman.shadow' version '7.1.2' } architectury { @@ -8,7 +8,7 @@ architectury { } loom { - accessWidenerPath = project(":common").loom.accessWidenerPath + accessWidenerPath = project(':common').loom.accessWidenerPath forge { convertAccessWideners = true @@ -26,10 +26,10 @@ configurations { repositories { maven { - name = "Curse maven" - url = "https://cursemaven.com" + name = 'Curse maven' + url = 'https://cursemaven.com' content { - includeGroup "curse.maven" + includeGroup 'curse.maven' } } @@ -39,38 +39,38 @@ repositories { dependencies { forge "net.minecraftforge:forge:${rootProject.forge_version}" - common(project(path: ":common", configuration: "namedElements")) { transitive = false } - shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } + common(project(path: ':common', configuration: 'namedElements')) { transitive = false } + shadowCommon(project(path: ':common', configuration: 'transformProductionForge')) { transitive = false } } processResources { - inputs.property "version", project.version + inputs.property 'version', project.version - filesMatching("META-INF/mods.toml") { - expand "version": project.version + filesMatching('META-INF/mods.toml') { + expand 'version': project.version } } shadowJar { - exclude "fabric.mod.json" - exclude "architectury.common.json" + exclude 'fabric.mod.json' + exclude 'architectury.common.json' configurations = [project.configurations.shadowCommon] - classifier "dev-shadow" + classifier 'dev-shadow' } remapJar { input.set shadowJar.archiveFile dependsOn shadowJar - classifier null + classifier 'forge' } jar { - classifier "dev" + classifier 'dev' } sourcesJar { - def commonSources = project(":common").sourcesJar + def commonSources = project(':common').sourcesJar dependsOn commonSources from commonSources.archiveFile.map { zipTree(it) } } @@ -84,7 +84,7 @@ components.java { publishing { publications { mavenForge(MavenPublication) { - artifactId = rootProject.archives_base_name + "-" + project.name + artifactId = rootProject.archives_base_name + '-' + project.name from components.java } } diff --git a/forge/src/main/resources/META-INF/accesstransformer.cfg b/forge/src/main/resources/META-INF/accesstransformer.cfg deleted file mode 100644 index 462e38f..0000000 --- a/forge/src/main/resources/META-INF/accesstransformer.cfg +++ /dev/null @@ -1,5 +0,0 @@ -#public net.minecraft.nbt.CompoundTag m_128450_()Ljava/util/Map; # entries -public net.minecraft.nbt.CompoundTag f_128329_ # tags -public net.minecraft.nbt.ListTag f_128716_ # list -#public net.minecraft.client.gui.components.AbstractWidget f_93620_ # x -#public net.minecraft.client.gui.components.AbstractWidget f_93621_ # y