try to fix server side crashes (again)
This commit is contained in:
+1
-1
@@ -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")
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<NetworkEvent.Context> ctx) {
|
||||
ctx.get().enqueueWork(() -> {
|
||||
Minecraft.getInstance().setScreen(new ShrineScreen(true));
|
||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> ClientPacketHandlers.openShrineScreen(true));
|
||||
});
|
||||
ctx.get().setPacketHandled(true);
|
||||
}
|
||||
|
||||
@@ -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<NetworkEvent.Context> 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);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user