Crash on entering world
Phoupraw opened this issue ยท 1 comments
crash-2024-10-25_22.54.48-client.txt
It seems that mixin captured wrong local.
Here is decomplied mixined class. method_41936 is a lambda in method_2910(attackBlock in yarn).
public boolean method_2910(class_2338 $$0, class_2350 $$1) {
CallbackInfoReturnable callbackInfo4 = new CallbackInfoReturnable("method_2910", true);
this.handler$hek000$tweakeroo$handleBreakingRestriction1($$0, $$1, callbackInfo4);
if (callbackInfo4.isCancelled()) {
return callbackInfo4.getReturnValueZ();
} else if (this.field_3712.field_1724.method_21701(this.field_3712.field_1687, $$0, this.field_3719)) {
return false;
} else if (!this.field_3712.field_1687.method_8621().method_11952($$0)) {
return false;
} else {
class_1934 var10000 = this.field_3719;
CallbackInfoReturnable callbackInfo5 = new CallbackInfoReturnable("method_2910", true);
this.handler$dod000$fabric-events-interaction-v0$attackBlock($$0, $$1, callbackInfo5);
if (callbackInfo5.isCancelled()) {
return callbackInfo5.getReturnValueZ();
} else {
class_2680 $$3;
class_638 var10001;
class_7204 var10002;
if (var10000.method_8386()) {
$$3 = this.field_3712.field_1687.method_8320($$0);
this.field_3712.method_1577().method_4907(this.field_3712.field_1687, $$0, $$3, 1.0F);
var10001 = this.field_3712.field_1687;
//method_41936
var10002 = ($$2) -> {
class_636 injectorAllocatedLocal5x = $$0;
class_636 injectorAllocatedLocal4 = this;
LocalRefImpl ref7 = new LocalRefImpl();
LocalRef injectorAllocatedLocal9 = ref7;
class_2338 injectorAllocatedLocal8 = injectorAllocatedLocal5x;
class_636 injectorAllocatedLocal5 = injectorAllocatedLocal4;
injectorAllocatedLocal4 = this;
if (this.wrapWithCondition$fld000$porting_lib_entity$wrapBlockLeftClick(injectorAllocatedLocal5, injectorAllocatedLocal8, injectorAllocatedLocal9, $$0, (int)$$1)) {
ref7.init($$1);
injectorAllocatedLocal4.redirect$hpl000$viafabricplus$checkFireBlock$mixinextras$bridge$133(injectorAllocatedLocal5, injectorAllocatedLocal8, injectorAllocatedLocal9);
$$1 = (class_2350)ref7.dispose();
} else {
boolean var10000 = false;
}
return new class_2846(class_2847.field_12968, $$0, $$1, $$2);
};
CallbackInfoReturnable callbackInfo6 = new CallbackInfoReturnable("method_2910", true);
this.handler$dfi000$collective$MultiPlayerGameMode_startDestroyBlock_creative($$0, $$1, callbackInfo6);
if (callbackInfo6.isCancelled()) {
return callbackInfo6.getReturnValueZ();
}
this.method_41931(var10001, var10002);
this.field_3716 = this.modifyExpressionValue$ikb000$trifleclient$miningDelay(5);
} else if (!this.field_3717 || !this.method_2922($$0)) {
if (this.field_3717) {
class_634 var8 = this.field_3720;
class_2846 var10 = this.redirect$hpl000$viafabricplus$trackPlayerAction(class_2847.field_12971, this.field_3714, $$1);
if (var10 == null) {
throw new NullPointerException("@Redirect constructor handler net/minecraft/class_636::trackPlayerAction returned null for net.minecraft.class_2846");
}
var8.method_52787(var10);
}
class_638 var9 = this.field_3712.field_1687;
this.handler$hek000$tweakeroo$onClickBlockPre($$0, $$1, (CallbackInfoReturnable)null);
this.handler$fld000$porting_lib_entity$port_lib$startDestroy($$0, $$1, (CallbackInfoReturnable)null);
$$3 = var9.method_8320($$0);
this.field_3712.method_1577().method_4907(this.field_3712.field_1687, $$0, $$3, 0.0F);
var10001 = this.field_3712.field_1687;
var10002 = ($$3x) -> {
boolean $$4 = !$$3.method_26215();
if ($$4 && this.field_3715 == 0.0F) {
class_1657 injectorAllocatedLocal10 = this.field_3712.field_1724;
class_2338 injectorAllocatedLocal9 = $$0;
class_1937 injectorAllocatedLocal8 = this.field_3712.field_1687;
class_2680 injectorAllocatedLocal7 = $$3;
if (this.wrapWithCondition$fld000$porting_lib_entity$cancelLeftClickAttack(injectorAllocatedLocal7, injectorAllocatedLocal8, injectorAllocatedLocal9, injectorAllocatedLocal10)) {
injectorAllocatedLocal7.method_26179(injectorAllocatedLocal8, injectorAllocatedLocal9, injectorAllocatedLocal10);
}
}
if ($$4) {
class_746 var10001 = this.field_3712.field_1724;
class_1937 var10002 = this.field_3712.field_1724.method_37908();
CallbackInfoReturnable callbackInfo6 = new CallbackInfoReturnable("method_41930", true);
this.handler$fld000$porting_lib_entity$cancelUsePacket($$3, $$0, $$1, $$3x, callbackInfo6);
if (callbackInfo6.isCancelled()) {
return (class_2596)callbackInfo6.getReturnValue();
}
if ($$3.method_26165(var10001, var10002, $$0) >= 1.0F) {
this.handler$ikb000$trifleclient$miningDelay($$3, $$0, $$1, $$3x, (CallbackInfoReturnable)null);
this.method_2899($$0);
return new class_2846(class_2847.field_12968, $$0, $$1, $$3x);
}
}
this.field_3717 = true;
this.field_3714 = $$0;
this.field_3718 = this.field_3712.field_1724.method_6047();
this.field_3715 = 0.0F;
this.field_3713 = 0.0F;
this.field_3712.field_1687.method_8517(this.field_3712.field_1724.method_5628(), this.field_3714, this.method_51888());
return new class_2846(class_2847.field_12968, $$0, $$1, $$3x);
};
CallbackInfoReturnable callbackInfo7 = new CallbackInfoReturnable("method_2910", true);
this.handler$dfi000$collective$MultiPlayerGameMode_startDestroyBlock_survival($$0, $$1, callbackInfo7);
if (callbackInfo7.isCancelled()) {
return callbackInfo7.getReturnValueZ();
}
this.method_41931(var10001, var10002);
}
return true;
}
}
}