Skip to content

Crash when fabric permission api is present #2690

@morgantic

Description

@morgantic

WorldEdit Version

7.3.10-beta-01

Platform Version

Fabric 0.16.9

Confirmations

  • I am using the most recent Minecraft release.
  • I am using a version of WorldEdit compatible with my Minecraft version.
  • I am using the latest or recommended version of my platform software.
  • I am NOT using a hybrid server, e.g. a server that combines Bukkit and Forge. Examples include Arclight, Mohist, and Cardboard.
  • I am NOT using a fork of WorldEdit, such as FastAsyncWorldEdit (FAWE) or AsyncWorldEdit (AWE)

Bug Description

I have another mod that comes with fabric-permission-api:

	- do_a_barrel_roll 3.8.1
	   |-- fabric-permissions-api-v0 0.2-SNAPSHOT
	   \-- mixinsquared 0.1.2-beta.4

When this mod is loaded, worledit crashes with this stacktrace:

---- Minecraft Crash Report ----
// You should try our sister game, Minceraft!

Time: 2025-01-02 15:08:41
Description: Exception in server tick loop

java.lang.NoSuchMethodError: 'net.minecraft.class_2168 net.minecraft.class_1297.method_5671()'
	at knot//me.lucko.fabric.api.permissions.v0.Permissions.getPermissionValue(Permissions.java:147)
	at knot//com.sk89q.worldedit.fabric.FabricPermissionsProvider$LuckoFabricPermissionsProvider.hasPermission(FabricPermissionsProvider.java:61)
	at knot//com.sk89q.worldedit.fabric.FabricPlayer.hasPermission(FabricPlayer.java:207)
	at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
	at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1950)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:632)
	at knot//com.sk89q.worldedit.command.util.PermissionCondition.lambda$satisfied$0(PermissionCondition.java:47)
	at java.base/java.util.Optional.map(Optional.java:260)
	at knot//com.sk89q.worldedit.command.util.PermissionCondition.satisfied(PermissionCondition.java:47)
	at knot//com.sk89q.worldedit.fabric.CommandWrapper.lambda$requirementsFor$2(CommandWrapper.java:86)
	at knot//com.mojang.brigadier.tree.CommandNode.canUse(CommandNode.java:65)
	at knot//net.minecraft.class_2170.method_9239(class_2170.java:403)
	at knot//net.minecraft.class_2170.method_9241(class_2170.java:397)
	at knot//net.minecraft.class_3324.method_14596(class_3324.java:623)
	at knot//net.minecraft.class_3324.method_14576(class_3324.java:524)
	at knot//net.minecraft.class_3324.method_14570(class_3324.java:210)
	at knot//net.minecraft.class_8610.method_52408(class_8610.java:152)
	at knot//net.minecraft.class_8736.method_53043(class_8736.java:22)
	at knot//net.minecraft.class_8736.method_65081(class_8736.java:8)
	at knot//net.minecraft.class_2600.method_11072(class_2600.java:27)
	at knot//net.minecraft.class_3738.run(class_3738.java:18)
	at knot//net.minecraft.class_1255.method_18859(class_1255.java:164)
	at knot//net.minecraft.class_4093.mixinextras$bridge$method_18859$5(class_4093.java)
	at knot//net.minecraft.class_4093.wrapOperation$cfn000$carpet-tis-addition$yeetUpdateSuppressionCrash_implForThreadExecutorTaskExecuting(class_4093.java:570)
	at knot//net.minecraft.class_4093.method_18859(class_4093.java:23)
	at knot//net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:889)
	at knot//net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:180)
	at knot//net.minecraft.class_1255.method_16075(class_1255.java:138)
	at knot//net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:871)
	at knot//net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:865)
	at knot//net.minecraft.class_1255.method_18857(class_1255.java:147)
	at knot//net.minecraft.server.MinecraftServer.method_18857(MinecraftServer.java:829)
	at knot//net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:836)
	at knot//net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:719)
	at knot//net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:292)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Expected Behavior

I would expect worldedit to not crash if the fabric-permission-api is present

Reproduction Steps

  1. Install worldedit and Do A Barrel Roll
  2. Launch the game

Anything Else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:invalidThis does not describe a request or bug with WorldEdittype:bugIncorrect behavior, not working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions