From 2e14403f93a3546ebd888a4d7bbdabbb3b0e5425 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 22 Sep 2022 12:13:36 +0200 Subject: [PATCH] Fixed server crash. Fixes #61 --- .../unicopia/network/MsgServerResources.java | 6 +----- .../unicopia/network/handler/ClientNetworkHandler.java | 7 +++++++ .../unicopia/network/handler/ClientNetworkHandlerImpl.java | 6 ++++++ src/main/resources/unicopia.mixin.json | 4 ++-- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/network/MsgServerResources.java b/src/main/java/com/minelittlepony/unicopia/network/MsgServerResources.java index 7934abae..b7418f2d 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/MsgServerResources.java +++ b/src/main/java/com/minelittlepony/unicopia/network/MsgServerResources.java @@ -5,12 +5,9 @@ import java.util.*; import com.minelittlepony.unicopia.InteractionManager; import com.minelittlepony.unicopia.ability.data.tree.TreeTypeLoader; import com.minelittlepony.unicopia.ability.magic.spell.trait.SpellTraits; -import com.minelittlepony.unicopia.client.gui.spellbook.ClientChapters; import com.minelittlepony.unicopia.container.SpellbookChapterLoader; import com.minelittlepony.unicopia.util.network.Packet; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; import net.minecraft.util.Identifier; @@ -26,10 +23,9 @@ public class MsgServerResources implements Packet { treeTypes = TreeTypeLoader.INSTANCE.getEntries(); } - @Environment(EnvType.CLIENT) public MsgServerResources(PacketByteBuf buffer) { traits = buffer.readMap(PacketByteBuf::readIdentifier, SpellTraits::fromPacket); - chapters = buffer.readMap(PacketByteBuf::readIdentifier, ClientChapters::loadChapter); + chapters = InteractionManager.instance().getClientNetworkHandler().readChapters(buffer); treeTypes = buffer.readMap(PacketByteBuf::readIdentifier, TreeTypeLoader.TreeTypeDef::new); } diff --git a/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandler.java b/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandler.java index d4c3cda2..da3cedcf 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandler.java +++ b/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandler.java @@ -1,7 +1,12 @@ package com.minelittlepony.unicopia.network.handler; +import java.util.Map; + import com.minelittlepony.unicopia.network.*; +import net.minecraft.network.PacketByteBuf; +import net.minecraft.util.Identifier; + public interface ClientNetworkHandler { void handleTribeScreen(MsgTribeSelect packet); @@ -15,4 +20,6 @@ public interface ClientNetworkHandler { void handleUnlockTraits(MsgUnlockTraits packet); void handleServerResources(MsgServerResources packet); + + Map readChapters(PacketByteBuf buf); } diff --git a/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandlerImpl.java b/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandlerImpl.java index 939a11b3..57c90515 100644 --- a/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandlerImpl.java +++ b/src/main/java/com/minelittlepony/unicopia/network/handler/ClientNetworkHandlerImpl.java @@ -20,6 +20,7 @@ import com.minelittlepony.unicopia.network.*; import net.minecraft.client.MinecraftClient; import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.Entity; +import net.minecraft.network.PacketByteBuf; import net.minecraft.util.Identifier; public class ClientNetworkHandlerImpl implements ClientNetworkHandler { @@ -78,6 +79,11 @@ public class ClientNetworkHandlerImpl implements ClientNetworkHandler { } } + @Override + public Map readChapters(PacketByteBuf buffer) { + return buffer.readMap(PacketByteBuf::readIdentifier, ClientChapters::loadChapter); + } + @SuppressWarnings("unchecked") @Override public void handleServerResources(MsgServerResources packet) { diff --git a/src/main/resources/unicopia.mixin.json b/src/main/resources/unicopia.mixin.json index 552c8bd8..7925c67b 100644 --- a/src/main/resources/unicopia.mixin.json +++ b/src/main/resources/unicopia.mixin.json @@ -35,7 +35,6 @@ "MixinWorld", "MixinWorldChunk", "trinkets.MixinTrinketSurvivalSlot", - "trinkets.MixinTrinketCreativeSlot", "trinkets.MixinTrinketItem", "trinkets.MixinTrinketInventory", "trinkets.MixinScreenHandler" @@ -57,7 +56,8 @@ "client.MixinPlayerEntityRenderer", "client.MixinTooltipComponent", "client.MixinWorldRenderer", - "client.sodium.MixinSodiumWorldRenderer" + "client.sodium.MixinSodiumWorldRenderer", + "trinkets.MixinTrinketCreativeSlot" ], "injectors": { "defaultRequire": 1