Carpet TIS Addition

Carpet TIS Addition

461k Downloads

Fix: EntityTrackingSectionMixin conflict with async mod

FurryMileon opened this issue ยท 4 comments

commented

Motivation

The current implementation of EntityTrackingSectionMixin in the optimizedHardHitBoxEntityCollision package causes mixin priority conflicts specifically with async mod. The mixin targets DummyClass and has no actual functionality implemented, but still creates compatibility issues preventing async mod from working correctly.

Description

When using carpet-tis-addition alongside async mod, a mixin priority conflict occurs with EntityTrackingSection modifications.

The error occurs because this currently unused implementation:

@Restriction(require = @Condition(value = ModIds.minecraft, versionPredicates = ">=1.17"))
@Mixin(DummyClass.class)
public abstract class EntityTrackingSectionMixin
{
}

Other information

https://mclo.gs/CgkJIfY

commented

The mixin targets DummyClass and has no actual functionality implemented

You were looking at the wrong source code. Fo mc >= 1.17, its source code is at https://github.com/TISUnion/Carpet-TIS-Addition/blob/master/versions/1.17.1/src/main/java/carpettisaddition/mixins/rule/optimizedHardHitBoxEntityCollision/EntityTrackingSectionMixin.java

commented

The mixin targets DummyClass and has no actual functionality implemented

You were looking at the wrong source code. Fo mc >= 1.17, its source code is at https://github.com/TISUnion/Carpet-TIS-Addition/blob/master/versions/1.17.1/src/main/java/carpettisaddition/mixins/rule/optimizedHardHitBoxEntityCollision/EntityTrackingSectionMixin.java

I'm a bit confused by your code, but alright. Could you please add a priority to the EntityTrackingSectionMixin for version 1.21 and above so that it doesn't conflict with the async mod?

commented

I'm a bit confused by your code, but alright. Could you please add a priority to the EntityTrackingSectionMixin for version 1.21 and above so that it doesn't conflict with the async mod?

Modifying mixin priority is not a fix:

  1. async mod explictly specify mixin priority with 1500, a non default value
  2. async mod overwrites the whole forEach method for its custom implementations. It will just never work with the related rule optimizedHardHitBoxEntityCollision from carpet-tis-addition

I'll just disable the rule and its mixins if the async mod presents

commented

You guys are the best, thank you so much!