aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-10-23 19:24:20 +0800
committershedaniel <daniel@shedaniel.me>2021-10-23 19:28:32 +0800
commit1f3c9837e3c3e7e2cae805aeb7e839db5c52fb1c (patch)
treea6394342faf80439d06f7fcda834127de795306b
parent1eed4cdcea68a9b305120b51390a18868c550ef2 (diff)
downloadRoughlyEnoughItems-1f3c9837e3c3e7e2cae805aeb7e839db5c52fb1c.tar.gz
RoughlyEnoughItems-1f3c9837e3c3e7e2cae805aeb7e839db5c52fb1c.tar.bz2
RoughlyEnoughItems-1f3c9837e3c3e7e2cae805aeb7e839db5c52fb1c.zip
Fix #640
-rw-r--r--fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java11
-rw-r--r--gradle.properties2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java11
3 files changed, 19 insertions, 5 deletions
diff --git a/fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java b/fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java
index 47f671dc0..6c02624ac 100644
--- a/fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java
+++ b/fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java
@@ -28,6 +28,7 @@ import me.shedaniel.rei.RoughlyEnoughItemsState;
import net.fabricmc.api.EnvType;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.SemanticVersion;
+import net.fabricmc.loader.api.Version;
import net.fabricmc.loader.api.VersionParsingException;
public class RoughlyEnoughItemsInitializerImpl {
@@ -59,6 +60,16 @@ public class RoughlyEnoughItemsInitializerImpl {
}
if (!FabricLoader.getInstance().isModLoaded("architectury")) {
RoughlyEnoughItemsState.error("Architectury API is not installed!", "https://www.curseforge.com/minecraft/mc-mods/architectury-fabric/files/all");
+ } else {
+ Version version = FabricLoader.getInstance().getModContainer("architectury").get().getMetadata().getVersion();
+
+ try {
+ if (version instanceof SemanticVersion && SemanticVersion.parse("2.6.0").compareTo((SemanticVersion) version) > 0) {
+ RoughlyEnoughItemsState.error("Architectury API is too old, please update!", "https://www.curseforge.com/minecraft/mc-mods/architectury-fabric/files/all");
+ }
+ } catch (VersionParsingException e) {
+ e.printStackTrace();
+ }
}
if (isClient()) {
try {
diff --git a/gradle.properties b/gradle.properties
index bf0e018fd..8a60c4393 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -9,6 +9,6 @@ fabricloader_version=0.11.6
cloth_config_version=5.0.37
modmenu_version=2.0.2
fabric_api=0.40.8+1.17
-architectury_version=2.5.32
+architectury_version=2.6.35
api_exculde=
#api_include=me.shedaniel.cloth:cloth-events,me.shedaniel.cloth:config-2,me.sargunvohra.mcmods:autoconfig1u,org.jetbrains:annotations,net.fabricmc.fabric-api:fabric
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
index 8973e6a51..545cdda1e 100644
--- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
+++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
@@ -24,6 +24,7 @@
package me.shedaniel.rei;
import dev.architectury.networking.NetworkManager;
+import dev.architectury.networking.transformers.SplitPacketTransformer;
import io.netty.buffer.Unpooled;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.display.Display;
@@ -41,6 +42,8 @@ import net.minecraft.world.inventory.InventoryMenu;
import net.minecraft.world.inventory.RecipeBookMenu;
import net.minecraft.world.item.ItemStack;
+import java.util.Collections;
+
public class RoughlyEnoughItemsNetwork {
public static final ResourceLocation DELETE_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "delete_item");
public static final ResourceLocation CREATE_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "create_item");
@@ -50,7 +53,7 @@ public class RoughlyEnoughItemsNetwork {
public static final ResourceLocation NOT_ENOUGH_ITEMS_PACKET = new ResourceLocation("roughlyenoughitems", "og_not_enough");
public static void onInitialize() {
- NetworkManager.registerReceiver(NetworkManager.c2s(), DELETE_ITEMS_PACKET, (buf, context) -> {
+ NetworkManager.registerReceiver(NetworkManager.c2s(), DELETE_ITEMS_PACKET, Collections.singletonList(new SplitPacketTransformer()), (buf, context) -> {
ServerPlayer player = (ServerPlayer) context.getPlayer();
if (player.getServer().getProfilePermissions(player.getGameProfile()) < player.getServer().getOperatorUserPermissionLevel()) {
player.displayClientMessage(new TranslatableComponent("text.rei.no_permission_cheat").withStyle(ChatFormatting.RED), false);
@@ -62,7 +65,7 @@ public class RoughlyEnoughItemsNetwork {
menu.broadcastChanges();
}
});
- NetworkManager.registerReceiver(NetworkManager.c2s(), CREATE_ITEMS_PACKET, (buf, context) -> {
+ NetworkManager.registerReceiver(NetworkManager.c2s(), CREATE_ITEMS_PACKET, Collections.singletonList(new SplitPacketTransformer()), (buf, context) -> {
ServerPlayer player = (ServerPlayer) context.getPlayer();
if (player.getServer().getProfilePermissions(player.getGameProfile()) < player.getServer().getOperatorUserPermissionLevel()) {
player.displayClientMessage(new TranslatableComponent("text.rei.no_permission_cheat").withStyle(ChatFormatting.RED), false);
@@ -75,7 +78,7 @@ public class RoughlyEnoughItemsNetwork {
player.displayClientMessage(new TranslatableComponent("text.rei.failed_cheat_items"), false);
}
});
- NetworkManager.registerReceiver(NetworkManager.c2s(), CREATE_ITEMS_GRAB_PACKET, (buf, context) -> {
+ NetworkManager.registerReceiver(NetworkManager.c2s(), CREATE_ITEMS_GRAB_PACKET, Collections.singletonList(new SplitPacketTransformer()), (buf, context) -> {
ServerPlayer player = (ServerPlayer) context.getPlayer();
if (player.getServer().getProfilePermissions(player.getGameProfile()) < player.getServer().getOperatorUserPermissionLevel()) {
player.displayClientMessage(new TranslatableComponent("text.rei.no_permission_cheat").withStyle(ChatFormatting.RED), false);
@@ -94,7 +97,7 @@ public class RoughlyEnoughItemsNetwork {
menu.broadcastChanges();
NetworkManager.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, new FriendlyByteBuf(Unpooled.buffer()).writeItem(itemStack.copy()).writeUtf(player.getScoreboardName(), 32767));
});
- NetworkManager.registerReceiver(NetworkManager.c2s(), MOVE_ITEMS_PACKET, (packetByteBuf, context) -> {
+ NetworkManager.registerReceiver(NetworkManager.c2s(), MOVE_ITEMS_PACKET, Collections.singletonList(new SplitPacketTransformer()), (packetByteBuf, context) -> {
ServerPlayer player = (ServerPlayer) context.getPlayer();
CategoryIdentifier<Display> category = CategoryIdentifier.of(packetByteBuf.readResourceLocation());
AbstractContainerMenu container = player.containerMenu;