Implement some code changes

This commit is contained in:
FlorianMichael 2023-05-05 20:48:20 +02:00
parent 605f2b44d9
commit efc94bf685
5 changed files with 69 additions and 15 deletions

View File

@ -40,21 +40,9 @@ import java.io.File;
/**
* TODO | Port
* - 23w12a:
* - Wolf interactions
* - Camel interactions
* - Boat Passengers Riding Offset
* - Note Block
* - 23w13a:
* - ApplyBrushTransform im ItemRenderer
* - AbstractHorse sounds
* - BrushItem use Duration von 225 -> 200
* - DoorBlock don't had Nether Wood
* - 23w14a:
* - Sign interactions
* - TakeItemEntityPacket isEmpty case
* - Entity#move has changed
* - SwordItem destroy speed
* <p>
* TODO | Protocol translation
* - BucketItem#use canPlaceOn in <= 1.13 is missing

View File

@ -0,0 +1,20 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.entity;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.entity.vehicle.BoatEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.Constant;
import org.spongepowered.asm.mixin.injection.ModifyConstant;
@Mixin(BoatEntity.class)
public class MixinBoatEntity {
@ModifyConstant(method = "getMountedHeightOffset", constant = @Constant(doubleValue = 0.25))
public double modifyConstant(double constant) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_19_4)) {
return 0.3;
}
return constant;
}
}

View File

@ -0,0 +1,20 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.entity;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.entity.passive.CamelEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(CamelEntity.class)
public class MixinCamelEntity {
@Redirect(method = "interactMob", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/passive/CamelEntity;isBaby()Z", ordinal = 0))
public boolean removeIfCase(CamelEntity instance) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_19_4)) {
return false;
}
return instance.isBaby();
}
}

View File

@ -0,0 +1,21 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.item;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import net.minecraft.item.BrushItem;
import net.minecraft.item.ItemStack;
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.CallbackInfoReturnable;
@Mixin(BrushItem.class)
public class MixinBrushItem {
@Inject(method = "getMaxUseTime", at = @At("HEAD"), cancellable = true)
public void changeMaxUseTime(ItemStack stack, CallbackInfoReturnable<Integer> cir) {
if (ProtocolHack.getTargetVersion().isOlderThanOrEqualTo(ProtocolVersion.v1_19_4)) {
cir.setReturnValue(225);
}
}
}

View File

@ -20,6 +20,7 @@
"base.MixinServerInfo",
"base.MixinSharedConstants",
"classic4j.MixinCCAuthenticationResponse",
"fixes.authlib.MixinKeyPairResponse",
"fixes.minecraft.MixinBipedEntityModel",
"fixes.minecraft.MixinCamera",
"fixes.minecraft.MixinClientPlayerInteractionManager",
@ -158,10 +159,14 @@
"fixes.viaversion.protocol1_9to1_8.MixinViaIdleThread",
"jsonwebtoken.MixinClasses",
"jsonwebtoken.MixinDefaultCompressionCodecResolver",
"jsonwebtoken.MixinDefaultJwtParserBuilder",
"fixes.authlib.MixinKeyPairResponse"
"jsonwebtoken.MixinDefaultJwtParserBuilder"
],
"injectors": {
"defaultRequire": 1
}
},
"mixins": [
"fixes.minecraft.entity.MixinBoatEntity",
"fixes.minecraft.entity.MixinCamelEntity",
"fixes.minecraft.item.MixinBrushItem"
]
}