Skip to content

Commit c3bc80f

Browse files
committed
Drop Fabric API dependency
1 parent 14af490 commit c3bc80f

5 files changed

Lines changed: 30 additions & 28 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,8 @@ dependencies {
1616
officialMojangMappings()
1717
parchment("org.parchmentmc.data:parchment-1.21.1:2024.11.17@zip")
1818
})
19-
modImplementation("net.fabricmc:fabric-loader:0.16.14")
20-
21-
setOf("fabric-api-base", "fabric-command-api-v2").forEach {
22-
modImplementation(fabricApi.module(it, "0.115.4+1.21.1"))
23-
}
2419

20+
modImplementation("net.fabricmc:fabric-loader:0.16.14")
2521
modImplementation("net.fabricmc:fabric-language-kotlin:1.13.2+kotlin.2.1.20")
2622
}
2723

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package dev.optimistic.serverauth.mixin;
2+
3+
import com.mojang.brigadier.CommandDispatcher;
4+
import dev.optimistic.serverauth.command.ServerAuthCommand;
5+
import net.minecraft.commands.CommandBuildContext;
6+
import net.minecraft.commands.CommandSourceStack;
7+
import net.minecraft.commands.Commands;
8+
import org.spongepowered.asm.mixin.Final;
9+
import org.spongepowered.asm.mixin.Mixin;
10+
import org.spongepowered.asm.mixin.Shadow;
11+
import org.spongepowered.asm.mixin.injection.At;
12+
import org.spongepowered.asm.mixin.injection.Inject;
13+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
14+
15+
@Mixin(Commands.class)
16+
public abstract class CommandsMixin {
17+
@Shadow
18+
@Final
19+
private CommandDispatcher<CommandSourceStack> dispatcher;
20+
21+
@Inject(method = "<init>", at = @At(value = "INVOKE", target = "Lcom/mojang/brigadier/CommandDispatcher;setConsumer(Lcom/mojang/brigadier/ResultConsumer;)V", remap = false))
22+
private void init$setConsumer(Commands.CommandSelection selection, CommandBuildContext context, CallbackInfo ci) {
23+
ServerAuthCommand.INSTANCE.register(this.dispatcher);
24+
}
25+
}

src/main/kotlin/dev/optimistic/serverauth/Initializer.kt renamed to src/main/kotlin/dev/optimistic/serverauth/command/ServerAuthCommand.kt

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,14 @@
1-
package dev.optimistic.serverauth
1+
package dev.optimistic.serverauth.command
22

33
import com.mojang.brigadier.Command
44
import com.mojang.brigadier.CommandDispatcher
55
import dev.optimistic.serverauth.keys.PublicKeyHolder
6-
import net.fabricmc.api.DedicatedServerModInitializer
7-
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback
8-
import net.minecraft.commands.CommandBuildContext
96
import net.minecraft.commands.CommandSourceStack
107
import net.minecraft.commands.Commands
118
import net.minecraft.network.chat.Component
129

13-
class Initializer : DedicatedServerModInitializer, CommandRegistrationCallback {
14-
override fun onInitializeServer() {
15-
CommandRegistrationCallback.EVENT.register(this)
16-
}
17-
18-
override fun register(
19-
dispatcher: CommandDispatcher<CommandSourceStack>,
20-
context: CommandBuildContext,
21-
selection: Commands.CommandSelection
22-
) {
10+
object ServerAuthCommand {
11+
fun register(dispatcher: CommandDispatcher<CommandSourceStack>) {
2312
dispatcher.register(
2413
Commands.literal("serverauth")
2514
.requires { it.hasPermission(4) }

src/main/resources/fabric.mod.json

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,13 @@
1414
},
1515
"license": "MIT",
1616
"environment": "*",
17-
"entrypoints": {
18-
"server": [
19-
{
20-
"adapter": "kotlin",
21-
"value": "dev.optimistic.serverauth.Initializer"
22-
}
23-
]
24-
},
2517
"mixins": [
2618
"server-auth.mixins.json"
2719
],
2820
"depends": {
2921
"fabricloader": ">=0.16.14",
3022
"minecraft": "~1.21.1",
3123
"java": ">=21",
32-
"fabric-command-api-v2": "*",
3324
"fabric-language-kotlin": ">=1.13.2+kotlin.2.1.20"
3425
},
3526
"conflicts": {

src/main/resources/server-auth.mixins.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"defaultRequire": 1
77
},
88
"mixins": [
9+
"CommandsMixin",
910
"ConnectionMixin",
1011
"CryptMixin",
1112
"accessor.ServerboundKeyPacketAccessor",

0 commit comments

Comments
 (0)