diff --git a/build.gradle b/build.gradle index 47de737..3371bce 100644 --- a/build.gradle +++ b/build.gradle @@ -135,7 +135,7 @@ repositories { dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" - implementation fg.deobf("net.fretux.mindmotion:mindmotion:1.2.3") + implementation fg.deobf("net.fretux.mindmotion:mindmotion:1.3.1") // Iron's Spellbooks API only compileOnly fg.deobf("io.redspace.ironsspellbooks:irons_spellbooks:${irons_spells_version}:api") diff --git a/src/main/java/net/fretux/ascend/block/ShrineOfRemembranceBlock.java b/src/main/java/net/fretux/ascend/block/ShrineOfRemembranceBlock.java index 9f7b31e..9331ecb 100644 --- a/src/main/java/net/fretux/ascend/block/ShrineOfRemembranceBlock.java +++ b/src/main/java/net/fretux/ascend/block/ShrineOfRemembranceBlock.java @@ -1,5 +1,6 @@ package net.fretux.ascend.block; +import net.fretux.ascend.client.ClientPacketHandlers; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -8,6 +9,8 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.state.BlockState; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.fml.DistExecutor; public class ShrineOfRemembranceBlock extends Block { public ShrineOfRemembranceBlock(Properties props) { @@ -24,7 +27,7 @@ public class ShrineOfRemembranceBlock extends Block { Player player, InteractionHand hand, net.minecraft.world.phys.BlockHitResult hit) { if (level.isClientSide) { - net.minecraft.client.Minecraft.getInstance().setScreen(new net.fretux.ascend.client.screen.ShrineScreen()); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> ClientPacketHandlers.openShrineScreen(false)); return InteractionResult.SUCCESS; } return InteractionResult.CONSUME; diff --git a/src/main/java/net/fretux/ascend/network/ClientboundOpenEssenceScreenPacket.java b/src/main/java/net/fretux/ascend/network/ClientboundOpenEssenceScreenPacket.java index 36593b1..05ddfcb 100644 --- a/src/main/java/net/fretux/ascend/network/ClientboundOpenEssenceScreenPacket.java +++ b/src/main/java/net/fretux/ascend/network/ClientboundOpenEssenceScreenPacket.java @@ -1,7 +1,8 @@ package net.fretux.ascend.network; -import net.fretux.ascend.client.screen.ShrineScreen; -import net.minecraft.client.Minecraft; +import net.fretux.ascend.client.ClientPacketHandlers; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.network.NetworkEvent; import java.util.function.Supplier; @@ -11,7 +12,7 @@ public class ClientboundOpenEssenceScreenPacket { public static void handle(ClientboundOpenEssenceScreenPacket msg, Supplier ctx) { ctx.get().enqueueWork(() -> { - Minecraft.getInstance().setScreen(new ShrineScreen(true)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> ClientPacketHandlers.openShrineScreen(true)); }); ctx.get().setPacketHandled(true); } diff --git a/src/main/java/net/fretux/ascend/network/ClientboundSyncStatsPacket.java b/src/main/java/net/fretux/ascend/network/ClientboundSyncStatsPacket.java index 0fd8f5f..63c898a 100644 --- a/src/main/java/net/fretux/ascend/network/ClientboundSyncStatsPacket.java +++ b/src/main/java/net/fretux/ascend/network/ClientboundSyncStatsPacket.java @@ -1,10 +1,12 @@ package net.fretux.ascend.network; +import net.fretux.ascend.client.ClientPacketHandlers; import net.fretux.ascend.player.PlayerStatsProvider; import net.fretux.ascend.player.StatEffects; -import net.minecraft.client.Minecraft; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.network.NetworkEvent; import java.util.function.Supplier; @@ -25,17 +27,8 @@ public class ClientboundSyncStatsPacket { } public void handle(Supplier ctx) { - System.out.println("[SERVER] Spend packet handle() called"); ctx.get().enqueueWork(() -> { - Minecraft mc = Minecraft.getInstance(); - var player = mc.player; - if (player != null) { - mc.player.getCapability(PlayerStatsProvider.PLAYER_STATS).ifPresent(stats -> { - stats.deserializeNBT(data); - StatEffects.applyAll(mc.player); - stats.deserializeNBT(data); - }); - } + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> ClientPacketHandlers.syncStats(data)); ctx.get().setPacketHandled(true); }); }