From fdd7aeaf4fb56464efab7987bf8d04680a5d42a3 Mon Sep 17 00:00:00 2001 From: Oth3r Date: Mon, 22 Jan 2024 17:56:34 -0600 Subject: [PATCH 1/7] new packet system 1.20.5 --- .../java/one/oth3r/sit/PacketBuilder.java | 35 ------------------- src/main/java/one/oth3r/sit/Sit.java | 30 +++++++++++----- src/main/java/one/oth3r/sit/SitClient.java | 8 +++-- 3 files changed, 26 insertions(+), 47 deletions(-) delete mode 100644 src/main/java/one/oth3r/sit/PacketBuilder.java diff --git a/src/main/java/one/oth3r/sit/PacketBuilder.java b/src/main/java/one/oth3r/sit/PacketBuilder.java deleted file mode 100644 index 6afb6cf..0000000 --- a/src/main/java/one/oth3r/sit/PacketBuilder.java +++ /dev/null @@ -1,35 +0,0 @@ -package one.oth3r.sit; - -import io.netty.buffer.ByteBuf; -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; -import net.minecraft.network.PacketByteBuf; -import net.minecraft.util.Identifier; - -import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; - -public class PacketBuilder { - public static final String SETTINGS = "settings_v1.0"; - private final String message; - private final PacketByteBuf packetByteBuf = PacketByteBufs.create(); - public PacketBuilder(ByteBuf buf) { - // Read any data sent in the packet - message = buf.toString(StandardCharsets.UTF_8); - packetByteBuf.writeBytes(buf); - } - public PacketBuilder(String message) { - this.message = message; - packetByteBuf.writeBytes(ByteBuffer.wrap(message.getBytes(StandardCharsets.UTF_8)).array()); - } - public static Identifier getIdentifier() { - // only 1 packet rn - return new Identifier(Sit.MOD_ID, SETTINGS); - } - public void send() { - ClientPlayNetworking.send(getIdentifier(), packetByteBuf); - } - public String getMessage() { - return this.message; - } -} diff --git a/src/main/java/one/oth3r/sit/Sit.java b/src/main/java/one/oth3r/sit/Sit.java index 8b1f44a..7ba996d 100644 --- a/src/main/java/one/oth3r/sit/Sit.java +++ b/src/main/java/one/oth3r/sit/Sit.java @@ -5,12 +5,18 @@ import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.RegistryByteBuf; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.network.codec.PacketCodecs; +import net.minecraft.network.packet.CustomPayload; import net.minecraft.server.MinecraftServer; import net.minecraft.server.command.CommandManager; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.MutableText; import net.minecraft.text.Text; +import net.minecraft.util.Identifier; import one.oth3r.sit.file.Config; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,16 +41,22 @@ public class Sit implements ModInitializer { Config.load(); Events.register(); //PACKETS - ServerPlayNetworking.registerGlobalReceiver(PacketBuilder.getIdentifier(), - (server, player, handler, buf, responseSender) -> { - // copy to not throw errors - PacketBuilder packet = new PacketBuilder(buf.copy()); + PayloadTypeRegistry.playC2S().register(SettingsPayload.ID, SettingsPayload.CODEC); + ServerPlayNetworking.registerGlobalReceiver(SettingsPayload.ID,((payload, context) -> { server.execute(() -> { - Type hashMapToken = new TypeToken>() {}.getType(); - Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - playerSettings.put(player,gson.fromJson(packet.getMessage(),hashMapToken)); - }); - }); + Type hashMapToken = new TypeToken>() {}.getType(); + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + playerSettings.put(context.player(),gson.fromJson(payload.value,hashMapToken)); + }); + })); + } + public record SettingsPayload(String value) implements CustomPayload { + public static final CustomPayload.Id ID = new CustomPayload.Id<>(new Identifier(MOD_ID,"settings_v1.1")); + public static final PacketCodec CODEC = PacketCodecs.STRING.xmap(SettingsPayload::new, SettingsPayload::value).cast(); + @Override + public Id getId() { + return ID; + } } public static MutableText lang(String key, Object... args) { if (isClient) return Text.translatable(key, args); diff --git a/src/main/java/one/oth3r/sit/SitClient.java b/src/main/java/one/oth3r/sit/SitClient.java index d8285fb..555bd09 100644 --- a/src/main/java/one/oth3r/sit/SitClient.java +++ b/src/main/java/one/oth3r/sit/SitClient.java @@ -4,6 +4,8 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.network.packet.CustomPayload; public class SitClient implements ClientModInitializer { public static boolean inGame = false; @@ -13,13 +15,13 @@ public class SitClient implements ClientModInitializer { ClientPlayConnectionEvents.JOIN.register((handler, sender, client) -> { inGame = true; // send a data packet whenever joining a server - client.execute(SitClient::sendPackets); + ClientPlayNetworking.send(sendPackets()); }); // reset inGame ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> inGame = false); } - public static void sendPackets() { + public static CustomPayload sendPackets() { Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - new PacketBuilder(gson.toJson(Utl.HandSettings.getHandSettings())).send(); + return new Sit.SettingsPayload(gson.toJson(Utl.getHandSettings())); } } From 2e02d67c8e0409c4a63494065fdc5c4e858d1f9d Mon Sep 17 00:00:00 2001 From: Oth3r Date: Tue, 23 Apr 2024 11:05:28 -0500 Subject: [PATCH 2/7] updated packet system --- src/main/java/one/oth3r/sit/Sit.java | 30 ++++++------------- src/main/java/one/oth3r/sit/SitClient.java | 4 ++- .../one/oth3r/sit/packet/CustomPayloads.java | 27 +++++++++++++++++ 3 files changed, 39 insertions(+), 22 deletions(-) create mode 100644 src/main/java/one/oth3r/sit/packet/CustomPayloads.java diff --git a/src/main/java/one/oth3r/sit/Sit.java b/src/main/java/one/oth3r/sit/Sit.java index 7ba996d..268dfb1 100644 --- a/src/main/java/one/oth3r/sit/Sit.java +++ b/src/main/java/one/oth3r/sit/Sit.java @@ -7,17 +7,13 @@ import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.RegistryByteBuf; -import net.minecraft.network.codec.PacketCodec; -import net.minecraft.network.codec.PacketCodecs; -import net.minecraft.network.packet.CustomPayload; import net.minecraft.server.MinecraftServer; import net.minecraft.server.command.CommandManager; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.util.Identifier; import one.oth3r.sit.file.Config; +import one.oth3r.sit.packet.CustomPayloads; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,23 +37,15 @@ public class Sit implements ModInitializer { Config.load(); Events.register(); //PACKETS - PayloadTypeRegistry.playC2S().register(SettingsPayload.ID, SettingsPayload.CODEC); - ServerPlayNetworking.registerGlobalReceiver(SettingsPayload.ID,((payload, context) -> { - server.execute(() -> { - Type hashMapToken = new TypeToken>() {}.getType(); - Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - playerSettings.put(context.player(),gson.fromJson(payload.value,hashMapToken)); - }); - })); - } - public record SettingsPayload(String value) implements CustomPayload { - public static final CustomPayload.Id ID = new CustomPayload.Id<>(new Identifier(MOD_ID,"settings_v1.1")); - public static final PacketCodec CODEC = PacketCodecs.STRING.xmap(SettingsPayload::new, SettingsPayload::value).cast(); - @Override - public Id getId() { - return ID; - } + PayloadTypeRegistry.playC2S().register(CustomPayloads.SettingsPayload.ID, CustomPayloads.SettingsPayload.CODEC); + ServerPlayNetworking.registerGlobalReceiver(CustomPayloads.SettingsPayload.ID,((payload, context) -> server.execute(() -> { + Type hashMapToken = new TypeToken>() {}.getType(); + Gson gson = new GsonBuilder().disableHtmlEscaping().create(); + + playerSettings.put(context.player(),gson.fromJson(payload.value(),hashMapToken)); + }))); } + public static MutableText lang(String key, Object... args) { if (isClient) return Text.translatable(key, args); else return LangReader.of(key, args).getTxT(); diff --git a/src/main/java/one/oth3r/sit/SitClient.java b/src/main/java/one/oth3r/sit/SitClient.java index 555bd09..fe6dbb3 100644 --- a/src/main/java/one/oth3r/sit/SitClient.java +++ b/src/main/java/one/oth3r/sit/SitClient.java @@ -6,6 +6,7 @@ import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.minecraft.network.packet.CustomPayload; +import one.oth3r.sit.packet.CustomPayloads; public class SitClient implements ClientModInitializer { public static boolean inGame = false; @@ -20,8 +21,9 @@ public class SitClient implements ClientModInitializer { // reset inGame ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> inGame = false); } + public static CustomPayload sendPackets() { Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - return new Sit.SettingsPayload(gson.toJson(Utl.getHandSettings())); + return new CustomPayloads.SettingsPayload(gson.toJson(Utl.HandSettings.getHandSettings())); } } diff --git a/src/main/java/one/oth3r/sit/packet/CustomPayloads.java b/src/main/java/one/oth3r/sit/packet/CustomPayloads.java new file mode 100644 index 0000000..9d6a57d --- /dev/null +++ b/src/main/java/one/oth3r/sit/packet/CustomPayloads.java @@ -0,0 +1,27 @@ +package one.oth3r.sit.packet; + +import net.minecraft.network.RegistryByteBuf; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.network.codec.PacketCodecs; +import net.minecraft.network.packet.CustomPayload; +import net.minecraft.util.Identifier; +import one.oth3r.sit.Sit; + +public class CustomPayloads { + public record SettingsPayload(String value) implements CustomPayload { + + public static final Id ID = new Id<>(new Identifier(Sit.MOD_ID,"settings_v1.1")); + + public static final PacketCodec CODEC = PacketCodecs.STRING.xmap(SettingsPayload::new, SettingsPayload::value).cast(); + + @Override + public Id getId() { + return ID; + } + + @Override + public String value() { + return value; + } + } +} From 5a09a2f2f28fd426cc02a295ec00022962ab5872 Mon Sep 17 00:00:00 2001 From: Oth3r Date: Tue, 23 Apr 2024 11:05:48 -0500 Subject: [PATCH 3/7] loom update --- build.gradle | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 2901a9d..2543e1e 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.3-SNAPSHOT' + id 'fabric-loom' version '1.6-SNAPSHOT' id 'maven-publish' } @@ -13,6 +13,7 @@ base { repositories { maven { url "https://maven.terraformersmc.com/releases/" } maven { url "https://maven.isxander.dev/releases" } + maven { url "https://maven.isxander.dev/snapshots" } } dependencies { @@ -23,11 +24,7 @@ dependencies { modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}" - modImplementation ("dev.isxander.yacl:yet-another-config-lib-fabric:${project.yacl_version}") { - exclude(group: "org.quiltmc.parsers") - exclude(group: "com.twelvemonkeys.common") - exclude(group: "com.twelvemonkeys.imageio") - } + modImplementation ("dev.isxander.yacl:yet-another-config-lib-fabric:${project.yacl_version}") } processResources { From cb394643c3e74c093eab4040cb098011cc1fcfa4 Mon Sep 17 00:00:00 2001 From: Oth3r Date: Tue, 23 Apr 2024 11:06:08 -0500 Subject: [PATCH 4/7] 1.1.4+1.20.5 --- gradle.properties | 12 ++++++------ src/main/resources/fabric.mod.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8b56f95..de8769c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,16 +4,16 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.20.4 -yarn_mappings=1.20.4+build.1 -loader_version=0.15.0 +minecraft_version=1.20.5 +yarn_mappings=1.20.5+build.1 +loader_version=0.15.10 # Mod Properties -mod_version=1.1.4+1.20.2-1.20.4 +mod_version=1.1.4+1.20.5 maven_group=one.oth3r archives_base_name=sit! # Dependencies -fabric_version=0.91.1+1.20.4 -modmenu_version=9.0.0 +fabric_version=0.97.5+1.20.5 +modmenu_version=10.0.0-beta.1 yacl_version=3.3.2+1.20.4 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 773137f..163742d 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -27,7 +27,7 @@ }, "depends": { "fabricloader": ">=0.14.21", - "minecraft": ">=1.20.2 <=1.20.4", + "minecraft": ">=1.20.5 <=1.20.5", "java": ">=17", "fabric-api": "*" }, From 87e0b4f59f51f966f27964e2a1039f76eaa753ec Mon Sep 17 00:00:00 2001 From: Oth3r Date: Mon, 29 Apr 2024 11:45:34 -0500 Subject: [PATCH 5/7] new YACL detection --- build.gradle | 2 +- src/main/java/one/oth3r/sit/ModMenu.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 2543e1e..e496e54 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ dependencies { modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}" - modImplementation ("dev.isxander.yacl:yet-another-config-lib-fabric:${project.yacl_version}") + modImplementation ("dev.isxander:yet-another-config-lib:${project.yacl_version}") } processResources { diff --git a/src/main/java/one/oth3r/sit/ModMenu.java b/src/main/java/one/oth3r/sit/ModMenu.java index bba82ea..189c77f 100644 --- a/src/main/java/one/oth3r/sit/ModMenu.java +++ b/src/main/java/one/oth3r/sit/ModMenu.java @@ -207,7 +207,7 @@ public class ModMenu implements ModMenuApi { */ public static boolean yaclCheck() { try { - Class.forName("dev.isxander.yacl3.platform.fabric.YACLPlatformImpl"); + Class.forName("dev.isxander.yacl3.platform.Env"); return true; } catch (ClassNotFoundException e) { return false; From 126b018bf480a815b7d9a9c61bc1b27dae75278a Mon Sep 17 00:00:00 2001 From: Oth3r Date: Mon, 29 Apr 2024 11:46:02 -0500 Subject: [PATCH 6/7] 1.1.4+1.20.6 --- gradle.properties | 10 +++++----- src/main/resources/fabric.mod.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gradle.properties b/gradle.properties index de8769c..50f7cd1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,16 +4,16 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.20.5 -yarn_mappings=1.20.5+build.1 +minecraft_version=1.20.6 +yarn_mappings=1.20.6+build.1 loader_version=0.15.10 # Mod Properties -mod_version=1.1.4+1.20.5 +mod_version=1.1.4+1.20.6 maven_group=one.oth3r archives_base_name=sit! # Dependencies -fabric_version=0.97.5+1.20.5 +fabric_version=0.97.8+1.20.6 modmenu_version=10.0.0-beta.1 -yacl_version=3.3.2+1.20.4 +yacl_version=3.4.1+1.20.5-fabric diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 163742d..89b9ac9 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -27,7 +27,7 @@ }, "depends": { "fabricloader": ">=0.14.21", - "minecraft": ">=1.20.5 <=1.20.5", + "minecraft": ">=1.20.6 <=1.20.6", "java": ">=17", "fabric-api": "*" }, From 13202a6ac0b59bead9c3b3d6d811313f5c57a542 Mon Sep 17 00:00:00 2001 From: Oth3r Date: Mon, 29 Apr 2024 11:52:18 -0500 Subject: [PATCH 7/7] 1.1.5+1.20.6 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 50f7cd1..63e430d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ yarn_mappings=1.20.6+build.1 loader_version=0.15.10 # Mod Properties -mod_version=1.1.4+1.20.6 +mod_version=1.1.5+1.20.6 maven_group=one.oth3r archives_base_name=sit!