Don't apply base values from attributes in <= 1.20.5

This commit is contained in:
FlorianMichael 2024-06-18 15:19:30 +02:00
parent 08ed70e4d9
commit 0ed772f477
No known key found for this signature in database
GPG Key ID: C2FB87E71C425126
2 changed files with 6 additions and 5 deletions

View File

@ -41,8 +41,6 @@ import java.util.concurrent.CompletableFuture;
* - Particle handling has slightly changed
*
* TODO | Port 1.21
* - SetEntityMotion Lerp
* - ClientboundRespawnPacket assigns base values now
* - Win Game State 0 missing now
* - LocalPlayer#aiStep nether portal logic and sneaking attribute
* - Camera logic got changed again

View File

@ -35,6 +35,7 @@ import net.minecraft.client.gui.screen.ingame.BookScreen;
import net.minecraft.client.network.*;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.Entity;
import net.minecraft.entity.attribute.AttributeContainer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.vehicle.BoatEntity;
import net.minecraft.item.ItemStack;
@ -80,13 +81,15 @@ public abstract class MixinClientPlayNetworkHandler extends ClientCommonNetworkH
@Shadow
protected abstract boolean isSecureChatEnforced();
@Shadow
private ClientWorld world;
protected MixinClientPlayNetworkHandler(MinecraftClient client, ClientConnection connection, ClientConnectionState connectionState) {
super(client, connection, connectionState);
}
@WrapWithCondition(method = "onPlayerRespawn", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;setBaseFrom(Lnet/minecraft/entity/attribute/AttributeContainer;)V"))
public boolean dontApplyBaseValues(AttributeContainer instance, AttributeContainer other) {
return ProtocolTranslator.getTargetVersion().newerThanOrEqualTo(ProtocolVersion.v1_21);
}
@WrapWithCondition(method = "onEnterReconfiguration", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayNetworkHandler;sendAcknowledgment()V"))
private boolean dontSendChatAck(ClientPlayNetworkHandler instance) {
return ProtocolTranslator.getTargetVersion().newerThanOrEqualTo(ProtocolVersion.v1_20_5);