From 59e850589db5f6fa499df49d50e53124f88f0052 Mon Sep 17 00:00:00 2001 From: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com> Date: Wed, 17 May 2023 17:05:46 +0200 Subject: [PATCH] Updated to 1.20-pre2 --- README.md | 2 +- gradle.properties | 8 ++++---- .../mixin/fixes/minecraft/block/MixinAnvilBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinBedBlock.java | 4 +++- .../fixes/minecraft/block/MixinBrewingStandBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinCauldronBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinChestBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinEndPortalBlock.java | 2 +- .../fixes/minecraft/block/MixinEndPortalFrameBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinFarmlandBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinFenceBlock.java | 5 +++-- .../mixin/fixes/minecraft/block/MixinFireBlock.java | 3 +++ .../mixin/fixes/minecraft/block/MixinHopperBlock.java | 5 +++-- .../mixin/fixes/minecraft/block/MixinLadderBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinLilyPadBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinPaneBlock.java | 5 +++-- .../mixin/fixes/minecraft/block/MixinPistonHeadBlock.java | 5 +++++ .../mixin/fixes/minecraft/block/MixinSnowBlock.java | 3 ++- .../mixin/fixes/minecraft/block/MixinWallBlock.java | 5 +++-- .../mixin/fixes/minecraft/item/MixinItemStack.java | 3 ++- .../mixin/fixes/viaversion/MixinProtocolVersion.java | 2 +- .../viafabricplus/mappings/PackFormatsMappings.java | 2 +- 22 files changed, 51 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index c38d701c..e4e6bba5 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ # Why another protocol translator? ViaFabricPlus is intended to replace [multiconnect](https://github.com/Earthcomputer/multiconnect), and it also promises more compactness and stability. ViaFabricPlus can do everything multiconnect could do, but supports more Minecraft versions (listed below) and has more protocol changes implemented. ### Supported Server versions -- Release (1.0.0 - 1.20 [1.20-pre1]) +- Release (1.0.0 - 1.20 [1.20-pre2]) - Beta (b1.0 - b1.8.1) - Alpha (a1.0.15 - a1.2.6) - Classic (c0.0.15 - c0.30 including [CPE](https://wiki.vg/Classic_Protocol_Extension)) diff --git a/gradle.properties b/gradle.properties index ceff3b84..1dc3add4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,10 @@ org.gradle.jvmargs=-Xmx8G org.gradle.parallel=true # minecraft and fabric -minecraft_version=23w18a -yarn_mappings=23w18a+build.4 +minecraft_version=1.20-pre2 +yarn_mappings=1.20-pre2+build.1 loader_version=0.14.19 -fabric_api_version=0.80.1+1.20 +fabric_api_version=0.81.2+1.20 # viafabricplus mod_version=2.7.2 @@ -19,7 +19,7 @@ raknet_transport_version=1.0.0.CR1-SNAPSHOT classic4j_version=1.2.0 # viaversion (and required) libs -viaversion_version=4.7.0-1.20-pre1-SNAPSHOT +viaversion_version=4.7.0-1.20-pre2-SNAPSHOT viabackwards_version=4.7.0-1.20-pre1-SNAPSHOT snake_yml_version=2.0 diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinAnvilBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinAnvilBlock.java index 098f93e8..cc231150 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinAnvilBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinAnvilBlock.java @@ -23,6 +23,7 @@ import net.minecraft.block.AnvilBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; +import net.minecraft.client.MinecraftClient; import net.minecraft.state.property.DirectionProperty; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; @@ -51,7 +52,7 @@ public class MixinAnvilBlock { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { cir.setReturnValue(state.get(FACING).getAxis() == Direction.Axis.X ? viafabricplus_x_axis_shape_v1_12_2 : viafabricplus_z_axis_shape_v1_12_2); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinBedBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinBedBlock.java index 3be0c73e..be68c7b6 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinBedBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinBedBlock.java @@ -19,10 +19,12 @@ package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.block; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; +import de.florianmichael.vialoadingbase.ViaLoadingBase; import net.minecraft.block.BedBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; +import net.minecraft.client.MinecraftClient; import net.minecraft.entity.Entity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; @@ -49,7 +51,7 @@ public class MixinBedBlock { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_13_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_13_2)) { cir.setReturnValue(viafabricplus_bed_shape_v1_13_2); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinBrewingStandBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinBrewingStandBlock.java index 78dc0bc2..1cc853f8 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinBrewingStandBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinBrewingStandBlock.java @@ -23,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.BrewingStandBlock; import net.minecraft.block.ShapeContext; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -44,7 +45,7 @@ public class MixinBrewingStandBlock { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { cir.setReturnValue(viafabricplus_base_shape_v1_12_2); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinCauldronBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinCauldronBlock.java index 77a26d59..0335d6a4 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinCauldronBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinCauldronBlock.java @@ -21,6 +21,7 @@ import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import net.minecraft.block.*; import net.minecraft.block.cauldron.CauldronBehavior; +import net.minecraft.client.MinecraftClient; import net.minecraft.item.Item; import net.minecraft.util.function.BooleanBiFunction; import net.minecraft.util.math.BlockPos; @@ -48,7 +49,7 @@ public abstract class MixinCauldronBlock extends AbstractCauldronBlock { @Override public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { return viafabricplus_cauldron_shape_v1_12_2; } return super.getOutlineShape(state, world, pos, context); diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinChestBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinChestBlock.java index 701e003a..8329808e 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinChestBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinChestBlock.java @@ -21,6 +21,7 @@ import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import net.minecraft.block.*; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.block.entity.ChestBlockEntity; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -39,7 +40,7 @@ public abstract class MixinChestBlock extends AbstractChestBlock cir) { - if (MinecraftClient.getInstance() == null || MinecraftClient.getInstance().world == null) return; + if (MinecraftClient.getInstance() == null) return; if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { cir.setReturnValue(viafabricplus_shape_v1_8_x); diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinEndPortalFrameBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinEndPortalFrameBlock.java index 8528bdbe..8074ad59 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinEndPortalFrameBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinEndPortalFrameBlock.java @@ -21,6 +21,7 @@ import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import net.minecraft.block.Block; import net.minecraft.block.EndPortalFrameBlock; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; import org.spongepowered.asm.mixin.Final; @@ -44,7 +45,7 @@ public class MixinEndPortalFrameBlock { @Redirect(method = "getOutlineShape", at = @At(value = "FIELD", target = "Lnet/minecraft/block/EndPortalFrameBlock;FRAME_WITH_EYE_SHAPE:Lnet/minecraft/util/shape/VoxelShape;")) public VoxelShape redirectGetOutlineShape() { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { return VoxelShapes.union(FRAME_SHAPE, viafabricplus_eye_shape_v1_12_2); } return FRAME_WITH_EYE_SHAPE; diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFarmlandBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFarmlandBlock.java index 4b8a3fd5..2627c6b8 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFarmlandBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFarmlandBlock.java @@ -23,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.FarmlandBlock; import net.minecraft.block.ShapeContext; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -50,7 +51,7 @@ public class MixinFarmlandBlock extends Block { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_9_3)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_9_3)) { cir.setReturnValue(viafabricplus_shape_v1_9_4); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFenceBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFenceBlock.java index c23cab58..916b06da 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFenceBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFenceBlock.java @@ -20,6 +20,7 @@ package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.block; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import net.minecraft.block.*; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; @@ -51,7 +52,7 @@ public class MixinFenceBlock extends HorizontalConnectingBlock { @Override public VoxelShape getCollisionShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(LegacyProtocolVersion.b1_8tob1_8_1)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(LegacyProtocolVersion.b1_8tob1_8_1)) { return viafabricplus_fence_shape_b1_8_1; } return super.getCollisionShape(state, world, pos, context); @@ -59,7 +60,7 @@ public class MixinFenceBlock extends HorizontalConnectingBlock { @Override public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(LegacyProtocolVersion.b1_8tob1_8_1)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(LegacyProtocolVersion.b1_8tob1_8_1)) { return VoxelShapes.fullCube(); } return super.getOutlineShape(state, world, pos, context); diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFireBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFireBlock.java index 8eeed35b..8b14d00d 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFireBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinFireBlock.java @@ -19,6 +19,7 @@ package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.block; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; +import de.florianmichael.vialoadingbase.ViaLoadingBase; import net.minecraft.block.BlockState; import net.minecraft.block.FireBlock; import net.minecraft.block.ShapeContext; @@ -36,6 +37,8 @@ public class MixinFireBlock { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { + if (ViaLoadingBase.getInstance().getTargetVersion() == null) return; + if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_15_2)) { cir.setReturnValue(VoxelShapes.empty()); } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinHopperBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinHopperBlock.java index 51db70a0..88f62f87 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinHopperBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinHopperBlock.java @@ -23,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.HopperBlock; import net.minecraft.block.ShapeContext; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.function.BooleanBiFunction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; @@ -48,14 +49,14 @@ public class MixinHopperBlock { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { cir.setReturnValue(viafabricplus_hopper_shape_v1_12_2); } } @Inject(method = "getRaycastShape", at = @At("HEAD"), cancellable = true) public void injectGetRaycastShape(BlockState state, BlockView world, BlockPos pos, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { cir.setReturnValue(viafabricplus_inside_shape_v1_12_2); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinLadderBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinLadderBlock.java index 32d215dc..7048eab1 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinLadderBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinLadderBlock.java @@ -23,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.LadderBlock; import net.minecraft.block.ShapeContext; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; import net.minecraft.world.BlockView; @@ -49,7 +50,7 @@ public class MixinLadderBlock { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) private void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable ci) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { switch (state.get(LadderBlock.FACING)) { case NORTH -> ci.setReturnValue(viafabricplus_north_shape_v1_8_x); case SOUTH -> ci.setReturnValue(viafabricplus_south_shape_v1_8_x); diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinLilyPadBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinLilyPadBlock.java index ebde95a8..d3f9ff62 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinLilyPadBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinLilyPadBlock.java @@ -23,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.LilyPadBlock; import net.minecraft.block.ShapeContext; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; import net.minecraft.world.BlockView; @@ -40,7 +41,7 @@ public class MixinLilyPadBlock { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void changeBoundingBox(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { cir.setReturnValue(viafabricplus_shape_v1_8_x); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinPaneBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinPaneBlock.java index 49b67d3b..8a0a0377 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinPaneBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinPaneBlock.java @@ -20,6 +20,7 @@ package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.block; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import net.minecraft.block.*; +import net.minecraft.client.MinecraftClient; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; @@ -36,7 +37,7 @@ public class MixinPaneBlock extends HorizontalConnectingBlock { @Override public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { return viafabricplus_get1_8Shape(state); } return super.getOutlineShape(state, world, pos, context); @@ -44,7 +45,7 @@ public class MixinPaneBlock extends HorizontalConnectingBlock { @Override public VoxelShape getCollisionShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { return viafabricplus_get1_8Shape(state); } return super.getCollisionShape(state, world, pos, context); diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinPistonHeadBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinPistonHeadBlock.java index a0e11359..0a48e60f 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinPistonHeadBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinPistonHeadBlock.java @@ -19,6 +19,7 @@ package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.block; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; +import de.florianmichael.vialoadingbase.ViaLoadingBase; import net.minecraft.block.*; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; @@ -40,6 +41,8 @@ public class MixinPistonHeadBlock extends FacingBlock { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { + if (ViaLoadingBase.getInstance().getTargetVersion() == null) return; + if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { cir.setReturnValue(viafabricplus_getCoreShape_v1_8_x(state)); } @@ -47,6 +50,8 @@ public class MixinPistonHeadBlock extends FacingBlock { @Override public VoxelShape getCollisionShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + if (ViaLoadingBase.getInstance().getTargetVersion() == null) return super.getCollisionShape(state, world, pos, context); + if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_8)) { return VoxelShapes.union(viafabricplus_getHeadShape_v1_8_x(state), viafabricplus_getCoreShape_v1_8_x(state)); } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinSnowBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinSnowBlock.java index 0e9183bb..5ce7816b 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinSnowBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinSnowBlock.java @@ -23,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; import net.minecraft.block.SnowBlock; +import net.minecraft.client.MinecraftClient; import net.minecraft.state.property.IntProperty; import net.minecraft.util.math.BlockPos; import net.minecraft.util.shape.VoxelShape; @@ -56,7 +57,7 @@ public class MixinSnowBlock { @Inject(method = "getCollisionShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { cir.setReturnValue(viafabricplus_layers_to_shape_v1_12_2[state.get(LAYERS) - 1]); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinWallBlock.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinWallBlock.java index 919bbed0..5c9b0846 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinWallBlock.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/block/MixinWallBlock.java @@ -24,6 +24,7 @@ import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; import net.minecraft.block.WallBlock; import net.minecraft.block.enums.WallShape; +import net.minecraft.client.MinecraftClient; import net.minecraft.item.ItemPlacementContext; import net.minecraft.state.property.EnumProperty; import net.minecraft.util.math.BlockPos; @@ -164,7 +165,7 @@ public class MixinWallBlock extends Block { @Inject(method = "getCollisionShape", at = @At("HEAD"), cancellable = true) public void injectGetCollisionShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { cir.setReturnValue(viafabricplus_cip_shape_by_index_v1_12_2[viafabricplus_getShapeIndex_v1_12_2(state)]); } } @@ -176,7 +177,7 @@ public class MixinWallBlock extends Block { @Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true) public void injectGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_12_2)) { cir.setReturnValue(viafabricplus_shape_by_index_v1_12_2[viafabricplus_getShapeIndex_v1_12_2(state)]); } } diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemStack.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemStack.java index 697efa2b..dc686743 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemStack.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/minecraft/item/MixinItemStack.java @@ -23,6 +23,7 @@ import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import de.florianmichael.viafabricplus.base.settings.groups.DebugSettings; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import net.minecraft.block.BlockState; +import net.minecraft.client.MinecraftClient; import net.minecraft.entity.attribute.EntityAttribute; import net.minecraft.entity.attribute.EntityAttributeModifier; import net.minecraft.entity.attribute.EntityAttributes; @@ -50,7 +51,7 @@ public abstract class MixinItemStack { @Inject(method = "isEmpty", at = @At("HEAD"), cancellable = true) public void dontRecalculateState(CallbackInfoReturnable cir) { - if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_10)) { + if (MinecraftClient.getInstance() != null && ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_10)) { final ItemStack self = (ItemStack) (Object) this; cir.setReturnValue(self == EMPTY || this.item == null || this.item == Items.AIR || count == 0); diff --git a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinProtocolVersion.java b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinProtocolVersion.java index 9f14ccb8..66375fbc 100644 --- a/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinProtocolVersion.java +++ b/src/main/java/de/florianmichael/viafabricplus/injection/mixin/fixes/viaversion/MixinProtocolVersion.java @@ -45,7 +45,7 @@ public abstract class MixinProtocolVersion { viafabricplus_remaps.put("1.16.4/5", new Pair<>("1.16.4-1.16.5", null)); viafabricplus_remaps.put("1.18/1.18.1", new Pair<>("1.18-1.18.1", null)); viafabricplus_remaps.put("1.19.1/2", new Pair<>("1.19.1-1.19.2", null)); - viafabricplus_remaps.put("1.20", new Pair<>("1.20-pre1", null)); + viafabricplus_remaps.put("1.20", new Pair<>("1.20-pre2", null)); } @Redirect(method = "", at = @At(value = "INVOKE", target = "Lcom/viaversion/viaversion/api/protocol/version/ProtocolVersion;register(ILjava/lang/String;)Lcom/viaversion/viaversion/api/protocol/version/ProtocolVersion;")) diff --git a/src/main/java/de/florianmichael/viafabricplus/mappings/PackFormatsMappings.java b/src/main/java/de/florianmichael/viafabricplus/mappings/PackFormatsMappings.java index 8fc87849..0a126bcc 100644 --- a/src/main/java/de/florianmichael/viafabricplus/mappings/PackFormatsMappings.java +++ b/src/main/java/de/florianmichael/viafabricplus/mappings/PackFormatsMappings.java @@ -32,7 +32,7 @@ public class PackFormatsMappings { private final static Map protocolMap = new HashMap<>(); public static void load() { - registerVersion(ProtocolVersion.v1_20, 15, "1.20-pre1"); + registerVersion(ProtocolVersion.v1_20, 15, "1.20 Pre-release 2", "1.20-pre2"); registerVersion(ProtocolVersion.v1_19_4, 13, "1.19.4"); registerVersion(ProtocolVersion.v1_19_3, 12, "1.19.3"); registerVersion(ProtocolVersion.v1_19_1, 9, "1.19.2");