Forgero - [Fabric]

Forgero - [Fabric]

85k Downloads

Startup Crash with SintryaConnector

JorisDeBeer opened this issue ยท 5 comments

commented

Forgero worked fine before with connector.

It errors on the recently added reach mixin sadly now. There where more problems with this so should make it less intrusive as it is now.

https://mclo.gs/1kt1DIu

commented

It's coming from this mixin:

	/**
	 * The purpose of this mixin is to cancel the default behaviour of checking if a player is trying to reach beyond 5 blocks or not.
	 * I assume this has been placed here for anti cheat measures, but this will only allow it to happen if the player actually have longer reach than 4.5.
	 */
	@Redirect(method = "processBlockBreakingAction",
			at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/Vec3d;squaredDistanceTo(Lnet/minecraft/util/math/Vec3d;)D"))
	private double forgero$cancelDistanceCheckIfReachIsHigherThanVanilla(Vec3d instance, Vec3d vec) {
		if (StateService.INSTANCE.convert(player.getMainHandStack()).map(state -> ComputedAttribute.apply(state, "forgero:reach")).orElse(0f) > 4.5f) {
			return 0.0;
		}
		return instance.squaredDistanceTo(vec);
	}

Its presence is conflicting with Forge's internal mixin for dealing with the same issue. It seems like the issue is coming from the differences in mapping. I tried making the mixin conditionally load if the connector was present, but the fact that the mixin is present in the codebase is enough to cause this issue. That is super wierd. Something smart has to be done here to avoid this issue.

commented

Best things is probably to disable this check for now, but it will make it impossible to extend the range of other tools. But I don't think we have any tools that does this, yet

commented

nope, first ones are in the extended rework

commented

We think of something smart I am sure, I need this fix to play my 1.20.1 forge modpack sadge

commented

Fixed in v0.12.5.