diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinGameModeSelectionScreen.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinGameModeSelectionScreen.java index a5954afc..34185a65 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinGameModeSelectionScreen.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinGameModeSelectionScreen.java @@ -51,11 +51,13 @@ public abstract class MixinGameModeSelectionScreen extends Screen { @Inject(method = "", at = @At("RETURN")) private void fixUIWidth(CallbackInfo ci) { - if (ProtocolHack.getTargetVersion().isOlderThan(VersionEnum.r1_8)) { + if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_7_6tor1_7_10)) { final List gameModeSelections = new ArrayList<>(Arrays.stream(GameModeSelectionScreen.GameModeSelection.values()).toList()); - if (ProtocolHack.getTargetVersion().isOlderThan(VersionEnum.r1_3_1tor1_3_2)) gameModeSelections.remove(GameModeSelectionScreen.GameModeSelection.ADVENTURE); - if (ProtocolHack.getTargetVersion().isOlderThan(VersionEnum.r1_8)) gameModeSelections.remove(GameModeSelectionScreen.GameModeSelection.SPECTATOR); + gameModeSelections.remove(GameModeSelectionScreen.GameModeSelection.SPECTATOR); + if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_2_4tor1_2_5)) { + gameModeSelections.remove(GameModeSelectionScreen.GameModeSelection.ADVENTURE); + } viaFabricPlus$unwrappedGameModes = gameModeSelections.toArray(GameModeSelectionScreen.GameModeSelection[]::new); UI_WIDTH = viaFabricPlus$unwrappedGameModes.length * 31 - 5; @@ -64,7 +66,7 @@ public abstract class MixinGameModeSelectionScreen extends Screen { @Redirect(method = "init", at = @At(value = "FIELD", target = "Lnet/minecraft/client/gui/screen/GameModeSelectionScreen$GameModeSelection;VALUES:[Lnet/minecraft/client/gui/screen/GameModeSelectionScreen$GameModeSelection;")) private GameModeSelectionScreen.GameModeSelection[] removeNewerGameModes() { - if (ProtocolHack.getTargetVersion().isOlderThan(VersionEnum.r1_8)) { + if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_7_6tor1_7_10)) { return viaFabricPlus$unwrappedGameModes; } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinGameModeSelectionScreen_GameModeSelection.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinGameModeSelectionScreen_GameModeSelection.java index cffb5f65..fb2e4b41 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinGameModeSelectionScreen_GameModeSelection.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/screen/MixinGameModeSelectionScreen_GameModeSelection.java @@ -45,18 +45,18 @@ public abstract class MixinGameModeSelectionScreen_GameModeSelection { public static GameModeSelectionScreen.GameModeSelection CREATIVE; @Inject(method = "next", at = @At("HEAD"), cancellable = true) - private void unwrapGameModes(CallbackInfoReturnable> cir) { - if (ProtocolHack.getTargetVersion().isOlderThan(VersionEnum.r1_8)) { + private void unwrapGameModes(CallbackInfoReturnable cir) { + if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_7_6tor1_7_10)) { switch ((GameModeSelectionScreen.GameModeSelection) (Object) this) { - case CREATIVE -> cir.setReturnValue(Optional.of(SURVIVAL)); + case CREATIVE -> cir.setReturnValue(SURVIVAL); case SURVIVAL -> { - if (ProtocolHack.getTargetVersion().isOlderThan(VersionEnum.r1_2_4tor1_2_5)) { - cir.setReturnValue(Optional.of(CREATIVE)); + if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_2_4tor1_2_5)) { + cir.setReturnValue(CREATIVE); } else { - cir.setReturnValue(Optional.of(GameModeSelectionScreen.GameModeSelection.ADVENTURE)); + cir.setReturnValue(GameModeSelectionScreen.GameModeSelection.ADVENTURE); } } - case ADVENTURE -> cir.setReturnValue(Optional.of(CREATIVE)); + case ADVENTURE -> cir.setReturnValue(CREATIVE); } } }