diff --git a/station-gui-api-v0/src/main/java/net/modificationstation/stationapi/mixin/gui/PlayerEntityMixin.java b/station-gui-api-v0/src/main/java/net/modificationstation/stationapi/mixin/gui/PlayerEntityMixin.java new file mode 100644 index 000000000..aa83d4ad2 --- /dev/null +++ b/station-gui-api-v0/src/main/java/net/modificationstation/stationapi/mixin/gui/PlayerEntityMixin.java @@ -0,0 +1,17 @@ +package net.modificationstation.stationapi.mixin.gui; + +import net.minecraft.entity.player.PlayerEntity; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(PlayerEntity.class) +public class PlayerEntityMixin { + + @Inject(method = "closeHandledScreen", at = @At("HEAD"), cancellable = true) + private void stationapi_fixPrematureScreenHandlerReset(CallbackInfo ci) { + ci.cancel(); + } + +} diff --git a/station-gui-api-v0/src/main/resources/station-gui-api-v0.mixins.json b/station-gui-api-v0/src/main/resources/station-gui-api-v0.mixins.json index 10e7e8bcf..298fb384c 100644 --- a/station-gui-api-v0/src/main/resources/station-gui-api-v0.mixins.json +++ b/station-gui-api-v0/src/main/resources/station-gui-api-v0.mixins.json @@ -6,6 +6,7 @@ "mixins": [ ], "client": [ + "PlayerEntityMixin", "client.ScreenAccessor", "client.SelectWorldScreenMixin" ],