Closed Inscrutable closed 2 years ago
Links to the conflict: Our code Their code
It's very well possible we can modify our redirect (simply keep the redirect in SV and just have a redirect of the method call in the if statement in SF), that may suffice if we consider that plugins should have a say before mods can potentially have a say about whether a block is collided on.
Ultimately both are attempting to achieve the same thing.
@SmellyModder What would you think of changing your redirect to isSteppingCarefully
and combining the return value as isSteppingCarefully
and calling your event through that combination instead of redirecting block.onStep
? It still achieves the same goal but since you don't need all the same local variables as Sponge's code does, we can avoid the cross wiring of redirects conflicting each other.
The more I look at it, it's somewhat simple to do:
public abstract class EntityMixin implements IDataManager {
@Shadow
private World level;
@Shadow
protected abstract BlockPos getOnPos();
@Shadow
public abstract boolean isSteppingCarefully();
// ---- existing stuff
@Redirect(method = "move", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;isSteppingCarefully()Z"))
private boolean onEntityWalk(Entity thisEntity) {
return this.isSteppingCarefully() && !EntityWalkEvent.onEntityWalk(this.level, this.getOnPos(), thisEntity);
}
I can confirm that the above fix by @gabizou works with SpongeForge RC1085 and forge-1.16.5-36.2.29. Using a clean test server, plenty of better animals and upgrade aquatic stuff was seen and no errors were encountered.
On a tangential note;
abnormals_core
has been renamedblueprint
from 1.17 onward, andbetter animals plus
has started using theArchitectury API
instead, immediately after the version I tested.
The fix has now been merged into Abnormals-Core, so this issue can be closed.
I can confirm that the above fix by @gabizou works with SpongeForge RC1085 and forge-1.16.5-36.2.29. Using a clean test server, plenty of better animals and upgrade aquatic stuff was seen and no errors were encountered.
On a tangential note;
abnormals_core
has been renamedblueprint
from 1.17 onward, andbetter animals plus
has started using theArchitectury API
instead, immediately after the version I tested.
I'm having this issue and the fix you mentioned confused me not sure what to do..
You'll need to get an updated build of abnormals_core. Either DIY or grab the unofficial one from the Sponge discord, I don't think the dev has a release of the fixed version yet.
You'll need to get an updated build of abnormals_core. Either DIY or grab the unofficial one from the Sponge discord, I don't think the dev has a release of the fixed version yet.
I've been trying to compile it myself but keep getting tons of errors and I am unable to find th3 unofficial fix anywhere only the code to fix it which won't compile for me 😏
@wagnerferreirasi That is unrelated to this issue and to sponge itself, please talk to the involved mods for support.
I am currently running
spongeforge-1.16.5-36.2.1-8.0.0-RC874-universal
forge-1.16.5-36.2.2
java version 1.8.0_301 by Oracle
Operating System: Windows 10.0.19042
Plugins/Mods: abnormals_core-1.16.5-3.2.0, alexsmobs-1.10.1, AutoRegLib-1.6-49, betteranimalsplus-1.16.5-10.2.0, BetterCaves-Forge-1.16.4-1.1.2, BetterMineshafts-Forge-1.16.4-2.0.4, Bookshelf-1.16.5-10.1.11, citadel-1.7.1-1.16.5, create-mc1.16.5_v0.3.1c, iceandfire-2.1.7-1.16.5, jei-1.16.5-7.7.0.106, Mantle-1.16.5-1.6.109, Quark-r2.4-312, repurposed_structures-1.16.5-2.7.5-forge, smallships-1.16.5-1.8.5, StorageDrawers-1.16.3-8.2.2, TConstruct-1.16.5-3.0.4.197, TravelersBackpack-1.16.5-5.4.2, upgrade_aquatic-1.16.5-3.1.0, whisperwoods-1.16.5-2.0.1, YungsApi-1.16.4-Forge-6, YungsExtras-Forge-1.16.4-1.0.
Issue Description The server fails to start. It crashes with "Critical injection failure". @Faithcaio says it's conflicting with abnormals-core.